/* Boutique showroom — big photos, real angles, calm choices. */
.product-modal.boutique-product{width:min(1280px,calc(100vw - 52px));max-height:min(94dvh,1000px);border-radius:22px;overflow-y:auto;overflow-x:hidden;background:#fffdfb;box-shadow:0 30px 100px #1f18163d;scrollbar-width:thin;overscroll-behavior:contain}
.boutique-product .atelier-modal-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);min-height:715px}
.boutique-product .atelier-media{min-height:0;display:flex;flex-direction:column;align-self:stretch;background:#f1ede7;position:relative;overflow:visible}
.gallery-top{position:absolute;left:26px;right:26px;top:22px;z-index:3;display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.16em;font-weight:650;color:#47372d}
.gallery-stage{height:clamp(460px,65vh,760px);position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;background:#ede6dc;isolation:isolate}
.gallery-stage #modalImage{position:relative;z-index:0;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center center;cursor:zoom-in;filter:saturate(.94);transform:none!important}
.gallery-stage #modalImage[hidden],.gallery-stage #modalVideo[hidden]{display:none!important}
.gallery-stage #modalVideo{width:100%;height:100%;object-fit:contain;background:#201b18}
.gallery-stage::before{content:none!important}
.gallery-arrows{position:absolute;z-index:2;left:16px;right:16px;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none}
.gallery-arrows button{pointer-events:auto;width:42px;height:42px;border-radius:50%;background:#fffef2e6;border:1px solid #f7f2ee;color:#3f3026;display:grid;place-items:center;font-size:26px;line-height:1;box-shadow:0 2px 10px #21180f16}
.gallery-expand{position:absolute;z-index:2;bottom:17px;right:19px;border:1px solid #eee5dc;background:#fffdfbe9;border-radius:50px;padding:8px 13px;color:#382a20;font-size:14px;display:flex;align-items:center;gap:6px}.gallery-expand span{font-size:11px}
.gallery-bottom{padding:13px 20px 18px;background:#faf8f5;min-height:105px;border-top:1px solid #e9e2da}
.gallery-bottom .atelier-thumbs{display:flex;gap:8px;max-width:none;overflow-x:auto;scrollbar-width:thin;padding:1px 1px 5px;align-items:start}
.gallery-bottom .atelier-thumb{flex:none;display:flex;align-items:center;flex-direction:column;gap:5px;width:73px;height:auto;padding:3px 3px 7px;border:1px solid transparent;border-radius:9px;background:transparent;color:#756458;font-size:10px}
.gallery-bottom .atelier-thumb img{width:65px;height:67px;object-fit:cover;border-radius:6px;filter:saturate(.85)}
.gallery-bottom .atelier-thumb[aria-pressed="true"]{border-color:#75604e;background:#fff}.gallery-bottom .atelier-thumb[aria-pressed="true"] span{color:#30251e;font-weight:650}
.gallery-bottom .video-thumbnail .video-glyph{height:67px;width:65px;display:grid;place-items:center;border-radius:6px;background:#e3dbd2;font-size:19px;color:#453329}
.gallery-bottom .atelier-gallery-hint{position:static;display:block;margin:7px 0 0;letter-spacing:0;background:transparent;color:#93877b;font-size:11px;padding:0;text-align:left}
.boutique-product .atelier-product-info{padding:clamp(30px,3.7vw,58px) clamp(29px,3vw,48px) 34px;display:flex;justify-content:flex-start;flex-direction:column;background:#fffdfb;overflow:visible}
.boutique-product .atelier-product-info h2{font-size:clamp(41px,3.7vw,61px);margin:14px 0 11px;line-height:1.03;letter-spacing:-.055em}
.boutique-product .atelier-product-info .modal-description{font-size:13px;color:#72685e;line-height:1.75;margin:0 0 13px}
.price-line{border-bottom:1px solid #ede7e0;padding:5px 0 21px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 15px}
.price-line .modal-price{font-size:20px;margin:0;font-weight:650;color:#342923}
.price-help{color:#94877c;font-size:11px}
.product-selection{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:7px}
.boutique-product .modal-options{min-width:0;margin:0}.boutique-product .form-label{font-size:11px;text-transform:none;letter-spacing:0;font-weight:650;margin:14px 0 8px;color:#43352b}
.boutique-product .modal-options select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
.variant-chips{display:flex;flex-wrap:wrap;gap:7px}
.choice-chip{border:1px solid #ddd4ca;border-radius:9px;background:#fff;min-height:40px;padding:7px 12px;color:#473a32;font-size:12px;transition:border-color .18s,background .18s}
.choice-chip:hover{border-color:#94806e}.choice-chip[aria-pressed="true"]{background:#332921;color:white;border-color:#332921}
.product-information{margin-top:22px}.details-title{font-size:12px;font-weight:650;color:#342923}
.boutique-product .modal-specs{margin:10px 0 0;padding:17px 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;border-top:1px solid #ede7df;border-bottom:1px solid #ede7df}
.boutique-product .modal-specs dt{font-size:10px;letter-spacing:.06em;color:#958678;text-transform:none}
.boutique-product .modal-specs dd{font-size:12px;margin-top:3px}
.boutique-product .modal-note{font-size:11px;line-height:1.5;margin:19px 0;color:#81766c}
.purchase-controls{display:flex;align-items:center;justify-content:space-between;margin-top:3px;margin-bottom:18px}.quantity-label{font-size:12px;font-weight:650}.quantity-select{border:1px solid #e2d9d0;border-radius:12px;display:flex;align-items:center;overflow:hidden;height:42px}.quantity-select button{border:0;background:#fffdfb;min-width:43px;height:100%;font-size:18px}.quantity-select button:hover{background:#f2ece5}.quantity-select output{font-weight:650;min-width:21px;text-align:center;font-size:13px}
.boutique-product .atelier-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}.atelier-modal-actions .btn{font-size:10px;letter-spacing:.07em;padding:12px;min-height:48px;border-radius:11px;white-space:nowrap}
.atelier-modal-actions .btn.outline{border:1px solid #d9cfc4;background:#fff;color:#34271f}
.boutique-product .modal-footnote{font-size:11px;line-height:1.5;color:#84776e;margin:15px 0 12px}
.product-extra{margin-top:7px;border-top:1px solid #eee8e2;padding:13px 0 0}.product-extra summary{cursor:pointer;font-weight:600;font-size:12px}.product-extra p{font-size:12px;color:#817367;margin:8px 0 0;line-height:1.7}
.option-error{color:#a24b38;font-size:12px;line-height:1.5;margin:3px 0}
.boutique-product .boutique-close{position:fixed;top:13px;right:14px;z-index:4;background:#fffdfbe9;border:1px solid #eee6df;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:26px}
.image-lightbox{position:fixed;inset:0;z-index:300;background:rgba(20,17,15,.96);display:flex;align-items:center;justify-content:space-around;gap:8px;padding:48px 20px 25px;color:white}
.image-lightbox[hidden]{display:none!important}.image-lightbox figure{margin:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-width:0}.image-lightbox figure img{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 125px);object-fit:contain}.image-lightbox figcaption{padding-top:13px;font-size:12px;color:#d8cbc0}
.lightbox-close{position:absolute;top:12px;right:21px;width:44px;height:44px;border:1px solid #8b817a;color:white;background:transparent;border-radius:50%;font-size:30px}.lightbox-arrow{width:43px;height:55px;color:white;background:transparent;border:0;font-size:33px}
@media(max-width:940px){.boutique-product .atelier-modal-layout{grid-template-columns:1fr 1fr}.gallery-stage{height:clamp(395px,52vh,580px)}.boutique-product .atelier-product-info{padding:45px 22px 28px}.boutique-product .atelier-product-info h2{font-size:45px}.product-selection{grid-template-columns:1fr}.boutique-product .modal-specs{gap:12px}}
@media(max-width:740px){.product-modal.boutique-product{width:100vw;max-height:100dvh;height:100dvh;top:0;left:0;transform:none;border-radius:0}.boutique-product .atelier-modal-layout{display:block;min-height:0}.gallery-top{top:12px;left:16px;right:60px}.gallery-stage{height:clamp(340px,47vh,520px)}.gallery-bottom{padding:10px 13px 8px;min-height:76px}.gallery-bottom .atelier-thumb{width:62px}.gallery-bottom .atelier-thumb img,.gallery-bottom .video-thumbnail .video-glyph{width:56px;height:55px}.gallery-bottom .atelier-gallery-hint{font-size:10px;margin:2px 0 4px}.boutique-product .atelier-product-info{padding:25px 22px 90px}.boutique-product .atelier-product-info h2{font-size:43px}.product-selection{grid-template-columns:1fr 1fr}.gallery-expand{bottom:9px;right:12px}.gallery-arrows{left:7px;right:7px}.gallery-arrows button{width:36px;height:36px}.boutique-product .boutique-close{position:fixed;top:7px;right:8px}.atelier-modal-actions .btn{font-size:10px}.image-lightbox{padding:55px 5px 25px}.lightbox-arrow{width:32px;flex:none}}
@media(max-width:390px){.product-selection{grid-template-columns:1fr}.atelier-modal-actions{grid-template-columns:1fr!important}.boutique-product .modal-specs{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.choice-chip,.gallery-stage img{transition:none!important}}
@media(max-width:360px){.nav{gap:4px}.brand{gap:6px;min-width:0}.brand-name{font-size:10px;letter-spacing:.05em}.brand-small{font-size:7px;letter-spacing:.12em}.nav-right{gap:3px}.bag-btn{padding:7px 5px}.bag-count{margin-left:3px}.menu-btn{padding:4px;font-size:21px}}

@media(min-width:741px){.boutique-product .atelier-media .gallery-stage{flex:1;height:auto;min-height:clamp(480px,65vh,760px)}}
/* Keep gallery angles visible while the customer reads details. */
@media(min-width:741px){
 .product-modal.boutique-product{overflow:hidden}
 .boutique-product .atelier-modal-layout{height:min(94dvh,950px);min-height:0}
 .boutique-product .atelier-media{height:100%;min-height:0;max-height:100%;overflow:hidden}
 .boutique-product .atelier-media .gallery-stage{min-height:0;height:auto;flex:1}
 .boutique-product .gallery-bottom{flex:none;min-height:100px}
 .boutique-product .atelier-product-info{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}
