/* =====================================================================
   R10.23.0 — STOREFRONT TYPOGRAPHY, CONTRAST & PROPORTION
   Readable type, compact chrome, corrected hero contrast and larger
   ecommerce controls while preserving the R10.22 premium glass system.
   ===================================================================== */
:root{
  --r10230-text:#242a27;
  --r10230-muted:#56615c;
  --r10230-green:#063f34;
  --r10230-green-2:#0b5e4c;
  --r10230-red:#d94730;
  --r10230-gold:#f2bc39;
  --r10230-paper:rgba(255,255,255,.72);
}

/* Base public readability — do not let older 8–10px utility typography dominate. */
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body){
  font-size:16px!important;
  line-height:1.55!important;
  color:var(--r10230-text)!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) :where(p,li,label,input,select,textarea,button,a){
  text-rendering:optimizeLegibility;
}

/* Announcement remains compact but readable. */
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .announcement-bar{
  min-height:40px!important;
  padding:7px 18px!important;
  font-size:14px!important;
  line-height:1.3!important;
  color:#153d32!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .announcement-bar span,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .announcement-bar a{
  font-size:14px!important;
  font-weight:800!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .announcement-bar a{color:#8f291c!important;}

/* Desktop header: larger type, less empty vertical space. */
@media (min-width:1261px){
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .theme-site-header .site-header-inner{
    min-height:76px!important;
    padding:7px 12px!important;
    grid-template-columns:138px minmax(560px,1fr) minmax(225px,285px) auto!important;
    column-gap:12px!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .brand{width:138px!important;}
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .brand-logo{
    max-width:128px!important;height:47px!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header #main-navigation{
    gap:3px!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header #main-navigation>a,
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-nav-more>summary{
    min-height:43px!important;
    padding:0 10px!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:.01em!important;
    color:#2f302d!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-header-search{
    height:48px!important;
    padding:0 12px!important;
    border-radius:16px!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-header-search span{
    font-size:12.5px!important;
    color:#606a65!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-header-search kbd{
    font-size:9px!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-header-location{
    height:48px!important;width:128px!important;max-width:128px!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-header-location span{
    font-size:12px!important;font-weight:800!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .header-icon-link,
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .cart-pill{
    flex-basis:48px!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important;min-height:48px!important;border-radius:16px!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .header-icon-link .site-svg-icon,
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .cart-pill .site-svg-icon{
    width:21px!important;height:21px!important;flex-basis:21px!important;
  }
}
@media (min-width:1261px) and (max-width:1490px){
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .theme-site-header .site-header-inner{
    grid-template-columns:126px minmax(510px,1fr) minmax(205px,245px) auto!important;
    column-gap:9px!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header #main-navigation>a,
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-nav-more>summary{
    padding-inline:8px!important;font-size:12px!important;
  }
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-header-location{width:116px!important;max-width:116px!important;}
}

/* Dropdown text was undersized. */
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-nav-more-menu a{
  min-height:44px!important;
  font-size:13px!important;
  font-weight:750!important;
  color:#28342f!important;
}

/* General public form readability. */
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) main.container label{font-size:14px!important;color:#34413b!important;}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) main.container input:not([type='checkbox']):not([type='radio']):not([type='range']),
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) main.container select,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) main.container textarea{
  font-size:16px!important;
  color:#25332d!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) main.container input::placeholder,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) main.container textarea::placeholder{color:#727c77!important;opacity:1!important;}

/* Track/order and compact page hero: no giant empty slab. */
body[data-storefront-route='track-order.php'] .compact-page-hero,
body[data-storefront-route='about.php'] .compact-page-hero,
body[data-storefront-route='contact.php'] .compact-page-hero,
body[data-storefront-route='blog.php'] .compact-page-hero{
  min-height:250px!important;
  padding:42px 28px!important;
}
body[data-storefront-route='track-order.php'] .compact-page-hero h1,
body[data-storefront-route='about.php'] .compact-page-hero h1,
body[data-storefront-route='contact.php'] .compact-page-hero h1,
body[data-storefront-route='blog.php'] .compact-page-hero h1{
  font-size:clamp(44px,5vw,72px)!important;
  line-height:.98!important;
}
body[data-storefront-route='track-order.php'] .compact-page-hero p,
body[data-storefront-route='about.php'] .compact-page-hero p,
body[data-storefront-route='contact.php'] .compact-page-hero p,
body[data-storefront-route='blog.php'] .compact-page-hero p{
  font-size:17px!important;color:#66706b!important;
}
body[data-storefront-route='track-order.php'] .compact-page-hero .eyebrow,
body[data-storefront-route='track-order.php'] .compact-page-hero>span{font-size:13px!important;font-weight:850!important;}

/* MENU: restore intended dark hero beneath the glass so white copy is readable. */
body.sf-shop-page .sf-shop-hero{
  min-height:auto!important;
  padding:52px 28px 48px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(243,189,62,.23),transparent 26%),
    radial-gradient(circle at 65% 88%,rgba(223,63,41,.13),transparent 24%),
    linear-gradient(135deg,rgba(5,67,55,.96),rgba(3,47,40,.96) 70%,rgba(2,37,31,.98))!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 24px 60px rgba(6,47,39,.18)!important;
}
body.sf-shop-page .sf-shop-hero:before{opacity:.075!important;filter:invert(1)!important;}
body.sf-shop-page .sf-shop-title-block{max-width:760px!important;}
body.sf-shop-page .sf-shop-breadcrumb{font-size:13px!important;color:rgba(255,255,255,.74)!important;margin-bottom:16px!important;}
body.sf-shop-page .sf-shop-breadcrumb a{color:rgba(255,255,255,.82)!important;}
body.sf-shop-page .sf-shop-breadcrumb strong{color:#ffd15b!important;}
body.sf-shop-page .sf-shop-kicker{font-size:12px!important;letter-spacing:.15em!important;color:#ffd15b!important;}
body.sf-shop-page .sf-shop-title-block h1{
  margin:8px 0 14px!important;
  font-size:clamp(52px,5vw,76px)!important;
  line-height:.95!important;
  color:#fff!important;
  text-shadow:0 3px 22px rgba(0,0,0,.16)!important;
}
body.sf-shop-page .sf-shop-title-block>p{font-size:17px!important;line-height:1.55!important;color:rgba(255,255,255,.88)!important;}
body.sf-shop-page .sf-shop-proof span{
  padding:9px 12px!important;
  font-size:12px!important;
  font-weight:700!important;
  color:rgba(255,255,255,.92)!important;
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.16)!important;
}

/* Search card */
body.sf-shop-page .sf-shop-search-card>label{font-size:14px!important;font-weight:850!important;color:#263b33!important;}
body.sf-shop-page .sf-shop-search-row input{min-height:50px!important;font-size:16px!important;color:#2f3934!important;}
body.sf-shop-page .sf-shop-search-row input::placeholder{color:#7d8580!important;}
body.sf-shop-page .sf-shop-search-row button{min-height:46px!important;padding-inline:22px!important;font-size:13px!important;}
body.sf-shop-page .sf-shop-search-meta{font-size:12px!important;color:#65716b!important;}
body.sf-shop-page .sf-shop-search-meta strong{font-size:12.5px!important;color:#06493b!important;}
body.sf-shop-page .sf-shop-search-meta a{font-size:12.5px!important;}

/* Horizontal categories */
body.sf-shop-page .sf-shop-category{
  flex-basis:160px!important;
  min-height:86px!important;
  padding:13px 14px!important;
  color:#29342f!important;
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,252,247,.58))!important;
}
body.sf-shop-page .sf-shop-category>span{width:38px!important;height:38px!important;font-size:20px!important;}
body.sf-shop-page .sf-shop-category b{font-size:13px!important;line-height:1.15!important;color:#26312c!important;}
body.sf-shop-page .sf-shop-category small{font-size:11px!important;color:#6d7872!important;}
body.sf-shop-page .sf-shop-category.active{color:#fff!important;background:linear-gradient(145deg,#09614f,#0b725c)!important;}
body.sf-shop-page .sf-shop-category.active b{color:#fff!important;}
body.sf-shop-page .sf-shop-category.active small{color:rgba(255,255,255,.82)!important;}

/* Sidebar: neutral catalogue filters rather than a wall of small red pills. */
body.sf-shop-page .sf-shop-sidebar{padding:20px!important;}
body.sf-shop-page .sf-shop-sidebar-title>span{font-size:22px!important;color:#28352f!important;}
body.sf-shop-page .sf-filter-label{font-size:12px!important;font-weight:850!important;letter-spacing:.04em!important;color:#48554f!important;}
body.sf-shop-page .sf-filter-select{min-height:46px!important;font-size:14px!important;color:#26352f!important;}
body.sf-shop-page .sf-shop-filter-list{gap:7px!important;}
body.sf-shop-page .sf-shop-filter-list .sf-filter-btn{
  min-height:46px!important;
  padding:0 13px!important;
  border:1px solid rgba(50,69,62,.10)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.56)!important;
  color:#2f3b36!important;
  font-size:13px!important;
  font-weight:750!important;
  text-align:left!important;
}
body.sf-shop-page .sf-shop-filter-list .sf-filter-btn:hover{background:rgba(255,244,237,.84)!important;border-color:rgba(217,71,48,.18)!important;color:#b83625!important;}
body.sf-shop-page .sf-shop-filter-list .sf-filter-btn.active{
  background:linear-gradient(135deg,#d94730,#e75b3f)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 10px 24px rgba(217,71,48,.16)!important;
}
body.sf-shop-page .sf-shop-filter-list .sf-filter-btn b{font-size:15px!important;}
body.sf-shop-page .sf-shop-side-card>span{font-size:11px!important;color:#ffd35f!important;}
body.sf-shop-page .sf-shop-side-card strong{font-size:21px!important;}
body.sf-shop-page .sf-shop-side-card p{font-size:13px!important;color:rgba(255,255,255,.82)!important;}
body.sf-shop-page .sf-shop-side-card a{font-size:13px!important;}

/* Catalogue toolbar */
body.sf-shop-page .sf-shop-toolbar-kicker{font-size:11px!important;}
body.sf-shop-page .sf-shop-toolbar h2{font-size:28px!important;line-height:1.05!important;color:#23312b!important;}
body.sf-shop-page .sf-shop-toolbar p{font-size:13px!important;color:#68736e!important;}
body.sf-shop-page .sf-shop-sort{font-size:13px!important;color:#46534d!important;}
body.sf-shop-page .sf-shop-sort select{font-size:13px!important;min-height:42px!important;color:#26332e!important;}
body.sf-shop-page .sf-shop-view-toggle button{font-size:17px!important;min-width:40px!important;height:40px!important;}

/* Section headings and product cards */
body.sf-shop-page .sf-menu-section-head>div>span{font-size:11px!important;font-weight:850!important;letter-spacing:.1em!important;color:#d94730!important;}
body.sf-shop-page .sf-menu-section-head h2{font-size:30px!important;line-height:1.05!important;color:#1f2c27!important;}
body.sf-shop-page .sf-menu-section-head>small{font-size:12px!important;color:#68736d!important;}
body.sf-shop-page .sf-shop-badge{font-size:10px!important;padding:7px 10px!important;}
body.sf-shop-page .sf-shop-quick-view{min-height:42px!important;font-size:12px!important;font-weight:800!important;}
body.sf-shop-page .sf-shop-product-body{padding:20px!important;}
body.sf-shop-page .sf-shop-product-body .sf-menu-card-category{font-size:10.5px!important;color:#707a74!important;letter-spacing:.11em!important;}
body.sf-shop-page .sf-shop-product-body h3{margin:7px 0 8px!important;font-size:24px!important;line-height:1.08!important;}
body.sf-shop-page .sf-shop-product-body h3 a{color:#1e2a25!important;}
body.sf-shop-page .sf-shop-product-body .desc{min-height:42px!important;font-size:13.5px!important;line-height:1.55!important;color:#5b6761!important;}
body.sf-shop-page .sf-shop-variant-chips{gap:6px!important;margin-top:12px!important;}
body.sf-shop-page .sf-shop-variant-chips span{padding:6px 8px!important;font-size:10.5px!important;color:#53615a!important;background:rgba(255,255,255,.62)!important;}
body.sf-shop-page .sf-shop-product-bottom>div>small{font-size:10.5px!important;color:#707a74!important;}
body.sf-shop-page .sf-shop-product-bottom .price{font-size:19px!important;color:#06493b!important;}
body.sf-shop-page .sf-shop-add{min-height:44px!important;padding:0 15px!important;font-size:12.5px!important;border-radius:12px!important;}
body.sf-shop-page .sf-shop-add span{font-size:16px!important;}
body.sf-shop-page .sf-shop-notices span{font-size:11px!important;}
body.sf-shop-page .sf-shop-notices p{font-size:13px!important;color:#5e6964!important;}

/* Footer typography. */
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .footer-cta .eyebrow{font-size:12px!important;}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .footer-cta h2{font-size:clamp(28px,3vw,42px)!important;line-height:1.05!important;}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .footer-cta p{font-size:15px!important;}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer .footer-grid h3{font-size:16px!important;}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer .footer-grid>div>a,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer .footer-socials a{font-size:13px!important;line-height:1.65!important;}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer .footer-brand-col p,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer .footer-hours,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer .footer-bottom{font-size:13px!important;}

/* Cart confirmation popup. */
.storefront-cart-confirm{font-size:15px!important;}
.storefront-cart-confirm h2,.storefront-cart-confirm h3{color:#1f2c27!important;}
.storefront-cart-confirm p,.storefront-cart-confirm small{color:#5b6761!important;}
.storefront-cart-confirm :where(button,.btn,a){font-size:13px!important;}

/* Tablet/mobile retain readable sizes without creating a giant header. */
@media (max-width:1260px){
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header #main-navigation>a,
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-nav-more>summary{font-size:14px!important;min-height:44px!important;}
  body.sf-shop-page .sf-shop-hero{padding:42px 18px 40px!important;}
  body.sf-shop-page .sf-shop-title-block h1{font-size:clamp(46px,7vw,64px)!important;}
  body.sf-shop-page .sf-shop-title-block>p{font-size:16px!important;}
}
@media (max-width:780px){
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body){font-size:15px!important;}
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .announcement-bar,
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .announcement-bar span,
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .announcement-bar a{font-size:12px!important;}
  body.sf-shop-page .sf-shop-hero{padding:34px 14px 34px!important;}
  body.sf-shop-page .sf-shop-title-block h1{font-size:46px!important;}
  body.sf-shop-page .sf-shop-title-block>p{font-size:15px!important;}
  body.sf-shop-page .sf-shop-category{flex-basis:145px!important;min-height:80px!important;}
  body.sf-shop-page .sf-shop-category b{font-size:12px!important;}
  body.sf-shop-page .sf-shop-category small{font-size:10px!important;}
  body.sf-shop-page .sf-shop-toolbar h2{font-size:24px!important;}
  body.sf-shop-page .sf-shop-product-body{padding:14px!important;}
  body.sf-shop-page .sf-shop-product-body h3{font-size:18px!important;}
  body.sf-shop-page .sf-shop-product-body .desc{display:-webkit-box!important;font-size:12px!important;min-height:36px!important;-webkit-line-clamp:2!important;}
  body.sf-shop-page .sf-shop-product-bottom .price{font-size:16px!important;}
  body.sf-shop-page .sf-shop-add{min-height:40px!important;font-size:11px!important;}
}
@media (max-width:480px){
  body.sf-shop-page .sf-shop-title-block h1{font-size:42px!important;}
  body.sf-shop-page .sf-shop-main .sf-menu-products{grid-template-columns:1fr!important;}
  body.sf-shop-page .sf-shop-product-body h3{font-size:20px!important;}
  body.sf-shop-page .sf-shop-product-body .desc{font-size:13px!important;}
}

/* Final proportional cleanup after the larger typography pass. */
body.sf-shop-page .sf-shop-category-wrap{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
@media (min-width:1600px){
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-order-now{
    min-height:48px!important;
    height:48px!important;
    padding:0 16px!important;
    font-size:12.5px!important;
    border-radius:16px!important;
  }
}
