/* Shared product details; no body/header/global dialog styles. */
.store-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;color:#24354d}.store-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:12px;border:0;background:var(--blue,#4b87e7);color:white}.store-button:disabled{opacity:.65;cursor:default}.store-note,.store-tagline{color:#65748a}.store-inline-error{color:#a13c37}
.store-gallery{min-width:0;position:sticky;top:24px}.store-gallery-stage{position:relative;border-radius:16px;overflow:hidden;background:#f6f8fc}.store-gallery-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:3/4;max-height:590px}.store-gallery-track::-webkit-scrollbar{display:none}.store-gallery-track>img{flex:0 0 100%;width:100%;min-width:0;height:100%;object-fit:contain;scroll-snap-align:start}.gallery-count{position:absolute;right:13px;bottom:13px;border-radius:20px;background:#203654b3;color:#fff;padding:2px 12px;font-size:12px;pointer-events:none}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);height:34px;width:34px;border:0;border-radius:50%;background:#ffffffdf;color:var(--ink);font-size:25px;line-height:1}.gallery-arrow.previous{left:10px}.gallery-arrow.next{right:10px}.store-thumbnails{display:flex;gap:8px;margin-top:12px}.store-thumbnails button{flex:1;min-width:0;padding:2px;border:2px solid transparent;border-radius:9px;background:#f3f6fa;overflow:hidden}.store-thumbnails button[aria-pressed=true]{border-color:var(--blue)}.store-thumbnails img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;border-radius:5px}.store-product-info{min-width:0}.store-detail h1{font-size:27px;margin:10px 0}.store-price{display:block;background:#fff5ef;border-radius:12px;padding:14px 18px;margin:18px 0 8px}.store-price>div:first-child{display:flex;align-items:baseline;gap:9px;color:#ce5226;font-size:13px}.store-price strong{font-size:33px;color:#ce5226;letter-spacing:-.02em}.store-original{color:var(--muted);font-size:12px}.store-price del{font-size:12px}.store-duration{font-size:12px;margin:0 0 21px}.store-specs{padding:0;margin:0 0 20px;border:0;min-width:0}.store-specs legend{font-size:16px;font-weight:650;margin-bottom:11px;width:100%;display:flex;justify-content:space-between}.store-specs legend>span{color:var(--muted);font-size:12px;font-weight:400}.store-sku-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:355px;overflow:auto;padding:2px 6px 4px 2px;scrollbar-width:thin}.store-sku-grid button{min-height:54px;border:1px solid #dce5ef;border-radius:9px;padding:9px 11px;text-align:left;background:#fff;color:var(--ink);font-size:16px;font-weight:500;line-height:1.5}.store-sku-grid button[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:#f0f6ff;color:var(--deep)}.store-sku-grid em{font-style:normal;font-size:11px;color:var(--deep);margin-left:5px}.store-buybar{display:flex;align-items:center;gap:18px}.store-buy{border-radius:12px}.store-summary{font-size:12px;margin:0 0 20px}.store-detail{gap:36px;padding:28px}
@media(max-width:850px){.store-gallery{position:static}.store-gallery-track{max-height:none}.store-detail{max-width:560px}.store-sku-grid{max-height:310px}}
@media(max-width:520px){.store-detail{padding:14px;gap:22px}.store-detail h1{font-size:23px}.store-tagline{font-size:14px;font-weight:400}.store-gallery-track{aspect-ratio:3/4}.store-price{margin:14px 0 8px}.store-buybar{position:fixed;bottom:0;left:0;right:0;z-index:3;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;box-shadow:0 -3px 15px #20365408}.store-buybar .store-buy{flex:1}.store-footer{padding-bottom:100px}.store-thumbnails{gap:5px;margin-top:9px}.store-gallery-stage{border-radius:10px}.store-sku-grid{max-height:285px}.store-intro h1{font-size:30px;line-height:1.4}}
.store-sku-caption{display:block;color:var(--deep);font-size:13px;font-weight:400;margin-top:3px}
.store-thumbnails img{height:auto}
@media(max-width:850px){.store-detail{grid-template-columns:minmax(0,1fr)}}
#purchase-dialog{width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px}#purchase-dialog .store-gallery{position:static}#purchase-dialog .store-detail{padding:0;border:0;box-shadow:none}#purchase-dialog .store-buybar{position:static;padding:0;border:0;box-shadow:none}#purchase-dialog button{margin-top:0;width:auto;border-radius:10px}#purchase-dialog .store-sku-grid button{background:white;color:#24354d;font-weight:400}#purchase-dialog .gallery-arrow{background:#ffffffdf;color:#24354d;display:block}#purchase-dialog #close-dialog{margin-top:20px}

.customer-detail{grid-column:1/-1;padding:28px;border-top:1px solid #e4e9f1;line-height:1.8;overflow-wrap:anywhere}.customer-description{white-space:pre-wrap}.customer-detail img,.customer-detail video{display:block;max-width:100%;height:auto;margin:18px auto;border-radius:14px}.customer-detail video{width:100%}.customer-detail summary{cursor:pointer;font-weight:700}.customer-detail details{padding:12px 0;border-bottom:1px solid #e4e9f1}@media(max-width:600px){.customer-detail{padding:18px}}

/* Product selection keeps the existing two-column shop template. The narrow
   payment window is a separate state, even when checkout.css loads last. */
:is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"]{width:min(900px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:56px 24px 24px;overflow:hidden}
:is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"] #checkout-content{height:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px;font-size:16px;overflow-wrap:break-word}
:is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"] #checkout-content p{font-size:14px;line-height:1.65}
:is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"] .store-detail{padding:0;border:0;border-radius:0;box-shadow:none}
:is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"] .store-gallery{position:static}
:is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"] .store-price strong{white-space:nowrap}
:is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"] .store-sku-grid{max-height:none;overflow:visible}
:is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"] .store-buybar{position:static;padding:0;border:0;box-shadow:none}
:is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"] .store-buybar .store-buy{width:100%;margin:0}
html:has(:is(#purchase-dialog,#hall-purchase-dialog)[open]){overflow:hidden}
.store-sku-grid,:is(#purchase-dialog,#hall-purchase-dialog) .store-sku-grid{gap:12px;padding:3px}
.store-sku-grid button,:is(#purchase-dialog,#hall-purchase-dialog) .store-sku-grid button{min-height:76px;padding:14px 16px;border:1px solid #cbdcf1;border-radius:14px;background:#f3f7ff;color:#294b78;font-size:18px;font-weight:650;line-height:1.5;transition:background .15s,border-color .15s,box-shadow .15s}
.store-sku-grid button[data-sku^="store-membership"],:is(#purchase-dialog,#hall-purchase-dialog) .store-sku-grid button[data-sku^="store-membership"]{background:#fff7e9;border-color:#ead3aa;color:#84551d}
.store-sku-grid button[aria-pressed="true"],:is(#purchase-dialog,#hall-purchase-dialog) .store-sku-grid button[aria-pressed="true"]{background:#e7f0ff;border-color:#477fd3;color:#245ca7;box-shadow:0 0 0 1px #477fd3,inset 4px 0 #477fd3}
.store-sku-grid button[data-sku^="store-membership"][aria-pressed="true"],:is(#purchase-dialog,#hall-purchase-dialog) .store-sku-grid button[data-sku^="store-membership"][aria-pressed="true"]{background:#fff0d5;border-color:#cd963e;color:#79501c;box-shadow:0 0 0 1px #cd963e,inset 4px 0 #cd963e}
.store-sku-grid button:hover:not(:disabled),:is(#purchase-dialog,#hall-purchase-dialog) .store-sku-grid button:hover:not(:disabled){border-color:#477fd3;box-shadow:0 0 0 1px #477fd3}
.store-sku-grid .store-sku-caption{font-size:14px;color:inherit;opacity:.85;line-height:1.5;margin-top:6px}
.store-sku-grid em{display:inline-block;margin:5px 0 0 6px;padding:1px 8px;border-radius:6px;background:#dceaff;color:#2f65ae;font-size:12px;font-weight:650;vertical-align:middle}
.store-sku-grid button:focus-visible{outline:2px solid #477fd3;outline-offset:-4px}
@media(max-width:600px){
 :is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"]{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:min(760px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);padding:56px 16px 16px}
 :is(#purchase-dialog,#hall-purchase-dialog)[data-purchase-view="product"] #checkout-content{padding-right:4px}
 .store-sku-grid,:is(#purchase-dialog,#hall-purchase-dialog) .store-sku-grid{gap:10px}
 .store-sku-grid button,:is(#purchase-dialog,#hall-purchase-dialog) .store-sku-grid button{padding:12px;font-size:16px}
 .store-sku-grid button[data-sku^="store-membership"]{grid-column:1/-1}
}
