/* Apparel storefront. Kept separate from the legacy commerce/admin stylesheet. */
:root { --paper:#ffffff; --ink:#111111; --muted:#606060; --line:#e0e0e0; --brand-accent:#174fff; }
body.storefront { background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
.storefront h1,.storefront h2,.storefront h3 { font-family:Arial,Helvetica,sans-serif; letter-spacing:-.045em; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid var(--brand-accent); outline-offset:5px; }
.brand-skip-link { position:fixed; top:10px; left:16px; padding:14px 20px; background:var(--ink); color:white; z-index:200; transform:translateY(-180%); }
.brand-skip-link:focus { transform:none; }
.brand-announcement { padding:10px 20px; background:var(--ink); color:var(--paper); text-align:center; font-size:11px; letter-spacing:.1em; }
.brand-header { position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--line); }
.brand-header-inner { min-height:88px; padding:0 clamp(22px,4vw,72px); max-width:1600px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand-wordmark { font-size:clamp(22px,2.1vw,32px); font-weight:800; letter-spacing:-.07em; white-space:nowrap; line-height:1; }
.brand-wordmark>span { font-size:18px; margin-left:4px; color:var(--brand-accent); }
.brand-nav { display:flex; align-items:center; gap:28px; }
.brand-nav a { font-size:13px; padding:33px 0; border-bottom:2px solid transparent; white-space:nowrap; }
.brand-nav a:hover,.brand-nav a[aria-current] { border-color:var(--ink); }
.brand-header-actions { display:flex; align-items:center; gap:22px; }
.brand-header-actions>a { display:flex; align-items:center; justify-content:center; min-width:28px; min-height:44px; font-size:20px; }
.brand-header-actions>a[aria-label='Admin dashboard'] { font-size:13px; }
.brand-bag { gap:7px; }
.brand-bag span { font-size:12px; }
.brand-menu-toggle { display:none; background:none; border:0; cursor:pointer; padding:8px; font-size:26px; color:inherit; }
.brand-hero { max-width:1600px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; min-height:680px; }
.brand-hero-copy { padding:68px clamp(24px,5vw,80px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.brand-eyebrow { margin:0 0 22px; font-size:10px; line-height:1.5; letter-spacing:.16em; text-transform:uppercase; font-weight:600; }
.brand-hero h1 { font-size:clamp(56px,6.8vw,108px); line-height:.96; font-weight:500; margin:0 0 30px; }
.brand-hero h1 em { font-family:Georgia,'Times New Roman',serif; font-weight:400; color:var(--brand-accent); }
.brand-hero-description { font-size:14px; line-height:1.8; color:var(--muted); margin:0 0 28px; }
.brand-button { min-height:52px; display:inline-flex; align-items:center; justify-content:space-between; gap:40px; padding:17px 24px; font-size:13px; font-weight:600; background:var(--ink); color:white; border:1px solid var(--ink); transition:background .2s; }
.brand-button:hover { background:var(--brand-accent); border-color:var(--brand-accent); }
.brand-button>span { font-size:20px; line-height:1; }
.brand-text-link { display:inline-flex; align-items:center; gap:20px; font-size:12px; padding:7px 0; line-height:1.6; border-bottom:1px solid currentColor; }
.brand-text-link:hover { color:var(--brand-accent); }
.brand-hero-copy>.brand-text-link { margin-top:18px; border:0; }
.brand-hero-art { position:relative; display:flex; flex-direction:column; justify-content:space-between; background:#f0f0f0; padding:28px 32px; overflow:hidden; }
.brand-art-label { font-size:9px; letter-spacing:.2em; z-index:1; }
.brand-hero-shirt { flex:1; display:grid; place-items:center; min-height:0; padding:15px 0; }
.brand-hero-shirt a { display:block; width:100%; height:100%; }
.brand-hero-shirt img { width:100%; height:100%; max-height:510px; object-fit:contain; mix-blend-mode:multiply; }
.brand-art-caption { display:flex; justify-content:space-between; align-items:flex-end; font-size:12px; line-height:1.6; }
.brand-art-mark { font-family:Georgia,serif; font-size:72px; letter-spacing:-.09em; line-height:.8; }
.brand-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-evenly; gap:20px; padding:21px 24px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.brand-strip>span[aria-hidden] { font-size:20px; color:var(--brand-accent); }
.brand-section { max-width:1600px; margin:auto; padding:80px clamp(22px,4vw,72px); }
.brand-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:34px; }
.brand-section-heading .brand-eyebrow { margin-bottom:12px; }
.brand-section h2 { font-size:clamp(30px,3vw,46px); line-height:1.08; font-weight:500; margin:0; }
.brand-section-heading>.brand-text-link { flex-shrink:0; }
.brand-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.storefront .fashion-product { min-width:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.storefront .fashion-product-image,.storefront .fashion-grid.compact-view .fashion-product-image { height:auto!important; aspect-ratio:4/5; background:#f4f4f4; border-radius:0; }
.storefront .fashion-product-image img { width:92%!important; height:92%!important; object-fit:contain; mix-blend-mode:multiply; }
.storefront .fashion-product-info { padding:16px 0 0!important; }
.storefront .fashion-product-info h3 { font-size:14px!important; font-weight:500; line-height:1.5!important; letter-spacing:-.015em; margin:0 0 5px; overflow-wrap:break-word; }
.brand-product-style { font-size:11px; color:var(--muted); line-height:1.5; margin:0 0 8px; }
.storefront .fashion-price { font-size:13px; font-weight:600; margin:0; }
.storefront .fashion-price s { color:var(--muted); font-weight:400; margin-right:6px; }
.storefront .merch-badge { border-radius:0; font-size:9px; letter-spacing:.08em; background:var(--paper); color:var(--ink); box-shadow:none; padding:6px 8px; }
.storefront .badge-clearance { background:var(--ink); color:white; }
.brand-collections { padding-top:20px; }
.brand-collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.brand-collection-card { display:flex; flex-direction:column; min-height:340px; padding:28px; background:#ededed; transition:transform .2s; }
.brand-collection-card:hover { transform:translateY(-4px); }
.brand-collection-top { display:flex; justify-content:space-between; align-items:center; font-size:10px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:64px; }
.brand-collection-top>span:last-child { font-size:22px; }
.brand-collection-card h3 { font-size:clamp(28px,3vw,44px); font-weight:500; line-height:1.05; margin:0 0 14px; }
.brand-collection-card p { font-size:12px; line-height:1.6; margin:0 0 30px; }
.brand-collection-bottom { margin-top:auto; padding-top:18px; border-top:1px solid currentColor; font-size:11px; display:flex; justify-content:space-between; gap:16px; }
.brand-theme-motivational { background:#151515; color:#fff; }
.brand-theme-religious { background:#ededed; }
.brand-theme-meme { background:#e5e5e5; }
.brand-theme-fall-halloween,.brand-theme-halloween,.brand-theme-fall { background:#174fff; color:white; }
.brand-custom { margin:0 auto; max-width:1600px; background:var(--ink); color:var(--paper); padding:70px clamp(24px,7vw,112px); display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:center; }
.brand-custom h2 { font-size:clamp(48px,6vw,90px); line-height:1; font-weight:400; margin:0; }
.brand-custom-copy { max-width:390px; }
.brand-custom-copy>p { font-size:18px; line-height:1.7; margin:0 0 30px; color:#dddddd; }
.brand-button-light { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.brand-button-light:hover { background:#dddddd; border-color:#dddddd; }
.brand-custom-copy>.brand-text-link { display:table; margin-top:20px; }
.brand-custom-copy>.brand-text-link:hover { color:#ffffff; }
.brand-story { text-align:center; padding:90px 24px; }
.brand-story h2 { font-size:clamp(30px,4vw,56px); line-height:1.15; font-weight:400; margin:0 0 26px; }
.brand-footer { padding:55px clamp(24px,4vw,72px) 24px; background:#f2f2f2; color:var(--ink); margin-top:auto; }
.brand-footer-main { max-width:1456px; margin:auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:36px; }
.brand-footer-intro p { font-size:12px; color:var(--muted); margin:18px 0 22px; }
.brand-footer-intro img { object-fit:contain; }
.brand-footer nav { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.brand-footer nav h2 { font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin:0 0 10px; }
.brand-footer nav a { font-size:12px; color:#505050; }
.brand-footer nav a:hover { text-decoration:underline; }
.brand-footer-bottom { max-width:1456px; margin:40px auto 0; border-top:1px solid #d4d4d4; padding-top:20px; display:flex; justify-content:space-between; gap:20px; font-size:10px; color:#595959; }
.brand-page-intro { max-width:720px; margin-bottom:60px; }
.brand-page-intro h1 { font-size:clamp(50px,7vw,90px); font-weight:400; line-height:1; margin:0 0 24px; }
.brand-page-intro>p:last-child { max-width:440px; color:var(--muted); line-height:1.7; font-size:15px; }
/* Carry the same material, type, and control treatment through existing shopping flows. */
.storefront .catalog-page { max-width:1600px; padding:60px clamp(22px,4vw,72px) 80px; }
.storefront .catalog-title-row h1 { font-weight:400; font-size:clamp(44px,6vw,72px); }
.storefront .eyebrow { color:var(--brand-accent); font-size:10px; letter-spacing:.14em; }
.storefront .fashion-grid { gap:42px 22px; }
.storefront .catalog-toolbar { border-color:var(--line); }
.storefront .catalog-search input,.storefront .catalog-search button,.storefront .sort-form select,.storefront .filter-menu>summary,.storefront .filter-panel,.storefront .filter-form select { border-radius:0; }
.storefront .btn { border-radius:0; background:var(--ink); box-shadow:none; }
.storefront .btn.secondary { background:transparent; color:var(--ink); border:1px solid var(--ink); }
.storefront .product-image-panel { border-radius:0; background:#f4f4f4; border-color:var(--line); }
.storefront .product-image.large { border-radius:0; background:#f4f4f4; }
.storefront .content-page-hero h1 { font-family:Arial,Helvetica,sans-serif; font-weight:400; line-height:1.06; }
.storefront .content-page-grid article,.storefront .contact-page-card>div,.storefront .policy-card { border-radius:0; box-shadow:none; border-color:var(--line); }
.storefront .story-manifesto { border-radius:0; background:var(--ink); }
.storefront .story-manifesto>span { color:#ffffff; }
.storefront .collection-experience { background:var(--paper); color:var(--ink); }
.storefront .collection-experience::before,.storefront .collection-orbit { display:none; }
.storefront .collection-hero h1 { font-weight:400; line-height:1; }
@media (min-width:1600px) { .brand-hero,.brand-custom { border-left:1px solid var(--line); border-right:1px solid var(--line); } }
@media (max-width:1100px) {
  .brand-header-inner { min-height:76px; gap:20px; }
  .brand-menu-toggle { display:block; }
  .brand-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--paper); border-bottom:1px solid var(--line); padding:12px 24px 24px; max-height:calc(100dvh - 100px); overflow:auto; }
  .brand-nav.mobile-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .brand-nav a { padding:16px 0; font-size:15px; }
  .brand-hero { min-height:590px; }
  .brand-hero-copy { padding:44px 30px; }
  .brand-hero h1 { font-size:clamp(52px,7.3vw,80px); }
  .brand-hero-art { padding:24px; }
  .brand-custom { gap:40px; }
  .brand-collection-card { padding:22px; }
  .brand-collection-top { margin-bottom:40px; }
}
@media (max-width:700px) {
  .brand-announcement { font-size:9px; padding:9px 15px; }
  .brand-header-inner { padding:0 20px; min-height:68px; }
  .brand-wordmark { font-size:24px; }
  .brand-header-actions { gap:12px; }
  .brand-header-actions>a { font-size:19px; }
  .brand-hero { grid-template-columns:1fr; }
  .brand-hero-copy { padding:40px 24px; }
  .brand-hero h1 { font-size:clamp(58px,13.5vw,88px); margin-bottom:22px; }
  .brand-hero-description { font-size:13px; }
  .brand-hero-art { min-height:410px; padding:22px 24px; }
  .brand-hero-shirt { height:320px; flex:none; }
  .brand-hero-shirt a { height:100%; }
  .brand-hero-shirt img { max-height:300px; }
  .brand-art-mark { font-size:52px; }
  .brand-strip { flex-wrap:wrap; gap:12px 18px; padding:18px; font-size:8px; line-height:1.5; }
  .brand-strip>span[aria-hidden] { display:none; }
  .brand-section { padding:48px 20px; }
  .brand-collections { padding-top:0; }
  .brand-section-heading { align-items:flex-start; flex-direction:column; gap:12px; margin-bottom:26px; }
  .brand-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 14px; }
  .storefront .fashion-product-info h3 { font-size:13px!important; }
  .brand-collection-grid { grid-template-columns:1fr; }
  .brand-collection-card { min-height:270px; padding:26px; }
  .brand-collection-card h3 { font-size:38px; }
  .brand-collection-top { margin-bottom:34px; }
  .brand-custom { grid-template-columns:1fr; padding:48px 24px; gap:30px; }
  .brand-custom h2 { font-size:58px; }
  .brand-custom-copy>p { font-size:16px; }
  .brand-story { padding:64px 24px; }
  .brand-footer-main { grid-template-columns:1fr 1fr; gap:36px 24px; }
  .brand-footer-intro { grid-column:1/-1; }
  .brand-footer-bottom { flex-direction:column; gap:10px; }
  .brand-page-intro { margin-bottom:40px; }
  .storefront .catalog-page { padding:36px 20px 60px; }
  .storefront .fashion-grid { gap:30px 14px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .storefront *, .storefront *::before, .storefront *::after { animation:none!important; transition:none!important; }
}

.brand-header-actions svg { width:22px; height:22px; display:block; }
/* Overrides needed where earlier mobile rules use !important. */
.storefront .fashion-product-info { text-align:left; }
.storefront .fashion-product-image img,.brand-hero-shirt img { mix-blend-mode:normal; }
.storefront .carousel-panel,.storefront .carousel-main-stage,.storefront .carousel-zoom-frame { border-radius:0!important; background:#f4f4f4; }
.storefront .carousel-thumb { border-radius:0; }
.storefront .carousel-thumb.active { border-color:var(--brand-accent); }
.storefront .product-buy-panel h1 { font-weight:400!important; letter-spacing:-.04em; }
.storefront .product-buy-panel .price { font-weight:500; }
.storefront .product-purchase-form select,.storefront .product-purchase-form input { border-radius:0; }
.storefront #addToCartButton { background:var(--ink); border-color:var(--ink); border-radius:0; box-shadow:none; }
.storefront .catalog-page { padding-left:clamp(20px,4vw,72px)!important; padding-right:clamp(20px,4vw,72px)!important; }
.storefront .catalog-title-row h1 { font-size:clamp(40px,6vw,72px)!important; }
.storefront .catalog-toolbar .sort-form label { white-space:nowrap; font-size:11px; font-weight:400; }
@media (max-width:380px) {
  .brand-header-inner { gap:10px; padding:0 16px; }
  .brand-header .brand-wordmark { font-size:21px; }
  .brand-header-actions { gap:7px; }
  .brand-menu-toggle { padding:5px; }
  .brand-hero h1 { font-size:48px; }
  .brand-custom h2 { font-size:50px; }
}
