/* Production commerce keeps its proven DOM and behaviour; only visual tokens change. */
/* Two-photo product galleries: stable geometry, no crop or distortion. */
.store-photo-carousel{position:relative;width:100%;height:100%;touch-action:pan-y}
.store-photo-link{display:block;width:100%;height:100%;overflow:hidden}
.product-photo .store-photo-link img,.store-photo-carousel img{width:100%;height:100%;object-fit:contain;display:block}
.store-photo-carousel img[hidden]{display:none}
.product:hover .store-photo-carousel img{transform:none}
.store-photo-prev,.store-photo-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:44px;padding:0;border:1px solid #d4d5ca;border-radius:3px;background:#f5f3eff2;color:#242522;font:28px/1 Arial,sans-serif;cursor:pointer;box-shadow:none}
.store-photo-prev{left:6px}.store-photo-next{right:6px}
.store-photo-dots{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);display:flex;gap:0;background:#f5f3efed;border-radius:3px}
.store-photo-dots button{display:grid;place-items:center;width:28px;height:30px;padding:0;border:0;background:transparent;cursor:pointer}
.store-photo-dots button:after{content:'';width:6px;height:6px;border-radius:50%;background:#bdc0b4}
.store-photo-dots button[aria-pressed=true]:after{background:#353c30}
.store-photo-prev:focus-visible,.store-photo-next:focus-visible,.store-photo-dots button:focus-visible{outline:2px solid #59644d;outline-offset:2px}
.product-photo:has(.store-photo-carousel){padding:0;overflow:visible}
.product-photo:has(.store-photo-carousel) .image-label{pointer-events:none;z-index:1}
.product-gallery__stage{position:relative;touch-action:pan-y}
.product-gallery__stage img{object-fit:contain}
@media(max-width:480px){.store-photo-prev,.store-photo-next{width:30px;height:42px}}
body:not(:has(#admin-shop)){--c-bg:#f5f3ef;--c-surface:#eeece5;--c-border:#d4d5ca;--c-text:#242522;--c-muted:#686c61;--c-accent:#353c30;--c-accent2:#59644d;--shadow:0 8px 30px #2425220d;--radius:5px;background:var(--c-bg);color:var(--c-text)}
body:not(:has(#admin-shop)) .header{background:#f5f3eff5;border-color:#d4d5ca}
body:not(:has(#admin-shop)) .btn--primary,body:not(:has(#admin-shop)) .btn--cyan{background:#353c30;color:#fff;box-shadow:none}
body:not(:has(#admin-shop)) input,body:not(:has(#admin-shop)) textarea,body:not(:has(#admin-shop)) select{background:#fff;color:#242522;border-color:#c4c8ba}
body:not(:has(#admin-shop)) .footer{background:#eeece5}
body:not(:has(#admin-shop)) .logo{color:#242522}
body:not(:has(#admin-shop)) .logo__icon{display:none}
body:not(:has(#admin-shop)) .logo span{color:#59644d}
body:not(:has(#admin-shop)) .hero{background:#eeece5}
body:not(:has(#admin-shop)) .section--dark{background:#eeece5}
@media(max-width:640px){body:not(:has(#admin-shop)) .nav{display:flex;flex-wrap:wrap;gap:12px}body:not(:has(#admin-shop)) .header__inner{flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}}
body .header .logo{font-size:38px;font-weight:500;letter-spacing:-2px;display:flex;align-items:center;gap:18px}
body .header .logo .brand-signature{display:block;border-left:1px solid #c9cac1;padding-left:16px;font-size:8px;line-height:1.5;text-transform:uppercase;letter-spacing:.06em;font-weight:400}
@media(max-width:640px){body .header .logo{font-size:32px}body .header .logo .brand-signature{font-size:7px}}

/* Purchase panel follows the paper-and-graphite storefront. */
body .product-buy-card{padding:26px 24px;border:1px solid #d4d5ca;border-radius:4px;background:#eeece5;box-shadow:none;min-width:0}
body .product-buy-card__price{margin:0 0 10px;color:#242522;font-size:2rem;font-weight:500;letter-spacing:-.045em;line-height:1.1;font-variant-numeric:tabular-nums}
body .product-buy-card__stock{margin:0 0 24px;color:#59604f;font-size:.875rem;font-weight:400;line-height:1.55;text-wrap:pretty}
body:not(:has(#admin-shop)) .product-buy-card .product-buy-card__button{min-height:54px;padding:15px 18px;border:1px solid #242522;border-radius:3px;background:#242522;color:#f5f3ef;font-size:.9rem;font-weight:500;line-height:1.35;white-space:normal;text-align:center;box-shadow:none;transform:none;transition:background-color .18s,border-color .18s}
body:not(:has(#admin-shop)) .product-buy-card .product-buy-card__button:hover:not(:disabled){background:#42483b;border-color:#42483b;transform:none;box-shadow:none}
body .product-buy-card .product-buy-card__button:focus-visible{outline:2px solid #59644d;outline-offset:4px}
body:not(:has(#admin-shop)) .product-buy-card .product-buy-card__button:disabled{background:#e0dfd7;color:#686c61;border-color:#d4d5ca;opacity:1}
body .product-fulfillment{gap:18px;margin-top:25px;padding-top:24px;border-color:#d0d1c6}
body .product-fulfillment>div{gap:12px}
body .product-fulfillment>div>span{display:flex;align-items:center;justify-content:center;flex:0 0 20px;height:22px;color:#686c61}
body .product-fulfillment svg{display:block;width:19px;height:19px;stroke-width:1.4}
body .product-fulfillment p{min-width:0;line-height:1.5}
body .product-fulfillment strong{color:#242522;font-size:.82rem;font-weight:500}
body .product-fulfillment small{margin-top:3px;color:#686c61;font-size:.78rem;line-height:1.5}
@media(max-width:640px){body .product-buy-card{padding:24px 22px}body .product-buy-card__price{font-size:1.9rem}body .product-buy-card .product-buy-card__button{min-height:54px}}
@media(prefers-reduced-motion:reduce){body .product-buy-card .product-buy-card__button{transition:none}}
