* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--page); font-family:Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK JP", "Hiragino Sans", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans", ui-sans-serif, sans-serif; font-size:var(--fs-p); line-height:1.5; }
h1 { font-size:var(--fs-h1); line-height:1.12; }
h2 { font-size:var(--fs-h2); line-height:1.15; }
h3 { font-size:var(--fs-h3); line-height:1.2; }
h4 { font-size:var(--fs-h4); line-height:1.25; }
h5 { font-size:var(--fs-h5); line-height:1.3; }
h6 { font-size:var(--fs-h6); line-height:1.35; }
p { font-size:var(--fs-p); }
small { font-size:var(--fs-small); }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button,input,select { font:inherit; }
.shell { width:min(var(--shell-max), calc(100% - 40px)); margin-inline:auto; }
.skip-link { position:fixed; left:16px; top:-60px; z-index:100; padding:10px 14px; border-radius:8px; background:var(--ink); color:white; }
.skip-link:focus { top:16px; }
body.is-impersonating .skip-link:focus { top:56px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.impersonation-bar { position:sticky; top:0; z-index:40; background:#17182b; color:#f8fafc; border-bottom:1px solid rgba(255,255,255,.12); }
.impersonation-bar-inner { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:8px 0; }
.impersonation-bar p { margin:0; font-size:13px; font-weight:650; line-height:1.35; }
.impersonation-bar button { flex:none; min-height:32px; padding:0 14px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:transparent; color:inherit; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.impersonation-bar button:hover { background:rgba(255,255,255,.1); }
.site-header { position:var(--header-position); top:0; z-index:20; border-bottom:1px solid var(--line); background:var(--header-bg); color:var(--header-text); backdrop-filter:blur(14px); }
.site-header--boxed,.site-footer--boxed { width:min(var(--shell-max), calc(100% - 40px)); margin-inline:auto; }
.site-header--boxed .header-inner,
.site-header--boxed .site-topbar-inner,
.site-footer--boxed .footer-grid,
.site-footer--boxed .footer-bottom { padding-inline:20px; }
.site-header--boxed .header-nav--row.header-nav--boxed { width:auto; margin-inline:0; }
.header-inner-full,.footer-inner-full { padding-inline:20px; }
body.is-impersonating .site-header { top:0; }
.site-topbar { min-height:var(--topbar-height); background:var(--topbar-bg); color:var(--topbar-text); font-size:var(--topbar-font); font-weight:700; }
.site-topbar-inner { display:flex; align-items:center; min-height:var(--topbar-height); }
.site-topbar-list { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin:0; padding:6px 0; list-style:none; }
.site-topbar-list a,.site-topbar-list span { color:inherit; text-decoration:none; }
.site-topbar-list a:hover { opacity:.82; }
body[data-topbar-align="center"] .site-topbar-list { justify-content:center; width:100%; }
body[data-topbar-visibility="mobile"] .site-topbar { display:none; }
body[data-topbar-transform="uppercase"] .site-topbar { text-transform:uppercase; letter-spacing:.06em; }
.header-inner { position:relative; min-height:var(--header-min-height); display:grid; align-items:center; column-gap:36px; row-gap:0; grid-template-columns:auto minmax(0,1fr) auto; grid-template-areas:"brand nav tools"; }
.brand { grid-area:brand; display:inline-flex; align-items:center; gap:10px; font-size:20px; font-weight:800; letter-spacing:-.03em; color:var(--header-text); }
.brand.has-logo { gap:0; }
.brand-mark { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:var(--accent); font-size:15px; }
.brand .shop-logo { display:block; width:auto; max-width:220px; max-height:40px; min-width:72px; object-fit:contain; }
.mobile-menu-toggle,.mobile-navigation { display:none; }
.header-nav { grid-area:nav; min-width:0; display:flex; align-items:center; align-self:stretch; justify-self:stretch; background:var(--menu-bg); }
.header-nav-inner { position:relative; display:flex; align-items:center; width:100%; min-width:0; align-self:stretch; }
.header-nav-inner.shell { width:min(var(--shell-max), calc(100% - 40px)); margin-inline:auto; }
.header-nav-full { padding-inline:20px; }
.header-nav .main-nav,
.header-nav .mega-menu-navigation { width:100%; margin-left:0; }
.main-nav { position:static; display:flex; align-items:center; gap:24px; min-width:0; color:var(--menu-text); font-size:14px; font-weight:650; }
.main-nav > a { padding:25px 0 22px; border-bottom:3px solid transparent; }
.main-nav > a:hover,.main-nav > a.active { color:var(--menu-hover); border-color:var(--menu-hover); }
.mega-menu-navigation { color:var(--menu-text); }
.mega-menu-navigation > a:hover,
.mega-menu-navigation > a.active,
.mega-menu-item[open] > summary,
.mega-menu-item.active > summary { color:var(--menu-hover); border-color:var(--menu-hover); }
.mega-menu-panel { background:var(--menu-bg); color:var(--menu-text); }
.mega-menu-panel a { color:var(--menu-text); }
.mega-menu-panel a:hover,
.mega-menu-panel a.active { background:var(--surface); color:var(--menu-hover); }
.mega-menu-heading { color:var(--menu-hover); }
body[data-menu-align="left"] .header-nav-inner,
body[data-menu-align="left"] .header-nav .main-nav,
body[data-menu-align="left"] .header-nav .mega-menu-navigation { justify-content:flex-start; }
body[data-menu-align="center"] .header-nav-inner,
body[data-menu-align="center"] .header-nav .main-nav,
body[data-menu-align="center"] .header-nav .mega-menu-navigation { justify-content:center; }
body[data-menu-align="right"] .header-nav-inner,
body[data-menu-align="right"] .header-nav .main-nav,
body[data-menu-align="right"] .header-nav .mega-menu-navigation { justify-content:flex-end; }
.header-tools { grid-area:tools; display:flex; align-items:center; justify-self:end; gap:8px; }
.header-tools a,.header-tools button,.mobile-menu-toggle,.cart-drawer-close,.account-drawer-close,.mobile-navigation-close {
    -webkit-tap-highlight-color:transparent;
}
.header-tools a:focus:not(:focus-visible),.header-tools button:focus:not(:focus-visible),
.mobile-menu-toggle:focus:not(:focus-visible),.cart-drawer-close:focus:not(:focus-visible),
.account-drawer-close:focus:not(:focus-visible),.mobile-navigation-close:focus:not(:focus-visible) {
    outline:none; box-shadow:none;
}
.language-menu { position:relative; flex:none; user-select:none; -webkit-user-select:none; }
.language-menu-toggle { list-style:none; appearance:none; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; }
.language-menu-toggle::-webkit-details-marker { display:none; }
.language-menu[open] > .header-action { border-color:var(--line); background:var(--surface); }
.language-flag { display:block; font-size:18px; line-height:1; }
.language-menu-panel { position:absolute; top:calc(100% + 8px); right:0; z-index:30; min-width:196px; padding:6px; border:1px solid var(--line); border-radius:14px; background:white; box-shadow:0 14px 36px rgba(23,33,27,.14); }
.language-menu-item { display:flex; align-items:center; gap:10px; min-height:40px; padding:0 10px; border:0; border-radius:10px; background:transparent; color:var(--ink); font-size:14px; font-weight:700; text-align:left; text-decoration:none; appearance:none; width:100%; cursor:pointer; user-select:none; -webkit-user-select:none; }
.language-menu-item .language-flag { font-size:16px; }
.language-menu-item:hover,.language-menu-item.is-active { background:var(--surface); }
.currency-code { color:inherit; font-size:11px; font-weight:750; letter-spacing:.06em; }
.currency-item-code { display:inline-flex; min-width:36px; font-size:12px; font-weight:800; letter-spacing:.04em; }
.header-actions { display:flex; flex:none; align-items:center; gap:8px; }
.header-search-slot { display:none; min-width:0; }
.header-search { display:flex; align-items:center; width:100%; min-height:46px; border:1px solid var(--line); border-radius:999px; background:var(--surface); overflow:hidden; max-width: 500px; margin: 0 auto;}
.header-search-input { flex:1; min-width:0; height:46px; padding:0 18px; border:0; background:transparent; color:var(--ink); }
.header-search-input:focus { outline:none; }
.header-search:focus-within { border-color:var(--ink); box-shadow:0 0 0 3px rgba(23,33,27,.08); }
.header-search-submit { display:grid; width:46px; height:46px; flex:none; place-items:center; padding:0; border:0; background:transparent; color:var(--header-text); cursor:pointer; }
.header-search-submit svg { width:20px; height:20px; }
.header-search-submit:hover { color:var(--ink); }
body.search-overlay-open,body.checkout-address-overlay-open { overflow:hidden; }
.search-overlay-root { position:fixed; inset:0; z-index:55; pointer-events:none; }
.search-overlay-root.is-open { pointer-events:auto; }
.search-overlay-backdrop { position:absolute; inset:0; background:rgba(23,33,27,.42); opacity:0; transition:opacity .24s ease-out; }
.search-overlay-root.is-open .search-overlay-backdrop { opacity:1; }
.search-overlay { position:absolute; inset:0; display:flex; align-items:flex-start; justify-content:center; padding:min(18vh,120px) 20px 24px; }
.search-overlay-panel { width:min(640px,100%); padding:18px; border:1px solid var(--line); border-radius:20px; background:white; box-shadow:0 24px 64px rgba(23,33,27,.18); transform:translateY(-12px); opacity:0; transition:transform .22s ease-out,opacity .22s ease-out; }
.search-overlay-root.is-open .search-overlay-panel { transform:translateY(0); opacity:1; }
.search-overlay-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.search-overlay-head h2 { margin:0; font-size:18px; letter-spacing:-.03em; }
.search-overlay-close { width:34px; height:34px; flex:none; border:1px solid var(--line); border-radius:10px; background:white; font-size:22px; line-height:1; cursor:pointer; }
body[data-logo-align="center"][data-menu-row="0"] .header-inner { grid-template-columns:minmax(0,1fr) auto auto minmax(0,1fr); grid-template-areas:". brand nav tools"; }
body[data-logo-align="center"] .header-tools { justify-self:end; }
body[data-menu-row="1"] .header-inner { min-height:0; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:var(--header-min-height); grid-template-areas:"brand . tools"; }
body[data-menu-row="1"][data-logo-align="center"] .header-inner { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); grid-template-areas:". brand tools"; }
.header-nav--row { width:100%; border-top:1px solid var(--line); }
.header-nav--row.header-nav--boxed { width:min(var(--shell-max), calc(100% - 40px)); margin-inline:auto; }
.header-nav--row .main-nav > a,
.header-nav--row .mega-menu-navigation > a { padding:12px 0 10px; }
.header-nav--row .mega-menu-item > summary { min-height:48px; }
@media (min-width:901px) {
    body[data-search-mode="bar"] .header-search-slot { display:block; grid-area:search; align-self:center; }
    body[data-search-mode="bar"] .header-search,
    body[data-search-mode="bar"] .header-search-input,
    body[data-search-mode="bar"] .header-search-submit { min-height:42px; height:42px; }
    body[data-search-mode="bar"] .header-search-submit { width:42px; }
    body[data-menu-row="1"][data-search-mode="bar"] .header-inner { min-height:0; grid-template-columns:auto minmax(240px,1fr) auto; grid-template-rows:var(--header-min-height); grid-template-areas:"brand search tools"; column-gap:20px; }
    body[data-menu-row="1"][data-search-mode="bar"][data-logo-align="center"] .header-inner { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); grid-template-areas:"search brand tools"; }
    body[data-search-mode="bar"][data-logo-align="center"] .header-search-slot { justify-self:start; width:min(100%,420px); }
}
.header-auth-form { margin:0; }
.header-action { position:relative; display:inline-flex; width:42px; height:42px; flex:none; align-items:center; justify-content:center; padding:0; border:1px solid transparent; border-radius:12px; background:transparent; color:var(--header-text); cursor:pointer; }
.header-action:hover,.header-action.active { border-color:var(--line); background:var(--surface); }
.header-action:focus-visible { outline:3px solid rgba(23,33,27,.18); outline-offset:2px; }
.header-action-icon { width:23px; height:23px; }
.cart-count { position:absolute; top:-4px; right:-5px; display:grid; min-width:20px; height:20px; place-items:center; padding:0 5px; border:2px solid white; border-radius:999px; background:var(--accent); color:var(--ink); font-size:10px; font-weight:850; line-height:1; }
body.cart-drawer-open,body.account-drawer-open { overflow:hidden; }
.account-drawer-root { position:fixed; inset:0; z-index:60; pointer-events:none; }
.account-drawer-root.is-open { pointer-events:auto; }
.account-drawer-backdrop { position:absolute; inset:0; background:rgba(23,33,27,.42); opacity:0; transition:opacity .32s ease; }
.account-drawer-root.is-open .account-drawer-backdrop { opacity:1; }
.account-drawer { position:absolute; top:0; right:0; display:flex; flex-direction:column; width:min(380px,100%); height:100%; background:white; border-left:1px solid var(--line); box-shadow:-18px 0 48px rgba(23,33,27,.12); transform:translateX(104%); transition:transform .32s cubic-bezier(.32,.72,0,1); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.account-drawer-root.is-open .account-drawer { transform:none; }
.account-drawer-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:18px 16px 16px; border-bottom:1px solid var(--line); }
.account-drawer-identity { display:flex; min-width:0; align-items:center; gap:12px; }
.account-drawer-avatar { display:grid; width:48px; height:48px; flex:none; place-items:center; border-radius:50%; background:var(--ink); color:var(--accent); font-size:16px; font-weight:800; letter-spacing:.02em; }
.account-drawer-identity strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:16px; letter-spacing:-.02em; }
.account-drawer-identity p { margin:3px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:13px; }
.account-drawer-close { width:34px; height:34px; flex:none; border:1px solid var(--line); border-radius:10px; background:white; font-size:22px; line-height:1; cursor:pointer; }
.account-drawer-nav { display:flex; flex:1; flex-direction:column; gap:4px; min-height:0; overflow:auto; padding:12px 10px; }
.account-drawer-link { display:flex; align-items:center; gap:12px; min-height:48px; padding:0 12px; border-radius:12px; color:var(--ink); font-size:15px; font-weight:700; text-decoration:none; }
.account-drawer-link:hover,.account-drawer-link.active { background:var(--surface); }
.account-drawer-link svg { width:20px; height:20px; flex:none; color:var(--muted); }
.account-drawer-foot { flex:none; padding:12px 16px max(16px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:white; }
.account-drawer-foot .header-auth-form { width:100%; }
.account-drawer-logout { display:flex; width:100%; align-items:center; justify-content:center; gap:8px; min-height:48px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink); font:inherit; font-size:15px; font-weight:800; cursor:pointer; }
.account-drawer-logout:hover { background:#f6eaea; color:#b42318; }
.cart-drawer-root { position:fixed; inset:0; z-index:60; pointer-events:none; }
.cart-drawer-root.is-open { pointer-events:auto; }
.cart-drawer-backdrop { position:absolute; inset:0; background:rgba(23,33,27,.42); opacity:0; transition:opacity .32s ease; }
.cart-drawer-root.is-open .cart-drawer-backdrop { opacity:1; }
.cart-drawer { position:absolute; top:0; right:0; display:flex; flex-direction:column; width:min(420px,100%); height:100%; background:white; border-left:1px solid var(--line); box-shadow:-18px 0 48px rgba(23,33,27,.12); transform:translateX(104%); transition:transform .32s cubic-bezier(.32,.72,0,1); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.cart-drawer-root.is-open .cart-drawer { transform:none; }
.cart-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--line); }
.cart-drawer-head h2 { margin:0; font-size:20px; letter-spacing:-.03em; }
.cart-drawer-count { margin:2px 0 0; color:var(--muted); font-size:12px; }
.cart-drawer-close { width:34px; height:34px; border:1px solid var(--line); border-radius:10px; background:white; font-size:22px; line-height:1; cursor:pointer; }
.cart-drawer-notice { flex:none; padding:12px 14px 0; }
.cart-drawer-notice .cart-drawer-flash { margin:0; }
[data-cart-drawer-content] { display:flex; flex:1; flex-direction:column; min-height:0; }
.cart-drawer-body { flex:1; overflow:auto; padding:12px 14px; }
.cart-drawer-flash { margin:0 0 10px; padding:8px 10px; font-size:13px; }
.cart-drawer-empty { padding:14px 0; }
.cart-drawer-empty h3 { margin:0 0 8px; font-size:18px; }
.cart-drawer-empty p { margin:0; color:var(--muted); font-size:14px; }
.cart-drawer-lines { display:grid; gap:0; }
.cart-drawer-line { display:grid; grid-template-columns:64px minmax(0,1fr); gap:10px; align-items:start; padding:10px 0; border-bottom:1px solid var(--line); background:transparent; }
.cart-drawer-line:last-child { border-bottom:0; }
.cart-drawer-thumb { display:block; width:64px; height:64px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.cart-drawer-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.cart-drawer-thumb-empty { display:block; width:100%; height:100%; background:linear-gradient(145deg, #eef1ee, #dfe5e1); }
.cart-drawer-line-body { min-width:0; display:grid; gap:4px; }
.cart-drawer-line-top { display:flex; align-items:start; justify-content:space-between; gap:8px; }
.cart-drawer-line-name { font-size:14px; font-weight:800; letter-spacing:-.02em; line-height:1.25; }
.cart-drawer-remove-form { margin:0; flex:none; }
.cart-drawer-remove { width:24px; height:24px; padding:0; border:0; background:transparent; color:var(--muted); font-size:18px; line-height:1; cursor:pointer; }
.cart-drawer-remove:hover { color:var(--ink); }
.cart-drawer-line-meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; margin:0; font-size:12px; color:var(--muted); }
.cart-drawer-line-meta .cart-line-price { margin:0; font-size:12px; }
.cart-drawer-line-meta .cart-line-price strong { font-size:13px; color:var(--ink); }
.cart-drawer-line-meta .cart-line-price s { margin-left:4px; }
.cart-drawer-sku { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
.cart-drawer-line-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:2px; }
.cart-drawer-qty-form { display:inline-flex; align-items:center; gap:6px; margin:0; }
.cart-drawer-qty { width:52px; min-height:32px; padding:0 6px; font-size:13px; }
.cart-drawer-update { min-height:32px; padding:0 10px; border:1px solid var(--line); border-radius:8px; background:white; font-size:12px; font-weight:700; cursor:pointer; }
.cart-drawer-line .cart-line-total { margin:0; font-size:14px; font-weight:850; white-space:nowrap; }
.cart-drawer-foot { padding:12px 14px 16px; border-top:1px solid var(--line); background:var(--surface); }
.cart-drawer-cta { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:44px; margin-top:12px; text-decoration:none; }
.cart-drawer-full { display:inline-flex; width:100%; margin-top:8px; justify-content:center; font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.cart-drawer-foot .cart-empty-form { margin-top:8px; text-align:center; }
.hero { padding:72px 0 64px; }
.hero-panel { min-height:470px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr); overflow:hidden; border-radius:28px; background:var(--ink); color:white; }
.hero-copy { padding:clamp(38px,7vw,82px); align-self:center; }
.eyebrow { margin:0 0 18px; color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
/* L'hero e' l'unico contesto scuro: li' l'occhiello torna chiaro. */
.hero-copy .eyebrow { color:#b9c6be; }
.hero h1 { max-width:680px; margin:0; font-size:clamp(var(--fs-h1), 7vw, calc(var(--fs-h1) * 1.75)); line-height:.96; letter-spacing:-.065em; }
.hero-copy > p:not(.eyebrow) { max-width:560px; margin:25px 0 0; color:#c3cdc7; font-size:calc(var(--fs-p) * 1.125); }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; margin-top:32px; padding:0 22px; border:1px solid transparent; border-radius:999px; background:var(--accent); color:var(--ink); font-size:14px; font-weight:800; }
.button:hover { filter:brightness(.93); }
.button.secondary { margin-top:0; border-color:var(--line); background:white; }
.hero-art { position:relative; min-height:300px; background:linear-gradient(145deg,var(--accent) 0 52%,#b9ef2e 52%); }
.hero-art::before { content:"Catalogo 01"; position:absolute; right:28px; top:24px; color:rgba(23,33,27,.65); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.hero-art::after { content:"S"; position:absolute; inset:0; display:grid; place-items:center; color:var(--ink); font-size:clamp(180px,29vw,420px); font-weight:900; line-height:1; letter-spacing:-.12em; transform:translateX(-3%); }
.section { padding:54px 0; }
.section.alt { background:var(--surface); }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.section-head h2,.page-head h1 { margin:0; font-size:var(--fs-h1); line-height:1.05; letter-spacing:-.045em; }
.section-head h2 { font-size:var(--fs-h2); }
.section-head p,.page-head p { margin:8px 0 0; color:var(--muted); }
.category-list { display:flex; flex-wrap:wrap; gap:10px; }
.category-pill { padding:11px 16px; border:1px solid var(--line); border-radius:999px; background:white; font-size:14px; font-weight:700; }
.category-pill:hover,.category-pill.active { border-color:var(--ink); background:var(--ink); color:white; }
.product-grid { display:grid; grid-template-columns:repeat(var(--grid-desktop),minmax(0,1fr)); gap:18px; }
.product-card { min-width:0; display:flex; flex-direction:column; }
.product-card > a { display:block; color:inherit; text-decoration:none; }
.product-media { position:relative; aspect-ratio:1/1.05; overflow:hidden; border-radius:var(--radius); background:var(--surface); }
.product-card-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:auto; padding:4px 3px 2px; }
.product-card-buy { display:flex; align-items:center; gap:10px; width:100%; justify-content:flex-end; }
.product-card-qty { display:inline-flex; align-items:center; gap:0; border:1px solid var(--line); border-radius:10px; background:white; overflow:hidden; }
.product-card-qty-btn {
    appearance:none; -webkit-appearance:none;
    display:grid; place-items:center;
    width:36px; height:36px; border:0; background:transparent;
    color:var(--ink); font:inherit; font-size:18px; font-weight:700; cursor:pointer; line-height:1;
}
.product-card-qty-btn:hover { background:var(--surface); }
.product-card-qty-input {
    width:44px; height:36px; border:0; border-inline:1px solid var(--line);
    background:white; color:var(--ink); text-align:center; font:inherit; font-size:14px; font-weight:700;
    -moz-appearance:textfield;
}
.product-card-qty-input::-webkit-outer-spin-button,
.product-card-qty-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.product-card-add {
    appearance:none; -webkit-appearance:none;
    display:inline-grid; place-items:center;
    width:44px; height:44px; flex:none;
    border:0; border-radius:12px;
    background:var(--button); color:var(--button-text);
    text-decoration:none; cursor:pointer;
}
.product-card-add:hover { filter:brightness(.93); }
.product-card-add svg { width:22px; height:22px; }
.product-media > a { display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
.product-media img { width:100%; height:100%; padding:10px; box-sizing:border-box; object-fit:contain; object-position:center; }
.image-empty { width:100%; height:100%; display:grid; place-items:center; padding:24px; color:#94a099; text-align:center; font-size:13px; }
.product-meta { padding:14px 3px 6px; }
.product-category,.product-brand-label { margin:0 0 5px; color:var(--muted); font-size:12px; }
.product-brand-label { font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.product-title { margin:0; font-size:15px; font-weight:750; line-height:1.35; }
.product-price { margin:9px 0 0; font-size:16px; font-weight:800; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.product-price-original, [data-product-price-original] { color:#94a3b8; font-size:.85em; font-weight:600; }
.discount-percent, .discount-badge {
    display:inline-flex; align-items:center; border-radius:999px;
    background:#b42318; color:#fff; font-weight:800; line-height:1; letter-spacing:.02em;
}
.discount-percent { padding:3px 8px; font-size:13px; }
.product-price .discount-percent { padding:2px 7px; font-size:12px; }
.discount-badge {
    position:absolute; z-index:2; top:12px; left:12px;
    padding:7px 11px; font-size:14px; pointer-events:none;
}
.product-media .discount-badge { top:10px; left:10px; padding:5px 8px; font-size:12px; }
.vat-label { color:var(--muted); font-size:12px; font-weight:600; letter-spacing:.01em; }
.cart-summary .vat-label, .cart-drawer-foot .vat-label { display:block; margin:-4px 0 8px; }
.detail-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; }
.detail-price [data-product-price-original].hidden { display:none; }
.product-brand { margin:0 0 12px; }
.product-brand a { color:var(--muted); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; }
.product-brand a:hover { color:var(--ink); }
.brand-logo { display:block; width:auto; max-width:160px; max-height:64px; margin:0 0 18px; object-fit:contain; }
.brand-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.brand-card { display:flex; flex-direction:column; gap:14px; padding:18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); text-decoration:none; color:inherit; transition:border-color .2s ease, transform .2s ease; }
.brand-card:hover { border-color:var(--ink); transform:translateY(-2px); }
.brand-card-media { aspect-ratio:16/10; display:grid; place-items:center; border-radius:14px; background:white; overflow:hidden; }
.brand-card-media img { max-width:70%; max-height:70%; object-fit:contain; }
.brand-card-initial { font-size:42px; font-weight:850; letter-spacing:-.04em; color:var(--ink); }
.brand-card-meta { display:grid; gap:4px; }
.brand-card-title { margin:0; font-size:18px; font-weight:800; letter-spacing:-.03em; }
.brand-card-count { margin:0; color:var(--muted); font-size:13px; }
.page-head { padding:14px 0 10px; }
.filters { display:grid; grid-template-columns:minmax(240px,1fr) minmax(180px,280px) auto; gap:10px; margin-bottom:30px; }
.filters:has(select[name="sort"]):not(.listing-sort) { grid-template-columns:minmax(200px,1fr) minmax(160px,220px) minmax(160px,220px) auto; }
.filters.listing-sort { grid-template-columns:minmax(180px,280px); }
.field { width:100%; min-height:48px; padding:0 15px; border:1px solid var(--line); border-radius:12px; background:white; color:var(--ink); outline:none; }
textarea.field { min-height:120px; padding:12px 15px; resize:vertical; }
.field:focus { border-color:var(--ink); box-shadow:0 0 0 3px rgba(23,33,27,.08); }
.field.field-has-error { border-color:#b42318; box-shadow:0 0 0 3px rgba(180,35,24,.12); }
.filter-button { min-height:48px; padding:0 20px; border:0; border-radius:12px; background:var(--button); color:var(--button-text); font-weight:750; cursor:pointer; }
.empty-state { padding:72px 24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); text-align:center; }
.pagination { margin-top:30px; }
.storefront-pager { position:relative; display:grid; gap:14px; justify-items:center; }
.storefront-pager-summary { margin:0; color:var(--muted); font-size:13px; font-weight:650; }
.storefront-pager-list { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; list-style:none; margin:0; padding:0; }
.storefront-pager-link { display:inline-flex; min-width:40px; min-height:40px; align-items:center; justify-content:center; padding:0 12px; border:1px solid var(--line); border-radius:12px; background:white; color:var(--ink); font-size:14px; font-weight:750; text-decoration:none; }
.storefront-pager-link:hover { border-color:var(--ink); }
.storefront-pager-link.is-current { border-color:var(--ink); background:var(--ink); color:white; }
.storefront-pager-link.is-disabled { color:#94a099; cursor:not-allowed; }
.storefront-pager-link.is-ellipsis { border-color:transparent; background:transparent; min-width:28px; padding:0; }
.storefront-pager-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
nav[role="navigation"] { display:flex; justify-content:center; }
nav[role="navigation"] svg { width:18px; }
.product-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.8fr); grid-template-areas:"media copy" "below below"; gap:clamp(36px,7vw,90px); padding:64px 0 80px; }
.detail-media { position:relative; grid-area:media; display:flex; aspect-ratio:1/1; align-items:center; justify-content:center; overflow:hidden; border-radius:24px; background:var(--surface); }
.detail-media img { width:100%; height:100%; object-fit:contain; object-position:center; }
.detail-copy { grid-area:copy; min-width:0; align-self:center; }
.detail-below { grid-area:below; min-width:0; }
.breadcrumb-bar { border-bottom:1px solid rgba(223,229,225,.85); background:rgba(248,250,249,.92); }
.breadcrumb-bar .shell, .breadcrumb-bar .breadcrumb-full { padding:12px 0; }
.breadcrumb-bar--boxed { width:min(var(--shell-max), calc(100% - 40px)); margin-inline:auto; border:1px solid var(--line); border-top:0; border-radius:0 0 14px 14px; }
.breadcrumb-bar--full .breadcrumb-full { padding-inline:20px; }
.breadcrumb { color:var(--muted); font-size:13px; line-height:1.4; }
.breadcrumb ol { display:flex; flex-wrap:wrap; align-items:center; gap:6px; list-style:none; margin:0; padding:0; }
.breadcrumb li { display:flex; align-items:center; gap:6px; }
.breadcrumb li:not(:last-child)::after { content:'/'; color:var(--muted); opacity:.55; }
.breadcrumb a { color:inherit; text-decoration:none; }
.breadcrumb a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:2px; }
.breadcrumb [aria-current="page"] { color:var(--ink); font-weight:650; }
.detail-copy h1 { margin:0; font-size:var(--fs-h1); line-height:1; letter-spacing:-.055em; }
.detail-price { margin:24px 0 0; font-size:24px; font-weight:850; }
.detail-description { margin-top:26px; color:var(--muted); font-size:var(--fs-p); }
.detail-description--long { margin-top:18px; }
.safe-html { font-size:var(--fs-p); }
.safe-html h1 { font-size:var(--fs-h1); }
.safe-html h2 { font-size:var(--fs-h2); }
.safe-html h3 { font-size:var(--fs-h3); }
.safe-html h4 { font-size:var(--fs-h4); }
.safe-html h5 { font-size:var(--fs-h5); }
.safe-html h6 { font-size:var(--fs-h6); }
.safe-html p,.safe-html li { font-size:var(--fs-p); }
.safe-html small { font-size:var(--fs-small); }
.safe-html > :first-child { margin-top:0; }
.safe-html > :last-child { margin-bottom:0; }
.safe-html p,.safe-html ul,.safe-html ol { margin:.75rem 0; }
.safe-html ul,.safe-html ol { padding-left:1.25rem; }
.safe-html a { color:var(--link); text-decoration:underline; text-underline-offset:2px; }
.page-head .safe-html { margin-top:8px; color:var(--muted); }
.availability { display:inline-flex; margin-top:24px; padding:7px 11px; border-radius:999px; background:#e8f5e9; color:#256b35; font-size:12px; font-weight:800; }
.availability.is-orderable { background:#e8f1fb; color:#185fa5; }
.availability.is-out { background:#f5e8e8; color:#8a2b2b; }
.combination-picker { display:grid; gap:18px; margin-top:28px; }
.combination-group { margin:0; padding:0; border:0; min-width:0; }
.combination-group legend { margin:0 0 10px; padding:0; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.combination-options { display:flex; flex-wrap:wrap; gap:8px; }
.combination-option { position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 14px; border:1px solid var(--line); border-radius:999px; background:white; font-size:13px; font-weight:750; cursor:pointer; }
.combination-option input { position:absolute; opacity:0; pointer-events:none; }
.combination-option.is-selected,.combination-option:has(input:checked) { border-color:var(--ink); background:var(--ink); color:white; }
.combination-option.is-color { width:40px; height:40px; min-height:40px; padding:0; border-radius:50%; overflow:hidden; }
.combination-option.is-color.is-selected,.combination-option.is-color:has(input:checked) { outline:2px solid var(--ink); outline-offset:2px; background:transparent; color:inherit; }
.combination-swatch { display:block; width:100%; height:100%; }
.combination-unavailable { margin:0; color:#8a2b2b; font-size:13px; font-weight:700; }
.buy-box { display:flex; flex-direction:column; gap:16px; margin-top:25px; }
.buy-box-actions { display:flex; gap:10px; }
.quantity { width:82px; min-height:50px; padding:0 12px; border:1px solid var(--line); border-radius:12px; }
.buy-button { flex:1; border:0; border-radius:12px; background:var(--button); color:var(--button-text); font-weight:800; cursor:pointer; }
.buy-button:disabled { opacity:.45; cursor:not-allowed; }
.flash-success,.flash-error { margin:0 0 18px; padding:12px 14px; border-radius:12px; font-size:14px; font-weight:700; }
.flash-success { background:#e8f5e9; color:#256b35; }
.flash-error { background:#f5e8e8; color:#8a2b2b; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.42fr); gap:28px; align-items:start; }
.cart-lines { display:grid; gap:14px; }
.cart-line { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; padding:18px; border:1px solid var(--line); border-radius:18px; background:white; }
.cart-line-name { font-size:18px; font-weight:800; letter-spacing:-.02em; }
.cart-line-meta,.cart-summary-note { margin:6px 0 0; color:var(--muted); font-size:13px; font-weight: normal; }
.cart-line-price { margin:12px 0 0; display:flex; gap:10px; align-items:baseline; }
.cart-line-price s { color:var(--muted); font-size:14px; }
.cart-line-actions { display:grid; justify-items:end; gap:10px; align-content:start; }
.cart-qty-form { display:flex; gap:8px; align-items:center; }
.cart-secondary { min-height:42px; padding:0 14px; border:1px solid var(--line); border-radius:10px; background:white; font-weight:700; cursor:pointer; }
.cart-linkish { border:0; background:transparent; color:var(--muted); font:inherit; font-size:13px; font-weight:700; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.cart-line-total { margin:0; font-size:18px; font-weight:850; }
.cart-summary { position:sticky; top:24px; padding:22px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.cart-summary h2 { margin:0 0 18px; font-size:20px; }
.cart-summary-row { display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.cart-discount-list { display:grid; gap:7px; margin-top:12px; }
.cart-discount-chip { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border-radius:10px; background:#eaf4ed; color:#145c33; }
.cart-discount-chip > span { display:grid; gap:1px; font-size:12px; }
.cart-discount-chip small { font-size:10px; font-weight:650; }
.cart-discount-chip form { margin:0; }
.cart-discount-chip button { display:grid; width:24px; height:24px; place-items:center; border:0; border-radius:7px; background:transparent; color:inherit; cursor:pointer; font-size:18px; }
.cart-discount-chip button:hover { background:rgba(20,92,51,.1); }
.cart-discount-form { margin-top:16px; padding-top:16px; border-top:1px solid var(--line); }
.cart-discount-form > label { display:block; margin-bottom:7px; font-size:12px; font-weight:800; }
.cart-discount-form > div { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.cart-discount-form input { font-size:10px; min-width:0; height:42px; border:1px solid var(--line); border-radius:10px 0 0 10px; padding:0 11px; background:white; font:inherit; text-transform:uppercase; }
.cart-discount-form button { min-height:42px; border:0; border-radius:0 10px 10px 0; padding:0 13px; background:var(--button); color:var(--button-text); font-weight:750; cursor:pointer; }
.cart-empty-form { margin-top:16px; }
.cart-checkout-soon { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:48px; margin-top:18px; text-decoration:none; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.4fr); gap:28px; align-items:start; }
.checkout-main { display:grid; gap:16px; }
.checkout-card { padding:20px; border:1px solid var(--line); border-radius:18px; background:white; }
.checkout-session { display:flex; align-items:center; justify-content:space-between; gap:12px 16px; margin:0 0 14px; padding:10px 14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--muted); font-size:13px; line-height:1.4; }
.checkout-session strong { color:var(--ink); font-weight:750; }
.checkout-session-email { margin-left:6px; }
.checkout-session-logout { flex:none; border:0; background:transparent; padding:4px 0; color:var(--ink); font:inherit; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.checkout-session-logout:hover { color:#b42318; }
.checkout-session-logout:focus-visible { outline:2px solid var(--ink); outline-offset:3px; border-radius:4px; }
.checkout-card h2 { margin:0 0 16px; font-size:18px; }
.checkout-card label { display:grid; gap:6px; margin-bottom:12px; font-size:13px; font-weight:700; }
.checkout-account-modes { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.checkout-account-modes .checkout-account-mode {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: white;
    color: var(--muted);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}
.checkout-account-modes .checkout-account-mode:hover { border-color: var(--ink); color: var(--ink); }
.checkout-account-modes .checkout-account-mode.is-active,
.checkout-account-modes .checkout-account-mode[aria-selected="true"] {
    border-color: var(--ink);
    background: var(--ink);
    color: white;
}
.checkout-account-modes .checkout-account-mode:focus-visible {
    outline: 2px solid var(--ink);
    outline-offset: 2px;
}
.checkout-account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.checkout-account-actions { display:grid; gap:10px; margin-top:8px; }
.checkout-consent { display:flex !important; align-items:flex-start; gap:10px; margin-bottom:12px !important; font-weight:550 !important; cursor:pointer; }
.checkout-consent input { width:18px; height:18px; margin:2px 0 0; flex:none; }
.checkout-consent span { line-height:1.45; }
.checkout-consent a { text-decoration:underline; text-underline-offset:2px; }
.checkout-address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.checkout-billing-summary { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:12px 0 0; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--muted); font-size:13px; line-height:1.45; }
.checkout-billing-summary span { min-width:0; white-space:pre-line; }
.checkout-billing-change { flex:none; border:0; background:transparent; padding:0; color:var(--ink); font:inherit; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.checkout-billing-change:focus-visible { outline:2px solid var(--ink); outline-offset:3px; border-radius:4px; }
.checkout-address-overlay .checkout-address-grid { margin:0 0 14px; }
.checkout-address-card { position:relative; overflow:hidden; min-height:106px; margin:0 !important; border:1px solid var(--line); border-radius:14px; background:white; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.checkout-address-card:hover { border-color:#aeb9b2; background:var(--surface); }
.checkout-address-card:has(input:checked) { border-color:#e1e1e1; background:#f8faf8; box-shadow:inset 0 0 0 1px #e1e1e1; }
.checkout-address-card:focus-within { outline:3px solid rgba(23,33,27,.12); outline-offset:2px; }
.checkout-address-select { display:grid !important; grid-template-columns:18px minmax(0,1fr); gap:10px !important; align-items:start; min-height:106px; margin:0 !important; padding:14px; cursor:pointer; }
.checkout-address-input { position:absolute; width:1px !important; height:1px !important; opacity:0; pointer-events:none; }
.checkout-address-status { width:18px; height:18px; margin-top:1px; border:1px solid #b8c2bc; border-radius:50%; }
.checkout-address-card:has(input:checked) .checkout-address-status { border:5px solid var(--ink); }
.checkout-address-copy { display:grid; gap:3px; min-width:0; line-height:1.35; }
.checkout-address-copy > span:not(.checkout-address-heading) { color:var(--muted); font-size:12px; font-weight:550; }
.checkout-address-copy small { overflow:hidden; color:var(--muted); font-size:12px; font-weight:550; text-overflow:ellipsis; }
.checkout-address-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.checkout-address-heading strong { font-size:14px; }
.checkout-address-heading small { padding:3px 7px; border-radius:999px; background:#e7eee9; color:var(--ink); font-size:10px; white-space:nowrap; }
.checkout-address-new { grid-template-columns:36px minmax(0,1fr) 18px; align-items:center; }
.checkout-address-new { display:grid !important; gap:10px !important; padding:14px; cursor:pointer; }
.checkout-address-plus { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:var(--surface); font-size:22px; font-weight:500; }
.checkout-address-edit { display:flex; align-items:center; justify-content:center; min-height:38px; border-top:1px solid var(--line); color:var(--ink); font-size:12px; font-weight:750; text-decoration:none; }
.checkout-address-edit:hover { background:#eef2ef; }
[data-new-shipping-fields] { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.checkout-address-overlay [data-new-shipping-fields] { margin:0; padding:0; border:0; }
.checkout-address-overlay { position:fixed; inset:0; z-index:70; display:flex; align-items:center; justify-content:center; padding:20px; pointer-events:none; }
.checkout-address-overlay[hidden] { display:none !important; }
.checkout-address-overlay.is-open { pointer-events:auto; }
.checkout-address-overlay-backdrop { position:absolute; inset:0; background:rgba(23,33,27,.42); opacity:0; transition:opacity .24s ease-out; }
.checkout-address-overlay.is-open .checkout-address-overlay-backdrop { opacity:1; }
.checkout-address-overlay-panel { position:relative; display:flex; flex-direction:column; width:min(640px,100%); max-height:min(90dvh,800px); overflow:hidden; border:1px solid var(--line); border-radius:20px; background:white; box-shadow:0 24px 64px rgba(23,33,27,.18); transform:translateY(12px); opacity:0; transition:transform .22s ease-out,opacity .22s ease-out; }
.checkout-address-overlay.is-open .checkout-address-overlay-panel { transform:translateY(0); opacity:1; }
.checkout-address-overlay-head { position:sticky; top:0; z-index:3; display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px 12px; border-bottom:1px solid var(--line); background:white; }
.checkout-address-overlay-head h2 { margin:0 !important; font-size:18px; letter-spacing:-.03em; }
.checkout-address-overlay-close { width:34px; height:34px; flex:none; border:1px solid var(--line); border-radius:10px; background:white; font-size:22px; line-height:1; cursor:pointer; }
.checkout-address-overlay-body { flex:1; min-height:0; overflow-x:hidden; overflow-y:auto; padding:18px 18px 12px; scrollbar-width:none; -ms-overflow-style:none; }
.checkout-address-overlay-body::-webkit-scrollbar { display:none; }
.checkout-address-overlay-body .account-form-grid { margin:0; }
.checkout-address-overlay-actions { position:relative; z-index:2; display:flex; flex-shrink:0; justify-content:flex-end; gap:10px; padding:14px 18px 16px; border-top:1px solid var(--line); background:white; }
.checkout-address-overlay-cancel { flex:none; min-height:44px; padding:0 16px; border:1px solid var(--line); border-radius:12px; background:white; color:var(--ink); font-weight:750; cursor:pointer; }
.checkout-address-overlay-confirm { flex:none; min-height:44px; width:auto; margin:0; padding:0 18px; }
.checkout-layout-shopify .checkout-address-overlay-actions .buy-button { flex:none; width:auto; min-height:44px; }
.checkout-address-overlay .address-suggest { right:auto; z-index:8; max-height:240px; overflow-y:auto; }
[data-order-address-overlay].checkout-address-overlay { padding:12px; align-items:center; }
[data-order-address-overlay] .checkout-address-overlay-panel { width:min(680px,100%); max-height:min(92dvh,780px); }
[data-order-address-overlay] [data-order-address-form] { display:flex; flex-direction:column; min-height:0; max-height:min(92dvh,780px); overflow:hidden; }
[data-order-address-overlay] .checkout-address-overlay-body { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:14px 18px 18px; scrollbar-width:thin; scrollbar-color:rgba(23,33,27,.28) transparent; }
[data-order-address-overlay] .checkout-address-overlay-body::-webkit-scrollbar { display:block; width:8px; }
[data-order-address-overlay] .checkout-address-overlay-body::-webkit-scrollbar-thumb { background:rgba(23,33,27,.28); border-radius:999px; }
[data-order-address-overlay] .order-address-choice { display:grid; gap:8px; margin:0 0 14px; padding:0; border:0; }
[data-order-address-overlay] .order-address-choice legend { margin:0 0 6px; font-size:13px; font-weight:750; }
[data-order-address-overlay] .order-address-choice label { display:flex; align-items:flex-start; gap:10px; margin:0; font-size:14px; font-weight:600; line-height:1.4; color:var(--ink); }
[data-order-address-overlay] .order-address-choice input { margin-top:2px; }
[data-order-address-overlay] .order-address-delay { margin:0 0 14px; padding:10px 12px; border-radius:12px; background:#fff6e5; color:#7a4b00; font-size:13px; line-height:1.45; }
[data-order-address-overlay] .order-address-shipping-preview { margin:0 0 14px; padding:10px 12px; border-radius:12px; background:#eef6f0; color:#1f4d32; font-size:13px; line-height:1.45; }
[data-order-address-overlay] .order-address-shipping-preview.is-up { background:#fff6e5; color:#7a4b00; }
[data-order-address-overlay] .order-address-tabs { display:flex; gap:6px; margin:0 0 14px; padding:4px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
[data-order-address-overlay] .order-address-tabs button { flex:1; min-height:40px; padding:0 12px; border:0; border-radius:9px; background:transparent; color:var(--muted); font-size:13px; font-weight:750; cursor:pointer; }
[data-order-address-overlay] .order-address-tabs button[aria-selected="true"] { background:white; color:var(--ink); box-shadow:0 1px 3px rgba(23,33,27,.08); }
[data-order-address-overlay] .order-address-panel .account-form-grid { gap:14px; }
[data-order-address-overlay] .order-address-panel [data-order-address-safe] + [data-order-address-geo] { margin-top:14px; }
[data-order-address-overlay] .order-address-fields { margin:0; padding:0; border:0; min-width:0; }
[data-order-address-overlay] .order-address-street { margin-top:14px; overflow:visible; }
[data-order-address-overlay] .order-address-street label { position:relative; overflow:visible; }
[data-order-address-overlay] .order-address-panel[hidden] { display:none; }
.checkout-address-save { display:grid; grid-template-columns:minmax(160px,.5fr) minmax(0,1fr); gap:16px; align-items:end; margin-bottom:4px; }
.checkout-address-save .checkout-check { align-self:center; margin:8px 0 12px; }
.checkout-check { display:flex !important; align-items:center; gap:10px; margin:0 0 16px; font-weight:700; }
.checkout-check input { width:18px; height:18px; }
.delivery-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.delivery-mode-card { position:relative; display:grid !important; grid-template-columns:42px minmax(0,1fr) 20px; gap:12px !important; align-items:center; min-height:82px; margin:0 !important; padding:14px; border:1px solid var(--line); border-radius:14px; background:white; cursor:pointer; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.delivery-mode-card:hover { border-color:#aeb9b2; background:var(--surface); }
.delivery-mode-card:has(input:checked) { border-color:var(--ink); background:#f8faf8; box-shadow:inset 0 0 0 1px var(--ink); }
.delivery-mode-card:focus-within { outline:3px solid rgba(23,33,27,.12); outline-offset:2px; }
.delivery-mode-input,.shipping-option-input { position:absolute; width:1px !important; height:1px !important; opacity:0; pointer-events:none; }
.delivery-mode-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; background:var(--surface); color:var(--ink); }
.delivery-mode-icon svg { width:22px; height:22px; }
.delivery-mode-copy { display:grid; gap:2px; min-width:0; }
.delivery-mode-copy strong { font-size:14px; }
.delivery-mode-copy small { color:var(--muted); font-size:12px; font-weight:550; line-height:1.35; }
.delivery-mode-status { display:grid; width:20px; height:20px; place-items:center; border:1px solid #b8c2bc; border-radius:50%; }
.delivery-mode-card:has(input:checked) .delivery-mode-status { border:6px solid var(--ink); }
.delivery-mode-static { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.delivery-mode-static .delivery-mode-copy strong { font-size:15px; }
.shipping-option-list { display:grid; gap:12px; }
.shipping-option-list[hidden] { display:none; }
.shipping-option-card { position:relative; display:grid !important; grid-template-columns:20px minmax(0,1fr) auto; gap:12px !important; align-items:center; min-height:58px; margin:0 !important; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:white; cursor:pointer; transition:border-color .18s ease,background .18s ease; }
.shipping-option-card:hover { border-color:#aeb9b2; background:var(--surface); }
.shipping-option-card:has(input:checked) {     border-color: #e1e1e1; background: #f8faf8; border-width: 1px; }
.shipping-option-card:focus-within { outline:3px solid rgba(23,33,27,.1); outline-offset:1px; }
.shipping-option-status { display:grid; width:18px; height:18px; place-items:center; border:1px solid #b8c2bc; border-radius:50%; }
.shipping-option-card:has(input:checked) .shipping-option-status { border:5px solid var(--ink); }
.shipping-option-copy { display:grid; gap:2px; min-width:0; }
.shipping-option-copy strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.shipping-option-copy small { color:var(--muted); font-size:12px; font-weight:550; line-height:1.35; }
.shipping-option-price { font-size:14px; white-space:nowrap; }
.shipping-option-list[aria-busy="true"] { opacity:.58; pointer-events:none; }
/* Pagamenti: stesse card della spedizione, ma titolo che va a capo e allineamento in alto. */
[data-payment-method-list] .shipping-option-card { align-items:start; min-height:0; padding-top:14px; padding-bottom:14px; }
[data-payment-method-list] .shipping-option-status { margin-top:2px; }
[data-payment-method-list] .shipping-option-copy strong { white-space:normal; }
[data-payment-method-list] .shipping-option-price { margin-top:1px; font-size:13px; }
.checkout-summary-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.checkout-summary-head h2 { margin-bottom:14px; }
.checkout-summary-head > span { color:var(--muted); font-size:12px; font-weight:700; }
.checkout-lines { list-style:none; margin:0; padding:0 0 16px; display:grid; gap:10px; border-bottom:1px solid var(--line); }
.checkout-lines li { display:flex; justify-content:space-between; gap:12px; font-size:13px; line-height:1.35; }
.checkout-lines li > span { min-width:0; }
.checkout-lines li > strong { white-space:nowrap; }
.checkout-line-product { display:grid; gap:2px; }
.checkout-line-product small { color:var(--muted); font-size:11px; font-weight:600; }
.checkout-summary-totals { display:grid; gap:8px; padding-top:16px; }
.checkout-summary-totals .cart-summary-row { font-size:14px; }
.checkout-discount-row { color:#19733e; }
.checkout-promotions { display:grid; gap:7px; margin:2px 0 4px; padding:10px 12px; border-radius:10px; background:#eaf4ed; color:#145c33; }
.checkout-promotions > span { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.checkout-promotions > div { display:flex; flex-wrap:wrap; gap:6px; }
.checkout-promotions small { padding:4px 7px; border-radius:999px; background:white; font-size:11px; font-weight:700; }
.checkout-grand-total { align-items:baseline; margin-top:6px; padding-top:14px; border-top:1px solid var(--line); font-size:18px !important; font-weight:850; }
/* Riga Città / Provincia / CAP e blocco dati aziendali (condivisi dai layout). */
.checkout-card .address-city-row { grid-column:1 / -1; display:grid; grid-template-columns:1.5fr 1fr .9fr; gap:12px; }
.checkout-card .company-fields-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:4px 0 8px; }
.checkout-card [data-company-fields][hidden] { display:none; }
/* Checkout stile mockup: il testo visibile sta nei placeholder, i <label>
   restano nel DOM per screen reader, tastiera e messaggi di errore. */
.checkout-card [data-address-form] label:not(.checkout-check) { gap:0; }
.checkout-card label:has(> input[name="email"]) { gap:0; }
.checkout-card label:has(> input[name="email"]) > span { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.checkout-card input[name="email"].field { font-weight:400; }
.checkout-card input[name="email"].field::placeholder { font-weight:400; color:var(--muted); opacity:1; }
[data-address-form].account-form label:not(.account-checkbox):has(input[required],select[required],textarea[required]) > span:first-child::after,
.order-address-fields label:has(input[required],select[required],textarea[required]) > span:first-child::after { content:" *"; color:#b42318; font-weight:850; }
.checkout-card [data-address-form] label:not(.checkout-check) > span { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.checkout-card [data-address-form] label:not(.checkout-check):has(input[required],select[required],textarea[required]) { position:relative; }
.checkout-card [data-address-form] label:not(.checkout-check):has(input[required],select[required],textarea[required])::after { content:"*"; position:absolute; z-index:1; top:6px; right:10px; color:#b42318; font-size:14px; font-weight:850; line-height:1; pointer-events:none; }
.checkout-card [data-address-form] label:not(.checkout-check):has(select[required])::after { right:34px; }
.checkout-card [data-address-form] label:not(.checkout-check):has(input[required],select[required],textarea[required]) .field { padding-right:30px; }
.checkout-card [data-address-form] label:not(.checkout-check):has(select[required]) .field { padding-right:48px; }
.checkout-card [data-address-form] .field { font-weight:400; }
.checkout-card [data-address-form] .field::placeholder { font-weight:400; color:var(--muted); opacity:1; }
.checkout-grand-total strong { font-size:20px; }
.checkout-summary .cart-summary-note { margin-top:14px; line-height:1.45; }
.checkout-back-cart { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; margin-top:10px; border:1px solid var(--line); border-radius:12px; color:var(--ink); font-size:14px; font-weight:750; text-decoration:none; }
.checkout-back-cart:hover { border-color:#aeb9b2; background:white; }
.checkout-payment-instructions { margin:0 0 18px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); font-size:14px; line-height:1.5; }
.checkout-payment-instructions p { margin:0 0 8px; }
.checkout-payment-instructions p:last-child { margin-bottom:0; }
.checkout-payment-instructions ul { margin:8px 0 0; padding-left:18px; }
@media (max-width:860px) { .cart-layout,.cart-line,.checkout-layout { grid-template-columns:1fr; } .cart-line-actions { justify-items:start; } }
@media (max-width:620px) { .checkout-address-grid,.checkout-address-save,.delivery-mode-grid { grid-template-columns:1fr; } .checkout-card .address-city-row,.checkout-card .company-fields-grid { grid-template-columns:1fr; } .shipping-option-card { grid-template-columns:20px minmax(0,1fr); } .shipping-option-price { grid-column:2; } .checkout-session { align-items:flex-start; flex-direction:column; gap:6px; } }
.site-footer { padding:54px 0 24px; border-top:1px solid var(--line); background:var(--footer-bg); color:var(--footer-text); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; }
.footer-grid p { max-width:430px; margin:7px 0; }
.footer-grid a { display:block; margin-top:8px; color:var(--footer-link); }
.footer-grid a:hover { color:var(--footer-link-hover); }
.footer-brand,.footer-title { color:var(--footer-heading); font-weight:800; }
.footer-brand { font-size:22px; }
.footer-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:42px; padding-top:18px; border-top:1px solid color-mix(in srgb, var(--footer-text) 18%, transparent); font-size:12px; }
.footer-bottom .scc-manage-footer { color:var(--footer-link); }
.footer-bottom .scc-manage-footer:hover,
.footer-bottom .scc-manage-footer:focus-visible { color:var(--footer-link-hover); }
.auth-section { padding:64px 0 80px; }
.auth-card { width:min(480px,100%); margin:0 auto; padding:36px 32px; border:1px solid var(--line); border-radius:24px; background:var(--surface); }
.auth-card h1 { margin:0; font-size:var(--fs-h1); letter-spacing:-.04em; }
.auth-card > p:not(.eyebrow) { margin:12px 0 0; color:var(--muted); }
.auth-form { display:grid; gap:16px; margin-top:28px; }
.auth-form label { display:grid; gap:8px; font-size:14px; font-weight:700; }
.auth-form .field { min-height:48px; }
.auth-form .auth-remember { display:flex; align-items:center; gap:10px; cursor:pointer; }
.auth-remember input { width:18px; height:18px; margin:0; }
.auth-submit { width:100%; cursor:pointer; }
.auth-status { margin-top:22px; padding:12px 14px; border-radius:12px; background:#e8f5e9; color:#256b35; font-size:14px; font-weight:650; }
.auth-error { color:#b42318; font-size:13px; font-style:normal; font-weight:650; }
.auth-links { margin:22px 0 0; text-align:center; font-size:14px; font-weight:700; }
.auth-links a { text-decoration:underline; text-underline-offset:3px; }
.account-section { padding:10px 0 10px; }
.account-head { display:flex; align-items:end; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-bottom:8px; }
.account-head .button { margin-top:0; }
.account-layout { display:grid; grid-template-columns:220px minmax(0,1fr); grid-template-areas:"head head" "nav main"; gap:8px 28px; align-items:start; }
.account-layout > .page-head { grid-area:head; }
.account-layout > .account-nav { grid-area:nav; }
.account-layout > .account-main { grid-area:main; min-width:0; }
.account-nav { display:grid; gap:4px; margin:0; padding:10px; border:1px solid var(--line); border-radius:20px; background:var(--surface); position:sticky; top:calc(var(--sticky-header-height) + 12px); }
.account-nav a { display:flex; align-items:center; min-height:42px; padding:8px 14px; border:0; border-radius:12px; background:transparent; font-size:14px; font-weight:750; color:var(--muted); }
.account-nav a:hover { background:white; color:var(--ink); }
.account-nav a.active { background:var(--ink); color:white; }
.account-nav a:focus-visible { outline:3px solid rgba(23,33,27,.18); outline-offset:2px; }
.account-main > .auth-status:first-child,
.account-main > .flash-success:first-child { margin:8px 0 20px; }
.account-main > .auth-error { display:block; margin:0 0 16px; padding:12px 14px; border-radius:12px; background:#fdecec; }
.account-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }
.account-card { padding:22px; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.account-card h2 { margin:0 0 14px; font-size:20px; letter-spacing:-.03em; }
.account-card h2 span { color:var(--muted); font-weight:650; font-size:14px; }
.account-dl { display:grid; gap:12px; margin:0; }
.account-dl dt { margin:0; color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.account-dl dd { margin:4px 0 0; font-weight:650; }
.account-muted { color:var(--muted); margin:0; }
.account-form .account-card > h2 + .account-muted { margin:0 0 18px; line-height:1.5; }
.account-address-review { display:grid; gap:16px; }
.account-address-review > h2 { margin-bottom:2px; }
.account-notice { margin:0; padding:12px 14px; border-radius:12px; background:#fff6e5; color:#7a4b00; font-size:14px; font-weight:650; line-height:1.5; }
.account-address-review-side { display:grid; gap:8px; padding-top:14px; border-top:1px solid var(--line); }
.account-address-review-side h3 { margin:0; font-size:14px; }
.account-address-review-grid { display:grid; gap:14px; grid-template-columns:1fr 1fr; }
.account-address-review-grid p { margin:0; font-size:14px; line-height:1.4; }
.account-address-block { display:grid; gap:2px; margin-top:10px; }
.account-address-block p { margin:0; line-height:1.4; }
.account-card-action { margin-top:18px; }
.account-address-preview { padding:12px 0; border-top:1px solid var(--line); }
.account-address-preview:first-of-type { border-top:0; padding-top:0; }
.account-address-preview p { margin:4px 0 0; color:var(--muted); font-size:14px; }
.account-form { display:grid; gap:20px; max-width:720px; }
.account-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.account-form-grid label { display:grid; gap:8px; margin:0; font-size:14px; font-weight:700; }
.account-span-2 { grid-column:1 / -1; }
.account-checkbox { display:flex !important; align-items:center; gap:10px; font-weight:700; }
.account-checkbox input { width:18px; height:18px; }
.account-form-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:8px; }
.account-form-actions .button { margin-top:0; }
.account-address-list { display:grid; gap:14px; }
.account-address-row { display:flex; justify-content:space-between; gap:18px; }
.account-actions { display:flex; flex-direction:column; gap:8px; align-items:flex-end; font-size:14px; font-weight:750; }
.account-actions form { margin:0; }
.account-actions button { border:0; background:transparent; color:#b42318; font:inherit; font-weight:750; cursor:pointer; padding:0; }
.account-badge { display:inline-flex; margin-left:8px; padding:3px 8px; border-radius:999px; background:#e8f5e9; color:#256b35; font-size:11px; font-weight:800; text-transform:uppercase; vertical-align:middle; }
.account-year-filter { display:flex; align-items:end; gap:10px; }
.account-year-filter label { display:grid; gap:6px; min-width:148px; margin:0; }
.account-year-filter span { color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.account-year-filter .field { min-height:44px; }
.account-year-filter .button { margin-top:0; }
.account-order-list { list-style:none; margin:0; padding:0; }
.account-order-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 8px; margin:0 -8px; border-top:1px solid var(--line); border-radius:14px; text-decoration:none; color:inherit; }
.account-order-list > li:first-child .account-order-row { border-top:0; }
.account-order-row:hover { background:white; }
.account-order-row p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.account-order-meta { display:grid; justify-items:end; gap:6px; text-align:right; font-size:13px; color:var(--muted); }
.account-order-open { font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--ink); }
.account-order-status { display:inline-flex; align-items:center; padding:3px 8px; border-radius:999px; background:#eef1ee; color:var(--ink); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.account-order-status.is-pending,.account-order-status.is-awaiting-payment,.account-order-status.is-awaiting-remote-payment,.account-order-status.is-requested { background:#fff4e5; color:#9a6700; }
.account-order-status.is-paid,.account-order-status.is-delivered { background:#e8f5e9; color:#256b35; }
.account-order-status.is-processing,.account-order-status.is-preparation { background:#e8f1fb; color:#185fa5; }
.account-order-status.is-shipped { background:#ece7fb; color:#4338ca; }
.account-order-status.is-cancelled,.account-order-status.is-canceled { background:#eef1ee; color:#5f6b66; }
.account-order-status.is-refunded,.account-order-status.is-payment-error { background:#fdecec; color:#b42318; }
.account-order-detail { display:grid; gap:16px; }
.account-order-totals { display:grid; gap:10px; margin-top:16px; }
.account-order-grand { font-size:16px; }
.account-order-back { display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.account-order-back .button { margin-top:0; }
.account-shipment-list { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.account-shipment-list li,.account-document-list li,.account-return-history li { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.account-shipment-list p,.account-document-list p,.account-return-history p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.account-document-list,.account-return-history { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.account-return-form { display:grid; gap:16px; }
.account-return-form label { display:grid; gap:8px; font-size:14px; font-weight:700; }
.account-return-form .account-muted { margin:0; }
.account-return-lines { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:12px; }
.account-return-line { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; border:1px solid var(--line); border-radius:16px; background:white; }
.account-return-line-copy p { margin:4px 0 0; color:var(--muted); font-size:13px; font-weight:650; }
.account-return-qty { min-width:92px; }
.account-return-qty .field { text-align:center; }
.checkout-lines li em { display:block; margin-top:2px; color:var(--muted); font-style:normal; font-weight:650; }
.is-hidden { display:none !important; }
@media (max-width:900px) {
    body.mobile-menu-open { overflow:hidden; }
    .site-header { position:var(--header-position-mobile); }
    .header-inner { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:0; padding-block:10px; grid-template:none; }
    .brand { position:static; transform:none; flex:1 1 0; min-width:0; }
    .brand .shop-logo { max-width:min(42vw,160px); max-height:32px; }
    .brand > span:last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .header-nav { display:none; }
    .header-tools { flex:none; margin-left:0; z-index:2; gap:4px; }
    .header-actions { gap:2px; }
    .header-action { width:38px; height:38px; }
    .language-flag { font-size:16px; }
    .currency-code { font-size:10px; }
    body[data-search-mode="bar"] .header-search-slot { display:block; flex:1 0 100%; order:20; padding:2px 0 2px; }
    .header-search,.header-search-input,.header-search-submit { min-height:44px; height:44px; }
    .header-search-submit { width:44px; }
    .site-topbar-inner { overflow:hidden; }
    .site-topbar-list { flex-wrap:nowrap; gap:16px; padding:0; overflow-x:auto; scrollbar-width:none; }
    .site-topbar-list::-webkit-scrollbar { display:none; }
    body[data-topbar-visibility="desktop"] .site-topbar { display:none; }
    body[data-topbar-visibility="mobile"] .site-topbar { display:block; }
    .mobile-menu-toggle { display:inline-flex; width:38px; height:38px; flex:none; margin-left:auto; align-items:center; justify-content:center; border:1px solid transparent; border-radius:12px; background:transparent; color:var(--hamburger); cursor:pointer; }
    .mega-menu-mobile-toggle { width:38px; height:38px; flex:none; }
    .mobile-menu-toggle:hover { border-color:var(--line); background:var(--surface); }
    .mobile-menu-toggle:focus-visible { outline:3px solid rgba(23,33,27,.18); outline-offset:2px; }
    body[data-hamburger="left"] .mobile-menu-toggle,
    body[data-hamburger="left"] .mega-menu-mobile-toggle { order:-1; margin-left:0; }
    body[data-hamburger="left"] .header-tools { margin-left:0; }
    body[data-hamburger="left"] .brand { justify-content:center; }
    body[data-hamburger="left"] .brand > span:last-child { display:none; }
    .mobile-menu-toggle-icon { position:relative; width:20px; height:16px; }
    .mobile-menu-toggle-icon span { position:absolute; left:0; width:20px; height:2px; border-radius:999px; background:currentColor; transition:top .18s ease,transform .18s ease,opacity .18s ease; }
    .mobile-menu-toggle-icon span:nth-child(1) { top:1px; }
    .mobile-menu-toggle-icon span:nth-child(2) { top:7px; }
    .mobile-menu-toggle-icon span:nth-child(3) { top:13px; }
    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle-icon span:nth-child(1) { top:7px; transform:rotate(45deg); }
    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle-icon span:nth-child(2) { opacity:0; }
    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle-icon span:nth-child(3) { top:7px; transform:rotate(-45deg); }
    .mobile-navigation { position:fixed; inset:0; z-index:50; display:block; pointer-events:none; }
    .mobile-navigation[hidden] { display:none; }
    .mobile-navigation.is-open { pointer-events:auto; }
    .mobile-navigation-backdrop { position:absolute; inset:0; background:rgba(23,33,27,.48); opacity:0; transition:opacity .32s ease; }
    .mobile-navigation.is-open .mobile-navigation-backdrop { opacity:1; }
    .mobile-navigation-drawer { position:absolute; inset:0 auto 0 0; display:flex; width:min(380px,calc(100% - 44px)); height:100dvh; flex-direction:column; background:var(--mobile-bg); color:var(--mobile-text); box-shadow:20px 0 46px rgba(23,33,27,.2); transform:translateX(-104%); transition:transform .32s cubic-bezier(.32,.72,0,1); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
    .mega-menu-mobile-drawer { background:var(--mobile-bg); color:var(--mobile-text); }
    .mega-menu-mobile-link { color:var(--mobile-text); }
    .mobile-navigation.is-open .mobile-navigation-drawer { transform:none; }
    .mobile-navigation-head { display:flex; min-height:56px; flex:none; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px 8px 16px; border-bottom:1px solid var(--mobile-border); }
    .mobile-navigation-title { display:flex; align-items:center; gap:10px; font-size:16px; line-height:1; }
    .mobile-navigation-title strong { font-weight:750; }
    .mobile-navigation-close { display:inline-flex; width:38px; height:38px; flex:none; align-items:center; justify-content:center; padding:0; border:1px solid transparent; border-radius:12px; background:transparent; color:inherit; cursor:pointer; }
    .mobile-navigation-close:hover { border-color:var(--line); background:var(--surface); }
    .mobile-navigation-close:focus-visible { outline:3px solid rgba(23,33,27,.18); outline-offset:2px; }
    .mobile-navigation-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
    .mobile-main-nav { display:grid; color:var(--mobile-text); }
    .mobile-main-nav > a { display:flex; width:100%; min-height:54px; align-items:center; justify-content:space-between; padding:14px 18px; border:0; border-bottom:1px solid var(--mobile-border); background:transparent; color:inherit; font:inherit; font-size:16px; font-weight:750; text-align:left; cursor:pointer; }
    .mobile-main-nav > a.active { color:var(--ink); box-shadow:inset 3px 0 0 var(--ink); padding-left:28px; }
    .mobile-navigation-footer { flex:none; padding:16px 18px max(16px,env(safe-area-inset-bottom)); border-top:1px solid var(--mobile-border); background:var(--mobile-bg); }
    .language-switcher-mobile { display:flex; margin:0; justify-content:flex-start; gap:16px; }
    .language-menu-panel { right:0; left:auto; }
    .hero-panel,.product-detail,.account-grid { grid-template-columns:1fr; }
    .product-detail { grid-template-areas:"media" "copy" "below"; }
    .account-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"nav" "head" "main"; gap:12px; }
    .account-nav { position:sticky; z-index:6; top:var(--sticky-header-height); display:flex; flex-wrap:nowrap; gap:8px; width:calc(100% + 40px); margin:0 -20px; padding:8px 20px 12px; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scrollbar-width:none; scroll-snap-type:x proximity; scroll-padding-inline:20px; border:0; border-radius:0; border-bottom:1px solid var(--line); background:var(--white); box-shadow:0 8px 16px rgba(23,33,27,.04); -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent); mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent); }
    .account-nav::-webkit-scrollbar { display:none; }
    .account-nav a { flex:none; min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:999px; background:white; white-space:nowrap; scroll-snap-align:center; }
    .account-nav a:last-child { margin-right:20px; }
    .account-nav a.active { border-color:var(--ink); }
    .account-head { gap:12px; padding:4px 0 2px; }
    .account-head .eyebrow { display:none; }
    .account-head h1 { font-size:var(--fs-h1); }
    .account-head > div > p:not(.eyebrow) { font-size:14px; }
    .account-year-filter { width:100%; flex-wrap:wrap; }
    .account-year-filter label { flex:1; min-width:148px; }
    .account-year-filter .button { min-height:44px; }
    .account-card { padding:16px; border-radius:16px; }
    .account-card-action { width:100%; }
    .account-form-grid { grid-template-columns:1fr; }
    .account-order-row { align-items:flex-start; min-height:56px; padding:14px 4px; }
    .account-head .account-order-status { margin-top:4px; }
    .account-shipment-list li,.account-document-list li,.account-return-history li { align-items:flex-start; flex-direction:column; }
    .account-shipment-list .button,.account-document-list .button { width:100%; margin-top:0; }
    .account-order-back .button { width:100%; }
    .account-return-line { align-items:stretch; flex-direction:column; }
    .account-return-qty .field { min-height:48px; }
    .hero-art { min-height:330px; }
    .product-grid,.brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .search-overlay-backdrop,.search-overlay-panel,.checkout-address-overlay-backdrop,.checkout-address-overlay-panel,
    .cart-drawer,.cart-drawer-backdrop,.account-drawer,.account-drawer-backdrop,
    .mobile-navigation-drawer,.mobile-navigation-backdrop { transition:none; }
}
@media (max-width:620px) {
    .shell { width:min(100% - 28px, var(--shell-max)); }
    .header-nav-inner.shell { width:min(100% - 28px, var(--shell-max)); }
    .site-header--boxed,.site-footer--boxed,.header-nav--row.header-nav--boxed { width:min(var(--shell-max), calc(100% - 28px)); }
    .header-inner { min-height:0; gap:6px; }
    .brand { font-size:18px; }
    .brand-mark { width:30px; height:30px; }
    .hero { padding:24px 0 40px; }
    .hero-panel { min-height:0; border-radius:20px; }
    .hero-copy { padding:38px 26px 42px; }
    .hero-art { min-height:230px; }
    .section { padding:40px 0; }
    .section-head { align-items:start; flex-direction:column; }
    .product-grid { grid-template-columns:repeat(var(--grid-mobile),minmax(0,1fr)); gap:12px; }
    .product-meta { padding-top:11px; }
    .filters { grid-template-columns:1fr; }
    .page-head { padding-top:5px; }
    .product-detail { padding-top:30px; gap:28px; }
    .footer-grid { grid-template-columns:1fr; }
    .account-form-grid,.account-address-row,.account-address-review-grid { grid-template-columns:1fr; flex-direction:column; }
    .account-actions { align-items:flex-start; flex-direction:row; gap:12px; }
    .account-actions a,.account-actions button { min-height:44px; display:inline-flex; align-items:center; padding:0 12px; border-radius:12px; }
    .account-actions a { border:1px solid var(--line); background:white; }
    .account-actions button { padding:0 12px; }
    .account-year-filter { width:100%; }
    .account-year-filter label { flex:1; min-width:0; }
    .account-nav { width:calc(100% + 28px); margin-left:-14px; margin-right:-14px; padding-left:14px; padding-right:14px; }
    .account-head h1 { font-size:var(--fs-h1); }
    .account-head .button { width:100%; }
    .account-head > div > p:not(.eyebrow) { display:none; }
    .empty-state .button,.account-form-actions .button,.account-form-actions .filter-button { width:100%; }
}

/* Layout checkout tipo Shopify (checkout_layout=shopify). Solo presentazione:
   niente -50vw (causa scroll orizzontale), colonne full-bleed, riepilogo sticky. */
body.pb-content-only:has(.checkout-layout-shopify) {
    overflow-x:clip;
    background:#fff;
}
.shell-checkout-shopify {
    width:100%;
    max-width:none;
    margin:0;
}
.shopify-brand { margin:0 0 14px; font-size:22px; font-weight:800; letter-spacing:-.02em; }
.shopify-cart-reminder { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 14px 0; padding:10px 14px; border:1px solid var(--line); border-radius:10px; background:var(--surface); font-size:13px; font-weight:700; }
.shopify-cart-reminder a { font-weight:700; white-space:nowrap; }
.checkout-layout-shopify {
    --checkout-shopify-split:57.5%;
    max-width:none;
    margin:0;
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
    gap:0;
    align-items:start;
    min-height:100dvh;
    background:linear-gradient(90deg,#fff 0 var(--checkout-shopify-split),#f6f6f6 var(--checkout-shopify-split) 100%);
}
.checkout-layout-shopify .checkout-main {
    gap:0;
    min-width:0;
    background:transparent;
    padding:20px clamp(16px,4.5vw,48px) 48px clamp(16px,8vw,96px);
}
.checkout-layout-shopify .checkout-main > .flash-error { margin:0 0 14px; }
.checkout-layout-shopify .checkout-card {
    border:0;
    border-radius:0;
    border-bottom:1px solid var(--line);
    padding:14px 0;
    background:transparent;
}
.checkout-layout-shopify .checkout-card:last-child { border-bottom:0; }
.checkout-layout-shopify .checkout-card h2 {
    margin:0 0 10px;
    font-size:13px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.checkout-layout-shopify .checkout-card label { margin-bottom:8px; gap:4px; font-size:13px; }
.checkout-layout-shopify .checkout-check { margin:0 0 10px; }
.checkout-layout-shopify .account-form-grid {     gap: 0px 5px;  }
.checkout-layout-shopify .checkout-card .address-city-row { gap:10px; }
.checkout-layout-shopify .checkout-card .company-fields-grid { gap:12px; padding:0 0 4px; }
.checkout-layout-shopify .delivery-mode-grid { margin-bottom:12px; }
.checkout-layout-shopify .field,
.checkout-layout-shopify select.field,
.checkout-layout-shopify textarea.field {
    min-height:44px;
    border-radius:8px;
    border-color:#c9c9c9;
}
.checkout-layout-shopify textarea.field { min-height:96px; }
.checkout-layout-shopify .field:focus { border-color:var(--ink); box-shadow:0 0 0 1px var(--ink); outline:none; }
.checkout-layout-shopify .cart-summary.checkout-summary {
    position:sticky;
    top:0;
    align-self:start;
    display:flex;
    flex-direction:column;
    gap:0;
    min-height:100dvh;
    max-height:100dvh;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    border:0;
    border-radius:0;
    background:transparent;
    padding:28px clamp(18px,4.5vw,44px) 28px clamp(18px,3.5vw,36px);
    -webkit-overflow-scrolling:touch;
}
.checkout-layout-shopify .checkout-summary-shopify {
    width:min(100%,420px);
    justify-self:start;
}
.checkout-layout-shopify .buy-button {
    flex:none;
    width:100%;
    min-height:52px;
    border-radius:10px;
    font-size:15px;
    letter-spacing:.01em;
    box-shadow:0 1px 0 rgba(23,33,27,.12);
}
.checkout-layout-shopify .checkout-back-cart {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:0;
    margin:10px 0 0;
    padding:0;
    border:0;
    border-radius:0;
    background:none;
    color:var(--muted);
    font-size:13px;
    font-weight:650;
    text-decoration:none;
}
.checkout-layout-shopify .checkout-back-cart:hover {
    border:0;
    background:none;
    color:var(--ink);
    text-decoration:underline;
    text-underline-offset:2px;
}
.shopify-recap {
    border:0;
    border-radius:0;
    background:transparent;
    margin:0;
}
.shopify-recap > summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 0 16px;
    border-bottom:1px solid #e4e4e4;
    cursor:pointer;
    list-style:none;
}
.shopify-recap > summary::-webkit-details-marker { display:none; }
.shopify-recap-title {
    font-size:15px;
    font-weight:800;
    letter-spacing:-.02em;
}
.shopify-recap-meta {
    display:inline-flex;
    align-items:baseline;
    gap:10px;
    margin-left:auto;
}
.shopify-recap-count {
    color:var(--muted);
    font-size:12px;
    font-weight:650;
}
.shopify-recap-amount {
    font-size:14px;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}
.shopify-recap > summary::after {
    content:"";
    width:8px;
    height:8px;
    margin-left:4px;
    border-right:1.5px solid var(--muted);
    border-bottom:1.5px solid var(--muted);
    transform:rotate(45deg);
    transition:transform .18s ease;
    flex:none;
}
.shopify-recap[open] > summary::after { transform:rotate(225deg); translate:0 2px; }
.shopify-recap-body { padding:18px 0 0; }
.checkout-layout-shopify .checkout-lines {
    display:grid;
    gap:14px;
    margin:0;
    padding:0 0 18px;
    border-bottom:1px solid #e4e4e4;
    list-style:none;
}
.checkout-layout-shopify .checkout-line-rich {
    display:grid;
    grid-template-columns:56px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
}
.checkout-layout-shopify .checkout-line-media {
    position:relative;
    width:56px;
    height:56px;
    border:1px solid #e1e1e1;
    border-radius:10px;
    background:#fff;
    overflow:visible;
}
.checkout-layout-shopify .checkout-line-media img,
.checkout-layout-shopify .checkout-line-media-empty {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:9px;
}
.checkout-layout-shopify .checkout-line-media-empty { background:linear-gradient(145deg,#f0f0f0,#e8e8e8); }
.checkout-layout-shopify .checkout-line-qty {
    position:absolute;
    top:-7px;
    right:-7px;
    z-index:1;
    display:grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:999px;
    background:#5c5c5c;
    color:#fff;
    font-size:11px;
    font-weight:750;
    line-height:1;
    box-shadow:0 0 0 2px #f6f6f6;
}
.checkout-layout-shopify .checkout-line-product {
    gap:3px;
    min-width:0;
}
.checkout-layout-shopify .checkout-line-product > span {
    font-size:13px;
    font-weight:700;
    letter-spacing:-.01em;
    line-height:1.35;
}
.checkout-layout-shopify .checkout-line-product small {
    color:var(--muted);
    font-size:12px;
    font-weight:550;
}
.checkout-layout-shopify .checkout-line-gift .checkout-line-product small:last-child {
    color:#145c33;
    font-weight:700;
}
.checkout-layout-shopify .checkout-line-amount {
    font-size:13px;
    font-weight:750;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}
.checkout-layout-shopify .checkout-summary-totals {
    gap:9px;
    padding-top:16px;
}
.checkout-layout-shopify .checkout-summary-totals .cart-summary-row {
    font-size:13px;
    color:var(--muted);
}
.checkout-layout-shopify .checkout-summary-totals .cart-summary-row > span { font-weight:550; }
.checkout-layout-shopify .checkout-summary-totals .cart-summary-row > strong {
    color:var(--ink);
    font-weight:700;
    font-variant-numeric:tabular-nums;
}
.checkout-layout-shopify .checkout-discount-row,
.checkout-layout-shopify .checkout-discount-row > strong { color:#19733e; }
.checkout-layout-shopify .checkout-promotions {
    margin:2px 0 6px;
    padding:10px 12px;
    border:1px solid #d7eadc;
    border-radius:10px;
    background:#f3faf5;
}
.checkout-layout-shopify .checkout-promotions > span {
    color:#145c33;
    font-size:10px;
    letter-spacing:.06em;
}
.checkout-layout-shopify .checkout-promotions small {
    border:1px solid #d7eadc;
    border-radius:8px;
    background:#fff;
    color:#145c33;
}
.checkout-layout-shopify .checkout-grand-total {
    margin-top:8px;
    padding-top:14px;
    border-top:1px solid #e4e4e4;
    color:var(--ink) !important;
    font-size:15px !important;
}
.checkout-layout-shopify .checkout-grand-total > span { font-weight:750; color:var(--ink); }
.checkout-layout-shopify .checkout-grand-total strong {
    font-size:22px;
    font-weight:850;
    letter-spacing:-.03em;
    font-variant-numeric:tabular-nums;
}
.shopify-summary-actions {
    margin-top:auto;
    padding-top:22px;
    display:grid;
    gap:0;
}
.checkout-layout-shopify .shopify-summary-actions .cart-summary-note {
    margin:14px 0 0;
    color:var(--muted);
    font-size:12px;
    font-weight:500;
    line-height:1.45;
    text-align:center;
}
.checkout-layout-shopify .delivery-mode-card,
.checkout-layout-shopify .shipping-option-card,
.checkout-layout-shopify .checkout-address-card { border-radius:10px; }
.storefront-cart-toast { position:fixed; z-index:10050; top:20px; right:20px; display:flex; align-items:flex-start; gap:12px; width:min(480px,calc(100vw - 40px)); padding:14px 16px; border:1px solid #e4af0a; border-radius:10px; background:#fff3bf; color:#704d00; box-shadow:0 14px 32px rgba(85,58,0,.18); font-size:14px; font-weight:700; line-height:1.45; }
.storefront-cart-toast[hidden] { display:none !important; }
.storefront-cart-toast-message { flex:1; }
.storefront-cart-toast-close { width:26px; height:26px; margin:-3px -5px -3px 0; border:0; border-radius:5px; background:transparent; color:inherit; font-size:22px; line-height:1; cursor:pointer; }
.storefront-cart-toast-close:hover { background:#f5dc82; }
@media (min-width:861px) {
    .shell-checkout-shopify > .shopify-cart-reminder { display:none; }
    .checkout-layout-shopify .shopify-recap > summary {
        cursor:default;
        pointer-events:none;
        padding-bottom:18px;
    }
    .checkout-layout-shopify .shopify-recap > summary::after { display:none; }
    .checkout-layout-shopify .shopify-recap-amount { display:none; }
}
@media (max-width:860px) {
    .storefront-cart-toast { top:12px; right:12px; width:calc(100vw - 24px); }
    .checkout-layout-shopify {
        --checkout-shopify-split:100%;
        max-width:720px;
        margin:0 auto;
        grid-template-columns:1fr;
        min-height:0;
        width:min(100% - 28px,720px);
        background:#fff;
    }
    .shell-checkout-shopify { width:100%; }
    .checkout-layout-shopify .checkout-main { background:transparent; padding:8px 0 28px; }
    .checkout-layout-shopify .cart-summary.checkout-summary {
        position:static;
        display:grid;
        gap:14px;
        width:100%;
        min-height:0;
        max-height:none;
        overflow:visible;
        border:0;
        border-radius:0;
        background:transparent;
        padding:0 0 24px;
        justify-self:stretch;
    }
    .checkout-layout-shopify .checkout-summary-shopify { width:100%; }
    .shopify-recap {
        background:#f7f7f7;
        border:1px solid var(--line);
        border-radius:12px;
        overflow:hidden;
    }
    .shopify-recap > summary {
        padding:14px 16px;
        border-bottom:0;
        background:#f7f7f7;
    }
    .shopify-recap[open] > summary { border-bottom:1px solid #e4e4e4; }
    .shopify-recap-body { padding:14px 16px 16px; background:#fff; }
    .shopify-summary-actions {
        margin-top:0;
        padding-top:0;
        order:-1;
    }
    .checkout-layout-shopify .shopify-summary-actions .cart-summary-note { text-align:left; }
    .checkout-layout-shopify .checkout-back-cart { margin-bottom:0; }
}
