/* =====================================================================
   R10.22.0 — PREMIUM STOREFRONT GLASSMORPHISM
   Final visual layer: high-legibility frosted glass, Ghanaian pattern depth,
   ecommerce catalogue polish and resilient non-blur fallbacks.
   ===================================================================== */
:root{
  --pg-white:rgba(255,255,255,.62);
  --pg-white-strong:rgba(255,255,255,.78);
  --pg-white-soft:rgba(255,255,255,.44);
  --pg-line:rgba(255,255,255,.56);
  --pg-ink:#29241f;
  --pg-muted:#655f58;
  --pg-green:#073f34;
  --pg-red:#df4a31;
  --pg-gold:#f4bd38;
  --pg-blur:blur(22px) saturate(155%);
  --pg-shadow:0 22px 60px rgba(20,31,28,.12),0 8px 24px rgba(20,31,28,.055),inset 0 1px 0 rgba(255,255,255,.52);
  --pg-shadow-hover:0 28px 70px rgba(20,31,28,.16),0 10px 28px rgba(20,31,28,.07),inset 0 1px 0 rgba(255,255,255,.68);
}

body:not(.admin-app-body):not(.staff-auth-body):not(.install-body){
  background-color:#eee7de!important;
  background-image:
    linear-gradient(rgba(244,239,232,.87),rgba(247,242,235,.91)),
    url('/assets/images/patterns/adinkra-watermark.svg'),
    radial-gradient(circle at 12% 10%,rgba(244,189,56,.28),transparent 30%),
    radial-gradient(circle at 90% 18%,rgba(7,63,52,.19),transparent 26%),
    radial-gradient(circle at 76% 88%,rgba(223,74,49,.16),transparent 25%)!important;
  background-size:auto,520px 520px,auto,auto,auto!important;
  background-attachment:fixed,fixed,fixed,fixed,fixed!important;
}

/* Site chrome */
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .announcement-bar{
  background:linear-gradient(90deg,rgba(247,190,55,.88),rgba(255,207,88,.76))!important;
  border:1px solid rgba(255,255,255,.48)!important;
  border-bottom-color:rgba(112,76,0,.10)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
  backdrop-filter:blur(18px) saturate(150%)!important;
  box-shadow:0 10px 28px rgba(84,59,9,.08),inset 0 1px 0 rgba(255,255,255,.45)!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .theme-site-header{background:transparent!important;}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .theme-site-header .site-header-inner{
  background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,251,246,.55))!important;
  border:1px solid rgba(255,255,255,.66)!important;
  -webkit-backdrop-filter:var(--pg-blur)!important;
  backdrop-filter:var(--pg-blur)!important;
  box-shadow:var(--pg-shadow)!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-header-search,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-header-location,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .header-icon-link{
  background:rgba(255,255,255,.52)!important;
  border-color:rgba(255,255,255,.68)!important;
  -webkit-backdrop-filter:blur(14px) saturate(145%)!important;
  backdrop-filter:blur(14px) saturate(145%)!important;
  box-shadow:0 10px 24px rgba(25,42,37,.07),inset 0 1px 0 rgba(255,255,255,.62)!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-header-search:hover,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-header-location:hover,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .header-icon-link:hover{
  background:rgba(255,255,255,.70)!important;
  border-color:rgba(255,255,255,.86)!important;
  box-shadow:0 15px 32px rgba(25,42,37,.11),inset 0 1px 0 #fff!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .cart-pill,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-order-now{
  background:linear-gradient(135deg,rgba(213,61,40,.94),rgba(239,82,52,.88))!important;
  border-color:rgba(255,255,255,.20)!important;
  -webkit-backdrop-filter:blur(12px) saturate(145%)!important;
  backdrop-filter:blur(12px) saturate(145%)!important;
  box-shadow:0 16px 30px rgba(203,63,39,.20),inset 0 1px 0 rgba(255,255,255,.25)!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header #main-navigation>a.active,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header #main-navigation>a:hover,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-nav-more>summary:hover,
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-nav-more.active>summary{
  background:rgba(255,255,255,.50)!important;
  border:1px solid rgba(255,255,255,.55)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  backdrop-filter:blur(10px)!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .sf-nav-more-menu{
  background:rgba(255,252,247,.83)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  -webkit-backdrop-filter:var(--pg-blur)!important;
  backdrop-filter:var(--pg-blur)!important;
  box-shadow:var(--pg-shadow)!important;
}

/* Generic public surfaces — deliberately excludes image-led hero backgrounds. */
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) main.container :where(
  .card,.panel,.surface,.content-card,.form-card,.account-card,.checkout-card,.cart-card,.track-card,
  .reservation-card,.location-card,.offer-card,.blog-card,.faq-card,.contact-card
){
  background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(255,252,247,.48))!important;
  border:1px solid rgba(255,255,255,.64)!important;
  -webkit-backdrop-filter:var(--pg-blur)!important;
  backdrop-filter:var(--pg-blur)!important;
  box-shadow:var(--pg-shadow)!important;
}

/* Shopping/catalogue glass hierarchy */
body.sf-shop-page .sf-shop-search-card,
body.sf-shop-page .sf-shop-category,
body.sf-shop-page .sf-shop-sidebar,
body.sf-shop-page .sf-shop-sort,
body.sf-shop-page .sf-shop-view-toggle,
body.sf-shop-page .sf-shop-product,
body.sf-shop-page .sf-shop-notices>div{
  background:linear-gradient(145deg,rgba(255,255,255,.69),rgba(255,252,247,.48))!important;
  border:1px solid rgba(255,255,255,.64)!important;
  -webkit-backdrop-filter:var(--pg-blur)!important;
  backdrop-filter:var(--pg-blur)!important;
  box-shadow:var(--pg-shadow)!important;
}
body.sf-shop-page .sf-shop-search-card{box-shadow:0 30px 80px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.62)!important;}
body.sf-shop-page .sf-shop-search-row{
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(255,255,255,.66)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
}
body.sf-shop-page .sf-shop-category:hover,
body.sf-shop-page .sf-shop-product:hover{
  border-color:rgba(255,255,255,.86)!important;
  box-shadow:var(--pg-shadow-hover)!important;
}
body.sf-shop-page .sf-shop-category.active{
  background:linear-gradient(145deg,rgba(6,72,58,.91),rgba(9,94,74,.82))!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#fff!important;
  box-shadow:0 20px 45px rgba(6,63,52,.22),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
body.sf-shop-page .sf-shop-toolbar{
  padding:14px 16px!important;
  border:1px solid rgba(255,255,255,.54)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.38)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  box-shadow:0 14px 34px rgba(20,31,28,.06),inset 0 1px 0 rgba(255,255,255,.40)!important;
}
body.sf-shop-page .sf-shop-sort select{background:rgba(255,255,255,.45)!important;}
body.sf-shop-page .sf-shop-product-media{background:rgba(239,233,223,.70)!important;}
body.sf-shop-page .sf-shop-product-body{background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.30))!important;}
body.sf-shop-page .sf-shop-variant-chips span{
  background:rgba(255,255,255,.48)!important;
  border:1px solid rgba(255,255,255,.55)!important;
  color:#5d665f!important;
}
body.sf-shop-page .sf-shop-product-bottom{border-top-color:rgba(83,78,69,.10)!important;}
body.sf-shop-page .sf-shop-side-card{
  background:linear-gradient(145deg,rgba(6,63,52,.88),rgba(10,89,72,.76))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
  backdrop-filter:blur(18px) saturate(150%)!important;
  box-shadow:0 20px 44px rgba(6,63,52,.18),inset 0 1px 0 rgba(255,255,255,.13)!important;
}

/* Cart decision popup */
.storefront-cart-confirm{
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,249,242,.66))!important;
  border:1px solid rgba(255,255,255,.76)!important;
  -webkit-backdrop-filter:blur(28px) saturate(160%)!important;
  backdrop-filter:blur(28px) saturate(160%)!important;
  box-shadow:0 35px 90px rgba(9,23,20,.26),inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.storefront-cart-confirm-backdrop{
  background:rgba(8,17,15,.28)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  backdrop-filter:blur(7px)!important;
}
.r10180-cart-product,.r10180-cart-summary>div,.r10180-cart-info,.r10180-cart-account{
  background:rgba(255,255,255,.42)!important;
  border-color:rgba(255,255,255,.54)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
}

/* Footer: dark tinted glass, not low-contrast transparency. */
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .footer-cta{
  background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,250,244,.43))!important;
  border:1px solid rgba(255,255,255,.66)!important;
  -webkit-backdrop-filter:var(--pg-blur)!important;
  backdrop-filter:var(--pg-blur)!important;
  box-shadow:var(--pg-shadow)!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer{
  background:linear-gradient(150deg,rgba(4,49,41,.92),rgba(7,70,57,.84))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  -webkit-backdrop-filter:blur(24px) saturate(145%)!important;
  backdrop-filter:blur(24px) saturate(145%)!important;
  box-shadow:0 26px 60px rgba(2,33,27,.20),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer :where(h3,p,a,span,.footer-hours){color:#fff!important;}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer a{opacity:.88!important;}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer a:hover{opacity:1!important;color:#ffd66f!important;}

/* Glass form controls retain readable solid-enough fill. */
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) :where(input:not([type='checkbox']):not([type='radio']):not([type='range']),select,textarea){
  background:rgba(255,255,255,.64)!important;
  border-color:rgba(255,255,255,.72)!important;
  color:var(--pg-ink)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  backdrop-filter:blur(10px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 8px 22px rgba(20,31,28,.05)!important;
}
body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) :where(input,select,textarea):focus{
  border-color:rgba(7,63,52,.30)!important;
  box-shadow:0 0 0 4px rgba(7,63,52,.08),inset 0 1px 0 rgba(255,255,255,.68)!important;
}

@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .site-header-inner,
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) main.container :where(.card,.panel,.surface,.content-card,.form-card),
  body.sf-shop-page .sf-shop-product,
  body.sf-shop-page .sf-shop-sidebar,
  body.sf-shop-page .sf-shop-category,
  .storefront-cart-confirm{background:#fffaf4!important;}
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .site-footer.modern-footer{background:#063f34!important;}
}
@media(max-width:720px){
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body){background-attachment:scroll!important;}
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) > .theme-site-header .site-header-inner{border-radius:20px!important;}
  body.sf-shop-page .sf-shop-toolbar{padding:12px!important;}
}
@media(prefers-reduced-motion:reduce){
  body.sf-shop-page .sf-shop-product,
  body.sf-shop-page .sf-shop-category,
  body:not(.admin-app-body):not(.staff-auth-body):not(.install-body) .theme-site-header .header-icon-link{transition:none!important;transform:none!important;}
}
