/* Shared navigation and cart remain visible at every viewport. */
.site-topline{background:#20324f;color:#faf8f1;text-align:center;padding:9px 16px;font:10px/1.6 Arial,sans-serif;letter-spacing:.14em}
.site-navigation{display:block!important;position:sticky!important;top:0;z-index:30;background:#faf8f1;border-bottom:1px solid #cfd6c9;padding:0!important;margin:0!important;max-width:none!important;color:#21324a}
.site-navigation .header-inner{width:min(90%,1440px);margin:auto;min-height:92px;padding:0;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:24px}
.site-navigation .brand{display:block;flex-shrink:0;line-height:0}.site-navigation .brand img{display:block;width:215px;height:auto}
.site-navigation .nav{position:static;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:30px;width:auto;margin:0 0 0 auto;padding:0;border:0;background:transparent;font:700 14px/1.4 Arial,sans-serif}
.site-navigation .nav a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none;white-space:nowrap;font:inherit}
.site-navigation .nav a:hover,.site-navigation .nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.site-navigation a:focus-visible{outline:3px solid #526c92;outline-offset:4px}
.site-skip{position:absolute;top:-100px;left:20px;z-index:100;background:white;color:#21324a;padding:12px}.site-skip:focus{top:10px}
.site-navigation .header-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;flex-shrink:0;color:#20324f;border-radius:4px;text-decoration:none}
.header-cart>svg{width:23px;height:23px}
.header-cart-count{position:absolute;top:0;right:-1px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:20px;background:#dcf09b;color:#13243e;font:700 10px/1 Arial,sans-serif;border:2px solid #faf8f1}
.header-cart:hover{background:#e8edf3}
@media(max-width:760px){.site-navigation .header-inner{width:92%;min-height:76px;gap:8px}.site-navigation .brand img{width:145px}.site-navigation .nav{gap:12px;font-size:12px}.site-topline{font-size:9px}}
@media(max-width:380px){.site-navigation .header-inner{width:94%}.site-navigation .brand img{width:115px}.site-navigation .nav{gap:9px;font-size:11px}}
/* Keep React's existing bag controller behind the shared header cart. */
body.shop-page #root>.review-bar,body.shop-page #root>header{display:none}
body.shop-page #root>header>.brand,body.shop-page #root>header .menu-toggle,body.shop-page #root>.shop-navigation{display:none!important}body.shop-page #root>header .header-actions{display:flex;justify-content:flex-end;width:100%}
/* Keep the square hero artwork inside its grid column on tablet widths. */
.shop-page .hero-art{min-width:0;width:100%}

/* Product quick view: shared with card customizer and cart edits. */
.product-quick-view.customizer{width:calc(100vw - 32px)!important;max-width:1040px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 28px;max-height:90dvh;overflow-y:auto}
.product-quick-view>h2,.product-quick-view>p{grid-column:1/-1;padding-right:24px}
.product-quick-view .quick-view-photo{grid-column:1;grid-row:3;margin:0;min-width:0;align-self:start;position:sticky;top:0}
.product-quick-view .quick-view-photo img{display:block;width:100%;height:auto;max-height:60vh;object-fit:contain;border-radius:8px;background:#e6ede8}
.product-quick-view .quick-view-photo figcaption{font-size:12px;line-height:1.5;color:#62665f;margin-top:12px}
.product-quick-view form{grid-column:2;grid-row:3;min-width:0;margin-top:0}
.product-quick-view input,.product-quick-view select{max-width:100%;min-width:0}
@media(max-width:700px){.product-quick-view.customizer{grid-template-columns:minmax(0,1fr);padding:22px!important;gap:12px}.product-quick-view .quick-view-photo{position:static;grid-column:1;grid-row:auto}.product-quick-view .quick-view-photo img{max-height:28vh}.product-quick-view form{grid-column:1;grid-row:auto}}

.school-shop-promo{padding:20px 5%;background:#e3ebdf;color:#20324f;text-align:center;line-height:1.6}.school-shop-promo a{font-weight:700;text-decoration:underline;margin-left:8px}

.designer-credit{padding:10px 12px;background:#20324f;color:#fff;font-size:14px;border-radius:6px}.quick-view-photo>p{font-size:14px;line-height:1.5;margin-bottom:12px}

/* Long finish selections and request notes must wrap without hiding totals/actions. */
.cart-dialog{width:calc(100vw - 32px)!important;max-width:640px!important;min-width:0;overflow-x:hidden;box-sizing:border-box}
.cart-items{min-width:0;max-width:100%;overflow-x:hidden}
.cart-item{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:20px;min-width:0}
.cart-item>div{min-width:0;max-width:100%}
.cart-item>div:first-child{overflow-wrap:anywhere}
.cart-item>div:last-child{justify-self:end;text-align:right}
.cart-item small{display:block;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.65}
.cart-item h3{overflow-wrap:anywhere}
.cart-item strong{display:block;white-space:nowrap}
@media(max-width:480px){.cart-dialog{padding:20px!important}.cart-item{column-gap:12px}.cart-item h3{font-size:18px}.cart-item strong{font-size:16px}}

/* Accessible icon links sit directly below the contact email. */
.social-footer{margin-top:14px;min-width:0}
.social-links{display:flex!important;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.social-links a{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;margin:0!important;border:1px solid currentColor;border-radius:50%;color:inherit;text-decoration:none}
.social-links svg{display:block;width:22px;height:22px;flex-shrink:0}
.social-links a:hover{background:#ffffff18}
.social-links a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.social-feature{display:flex;align-items:center;justify-content:space-between;gap:30px}
.social-feature .social-footer{margin:0;flex-shrink:0}
.shop-page .shop-footer{align-items:flex-start;flex-wrap:wrap;background:#13243e}
.shop-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.shop-page .shop-footer .brand img{width:210px;height:auto}
.shop-footer-contact>a:not(.brand){font-size:13px;text-decoration:underline;text-underline-offset:4px;color:#faf8f1}
.shop-page .shop-footer .social-footer{margin:0}
@media(max-width:760px){.social-feature{align-items:flex-start;flex-direction:column}}

/* The designer feature now sits directly below the Shop hero. */
@font-face{font-family:Russo;src:url('../fonts/russo-one.ttf') format('truetype');font-display:swap;font-weight:400}
.shop-page .designer-feature{max-width:none;margin:0;padding:72px 5%;background:#20324f;color:#faf8f1}
.designer-feature-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:center;width:min(100%,1440px);margin:auto}
.shop-page .designer-feature .eyebrow{color:#dcf09b;font-size:11px;letter-spacing:.16em;margin:0 0 22px}
.shop-page .designer-feature .astrodex-logo{display:block;width:min(100%,480px);height:auto;margin:0 0 28px;border-radius:12px}
.shop-page .designer-feature h2{font:400 clamp(32px,3.5vw,52px)/1.06 Russo,Arial,sans-serif;letter-spacing:-.035em;margin:0;color:#faf8f1}
.shop-page .designer-feature-copy p{font:16px/1.6 Arial,sans-serif;color:#d5dce8;margin:0;max-width:66ch}
.shop-page .designer-feature .designer-feature-button{display:inline-flex;justify-content:center;background:#dcf09b;color:#13243e;margin-top:30px;border-radius:0;font:700 13px/1.4 Arial,sans-serif;padding:16px 23px;min-height:50px}
.shop-page .designer-feature .designer-feature-button:hover{background:#cce381}
.shop-page .designer-feature-copy .designer-feature-note{font-size:12px;margin-top:20px}
@media(max-width:760px){.shop-page .designer-feature{padding:55px 6%}.designer-feature-inner{grid-template-columns:minmax(0,1fr);gap:32px}}

/* Seasonal Christmas tab: stands out from the plain text links and invites a click. */
.site-navigation .nav a.nav-christmas{min-height:40px;padding:0 18px;border-radius:999px;background:#b3202a;color:#fff;box-shadow:0 2px 0 #7d1119;transition:background .2s,transform .2s}
.site-navigation .nav a.nav-christmas:hover,.site-navigation .nav a.nav-christmas[aria-current=page]{background:#8f1820;text-decoration:none;transform:translateY(-1px)}
.site-navigation .nav a.nav-christmas:focus-visible{outline:3px solid #1f5c3a;outline-offset:3px}
@media(max-width:760px){.site-navigation .nav a.nav-christmas{min-height:34px;padding:0 11px}.nav-christmas-long{display:none}}
@media(max-width:380px){.site-navigation .nav a.nav-christmas{padding:0 9px}}
.nav-christmas-long{margin-left:.3em}
@media(max-width:760px){.nav-christmas-long{display:none}}
@media(max-width:430px){.site-navigation .brand img{width:118px}.site-navigation .nav{gap:9px;font-size:11.5px}.site-navigation .header-inner{gap:6px}.site-navigation .nav a.nav-christmas{padding:0 10px}}
@media(max-width:375px){.site-navigation .header-inner{flex-wrap:wrap;min-height:0;padding-block:8px;row-gap:0}.site-navigation .nav{order:3;width:100%;justify-content:space-between;margin:0}}
