/* A familiar shopping sequence, with the product name before its photograph. */
.product-detail{grid-template-areas:"preview identity" "preview options";gap:22px 56px;}
.product-introduction{grid-area:identity;min-width:0;}
.shop-breadcrumb{font:11px/1.5 var(--body);color:#79676e;text-decoration:none;}
.product-detail #product-title{margin:16px 0 9px;font-size:clamp(30px,3.1vw,42px);line-height:1.12;}
.product-introduction .availability{margin:0 0 16px;color:#675761;font-size:14px;line-height:1.5;}
.product-introduction .product-price{margin-bottom:0;}
.product-detail .preview-pane{grid-area:preview;min-width:0;}
.product-detail #garment-preview{width:min(100%,480px,calc((100svh - 140px)*.666667));aspect-ratio:2/3;height:auto;max-height:none;}
.product-detail #product-form{grid-area:options;padding:0;min-width:0;}
.product-quick-facts{font:12px/1.7 var(--body);color:#72636a;margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid #e9e2e5;}
.product-detail fieldset>legend{font:700 13px/1.5 var(--body);letter-spacing:0;text-transform:none;margin-bottom:12px;}
.product-detail .garment-tabs{padding:4px;gap:3px;border-radius:10px;}
.product-detail .garment-tabs button{min-height:44px;font-size:11px;padding:10px 6px;}
.product-detail .garment-tabs button.selected{background:var(--maroon);color:#fff;border-radius:7px;}
.product-detail .color-options{gap:10px;}
.product-detail .color-choice{min-width:60px;min-height:64px;justify-items:center;}
.product-detail .color-swatch{width:34px;height:34px;}
.product-detail .color-choice:has(input:checked) .color-swatch{outline:2px solid var(--maroon);outline-offset:4px;}
.product-detail .size-options{gap:7px;flex-wrap:wrap;}
.product-detail .size-options label>span{min-height:44px;min-width:44px;}
.size-guide-link{border:0;background:transparent;color:var(--maroon);text-decoration:underline;text-underline-offset:3px;font:600 11px/1.5 var(--body);cursor:pointer;padding:5px;}
.product-detail .size-quantity{gap:18px;}
.product-detail .quantity-control{height:44px;}
.product-detail .quantity-control button{height:44px;}
.product-detail #quantity{font-size:16px;}
.product-detail .size-quantity legend{display:flex;align-items:center;gap:20px;}
.design-picker{border:1px solid #ded4d9;border-radius:12px;margin:0 0 22px;overflow:clip;}
.design-picker>summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;cursor:pointer;font:12px/1.6 var(--body);}
.design-picker>summary::-webkit-details-marker{display:none;}
.design-picker>summary strong{display:block;font-size:14px;color:var(--maroon);}
.design-picker-action{flex:none;font-size:9px;letter-spacing:.7px;display:flex;align-items:center;gap:12px;}
.design-picker-action i{font:24px/1 var(--body);font-style:normal;}
.design-picker[open] .design-picker-action i{rotate:45deg;}
.product-detail .design-picker .design-field{margin:0;padding:16px;border-top:1px solid #e9e2e5;}
.product-detail .design-picker .design-field>legend.sr-only{padding:0;margin:0;}
.product-detail .design-collections{gap:14px;}
.product-detail .design-options{grid-template-columns:repeat(3,minmax(0,1fr));}
.product-detail .design-name{font-size:10px;line-height:1.4;overflow-wrap:anywhere;}
.product-detail .selection-summary{font-size:12px;line-height:1.7;background:#f8f5f0;padding:15px;border-radius:10px;}
.product-detail .purchase-actions{grid-template-columns:1fr;gap:9px;}
.product-detail .checkout-button{justify-content:center;min-height:48px;}
.product-information{margin-top:30px;border-top:1px solid #e6dfe3;}
.product-information>details{border-bottom:1px solid #e6dfe3;scroll-margin-top:30px;}
.product-information>details>summary{cursor:pointer;list-style:none;padding:20px 28px 20px 0;font:700 14px/1.4 var(--body);position:relative;}
.product-information>details>summary::-webkit-details-marker{display:none;}
.product-information>details>summary::after{content:'+';position:absolute;right:4px;top:18px;font-size:22px;color:var(--maroon);}
.product-information>details[open]>summary::after{content:'−';}
.product-information>details>div{padding-bottom:18px;min-width:0;font:12px/1.8 var(--body);color:#675a61;}
.product-information p{margin:0 0 13px;}
.product-information ul{padding-left:18px;margin:0 0 15px;}
.product-information li+li{margin-top:5px;}
.product-information dl{margin:0 0 16px;}
.product-information dl>div{display:grid;grid-template-columns:65px minmax(0,1fr);gap:10px;}
.product-information dt{font-weight:700;color:#35242d;}
.product-information dd{margin:0;}
.product-information a{color:var(--maroon);text-decoration:underline;text-underline-offset:3px;}
.product-information summary:focus-visible,.design-picker summary:focus-visible,.size-guide-link:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;}
.size-table-wrap{max-width:100%;overflow:auto;margin:16px 0;border:1px solid #e6dfe3;border-radius:8px;}
.size-table-wrap table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap;}
.size-table-wrap caption{text-align:left;padding:12px;font-weight:700;background:#f8f5f0;white-space:normal;}
.size-table-wrap th,.size-table-wrap td{padding:9px 12px;text-align:left;border-top:1px solid #e6dfe3;}
.size-table-wrap thead th{color:#35242d;}
.size-help{font-size:11px!important;}
.garment-preview-open{display:block;border:0;padding:0;width:100%;background:transparent;color:inherit;cursor:zoom-in;}
.product-detail .garment-preview-open .garment-mockup{display:block;}
.preview-open-hint{display:block;font:10px/1.6 var(--body);color:#7d6972;margin-top:10px;}
.garment-preview-open:focus-visible{outline:3px solid var(--gold);outline-offset:4px;}
#garment-dialog{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:#f8f7f4;color:var(--ink);overflow:hidden;box-sizing:border-box;}
#garment-dialog[open]{display:flex;flex-direction:column;}
.garment-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;border-bottom:1px solid #e2d9de;flex:none;background:#fff;}
.garment-viewer-header h2{font:700 20px/1.3 var(--body);margin:0;}
.garment-viewer-header p{font:12px/1.5 var(--body);margin:5px 0 0;color:#74636c;}
.garment-viewer-close{flex:none;border:1px solid #d9cbd2;border-radius:50%;width:44px;height:44px;background:#fff;color:var(--maroon);font:28px/1 var(--body);cursor:pointer;}
#garment-viewer-stage{flex:1;min-height:0;min-width:0;overflow:auto;display:flex;overscroll-behavior:contain;touch-action:pan-x pan-y;padding:20px;}
#full-garment-preview{--garment-zoom:1;--garment-base:min(calc(100vw - 40px),calc((100dvh - 220px)*.666667),800px);position:relative;flex:none;width:calc(var(--garment-base)*var(--garment-zoom));height:calc(var(--garment-base)*1.5*var(--garment-zoom));max-width:none;max-height:none;margin:auto;user-select:none;}
#full-garment-preview .mockup-object{width:100%;height:100%;max-width:none;max-height:none;}
#full-garment-preview img{pointer-events:none;-webkit-user-drag:none;}
#garment-viewer-stage.is-zoomed{cursor:grab;}
#garment-viewer-stage.is-dragging{cursor:grabbing;}
.garment-viewer-tools{flex:none;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2d9de;}
.garment-viewer-tools button{min-height:44px;min-width:44px;padding:10px 14px;border:1px solid #d9cbd2;border-radius:8px;background:#fff;color:var(--maroon);font:700 13px/1 var(--body);cursor:pointer;}
.garment-viewer-tools button:disabled{opacity:.4;cursor:default;}
#garment-zoom-level{min-width:44px;font:650 12px/1.5 var(--body);text-align:center;}
.garment-viewer-help{font:11px/1.5 var(--body);color:#74636c;}
.garment-viewer-tools button:focus-visible,.garment-viewer-close:focus-visible,#garment-viewer-stage:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;}
@media(max-width:550px){.garment-viewer-header{padding:14px 16px;gap:12px;}.garment-viewer-header h2{font-size:17px;}.garment-viewer-help{flex-basis:100%;text-align:center;}}
@media(max-width:809px){
 .product-detail{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"identity" "preview" "options";gap:23px;padding:26px 20px 55px;}
 .product-detail #product-title{font-size:32px;margin-top:13px;}
 .product-detail .preview-pane{padding:15px;position:relative;top:0;}
 .product-detail #garment-preview{aspect-ratio:2/3;max-height:none;width:min(100%,320px,calc(54svh*.666667));max-width:none;margin-inline:auto;}
 .product-detail .preview-heading{margin-bottom:8px;}
 .product-detail .preview-caption{margin-top:8px;}
 .product-detail #product-form{padding:0;}
 .product-detail .size-quantity{grid-template-columns:minmax(0,1fr);gap:0;}
 .product-detail .quantity-field{max-width:155px;}
 .product-detail .garment-tabs button{font-size:10px;}
 .product-detail .design-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
 .product-detail .design-choice{padding:7px;}
 .product-detail .design-thumb{height:65px;}
}
