/* JB Boutique — Phase 2 editorial homepage feature */
.jbb-home-editorial{background:#f5f0eb;padding:80px 0 84px;border-top:1px solid #e9e2da;border-bottom:1px solid #e9e2da}
.jbb-home-editorial-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;align-items:stretch}
.jbb-home-editorial a{display:block;min-width:0;overflow:hidden;color:#2b2421;position:relative;transition:box-shadow .22s ease,transform .22s ease}
.jbb-home-editorial a:hover{transform:translateY(-3px);box-shadow:0 20px 44px #3626211b}
.jbb-home-women-feature{background:#fff;border:1px solid #e6ddd4}
.jbb-home-women-photo{position:relative;height:395px;overflow:hidden;background:#e9e2db}
.jbb-home-feature-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 23%;transition:transform .45s ease}
.jbb-home-editorial a:hover .jbb-home-feature-img{transform:scale(1.025)}
.jbb-home-feature-stamp{position:absolute;bottom:17px;left:17px;color:#fff;background:#28201dcc;padding:9px 13px;font:800 9px/1.35 Arial,sans-serif;letter-spacing:.14em}
.jbb-home-women-caption{padding:27px 32px 32px}
.jbb-home-feature-kicker{font:800 10px/1.4 Arial,sans-serif;letter-spacing:.15em;color:#aa4858}
.jbb-home-women-caption h2,.jbb-home-mens-caption h2{font:400 clamp(30px,3.25vw,49px)/1.13 Georgia,"Times New Roman",serif;letter-spacing:-.043em;margin:12px 0 12px}
.jbb-home-editorial h2 em{font-style:italic;color:#a33f52}
.jbb-home-women-caption p{font-size:13px;line-height:1.75;color:#766b62;margin:0 0 21px;max-width:525px}
.jbb-home-feature-link{display:inline-flex;align-items:center;gap:16px;font:800 10px/1.2 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #292521;padding-bottom:9px}
.jbb-home-feature-link>span{font-size:14px}
.jbb-home-mens-feature{background:#332a27;color:#fff!important;border:1px solid #302523;display:flex!important;flex-direction:column}
.jbb-home-mens-photo{height:395px;overflow:hidden;background:#c7bcb2}
.jbb-home-mens-caption{flex:1;padding:27px 30px 30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.jbb-home-mens-caption .jbb-home-feature-kicker{color:#e0b7a3}
.jbb-home-mens-caption h2{font-size:clamp(27px,2.7vw,41px);color:#fff;margin-bottom:25px}
.jbb-home-mens-caption h2 em{color:#ebbba5}
.jbb-home-mens-caption .jbb-home-feature-link{color:#fff;border-color:#fff8;margin-top:auto}
@media(max-width:970px){.jbb-home-editorial{padding:55px 0}.jbb-home-editorial-grid{gap:16px}.jbb-home-women-photo,.jbb-home-mens-photo{height:325px}.jbb-home-women-caption{padding:22px}.jbb-home-mens-caption{padding:22px}}
@media(max-width:650px){.jbb-home-editorial{padding:43px 0 49px}.jbb-home-editorial .jbal-wrap{width:calc(100% - 30px)}.jbb-home-editorial-grid{grid-template-columns:1fr;gap:16px}.jbb-home-women-photo{height:340px}.jbb-home-mens-photo{height:245px}.jbb-home-women-caption{padding:19px 19px 23px}.jbb-home-mens-caption{padding:20px 20px 25px}.jbb-home-women-caption h2{font-size:38px}.jbb-home-mens-caption h2{font-size:32px}.jbb-home-feature-kicker{font-size:9px}.jbb-home-women-caption p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.jbb-home-editorial a,.jbb-home-feature-img{transition-duration:.01ms!important}}


/* JBB HOMEPAGE 1.2.0 — full-frame photography and longer editorial journey
 * Never crop a fashion photograph. Source medium_large images have the
 * uncropped original aspect ratio, unlike WooCommerce thumbnail crops. */
.jbb-home-main{overflow:clip;background:#fbf9f6}
.jbb-home-main .jbal-section{padding-block:clamp(59px,5.8vw,96px)}
.jbb-home-main .jbal-section-heading{margin-bottom:32px}
.jbb-home-main .jbal-section-heading h2{font-size:clamp(34px,3.8vw,56px);letter-spacing:-.048em}
.jbb-home-main .jbal-section-heading p{max-width:580px;font-size:13px;line-height:1.7;color:#6e625d}
.jbb-home-main .jbal-category-card{background:#fff;border:1px solid #eae3dc;overflow:hidden;border-radius:4px}
.jbb-home-main .jbal-category-image{
 display:flex;align-items:center;justify-content:center;
 width:100%;height:auto!important;aspect-ratio:3/4;
 padding:8px;background:#f2ede7;overflow:hidden
}
.jbb-home-main .jbal-category-image img{
 display:block;position:relative;width:100%;height:100%;
 max-width:100%;max-height:100%;object-fit:contain!important;
 object-position:center!important;transform:none!important;filter:none
}
.jbb-home-main .jbal-category-card:hover .jbal-category-image img{transform:none!important}
.jbb-home-main .jbal-category-descriptor{padding:15px 14px 17px}
.jbb-home-main .jbal-category-descriptor h3{font-size:clamp(17px,2vw,25px);line-height:1.15}
/* Existing carousel retains its three working slides and controls. All
 * imagery stays inside an unclipped natural portrait frame. */
.jbb-home-main .jbal-carousel-media{overflow:visible}
.jbb-home-main .jbal-carousel-image-box--editorial{
 width:min(85%,410px);height:min(520px,43vw);min-height:0;
 aspect-ratio:3/4;max-width:100%;align-self:center;
 padding:9px;overflow:hidden;background:#f9f5ef;
 border:1px solid #fff;box-shadow:0 14px 35px #36251e18
}
.jbb-home-main .jbal-carousel-image-box--editorial .jbal-carousel-photo{
 display:block;position:relative;width:100%;height:100%;
 object-fit:contain!important;object-position:center!important;
 max-height:100%;max-width:100%;transform:none!important
}
.jbb-home-main .jbal-carousel-image-box--cutout{
 overflow:visible;display:flex;align-items:center;justify-content:center
}
.jbb-home-main .jbal-carousel-image-box--cutout .jbal-carousel-photo{
 width:auto;height:auto;max-width:100%;max-height:clamp(390px,45vw,560px);
 object-fit:contain!important;object-position:center!important
}
.jbb-home-main .jbal-carousel-slide--dresses .jbal-carousel-image-box,
.jbb-home-main .jbal-carousel-slide--shoes .jbal-carousel-image-box{
 animation-duration:.55s
}
/* Homepage category editorial: both columns keep whole source photographs. */
.jbb-home-main .jbb-home-editorial{padding-block:clamp(52px,5.6vw,85px)}
.jbb-home-main .jbb-home-editorial-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.jbb-home-main .jbb-home-women-feature,.jbb-home-main .jbb-home-mens-feature{
 display:flex!important;flex-direction:column;
 min-width:0;background:#fff;color:#302622!important;border:1px solid #e9e1da
}
.jbb-home-main .jbb-home-women-photo,.jbb-home-main .jbb-home-mens-photo{
 position:relative;height:clamp(330px,38vw,505px)!important;
 display:flex;align-items:center;justify-content:center;
 background:#f5f0e9;overflow:hidden;padding:12px
}
.jbb-home-main .jbb-home-feature-img{
 display:block;position:relative;width:100%;height:100%;
 max-height:100%;max-width:100%;object-fit:contain!important;
 object-position:center!important;filter:none;transform:none!important
}
.jbb-home-main .jbb-home-editorial a:hover .jbb-home-feature-img{transform:none!important}
.jbb-home-main .jbb-home-feature-stamp{
 bottom:14px;left:14px;background:#332b27e6;z-index:2
}
.jbb-home-main .jbb-home-women-caption,.jbb-home-main .jbb-home-mens-caption{
 padding:24px 27px 28px;flex:1
}
.jbb-home-main .jbb-home-mens-caption .jbb-home-feature-kicker{color:#a34456}
.jbb-home-main .jbb-home-mens-caption h2{color:#312824}
.jbb-home-main .jbb-home-mens-caption h2 em{color:#a33f52}
.jbb-home-main .jbb-home-mens-caption .jbb-home-feature-link{
 color:#312824;border-color:#7c6b61
}
.jbb-home-main .jbb-home-editorial a:hover{transform:translateY(-3px)}
/* Both existing product rows and new category edits display the original
 * photographic proportions — not hard-cropped WooCommerce thumbnails. */
.jbb-home-main .jbal-product-grid{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
 gap:28px 17px;align-items:stretch
}
.jbb-home-main .jbb-home-product-card{
 display:flex;flex-direction:column;min-width:0;
 background:#fff;border:1px solid #e8e1d9;border-radius:5px;
 overflow:hidden;box-shadow:0 5px 18px #2819130a;
 transition:box-shadow .2s ease,transform .2s ease
}
.jbb-home-main .jbb-home-product-card:hover{transform:translateY(-2px);box-shadow:0 17px 29px #31201816}
.jbb-home-main .jbb-home-product-visual{
 display:flex;align-items:center;justify-content:center;
 position:relative;width:100%;aspect-ratio:3/4!important;
 overflow:hidden;padding:6px;background:#f4f0ea
}
.jbb-home-main .jbb-home-product-photo{
 display:block;position:relative;width:100%;height:100%;
 object-fit:contain!important;object-position:center!important;
 max-width:100%;max-height:100%;transform:none!important
}
.jbb-home-main .jbb-home-product-card:hover .jbb-home-product-photo{
 transform:none!important
}
.jbb-home-main .jbb-home-product-card .jbal-product-meta{
 padding:12px 13px 16px;display:flex;flex-direction:column;flex:1
}
.jbb-home-main .jbb-home-product-card .jbal-product-name{
 display:block;line-height:1.5;min-height:0
}
.jbb-home-main .jbb-home-product-card .jbal-price{margin-top:auto;padding-top:9px}
/* Legacy JB editorial photo: remove absolute position and crop gradient. */
.jbb-home-main .jbal-editorial{padding-block:clamp(45px,5vw,79px);background:#f6f0e9}
.jbb-home-main .jbal-editorial-inner{align-items:center;min-height:0}
.jbb-home-main .jbal-editorial-image{
 display:flex;align-items:center;justify-content:center;position:relative;
 min-height:0!important;height:auto!important;overflow:hidden;
 background:#e7dcd0;padding:12px
}
.jbb-home-main .jbal-editorial-image img{
 position:relative!important;inset:auto!important;display:block;
 width:100%;height:auto!important;max-height:560px;
 object-fit:contain!important;object-position:center!important;filter:none
}
.jbb-home-main .jbal-editorial-image:after{display:none}
.jbb-home-main .jbal-editorial-image>span{
 display:flex;position:absolute;bottom:18px;left:18px;right:18px;
 padding:10px;background:#302520de;color:#fff
}
.jbb-home-main .jbal-editorial-copy{padding-block:46px}
.jbb-home-main .jbb-home-dress-edit{background:#f4f0eb}
/* Shop the moment: three meaningful categories, entire images always visible. */
.jbb-home-main .jbb-home-moments{background:#fff}
.jbb-home-main .jbb-home-moments-header{align-items:end}
.jbb-home-main .jbb-home-moments-grid{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px
}
.jbb-home-main .jbb-home-moment{
 display:flex;flex-direction:column;min-width:0;padding-bottom:21px;
 background:#faf8f5;color:#302723;border:1px solid #e9e1d9;
 text-decoration:none;transition:transform .2s ease,box-shadow .2s ease
}
.jbb-home-main .jbb-home-moment:hover{
 transform:translateY(-3px);box-shadow:0 17px 29px #30201915
}
.jbb-home-main .jbb-home-moment-image{
 display:flex;align-items:center;justify-content:center;
 width:100%;aspect-ratio:3/4;margin:0 0 20px;
 padding:10px;overflow:hidden;background:#f1ebe4
}
.jbb-home-main .jbb-home-moment-image img{
 width:100%;height:100%;max-height:100%;max-width:100%;
 object-fit:contain!important;object-position:center!important;
 display:block;transform:none!important
}
.jbb-home-main .jbb-home-moment-number{
 padding:0 20px;color:#a04454;text-transform:uppercase;
 font:800 9px/1.3 Arial,sans-serif;letter-spacing:.145em
}
.jbb-home-main .jbb-home-moment h3{
 font:400 clamp(26px,2.9vw,40px)/1.13 Georgia,serif;
 letter-spacing:-.04em;margin:12px 20px 19px
}
.jbb-home-main .jbb-home-moment h3 em{font-style:italic;color:#ad4758}
.jbb-home-main .jbb-home-moment-link{
 display:inline-flex;align-items:center;gap:12px;margin:auto 20px 0;
 padding-bottom:8px;border-bottom:1px solid #524741;align-self:flex-start;
 text-transform:uppercase;color:#3a302c;font:800 10px/1.3 Arial,sans-serif;
 letter-spacing:.07em
}
/* Boutique assistance — substantial final invitation, not a false testimonial. */
.jbb-home-main .jbb-home-concierge{background:#302723;color:#fff}
.jbb-home-main .jbb-home-concierge-inner{
 display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
 align-items:center;gap:clamp(28px,6vw,85px);padding-block:clamp(53px,7vw,102px)
}
.jbb-home-main .jbb-home-concierge-copy{padding:18px 0}
.jbb-home-main .jbb-home-concierge .jbal-eyebrow{color:#dcab9c}
.jbb-home-main .jbb-home-concierge h2{
 font:400 clamp(37px,4.5vw,66px)/1.1 Georgia,serif;
 letter-spacing:-.05em;margin:19px 0 20px;color:#fff
}
.jbb-home-main .jbb-home-concierge h2 em{font-style:italic;color:#ebbbaa}
.jbb-home-main .jbb-home-concierge p{
 font-size:14px;line-height:1.8;max-width:480px;color:#dfd2c8
}
.jbb-home-main .jbb-home-concierge-actions{
 display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px
}
.jbb-home-main .jbb-home-concierge-button{
 display:inline-flex;justify-content:space-between;align-items:center;
 gap:25px;padding:15px 18px;min-height:49px;background:#f9f4ee;
 color:#302523!important;text-transform:uppercase;letter-spacing:.06em;
 font:800 10px/1.3 Arial,sans-serif;text-decoration:none
}
.jbb-home-main .jbb-home-concierge-button:hover{background:#f2d1bf}
.jbb-home-main .jbb-home-concierge-link{
 display:inline-flex;gap:12px;padding:8px 0;border-bottom:1px solid #dfd2c8;
 color:#f4ebe5!important;font:800 10px/1.3 Arial,sans-serif;letter-spacing:.05em
}
.jbb-home-main .jbb-home-concierge-picture{
 display:flex;align-items:center;justify-content:center;min-width:0;
 background:#4d4038;padding:12px;aspect-ratio:3/4;max-width:460px
}
.jbb-home-main .jbb-home-concierge-picture img{
 display:block;width:100%;height:100%;max-width:100%;max-height:100%;
 object-fit:contain!important;object-position:center!important
}
@media(max-width:1000px){
 .jbb-home-main .jbal-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .jbb-home-main .jbb-home-moments-grid{gap:12px}
 .jbb-home-main .jbb-home-moment h3{font-size:27px}
 .jbb-home-main .jbal-carousel-image-box--editorial{width:min(88%,360px)}
}
@media(max-width:700px){
 .jbb-home-main .jbal-section{padding-block:54px}
 .jbb-home-main .jbb-home-editorial-grid{gap:12px}
 .jbb-home-main .jbb-home-women-photo,.jbb-home-main .jbb-home-mens-photo{
  height:clamp(295px,60vw,430px)!important
 }
 .jbb-home-main .jbal-category-image{padding:5px}
 .jbb-home-main .jbal-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 11px}
 .jbb-home-main .jbb-home-moments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .jbb-home-main .jbb-home-moment:last-child{grid-column:span 2;display:grid;grid-template-columns:38% minmax(0,1fr);column-gap:12px;align-items:center;padding-bottom:0}
 .jbb-home-main .jbb-home-moment:last-child .jbb-home-moment-image{grid-row:1/4;margin:0;height:100%;min-height:220px}
 .jbb-home-main .jbb-home-moment:last-child .jbb-home-moment-number{align-self:end;padding:8px 0 0}
 .jbb-home-main .jbb-home-moment:last-child h3{margin:7px 10px 10px 0}
 .jbb-home-main .jbb-home-moment:last-child .jbb-home-moment-link{margin:0 10px 0 0;align-self:start}
 .jbb-home-main .jbb-home-concierge-inner{grid-template-columns:minmax(0,1fr);gap:24px}
 .jbb-home-main .jbb-home-concierge-picture{width:min(100%,340px);margin-inline:auto}
 .jbb-home-main .jbal-carousel-image-box--editorial{
  width:min(82%,330px);height:auto;aspect-ratio:3/4;max-height:460px
 }
 .jbb-home-main .jbal-carousel-image-box--cutout .jbal-carousel-photo{height:auto;max-height:460px}
 .jbb-home-main .jbal-editorial-image img{max-height:460px}
}
@media(max-width:520px){
 .jbb-home-main .jbb-home-editorial-grid{grid-template-columns:minmax(0,1fr)}
 .jbb-home-main .jbb-home-women-photo{height:390px!important}
 .jbb-home-main .jbb-home-mens-photo{height:355px!important}
 .jbb-home-main .jbal-section{padding-block:43px}
 .jbb-home-main .jbal-category-descriptor{padding:11px 10px 13px}
 .jbb-home-main .jbb-home-moments-grid{gap:11px}
 .jbb-home-main .jbb-home-moment-image{padding:5px;margin-bottom:13px}
 .jbb-home-main .jbb-home-moment-number{padding-inline:11px;font-size:8px;letter-spacing:.08em}
 .jbb-home-main .jbb-home-moment h3{font-size:22px;margin:8px 11px 15px}
 .jbb-home-main .jbb-home-moment-link{font-size:9px;margin-inline:11px;gap:8px}
 .jbb-home-main .jbb-home-moment:last-child h3{font-size:22px}
 .jbb-home-main .jbb-home-product-card .jbal-product-meta{padding:9px 10px 13px}
 .jbb-home-main .jbb-home-concierge h2{font-size:clamp(36px,9vw,47px)}
 .jbb-home-main .jbb-home-concierge p{font-size:12px}
 .jbb-home-main .jbb-home-concierge-inner{padding-block:48px}
 .jbb-home-main .jbb-home-concierge-actions{gap:15px}
 .jbb-home-main .jbb-home-concierge-button{min-height:46px}
}
@media(prefers-reduced-motion:reduce){
 .jbb-home-main .jbb-home-moment,.jbb-home-main .jbb-home-product-card{
  transition-duration:.01ms!important;transform:none!important
 }
}


/* NARROW SCREEN 1.2.1 — prevent cramped fashion crops and unreadable cards. */
@media(max-width:390px){
 .jbb-home-main .jbb-home-moments-grid{grid-template-columns:minmax(0,1fr)}
 .jbb-home-main .jbb-home-moment:last-child{
   display:flex;grid-column:auto;padding-bottom:21px
 }
 .jbb-home-main .jbb-home-moment:last-child .jbb-home-moment-image{
   width:100%;height:auto;min-height:0;aspect-ratio:3/4;
   margin:0 0 13px;padding:6px
 }
 .jbb-home-main .jbb-home-moment:last-child .jbb-home-moment-number{
   align-self:auto;padding:0 11px
 }
 .jbb-home-main .jbb-home-moment:last-child h3{
   font-size:25px;margin:8px 11px 15px
 }
 .jbb-home-main .jbb-home-moment:last-child .jbb-home-moment-link{
   align-self:flex-start;margin:auto 11px 0
 }
 .jbb-home-main .jbb-home-women-photo{height:345px!important}
 .jbb-home-main .jbb-home-mens-photo{height:320px!important}
 .jbb-home-main .jbal-carousel-image-box--editorial{
   max-width:100%;width:min(90%,295px);aspect-ratio:3/4;
   height:auto;overflow:hidden
 }
 .jbb-home-main .jbal-carousel-image-box--editorial img{
   width:100%;height:100%;object-fit:contain!important
 }
}
