/* Product: one clear purchase journey, with photography and customization up front. */
body:not(.admin) .product-detail-layout {
  grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);
  grid-template-areas:"gallery heading" "gallery purchase";
  gap:0 36px;
  align-items:start;
  margin:12px 0 28px;
}
.product-detail-layout .product-heading { grid-area:heading;padding:0 0 14px;min-width:0; }
.product-detail-layout .product-eyebrow { font-size:11px;letter-spacing:.14em;color:#62718a;margin-bottom:10px; }
.product-detail-layout .product-title { font-family:"Manrope",sans-serif;font-size:clamp(26px,2.6vw,36px);line-height:1.22;letter-spacing:-.04em;color:#13213a;font-weight:800;margin:0 0 18px; }
.product-price-line { display:flex;align-items:baseline;gap:8px 12px;flex-wrap:wrap; }
.product-detail-layout .product-price { font-family:"Manrope",sans-serif;font-size:30px;font-weight:800;letter-spacing:-.04em;color:#122142; }
.product-price-caption { font-size:11px;color:#66768e; }
.product-price-breakdown { font-size:12px;color:#66768e; }
.product-price-breakdown[hidden] { display:none; }
.product-rating-link { width:fit-content;text-decoration:none;margin-top:12px; }
body:not(.admin) .product-detail-layout .product-gallery-card { grid-area:gallery;position:sticky;top:100px;box-shadow:none;background:transparent;border:0;border-radius:0;overflow:visible; }
.product-detail-layout .product-gallery-card > .cardpad { padding:0; }
body:not(.admin) .product-detail-layout .product-gallery { display:flex;flex-direction:column;gap:14px; }
body:not(.admin) .product-detail-layout .product-main { max-width:none;border:1px solid #e6eaf0;border-radius:22px;aspect-ratio:1;background:#f4f5f7;touch-action:pan-y; }
.product-image-open { display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in; }
.product-detail-layout .product-main img { object-fit:contain; }
.product-zoom-hint { position:absolute;bottom:18px;left:18px;display:flex;align-items:center;gap:7px;padding:8px 11px;background:#ffffffed;border-radius:999px;color:#23334c;font-size:11px;font-weight:700;box-shadow:0 3px 12px #13213a08; }
.product-zoom-hint svg { width:16px;height:16px; }
.product-gallery-count { position:absolute;bottom:19px;right:18px;padding:6px 10px;border-radius:999px;color:#23334c;background:#ffffffed;font-size:11px;pointer-events:none; }
body:not(.admin) .product-detail-layout .gallery-arrow,
.product-lightbox .gallery-arrow { width:44px;height:44px;border:1px solid #dbe2eb;background:#fffffff2;box-shadow:0 3px 12px #13213a0a;color:#172944;font-size:27px;transition:background .2s,box-shadow .2s; }
.product-detail-layout .gallery-arrow:hover { background:#fff;box-shadow:0 6px 16px #13213a24; }
body:not(.admin) .product-detail-layout .product-thumbs { display:flex;gap:10px;overflow:auto;max-width:100%;padding:2px 1px 5px;scrollbar-width:thin; }
body:not(.admin) .product-detail-layout .product-thumb { flex:0 0 76px;width:76px;min-height:76px;aspect-ratio:1;box-shadow:none;border:1px solid #e0e5ed;border-radius:12px;opacity:.7;transition:opacity .2s,border-color .2s; }
.product-detail-layout .product-thumb:hover,.product-detail-layout .product-thumb.is-active { opacity:1; }
body:not(.admin) .product-detail-layout .product-thumb.is-active { border:2px solid #162849;box-shadow:none; }
.product-detail-layout .product-thumb img { width:100%;height:100%;object-fit:contain; }
body:not(.admin) .product-detail-layout .product-buy-card { grid-area:purchase;border:0;background:transparent;box-shadow:none;overflow:visible; }
body:not(.admin) .product-detail-layout .product-panel { position:static;padding:0;gap:0; }
.product-size-heading { display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px; }
body:not(.admin) .product-detail-layout .size-guide-trigger { background:none;border:0;padding:0;min-height:32px;font-size:11px;color:#64738b;font-weight:600;border-radius:0;text-decoration:underline;text-underline-offset:3px; }
.product-detail-layout .size-btn { min-height:46px;border-radius:9px; }
.product-detail-layout .size-btn.is-active { box-shadow:none; }
.product-personalization { border:1px solid #d3ddec;border-radius:16px;background:#f4f7fc;overflow:hidden; }
.product-personalization summary { display:flex;align-items:center;gap:11px;padding:16px;list-style:none;cursor:pointer; }
.product-personalization summary::-webkit-details-marker { display:none; }
.product-personalization summary > span:nth-child(2) { flex:1;min-width:0; }
.product-personalization summary strong { display:block;font-size:15px;line-height:1.2;color:#162a4a; }
.product-personalization summary span span { display:block;font-size:11px;color:#64748b;margin-top:4px;line-height:1.5; }
.product-personalization-icon { display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;background:#162a4a;color:#fff;border-radius:10px;font-size:22px; }
.product-personalization-price { flex-shrink:0;display:inline-flex;background:white;border:1px solid #dbe3ee;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;white-space:nowrap;color:#223956; }
.product-personalization-body { padding:0 16px 16px; }
.product-personalization-copy { font-size:11px;line-height:1.65;color:#596b84;margin:0 0 14px; }
.product-custom-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.product-custom-fields .product-custom-field-wide { grid-column:1/-1; }
.product-custom-fields label { display:block;color:#344761;font-size:12px;font-weight:700;margin-bottom:6px; }
body:not(.admin) .product-custom-fields .inp { background:#fff;border-radius:9px;min-height:45px;font-size:14px; }
.product-personalization-returns { font-size:10px;line-height:1.65;color:#65748a;margin:12px 0 0; }
.product-personalization-returns a { text-decoration:underline;text-underline-offset:2px; }
.product-purchase-actions { display:flex;gap:12px;align-items:flex-end; }
.product-quantity { flex:0 0 68px; }
.product-quantity label { display:block;font-size:11px;color:#66768e;margin-bottom:5px; }
body:not(.admin) .product-quantity .inp { width:68px!important;min-width:0;min-height:50px;text-align:center;padding:10px 5px; }
body:not(.admin) .product-detail-layout .product-cta { flex:1;display:flex;justify-content:center;align-items:center;gap:16px;min-height:50px;font-size:13px;margin:0;padding:13px 16px;box-shadow:0 7px 16px #d52b2026; }
body:not(.admin) .product-detail-layout .product-perks { margin-top:0;gap:0;padding:0 16px;border:1px solid #e0e6ef;border-radius:14px;background:#ffffffb3;overflow:hidden; }
body:not(.admin) .product-detail-layout .product-perk { min-width:0;border:0;border-bottom:1px solid #e4e9ef;border-radius:0;background:transparent;padding:14px 0;font-size:12px;color:#536680;text-decoration:none;line-height:1.6; }
body:not(.admin) .product-detail-layout .product-perk:last-child { border-bottom:0; }
.product-payment-perk { display:flex;flex-wrap:wrap;gap:3px 12px; }
.product-payment-perk strong { flex-basis:100%;color:#243b59;font-size:12px; }
.product-payment-perk span:last-child { flex-basis:100%;color:#738198;font-size:11px; }
.product-detail-layout .product-request-card { background:#fafbfc;border:1px solid #e6ebf2;border-radius:12px;padding:14px; }
.product-detail-layout .product-request-title { font-size:12px; }
.product-detail-layout .product-request-card .muted { font-size:11px;line-height:1.6; }
.product-promo-mobile-copy { display:none; }
.product-detail-layout .product-request-actions { margin-top:9px; }
.product-detail-layout .product-request-actions .pill { font-size:11px;min-height:32px;padding:6px 12px; }
.product-description { padding:22px 0;margin:12px 0 8px;border-top:1px solid #e4e9ef; }
.product-description h2 { font-size:18px;color:#142a48;margin:0 0 10px; }
.product-description p { max-width:850px;color:#62718a;line-height:1.8;font-size:14px;margin:0; }
.product-description-toggle[hidden] { display:none; }
.product-mobile-buybar { display:none; }
.product-lightbox { border:0;border-radius:20px;padding:18px;background:#fff;box-shadow:0 20px 80px #0004;width:min(960px,94vw);max-width:none;max-height:94dvh; }
.product-lightbox::backdrop { background:#07111fe0;backdrop-filter:blur(5px); }
.product-lightbox-top { display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;color:#566985;padding-bottom:12px; }
.product-lightbox-top button { border:1px solid #e0e6ee;border-radius:999px;background:white;min-height:44px;padding:9px 16px;cursor:pointer;font-weight:700;color:#243956; }
.product-lightbox-stage { position:relative;display:grid;place-items:center;touch-action:pan-y; }
.product-lightbox-stage > img { display:block;width:100%;max-height:calc(90dvh - 100px);object-fit:contain; }
.product-lightbox-open { overflow:hidden; }
body:not(.admin) .product-reco-arrow { width:44px;height:44px;font-size:25px; }
@media(min-width:901px) {
  main.wrap > .sp:has(+ .product-breadcrumb), .product-breadcrumb + .sp { height:8px; }
  .product-detail-layout .product-title { margin-bottom:12px; }
  .product-personalization summary { padding:14px; }
  .product-lightbox .gallery-arrow.prev { left:0; }
  .product-lightbox .gallery-arrow.next { right:0; }
}
@media(max-width:1100px) and (min-width:901px) {
  body:not(.admin) .product-detail-layout { grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:0 24px; }
}
@media(max-width:900px) {
  body:not(.admin) .product-detail-layout { grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "gallery" "purchase";gap:18px;margin:12px 0 22px; }
  .product-detail-layout .product-heading { padding:0; }
  .product-detail-layout .product-eyebrow { margin-bottom:6px;font-size:10px; }
  .product-detail-layout .product-title { font-size:25px;line-height:1.25;margin-bottom:10px; }
  .product-detail-layout .product-price { font-size:26px; }
  body:not(.admin) .product-detail-layout .product-gallery-card { position:static;top:auto; }
  body:not(.admin) .product-detail-layout .product-main { border-radius:16px;max-height:480px; }
  body:not(.admin) .product-detail-layout .product-gallery { gap:10px; }
  body:not(.admin) .product-detail-layout .product-thumb { flex-basis:60px;width:60px;min-height:60px;border-radius:9px; }
  .product-zoom-hint { bottom:12px;left:12px;font-size:10px; }
  .product-gallery-count { bottom:14px;right:12px; }
  .product-detail-layout .gallery-arrow.prev { left:8px; }
  .product-detail-layout .gallery-arrow.next { right:8px; }
  .product-detail-layout .product-panel { position:static; }
  .product-detail-layout .product-cta { width:auto; }
  .product-detail-layout .size-grid:not(.is-kids) { grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:8px; }
  .product-detail-layout .size-grid:not(.is-kids) .size-btn { min-width:0;padding:10px 4px; }
  body:not(.admin) .product-detail-layout .size-guide-trigger { min-height:44px;display:inline-flex;align-items:center;font-size:12px; }
  body:not(.admin) .product-detail-layout .product-perks { padding:0 12px;border-radius:12px; }
  .product-detail-layout .product-panel > .shipping-progress { padding:12px;margin:12px 0 0;border-radius:12px; }
  body:not(.admin) .product-detail-layout .product-perk { padding:10px 0;font-size:12px;line-height:1.5; }
  body:not(.admin) .product-detail-layout a.product-perk { display:flex;align-items:center;min-height:44px; }
  .product-detail-layout .product-payment-perk { gap:2px 8px; }
  .product-detail-layout .product-payment-perk span:last-child { font-size:11px; }
  body:not(.admin) .product-detail-layout .product-request-card { border:0;border-left:2px solid #d5dfea;border-radius:0;background:transparent;padding:0 0 0 12px; }
  body:not(.admin) .product-detail-layout .product-request-title { margin-bottom:3px;font-size:12px;line-height:1.5; }
  .product-detail-layout .product-promo-copy { display:none; }
  .product-detail-layout .product-promo-mobile-copy { display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere; }
  body:not(.admin) .product-detail-layout .product-request-actions { gap:6px 12px;flex-wrap:wrap;margin-top:4px; }
  body:not(.admin) .product-detail-layout .product-request-actions .pill { width:auto;min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;color:#213b5f;font-size:12px;text-decoration:underline;text-underline-offset:3px;justify-content:flex-start; }
  .product-personalization { border-radius:14px; }
  .product-personalization summary { padding:14px; }
  .product-personalization-body { padding:0 14px 14px; }
  body:not(.admin) .product-detail-layout .product-custom-fields .inp,
  body:not(.admin) .product-detail-layout .product-quantity .inp { font-size:16px; }
  .product-personalization-copy { font-size:12px;line-height:1.5;margin-bottom:12px; }
  .product-personalization-returns { font-size:11px;line-height:1.5; }
  .product-description { padding:18px 0;margin-top:8px; }
  .product-description h2 { font-size:16px; }
  .product-description p { font-size:13px;line-height:1.65;overflow-wrap:anywhere; }
  .product-description p.is-preview { display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden; }
  .product-description-toggle { display:flex;align-items:center;min-height:44px;padding:6px 0;border:0;background:transparent;color:#243e60;font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px; }
  body:not(.admin) .product-secondary-links { display:flex;gap:0;border-top:1px solid #e0e6ef;border-bottom:1px solid #e0e6ef; }
  body:not(.admin) .product-secondary-links .info-card { flex:1;min-width:0;min-height:52px;justify-content:center;align-items:center;gap:0;padding:9px 7px;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center; }
  body:not(.admin) .product-secondary-links .info-card + .info-card { border-left:1px solid #e0e6ef; }
  .product-secondary-links .info-title { font-size:11px;line-height:1.4; }
  .product-secondary-links .info-card .muted,.product-secondary-links .info-link { display:none; }
  .has-product-buybar { --product-buybar-height:80px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px)); }
  .product-mobile-buybar { display:flex;position:fixed;z-index:65;inset:auto 0 0;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:12px max(16px,calc((100vw - 750px)/2)) calc(12px + env(safe-area-inset-bottom,0px));background:#fffffff5;border-top:1px solid #e2e7ee;box-shadow:0 -5px 24px #142a480b;backdrop-filter:blur(12px);transition:transform .2s,visibility .2s; }
  .product-mobile-buybar.is-redundant { transform:translateY(110%);visibility:hidden; }
  .product-mobile-buybar > div { display:grid;gap:2px; }
  .product-mobile-buybar-label { color:#6b7b91;font-size:10px; }
  .product-mobile-buybar strong { font-size:21px;letter-spacing:-.03em;color:#152a49;line-height:1.2; }
  body:not(.admin) .product-mobile-buybar .btn { display:flex;gap:22px;align-items:center;justify-content:center;min-height:46px;min-width:160px;font-size:13px; }
  body.size-guide-modal-open .product-mobile-buybar,body.cart-modal-open .product-mobile-buybar { visibility:hidden; }
  .product-lightbox { padding:12px;border-radius:14px;width:96vw; }
  .product-lightbox-top { padding-bottom:8px; }
  .product-lightbox .gallery-arrow { width:44px;height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  .product-detail-layout *, .product-mobile-buybar { scroll-behavior:auto!important;transition:none!important; }
}
