/* Storefront and group components. The first important layer isolates them
   from legacy sitewide button/colour rules without affecting merchant screens. */
@layer libseh-storefront {
body:is(.public-store-page,.group-page){background:#f4eee4!important}
:is(.lg-public-group,.lg-public-groups){
  --brand-text:#43373a;--sf-wine:#66001f;--sf-olive:#59633a;--sf-muted:#5e5753;
  --sf-line:#e5dcd0;--sf-paper:#fcf9f3;--sf-soft:#f3ede3;
  background:transparent!important;color:var(--brand-text)!important;
  font-family:var(--libseh-font)!important;line-height:1.75!important;
  min-width:0!important;overflow:visible!important;padding-bottom:32px!important;
}
:is(.lg-public-group,.lg-public-groups) :is(p,li,label,legend,dt,dd,th,td,summary,a,button,input,select,textarea,span,strong,b,small,em,bdi,h1,h2,h3){
  color:var(--brand-text)!important;font-family:var(--libseh-font)!important;font-weight:400!important;text-shadow:none!important;
}
:is(.lg-public-group,.lg-public-groups) :is(h1,h2,h3,strong,b,button,summary,.pill){font-weight:500!important}
:is(.lg-public-group,.lg-public-groups) :is(h1,h2,h3){--brand-text:var(--sf-wine);line-height:1.4!important}
.lg-public-shops{scroll-margin-block-start:96px}
/* Public groups reuse the same visual hierarchy, while each store keeps its identity. */
.lg-public-group{max-width:1200px!important;width:calc(100% - 32px)!important;margin:0 auto!important;padding:0 0 32px!important}
.lg-breadcrumb{font-size:12px!important;min-height:60px!important;gap:12px!important;--brand-text:var(--sf-muted)}
.lg-group-hero{border:1px solid var(--sf-line)!important;border-radius:24px!important;overflow:visible!important;background:var(--sf-paper)!important;box-shadow:none!important;margin:0 0 40px!important}
.lg-hero-art{height:clamp(200px,26vw,360px)!important;overflow:hidden!important;border-radius:24px 24px 0 0!important;background:#e7dfd0!important}
.lg-hero-art>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:none!important}
.lg-hero-art::after,.lg-public-badge{display:none!important}
.lg-hero-body{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:24px!important;padding:76px 28px 30px!important;align-items:center!important;background:transparent!important}
.lg-hero-body>.lg-group-logo{position:absolute!important;top:-48px!important;inset-inline-start:28px!important;width:100px!important;height:100px!important;object-fit:contain!important;padding:6px!important;border:4px solid var(--sf-paper)!important;border-radius:50%!important;background:var(--sf-paper)!important;box-shadow:0 5px 20px #43303210!important;margin:0!important}
.lg-public-identity h1{font-size:30px!important;margin:8px 0 10px!important;font-weight:500!important}
.lg-public-description{font-size:15px!important;line-height:1.85!important;max-width:65ch!important;--brand-text:var(--sf-muted);margin:0!important}
.lg-eyebrow,.lg-public-count{font-size:13px!important;--brand-text:var(--sf-olive);background:transparent!important;border:0!important;padding:0!important}
.lg-explore-btn,.lg-shop-card .pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:44px!important;padding:10px 22px!important;background:var(--sf-wine)!important;border:1px solid var(--sf-wine)!important;border-radius:999px!important;--brand-text:#fcf9f3!important;font-size:14px!important;font-weight:500!important;box-shadow:none!important}
.lg-public-section-head{margin-bottom:24px!important;gap:16px!important}.lg-public-section-head h2{font-size:24px!important;margin:0 0 8px!important}.lg-public-section-head p{font-size:14px!important;--brand-text:var(--sf-muted)}
.lg-public-shops>.lg-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
.lg-shop-card{min-width:0!important;background:var(--sf-paper)!important;border:1px solid var(--sf-line)!important;border-radius:18px!important;box-shadow:none!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.lg-shop-art{display:block!important;aspect-ratio:16/9!important;overflow:hidden!important}.lg-shop-cover{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important}
.lg-shop-body{position:relative!important;padding:44px 20px 22px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;flex:1!important;background:transparent!important}
.lg-shop-body>.lg-logo{position:absolute!important;top:-28px!important;inset-inline-start:20px!important;width:60px!important;height:60px!important;object-fit:contain!important;background:var(--sf-paper)!important;border:3px solid var(--sf-paper)!important;border-radius:50%!important;box-shadow:0 3px 12px #43303210!important;margin:0!important}
.lg-shop-body h3{font-size:19px!important;margin:0!important}.lg-shop-specialty{font-size:12px!important;--brand-text:var(--sf-olive);background:none!important;padding:0!important}
.lg-shop-description{font-size:14px!important;--brand-text:var(--sf-muted);line-height:1.75!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lg-shop-body .pill{width:100%!important;margin-top:auto!important}
.lg-selected-products{margin-top:40px!important}.lg-selected-products .lg-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
.lg-selected-products .lg-card{background:var(--sf-paper)!important;border:1px solid var(--sf-line)!important;border-radius:16px!important;padding:16px!important}
/* Navigation uses thin SVGs, a small active indicator and the device safe area. */
body .customer-bottom-nav{background:#eae0cef5!important;border:0!important;border-top:1px solid #e5dcd0!important;box-shadow:0 -4px 18px #43303205!important;backdrop-filter:blur(12px);border-radius:0!important;padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px))!important;min-height:68px!important;height:auto!important}
body .customer-bottom-nav a{--brand-text:#5e5753!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-height:50px!important;font-size:12px!important;font-weight:400!important;gap:4px!important;padding:3px 1px!important;position:relative!important}
body .customer-bottom-nav a.active{--brand-text:#66001f!important;background:transparent!important}
body .customer-bottom-nav a.active::before{content:'';position:absolute;inset-block-start:0;inset-inline-start:calc(50% - 8px);width:16px;height:2px;background:#66001f;border-radius:2px}
body .customer-bottom-nav .outline-icon{width:23px!important;height:23px!important;stroke-width:1.5!important;display:block!important}
body .customer-bottom-nav span{font-size:12px!important;line-height:1.4!important}
body .customer-bottom-nav .bottom-cart-badge{font-size:9px!important;line-height:15px!important;min-width:15px!important;height:15px!important}
@media(max-width:1024px){.lg-public-shops>.lg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:767px){
  body.has-bottom-nav{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))!important}
  .lg-breadcrumb{min-height:48px!important;font-size:11px!important}
.lg-group-hero{border-radius:18px!important;margin-bottom:30px!important}.lg-hero-art{height:210px!important;border-radius:18px 18px 0 0!important}.lg-hero-body{padding:64px 20px 24px!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}.lg-hero-body>.lg-group-logo{width:88px!important;height:88px!important;top:-44px!important;inset-inline-start:20px!important}.lg-public-identity h1{font-size:25px!important}.lg-public-description{font-size:14px!important}.lg-explore-btn{justify-self:start!important}.lg-public-section-head h2{font-size:21px!important}.lg-public-section-head{align-items:flex-start!important;flex-wrap:wrap!important}.lg-public-shops>.lg-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}.lg-selected-products .lg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
}
@media(min-width:768px){body .customer-bottom-nav{display:none!important}body.has-bottom-nav{padding-bottom:0!important}}
@media(prefers-reduced-motion:reduce){:is(.lg-public-group) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
}
/* Home category rail: one still row of icons on the page, no card behind them. */
html:root body.luxury-ui[data-lang][data-dir][class] section.home-categories:not(#_):not(#_) #libseh-category-rail{display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;touch-action:pan-x pan-y!important;gap:clamp(12px,3vw,24px)!important;padding:4px 16px 8px!important;scroll-padding-inline:16px!important;justify-content:safe center!important}
html:root body.luxury-ui[data-lang][data-dir][class] section.home-categories:not(#_):not(#_) #libseh-category-rail::-webkit-scrollbar{display:none!important}
html:root body.luxury-ui[data-lang][data-dir][class] section.home-categories:not(#_):not(#_) #libseh-category-rail > a{flex:0 0 clamp(96px,25vw,150px)!important;width:auto!important;max-width:none!important;scroll-snap-align:start!important}
html:root body.luxury-ui[data-lang][data-dir][class] section.home-categories:not(#_):not(#_) #libseh-category-rail > a,
html:root body.luxury-ui[data-lang][data-dir][class] section.home-categories:not(#_):not(#_) #libseh-category-rail > a:is(:hover,:focus-visible,:active,.active){background:transparent!important;box-shadow:none!important;border:0!important;min-height:0!important;padding:0!important;gap:6px!important;opacity:1!important;transform:none!important;transition:none!important}
html:root body.luxury-ui[data-lang][data-dir][class] section.home-categories:not(#_):not(#_) #libseh-category-rail > a > .category-item-media,
html:root body.luxury-ui[data-lang][data-dir][class] section.home-categories:not(#_):not(#_) #libseh-category-rail > a > .category-item-media > img{animation:none!important;transform:none!important;transition:none!important}
html:root body.luxury-ui[data-lang][data-dir][class] section.home-categories:not(#_):not(#_) #libseh-category-rail > a > strong{font-size:clamp(13px,3.6vw,16px)!important;white-space:nowrap!important;overflow:visible!important;letter-spacing:0!important;justify-self:center!important}

/* Header language switcher, visible on phones too: a small code pill with a dropdown. */
@layer libseh-storefront {
html:root body.luxury-ui[data-lang][data-dir][class]:not(.admin-view):not(.merchant-view) .libseh-header .header-end .language-switcher.header-language-switcher:not(#_):not(#_){display:block!important;position:relative!important;margin:0!important}
html:root body.luxury-ui[data-lang][data-dir][class] .libseh-header .header-language-switcher:not(#_):not(#_) > summary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-width:40px!important;height:34px!important;min-height:34px!important;padding:0 9px!important;border-radius:999px!important;border:1px solid #d9cbb6!important;background:#f3ebdd!important;color:#66001f!important;font-size:12px!important;font-weight:700!important;letter-spacing:.04em!important;list-style:none!important;cursor:pointer!important;box-shadow:none!important}
html:root body.luxury-ui[data-lang][data-dir][class] .libseh-header .header-language-switcher:not(#_):not(#_) > summary::-webkit-details-marker{display:none!important}
html:root body.luxury-ui[data-lang][data-dir][class] .libseh-header .header-language-switcher:not(#_):not(#_) > summary svg{width:15px!important;height:15px!important;color:#66001f!important}
html:root body.luxury-ui[data-lang][data-dir][class] .libseh-header .header-language-switcher:not(#_):not(#_) .language-switcher-menu{position:absolute!important;top:calc(100% + 8px)!important;inset-inline-end:0!important;z-index:60!important;min-width:150px!important;display:flex!important;flex-direction:column!important;padding:6px!important;border-radius:16px!important;background:#f6f1e8!important;border:1px solid #e2d6c4!important;box-shadow:0 12px 30px rgba(63,48,39,.16)!important}
html:root body.luxury-ui[data-lang][data-dir][class] .libseh-header .header-language-switcher:not(#_):not(#_):not([open]) .language-switcher-menu{display:none!important}
html:root body.luxury-ui[data-lang][data-dir][class] .libseh-header .header-language-switcher:not(#_):not(#_) .language-switcher-menu a{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:42px!important;padding:0 12px!important;border-radius:10px!important;color:#3f3027!important;background:transparent!important;font-size:14px!important;text-decoration:none!important}
html:root body.luxury-ui[data-lang][data-dir][class] .libseh-header .header-language-switcher:not(#_):not(#_) .language-switcher-menu a:is(.active,[aria-selected="true"],[aria-current]){background:#66001f!important;color:#fff!important}
html:root body.luxury-ui[data-lang][data-dir][class] .libseh-header .header-language-switcher:not(#_):not(#_) .language-switcher-menu a :is(span,b,small,em,i){color:inherit!important}
}

/* Phone menu: readable dashboard button, tidy groups, visible sign out. */
@layer libseh-storefront {
html:root body.luxury-ui[data-lang][data-dir][class] .mobile-site-menu:not(#_):not(#_) .mobile-menu-links{display:flex!important;flex-direction:column!important;gap:2px!important;padding:4px 16px 12px!important}
html:root body.luxury-ui[data-lang][data-dir][class] .mobile-site-menu:not(#_):not(#_) .mobile-menu-links a{display:flex!important;align-items:center!important;gap:10px!important;min-height:46px!important;padding:0 14px!important;border-radius:12px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#66001f!important;font-size:15px!important;font-weight:500!important;text-decoration:none!important}
html:root body.luxury-ui[data-lang][data-dir][class] .mobile-site-menu:not(#_):not(#_) .mobile-menu-links a.active{background:#f6efe3!important;font-weight:700!important}
html:root body.luxury-ui[data-lang][data-dir][class] .mobile-site-menu:not(#_):not(#_) .mobile-menu-links a.mobile-dashboard-link{justify-content:center!important;min-height:50px!important;margin-bottom:8px!important;border-radius:999px!important;background:#66001f!important;color:#fff!important;font-weight:600!important}
html:root body.luxury-ui[data-lang][data-dir][class] .mobile-site-menu:not(#_):not(#_) .mobile-menu-sep{width:100%!important;height:0!important;margin:6px 0!important;border:0!important;border-top:1px solid #d9cdb9!important;background:none!important}
html:root body.luxury-ui[data-lang][data-dir][class] .mobile-site-menu:not(#_):not(#_) .header-logout{display:block!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html:root body.luxury-ui[data-lang][data-dir][class] .mobile-site-menu:not(#_):not(#_) .header-logout button{display:flex!important;align-items:center!important;width:100%!important;min-height:46px!important;padding:0 14px!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;color:#62574d!important;font-size:14px!important;font-weight:500!important;text-align:start!important}
}