/* Shared public storefront design, based on the supplied product-page reference. */
:root { --ink:#0d1c24; --muted:#5d6a72; --paper:#fff; --cream:#f5f5f2; --line:#e0e5e8; --green:#142d39; --blue:#285372; --coral:#d7232b; }
.storefront-page { color:var(--ink); background:var(--paper); font:16px/1.5 Arial,Helvetica,sans-serif; }
.storefront-page h1,.storefront-page h2,.storefront-page h3 { font-family:Georgia,'Times New Roman',serif; letter-spacing:-.025em; }
.storefront-page h1,.storefront-page h2 { line-height:1.1; }
.storefront-page button,.storefront-page input,.storefront-page select,.storefront-page textarea { font-family:Arial,Helvetica,sans-serif; }
.storefront-page .eyebrow { font-family:Arial,Helvetica,sans-serif; }
.store-container,.storefront-page .container { width:min(1320px,calc(100% - 80px)); margin-left:auto; margin-right:auto; }
.storefront-page .section-wrap { max-width:1400px; padding-left:40px; padding-right:40px; }
.store-promo { background:#203b49; color:white; }
.store-promo-inner { min-height:38px; display:flex; align-items:center; gap:24px; font-size:12px; }
.store-promo strong { font-size:17px; line-height:1.2; white-space:nowrap; }
.store-promo-shipping { display:flex; gap:28px; margin-left:auto; }
.store-promo-shipping span { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.store-promo-shipping .icon { width:22px; height:22px; }
.store-header { position:sticky; top:0; z-index:30; background:white; border-bottom:1px solid var(--line); }
.store-header-inner { display:flex; align-items:center; gap:28px; min-height:88px; }
.store-brand { display:inline-flex; flex-direction:column; flex-shrink:0; line-height:1; }
.store-brand .brand-main { font:700 46px/.95 Georgia,'Times New Roman',serif; letter-spacing:-2px; }
.store-brand .brand-fab { color:var(--blue); }
.store-brand .brand-posters { color:var(--ink); }
.store-brand .brand-tag { margin-top:8px; font:700 8px/1.2 Arial,Helvetica,sans-serif; letter-spacing:3.6px; white-space:nowrap; color:var(--ink); }
.store-nav { display:flex; flex:1; justify-content:center; align-items:center; gap:22px; min-width:0; font-size:13px; }
.store-nav a { position:relative; padding:30px 0; white-space:nowrap; }
.store-nav a:hover,.store-nav a[aria-current="page"] { color:var(--blue); }
.store-nav a[aria-current="page"]:after { content:''; position:absolute; bottom:19px; left:0; right:0; height:2px; background:var(--blue); }
.store-header-actions { display:flex; align-items:center; gap:16px; margin-left:auto; }
.store-header-search { display:flex; align-items:center; min-height:40px; width:210px; border:1px solid var(--line); border-radius:25px; background:white; }
.store-header-search input { width:100%; min-width:0; padding:8px 0 8px 14px; font-size:12px; border:0; outline:0; background:transparent; }
.store-header-search:focus-within { outline:2px solid var(--blue); outline-offset:2px; }
.store-header-search button { display:grid; place-items:center; flex-shrink:0; width:44px; height:40px; border:0; background:none; color:var(--ink); }
.store-header-search .icon { width:21px; height:21px; }
.store-header .bag-link { width:44px; height:44px; }
.store-header .bag-link>.icon { width:29px; height:29px; }
.store-header .bag-link>span { background:var(--coral); }
.store-search-link { display:none; width:44px; height:44px; align-items:center; justify-content:center; }
.store-mobile-nav:not([hidden]) { display:none; }
.store-footer { padding:48px 0 22px; color:#e7eef2; background:var(--green); margin-top:auto; }
.store-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; }
.store-footer .store-brand .brand-main { font-size:37px; }
.store-footer .store-brand .brand-fab,.store-footer .store-brand .brand-posters { color:white; }
.store-footer .store-brand .brand-tag { color:#c2d2dc; font-size:7px; letter-spacing:2.5px; }
.store-footer h2 { margin:0 0 12px; font:700 15px/1.3 Arial,Helvetica,sans-serif; letter-spacing:0; }
.store-footer a:not(.store-brand) { display:block; width:max-content; min-height:32px; padding:5px 0; color:#cbd8df; font-size:13px; }
.store-footer a:hover { color:white; }
.store-footer-brand>p { margin:18px 0; font-size:14px; color:#c1d0d9; }
.store-footer-signup { max-width:315px; }
.store-footer-signup label { display:block; margin-bottom:8px; font-size:13px; }
.store-footer-signup>div { display:flex; min-height:44px; }
.store-footer-signup input { width:100%; min-width:0; padding:9px 12px; border:0; border-radius:3px 0 0 3px; color:var(--ink); background:white; font-size:13px; }
.store-footer-signup button { width:44px; border:0; border-radius:0 3px 3px 0; background:#dce9f1; color:var(--ink); font-size:20px; }
.store-footer-signup .promo-message { margin:8px 0 0; color:#e0edf5; font-size:12px; }
.store-copyright { border-top:1px solid #ffffff20; margin-top:32px; padding-top:18px; color:#b9cbd5; font-size:12px; }
.storefront-page .button { min-height:46px; border-radius:4px; font-size:14px; letter-spacing:0; text-transform:none; }
.storefront-page .button-dark { background:var(--green); }
.storefront-page .button-dark:hover { background:var(--blue); }
.storefront-page .simple-page { padding-top:48px; padding-bottom:70px; min-height:58vh; }
.storefront-page .simple-page h1,.storefront-page .cart-page h1,.storefront-page .checkout-page h1 { font-size:clamp(2.6rem,4vw,4rem); margin-bottom:22px; }
.storefront-page .simple-page>p { max-width:65ch; line-height:1.65; }
.storefront-page .simple-page h2 { font-size:26px; }
.storefront-page .contact-form { padding:24px; max-width:640px; background:var(--cream); border:1px solid var(--line); border-radius:4px; }
.storefront-page .contact-form label,.storefront-page .purchase-form label { font-size:13px; letter-spacing:0; text-transform:none; }
.storefront-page .cart-page { padding-top:40px; }
.storefront-page .cart-page .section-heading { padding-bottom:20px; border-bottom:1px solid var(--line); }
.storefront-page .cart-summary,.storefront-page .checkout-summary { background:#edf3f6; border:1px solid var(--line); border-radius:4px; }
.storefront-page .cart-item h2 { font-size:21px; }
.storefront-page .cart-item>strong { font-size:16px; }
.storefront-page .cart-item p,.storefront-page .cart-item small { font-size:13px; }
.storefront-page .cart-thumb { height:150px; padding:0; }
.storefront-page .checkout-form { padding:24px; border:1px solid var(--line); border-radius:4px; }
.storefront-page .checkout-form h2:first-of-type { margin-top:0; }
.storefront-page .shop-banner p { font-family:Georgia,'Times New Roman',serif; }
.storefront-page .shop-card h3 { font-family:Arial,Helvetica,sans-serif; letter-spacing:0; }
.storefront-page .art-card-copy h3,.storefront-page .product-card h3 { font-family:Arial,Helvetica,sans-serif; letter-spacing:0; }
.storefront-page .card-price { font-family:Georgia,'Times New Roman',serif; }
.storefront-page .promo-copy h2 { font-family:Georgia,'Times New Roman',serif; }
@media(max-width:1240px) {
  .store-header-search { display:none; }
  .store-search-link { display:inline-flex; }
  .store-header-inner { gap:22px; }
  .store-promo-note { display:none; }
}
@media(max-width:1100px) {
  .store-nav { display:none; }
  .store-header .menu-button { display:inline-flex; }
  .store-mobile-nav:not([hidden]) { display:grid; position:absolute; left:0; right:0; top:100%; padding:12px 24px 20px; background:white; box-shadow:0 12px 20px #142d3926; max-height:75vh; overflow:auto; }
  .store-mobile-nav a { padding:12px 0; min-height:44px; border-bottom:1px solid var(--line); font-size:14px; }
  .store-header-inner { min-height:80px; }
  .store-promo-shipping span:last-child { display:none; }
}
@media(max-width:760px) {
  .store-container,.storefront-page .container { width:calc(100% - 40px); }
  .storefront-page .section-wrap { padding-left:20px; padding-right:20px; }
  .store-promo-inner { justify-content:center; min-height:34px; }
  .store-promo strong { font-size:13px; }
  .store-promo-shipping { display:none; }
  .store-header-inner { min-height:76px; gap:12px; }
  .store-brand .brand-main { font-size:34px; }
  .store-brand .brand-tag { font-size:6px; letter-spacing:2.5px; margin-top:6px; }
  .store-header-actions { gap:4px; }
  .store-header .bag-link>.icon { width:26px; height:26px; }
  .store-footer-grid { grid-template-columns:1fr 1fr; gap:28px; }
  .store-footer-brand { grid-column:1/-1; }
  .store-footer a:not(.store-brand) { min-height:44px; padding:10px 0; }
  .storefront-page .contact-form,.storefront-page .checkout-form { padding:18px; }
  .storefront-page .simple-page { padding-top:34px; padding-bottom:48px; }
}
@media(max-width:420px) {
  .store-brand .brand-main { font-size:30px; }
  .store-brand .brand-tag { font-size:5.5px; letter-spacing:2px; }
  .store-header-actions { gap:0; }
  .store-search-link { width:36px; }
}
