/* The storefront keeps its own visual language; only the Halo switch is shared. */
.header { display:grid; grid-template-columns:1fr auto 1fr; height:auto; row-gap:0; padding-block:16px 0; }
.header-tools { justify-self:end; }
.header .brand { gap:10px; }
.header .brand strong { display:block; font-size:20px; line-height:1.1; letter-spacing:-.7px; white-space:nowrap; }
.header .brand strong span { display:inline; }
.header .stack-sections { grid-column:1 / -1; grid-row:2; display:flex; justify-content:center; gap:32px; padding:13px 0; }
.announcement { background:#e9edf2; color:#303944; }
.announcement span:last-child { opacity:1; color:#4a5361; }
.stack-sections a { min-height:32px; display:inline-flex; align-items:center; }
.hero { padding-top:50px; }
html { scroll-padding-top:160px; }
.stack-support { display:inline-flex; margin-top:14px; color:#334e77; text-decoration:underline; text-underline-offset:4px; }
.product-frame .quick-add { width:44px; height:44px; }
.studio-handoff { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:40px; padding-top:32px; border-top:1px solid #d7dce3; }
.studio-handoff h3 { max-width:530px; margin:12px 0; font-size:clamp(22px,2.1vw,30px); line-height:1.2; letter-spacing:-.8px; font-weight:500; }
.studio-handoff p { max-width:530px; margin:0; font-size:14px; line-height:1.65; color:#535c68; }
.studio-handoff .button { flex-shrink:0; }
/* Customization stays a shopping step, not an engineering worksheet. */
.carry-config-copy .carry-config-status { color:#334e77; background:#e9edf2; }
.carry-config-copy .carry-option:has(input:checked) { background:#edf2f8; border-color:#536a8b; box-shadow:inset 0 0 0 1px #536a8b; }
.carry-config-copy .carry-option:has(input:checked) i { border-color:#334e77; }
.carry-config-copy .carry-config-summary { background:#edf2f8; border-color:#d8e0ea; }
.carry-config-copy .carry-config-summary .primary { background:#242b36; }
.carry-config-summary #carry-save-status,.carry-config-summary dd { color:#334e77; }
.cart-customization { margin:6px 0 12px; padding:0; list-style:none; display:grid; gap:4px; font-size:12px; line-height:1.6; color:#535c68; }
.cart-pending-price { color:#334e77; font-size:13px; font-weight:600; white-space:nowrap; }
#cart-pending-note { margin:16px 0; padding:16px; border:1px solid #ccd8e8; border-radius:14px; background:#edf2f8; color:#33435b; font-size:13px; line-height:1.6; }
#cart-pending-note strong { display:block; margin-bottom:4px; }
.cart-dialog .button:disabled { cursor:not-allowed; opacity:.6; }
.carry-config-image > .carry-gallery-image { display:block; width:100%; height:100%; object-fit:contain; }
#carry-gallery-controls { display:flex; flex-wrap:wrap; gap:8px; padding:16px 27px 0; }
#carry-gallery-controls button { padding:10px 14px; min-height:44px; border:1px solid #d8e0ea; border-radius:999px; font-size:12px; background:#fff; color:#33435b; }
#carry-gallery-controls button[aria-pressed='true'] { background:#242b36; border-color:#242b36; color:#fff; }
#carry-gallery-controls button:focus-visible { outline:3px solid #536a8b; outline-offset:3px; }
.carry-gift-note { padding:14px 0; font-size:12px; line-height:1.6; color:#535c68; }
.carry-pouch-visual[hidden] { display:none; }
.product-art.accessory-art { background:#e9e1d5; padding:0; overflow:hidden; }
.accessory-fullplate { display:block; width:100%; height:100%; object-fit:contain; }
.accessory-config-dialog .carry-config-image { background:#e9e1d5; }
.accessory-config-dialog .carry-config-image img { display:block; width:100%; height:100%; object-fit:contain; }
#accessory-save-status { font-size:12px; color:#334e77; line-height:1.6; }
.accessory-base-preview { margin-top:24px; border-top:1px solid #d8e0ea; padding-top:20px; }
.accessory-base-preview p { color:#596473; font-size:12px; line-height:1.65; margin-bottom:12px; }
.accessory-base-preview summary { cursor:pointer; font-size:12px; color:#596473; padding:8px 0; }
.accessory-base-preview summary:focus-visible { outline:3px solid #536a8b; outline-offset:3px; }
.accessory-base-preview .outline-button { width:100%; min-height:44px; border:1px solid #cad3df; background:transparent; color:#33435b; }
.accessory-selection { color:#33435b; font-size:13px; line-height:1.7; margin:18px 0; }
/* Reviewed product views remain inside the customizer. */
.product-art.duffel { background-image:url('assets/halo-duffel-larger-nylon-silver-v7.webp'); }
.product-art.leather-duffel { background-image:url('assets/halo-duffel-larger-leather-silver-v7.webp'); }
@media(max-width:900px) {
  .header { grid-template-columns:1fr auto; padding-top:12px; }
  .header-tools { grid-column:2; grid-row:1; }
  .header .stack-sections { grid-row:3; }
  html { scroll-padding-top:205px; }
}
@media(max-width:600px) {
  .cart-dialog[open] { display:block; overflow-y:auto; }
  .cart-dialog .dialog-heading { position:sticky; top:-22px; padding:12px 0; background:#fcfbf8; z-index:2; }
  #cart-items { overflow:visible; min-height:0; }
  .header { padding:10px 20px 8px; }
  .header .brand { gap:8px; }
  .header .brand strong { font-size:15px; line-height:1.15; letter-spacing:-.35px; }
  .header .brand strong span { display:block; }
  .studio-handoff { align-items:flex-start; flex-direction:column; gap:24px; }
  .header .stack-sections { display:none; padding:12px 0 4px; gap:4px; }
  .header.menu-open .stack-sections { display:grid; position:static; width:100%; box-shadow:none; border:0; }
  .header .stack-sections a { min-height:44px; justify-content:center; }
  .hero { padding-top:28px; }
  html { scroll-padding-top:156px; }
  .announcement { justify-content:center; font-size:11px; padding:9px 16px; }
  .announcement span:first-child { display:none; }
}
.footer-bottom { flex-wrap:wrap; }
.footer-bottom>span:nth-child(2) { display:flex; align-items:center; gap:.35em; }
.footer-bottom a[href="/privacy"] { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:600px) {
  .footer-bottom { gap:4px 20px; }
  .footer-bottom>span:nth-child(2) { order:3; flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
