/* ═══════════════════════════════════════
   0. TOKENS
   ═══════════════════════════════════════ */
:root{
  --c-navy:#1C2B5A;--c-navy-soft:#2A3F6E;
  --c-green:#52FF09;--c-green-dk:#2DA012;--c-blue:#0059FF;
  --c-grad:linear-gradient(135deg,#52FF09,#0059FF);
  --c-grad-s:linear-gradient(135deg,rgba(82,255,9,.06),rgba(0,89,255,.06));
  --c-white:#FFF;--c-bg:#F5F7FB;--c-bg2:#EDF0F7;--c-hero-bg:#FFF;
  --c-bdr:#D8DEF0;--c-bdr-l:#E8EDF5;
  --c-txt:#1C2B5A;--c-txt-m:#5A6B8A;--c-txt-l:#8A96B0;
  --c-txt-dk:#EDF2FF;--c-txt-dk-m:rgba(237,242,255,.6);
  --f-h:'Satoshi',sans-serif;--f-b:'Inter',sans-serif;
  --r-s:6px;--r-m:10px;--r-l:16px;--r-f:999px;
  --sh-s:0 2px 8px rgba(28,43,90,.05);--sh-m:0 4px 20px rgba(28,43,90,.08);--sh-l:0 8px 40px rgba(28,43,90,.12);
  --ease:cubic-bezier(.4,0,.2,1);--dur:.25s;
}

/* ═══════════════════════════════════════
   1. RESET
   ═══════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;margin-block-start:0;margin-block-end:0} /* WP global-styles fix */
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;scrollbar-width:thin;scrollbar-color:#2A7AFF #E8EDF5}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:#E8EDF5}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#52FF09 0%,#0059FF 100%);border-radius:5px;border:2px solid #E8EDF5}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5CFF1E 0%,#1A6BFF 100%)}
html{overscroll-behavior:none}
body{font-family:var(--f-b);color:var(--c-txt);background:var(--c-white);line-height:1.6;overflow-wrap:break-word;overflow-x:hidden;padding-top:var(--nav-h,64px)}
a{text-decoration:none;color:inherit}
button{font:inherit;cursor:pointer;border:none;background:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--f-h);line-height:1.15;letter-spacing:-.04em}
img{max-width:100%;height:auto;display:block}

/* ═══════════════════════════════════════
   2. UTILITIES
   ═══════════════════════════════════════ */
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.label{font-family:var(--f-h);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-green-dk)}
.grad-text{background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.grad-line{height:4px;background:var(--c-grad);border:none}
.sr-only,.nx-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ═══════════════════════════════════════
   3. BUTTONS
   ═══════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-h);font-weight:600;font-size:.875rem;padding:12px 24px;border-radius:var(--r-s);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),filter var(--dur) var(--ease)}
a.btn--pri,a.btn--pri:visited,a.btn--pri:active,button.btn--pri,.btn--pri{background:var(--c-grad);color:#FFF;box-shadow:0 4px 24px rgba(0,89,255,.2);position:relative;overflow:hidden}
.btn--pri::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .5s var(--ease)}
.btn--pri:hover::after{left:100%}
a.btn--pri:hover,button.btn--pri:hover,.btn--pri:hover{background:var(--c-grad);color:#FFF;box-shadow:0 8px 28px rgba(0,89,255,.28);transform:translateY(-2px) scale(1.02);filter:brightness(1.08)}
.btn--outline{color:var(--c-navy)}
.btn--outline:hover{border-color:var(--c-blue);color:var(--c-blue)}
.btn--lg{padding:15px 32px;font-size:.95rem;border-radius:var(--r-m)}
.btn--sm{padding:8px 16px;font-size:.8rem}

/* ═══════════════════════════════════════
   4. NAV — White
   ═══════════════════════════════════════ */
.nav{background:transparent !important;position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid transparent;box-shadow:none;transition:background .4s,border-color .4s,box-shadow .4s}
.nav.nav--scrolled{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='6' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.07'/%3E%3C/svg%3E") repeat,#FAF8F4 !important}
.nav.nav--gallery{background:rgba(10,15,30,.15) !important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:rgba(255,255,255,.06) !important}
.nav.nav--gallery .nav__link{color:rgba(255,255,255,.7)}
.nav.nav--gallery .nav__link:hover,.nav.nav--gallery .nav__link--active{color:#fff;background:rgba(255,255,255,.08)}
.nav.nav--gallery .nav__icon,.nav.nav--gallery .nav__hamburger{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}
.nav.nav--gallery .nav__icon:hover,.nav.nav--gallery .nav__hamburger:hover{background:rgba(255,255,255,.15)}
.nav.nav--gallery .nav__search{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}
.nav.nav--gallery .nav__search-input,.nav.nav--gallery .nav__search svg{color:rgba(255,255,255,.7)}
.nav.nav--gallery .nav__badge{border-color:rgba(10,15,30,.3)}
.nav--scrolled{background:#FAF8F4}
.nav>.wrap{padding-left:17px;padding-right:17px}
@media(min-width:768px){.nav>.wrap{padding-left:27px;padding-right:27px}}
.nav__inner{display:flex;align-items:center;height:64px;gap:12px;position:relative}
.nav__logo{display:none;height:30px;flex-shrink:0}
.nav__logo svg{height:100%;width:auto}
.nav__logo-x{display:flex;height:46px;width:46px;position:absolute;left:50%;transform:translateX(-50%)}
.nav .nav__icon--account{display:none}
.nav .nav__icon--search-mobile{display:flex}
.nav__hamburger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-m);color:var(--c-txt);background:rgba(28,43,90,.04);border:1px solid rgba(28,43,90,.08);cursor:pointer;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease);box-shadow:0 2px 8px rgba(140,120,100,.06)}
.nav__hamburger:hover{background:rgba(28,43,90,.08)}
.nav__hamburger svg{width:20px;height:20px}
.nav__links{display:none;gap:2px}
.nav__link{font-family:var(--f-h);font-size:1rem;font-weight:500;color:var(--c-txt-m);padding:6px 14px;border-radius:var(--r-s);transition:color var(--dur) var(--ease),background var(--dur) var(--ease);white-space:nowrap}
.nav__link:hover,.nav__link--active{color:var(--c-navy);background:rgba(28,43,90,.05);font-weight:600}
.nav__acts{display:flex;align-items:center;gap:12px;margin-left:auto}
/* Search dropdown */
.nav__search-wrap{position:relative;margin-right:14px;display:none}
.nav__search{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-f);border:2.5px solid transparent;background:linear-gradient(#FAF8F4,#FAF8F4) padding-box,var(--c-grad) border-box;color:var(--c-txt);font-size:.8rem;min-width:0;transition:box-shadow var(--dur) var(--ease)}
.nav__search:hover,.nav__search:focus-within{box-shadow:0 0 20px rgba(0,89,255,.15)}
.nav__search svg{width:16px;height:16px;flex-shrink:0;color:var(--c-txt-m)}
input.nav__search-input,input.nav__search-input:focus{border:none !important;outline:none !important;padding:0 !important;border-radius:0 !important;box-shadow:none !important;background:transparent !important;font-size:.82rem !important;font-family:var(--f-b) !important;color:var(--c-txt) !important;flex:1;min-width:0;height:auto !important}
.nav__search-input::placeholder{color:var(--c-txt-l)}
.nav__search-panel{position:absolute;top:calc(100% + 8px);left:0;width:380px;background:var(--c-white);border-radius:var(--r-l);border:1px solid var(--c-bdr-l);box-shadow:var(--sh-l);padding:8px;display:none;z-index:1100}
.nav__search-all{display:block;text-align:center;padding:12px;font-family:var(--f-h);font-size:.78rem;font-weight:600;color:var(--c-blue);border-top:1px solid var(--c-bdr-l);margin-top:4px;transition:color var(--dur) var(--ease);text-decoration:none}
.nav__search-all:hover{color:var(--c-green-dk)}
.nav__search-panel--open{display:block}
/* Tablet: horizontal dropdown, right-aligned, columns layout */
@media(min-width:1024px) and (max-width:1279px){
  .nav__search-panel{right:0;left:auto;width:clamp(650px,75vw,900px);padding:10px}
  .nav__search-panel--open{display:flex !important;gap:12px;align-items:stretch}
  .nav__search-col--cats{flex:0 0 auto;border-right:1px solid var(--c-bdr-l);padding-right:12px}
  .nav__search-col--cats .nav__search-item-img{display:none}
  .nav__search-col--cats .nav__search-item{padding:6px 10px}
  .nav__search-col--prods{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
  .nav__search-col--prods .nav__search-section{grid-column:span 2}
  .nav__search-col--prods .nav__search-item{padding:6px 8px}
  .nav__search-col--prods .nav__search-item-img{width:32px;height:32px}
  .nav__search-panel .nav__search-section{padding:6px 10px 2px;font-size:.6rem}
  .nav__search-panel .nav__search-all{flex:0 0 auto;align-self:center;border-top:none;border-left:1px solid var(--c-bdr-l);padding:10px 14px;margin:0;white-space:nowrap;font-size:.72rem}
}
/* Desktop: columns are transparent wrappers */
@media(min-width:1280px){
  .nav__search-col{display:contents}
}
.nav__search-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-m);transition:background var(--dur) var(--ease);text-decoration:none;color:var(--c-txt)}
.nav__search-item:hover{background:var(--c-bg)}
.nav__search-item-img{width:44px;height:44px;border-radius:var(--r-s);background:var(--c-bg);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.nav__search-item-img img{width:100%;height:100%;object-fit:contain}
.nav__search-item-img svg{width:18px;height:18px;color:var(--c-txt-l)}
.nav__search-item-info{flex:1;min-width:0}
.nav__search-item-cat{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-blue);margin-bottom:2px}
.nav__search-item-name{font-family:var(--f-h);font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav__search-item-price{font-family:var(--f-h);font-size:.8rem;font-weight:700;background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;flex-shrink:0}
.nav__search-section{font-family:var(--f-h);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-txt-l);padding:10px 14px 4px;border-top:1px solid var(--c-bdr-l)}
.nav__search-section:first-child{border-top:none}
.nav__search-item--cat .nav__search-item-img svg{color:var(--c-blue)}
.nav__search-item-count{font-size:.72rem;color:var(--c-txt-l);flex-shrink:0}
.nav__search-hint{font-size:.72rem;color:var(--c-txt-l);text-align:center;padding:8px}
.nav__search-empty{padding:24px;text-align:center;color:var(--c-txt-m);font-size:.85rem}
.nav__icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-m);color:var(--c-txt);background:rgba(28,43,90,.04);border:1px solid rgba(28,43,90,.08);position:relative;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);box-shadow:0 2px 8px rgba(140,120,100,.06)}
.nav__icon:hover{background:rgba(28,43,90,.08);border-color:rgba(28,43,90,.12);box-shadow:0 4px 14px rgba(140,120,100,.10)}
.nav__icon svg{width:20px;height:20px}
.nav__badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 4px;background:var(--c-blue);color:var(--c-white);font-size:.6rem;font-weight:700;border-radius:var(--r-f);display:flex;align-items:center;justify-content:center;border:2px solid var(--c-white)}

/* ═══════════════════════════════════════
   4b. MOBILE DRAWER
   ═══════════════════════════════════════ */
.drawer-overlay{position:fixed;inset:0;background:rgba(28,43,90,.4);z-index:998;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}
.drawer-overlay--open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;left:-320px;width:300px;height:100vh;background:var(--c-white);z-index:999;display:flex;flex-direction:column;transition:left .3s var(--ease);box-shadow:var(--sh-l)}
.drawer--open{left:0}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--c-bdr-l)}
.drawer__head h3{font-family:var(--f-h);font-size:1rem;font-weight:700}
.drawer__close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-s);color:var(--c-txt-m)}
.drawer__close:hover{background:var(--c-bg)}
.drawer__close svg{width:20px;height:20px}
.drawer__links{flex:1;padding:8px 0;overflow-y:auto}
.drawer__link{display:flex;align-items:center;gap:12px;padding:14px 20px;font-family:var(--f-h);font-size:.95rem;font-weight:500;color:var(--c-txt-m);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.drawer__link:hover,.drawer__link--active{background:rgba(28,43,90,.05);color:var(--c-navy);font-weight:600}
/* ── Mobile search overlay ── */
.msearch{position:fixed;inset:0;z-index:1000;background:var(--c-white);display:flex;flex-direction:column;transform:translateY(-100%);opacity:0;transition:transform .3s var(--ease),opacity .2s var(--ease);pointer-events:none}
.msearch--open{transform:translateY(0);opacity:1;pointer-events:auto}
.msearch__header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--c-bdr-l)}
.msearch__input-wrap{flex:1;display:flex;align-items:center;gap:8px;background:var(--c-white);border:2px solid transparent;border-radius:var(--r-f);padding:0 14px;background-image:linear-gradient(var(--c-white),var(--c-white)),var(--c-grad);background-origin:border-box;background-clip:padding-box,border-box}
.msearch__input-wrap svg{width:18px;height:18px;color:var(--c-txt-l);flex-shrink:0}
.msearch__input{flex:1;border:none;background:none;font-family:var(--f-b);font-size:16px;color:var(--c-txt);padding:10px 0;outline:none;-webkit-appearance:none;appearance:none;box-shadow:none}
.msearch__input::placeholder{color:var(--c-txt-l)}
.msearch__input:focus{outline:none;border:none;box-shadow:none}
.msearch__close{font-family:var(--f-h);font-size:.85rem;font-weight:600;color:var(--c-blue);white-space:nowrap;padding:8px 0;flex-shrink:0}
.msearch__results{flex:1;overflow-y:auto;padding:0}
.msearch__results .nav__search-section{padding:12px 16px 6px}
.msearch__results .nav__search-item{padding:10px 16px;gap:12px}
.msearch__results .nav__search-item-img{width:44px;height:44px}
.msearch__results .nav__search-item-name{font-size:.88rem}
.msearch__results .nav__search-empty{padding:40px 20px}

.drawer__actions{display:flex;gap:10px;padding:16px 20px;border-bottom:1px solid var(--c-bdr-l)}
.drawer__action-btn{flex:1;padding:10px;border-radius:var(--r-s);font-family:var(--f-h);font-size:.8rem;font-weight:600;text-align:center}
a.drawer__action-btn--pri,a.drawer__action-btn--pri:visited{background:var(--c-grad);color:#FFF;transition:transform var(--dur) var(--ease),filter var(--dur) var(--ease)}
a.drawer__action-btn--pri:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.08)}
.drawer__action-btn--outline{border:1.5px solid var(--c-bdr);color:var(--c-txt);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.drawer__action-btn--outline:hover{border-color:var(--c-blue);color:var(--c-blue)}

/* ═══════════════════════════════════════
   6. USP
   ═══════════════════════════════════════ */
.usp{background:var(--c-white);padding:32px 0;border-bottom:1px solid var(--c-bdr-l)}
.usp__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.usp__item{display:flex;align-items:center;gap:14px}
.usp__ico{width:46px;height:46px;border-radius:var(--r-m);background:rgba(0,89,255,.06);border:1px solid rgba(0,89,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.usp__ico svg{width:22px;height:22px;color:var(--c-blue)}
.usp__txt h4{font-family:var(--f-h);font-size:.82rem;font-weight:700;color:var(--c-txt);margin-bottom:2px}
.usp__txt p{font-size:.72rem;color:var(--c-txt-m);line-height:1.4}

/* ═══════════════════════════════════════
   7. SECTIONS
   ═══════════════════════════════════════ */
.sec{padding:56px 0}
.sec--alt{background:var(--c-bg);position:relative}
.sec--alt::before{content:'';position:absolute;inset:0;opacity:.3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.03'/%3E%3C/svg%3E")}
.sec__head{text-align:center;margin-bottom:36px}
.sec__title{font-size:1.6rem;font-weight:800;margin-top:8px}
.sec__sub{font-size:.88rem;color:var(--c-txt-m);margin-top:10px;max-width:480px;margin-inline:auto}

/* ═══════════════════════════════════════
   8. CATEGORY CARDS
   ═══════════════════════════════════════ */
.cats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.cat{background:var(--c-white);border-radius:var(--r-l);border:1px solid var(--c-bdr-l);overflow:hidden;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);position:relative}
.cat{transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.cat:hover{box-shadow:0 8px 32px rgba(0,89,255,.1);transform:translateY(-4px);border-color:rgba(0,89,255,.15)}
.cat__img{height:130px;background:var(--c-bg);display:flex;align-items:center;justify-content:center;position:relative}
.cat__img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--c-grad);opacity:0;transition:opacity var(--dur) var(--ease)}
.cat:hover .cat__img::after{opacity:1}
.cat__ph{width:48px;height:48px;border-radius:var(--r-m);background:var(--c-grad-s);display:flex;align-items:center;justify-content:center}
.cat__ph svg{width:22px;height:22px;color:var(--c-blue);opacity:.45}
.cat__body{padding:12px 14px}
.cat__name{font-family:var(--f-h);font-size:.85rem;font-weight:700;margin-bottom:2px}
.cat__count{font-size:.7rem;color:var(--c-txt-m)}
.cat__arrow{position:absolute;bottom:12px;right:12px;width:24px;height:24px;border-radius:50%;background:var(--c-bg);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateX(-4px);transition:all var(--dur) var(--ease)}
.cat:hover .cat__arrow{opacity:1;transform:none;background:var(--c-grad)}
.cat__arrow svg{width:13px;height:13px;color:var(--c-txt-m);stroke-width:2.5}
.cat:hover .cat__arrow svg{color:var(--c-white)}

/* ═══════════════════════════════════════
   10. PRODUCT CARDS
   ═══════════════════════════════════════ */
.prods{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.prod{background:var(--c-white);border-radius:var(--r-l);border:1px solid var(--c-bdr-l);overflow:hidden;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
.prod{transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.prod:hover{box-shadow:0 8px 32px rgba(0,89,255,.1);transform:translateY(-4px);border-color:rgba(0,89,255,.15)}
.prod__img{aspect-ratio:1;background:var(--c-bg);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.prod__img img{width:100%;height:100%;object-fit:contain}
.prod__badge{position:absolute;top:10px;left:10px;padding:3px 8px;border-radius:var(--r-f);font-size:.65rem;font-weight:600;font-family:var(--f-h)}
.prod__badge--new{background:var(--c-green);color:var(--c-navy)}
.prod__badge--sale{background:#FF4747;color:#fff}
.prod__body{padding:12px 14px 16px}
.prod__cat{font-size:.69rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-blue);margin-bottom:4px}
.prod__name{font-family:var(--f-h);font-size:.85rem;font-weight:700;line-height:1.3;margin-bottom:8px}
.prod__price{display:flex;align-items:baseline;gap:4px}
.prod__price-lbl{font-size:.66rem;color:var(--c-txt-m)}
.prod__price-val{font-family:var(--f-h);font-size:1rem;font-weight:800;background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* ═══════════════════════════════════════
   12. LOGOS STRIP
   ═══════════════════════════════════════ */
/* ═══════════════════════════════════════
   12. LOGOS STRIP — Marquee
   ═══════════════════════════════════════ */
.logos{padding:48px 0 40px;border-top:1px solid var(--c-bdr-l);border-bottom:1px solid var(--c-bdr-l);overflow:hidden}
.logos__head{text-align:center;margin-bottom:28px}
.logos__head h3{font-family:var(--f-h);font-size:1.1rem;font-weight:800;color:var(--c-txt);margin-bottom:4px}
.logos__head p{font-size:.78rem;color:var(--c-txt-l);font-weight:500}
.logos__marquee{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.logos__track{display:flex;gap:24px;width:max-content;animation:marquee 30s linear infinite}
.logos__marquee:hover .logos__track{animation-play-state:paused}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.logos__item{flex-shrink:0}
.logos__box{width:160px;height:60px;border:1px solid var(--c-bdr-l);border-radius:var(--r-m);background:var(--c-white);display:flex;align-items:center;justify-content:center;gap:8px;transition:box-shadow var(--dur) var(--ease)}
.logos__box:hover{box-shadow:var(--sh-s)}
.logos__box svg{width:22px;height:22px;color:var(--c-bdr);opacity:.4}
.logos__box span{font-size:.7rem;color:var(--c-txt-l);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.logos__box img{max-width:120px;max-height:40px;object-fit:contain}

/* ═══════════════════════════════════════
   13a. 3D TILT — Apple TV style
   ═══════════════════════════════════════ */
[data-tilt]{transform-style:preserve-3d;will-change:transform;position:relative}
[data-tilt] .tilt-shine{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:10;opacity:0;transition:opacity .3s}
/* Desktop: JS owns transform — kill CSS hover */
@media(hover:hover){
  .cat[data-tilt],.cat[data-tilt]:hover,.prod[data-tilt],.prod[data-tilt]:hover{transition:none !important;transform:none !important;box-shadow:none !important}
}
/* Touch/mobile: gentle press effect */
@media(hover:none){
  [data-tilt]{transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
  [data-tilt]:active{transform:scale(.97);box-shadow:0 2px 8px rgba(14,21,47,.1)}
  [data-tilt] .tilt-shine{display:none}
}

/* ═══════════════════════════════════════
   13c. GRADIENT ACCENT LINES
   ═══════════════════════════════════════ */
.grad-accent{height:3px;border:none;background:var(--c-grad);opacity:.15;margin:0}

/* ═══════════════════════════════════════
   15. FOOTER — Dark navy
   ═══════════════════════════════════════ */
.foot{background:linear-gradient(180deg,#1E2F5E 0%,#1C2B5A 35%,#1C2B5A 65%,#0a0f1e 100%);padding:48px 0 0;padding-bottom:env(safe-area-inset-bottom,0);border-top:none;color:#fff}
.pswp{display:none}
.foot__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot__grid>.foot__col:first-child{grid-column:span 2}
.grad-line--footer{margin-top:48px}
.foot__desc{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.7;margin-top:14px}
.foot__col h4{font-family:var(--f-h);font-size:.78rem;font-weight:700;color:rgba(255,255,255,.9);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.foot__links{display:flex;flex-direction:column;gap:8px}
.foot__links li{list-style:none}
.foot__links a,.foot__links li a,.foot__links a:visited,.foot__links li a:visited{font-size:.85rem;font-weight:400;color:rgba(255,255,255,.5);transition:color var(--dur) var(--ease)}
.foot__links a:hover,.foot__links li a:hover{color:#52FF09}
.foot__nl{margin-top:16px}
.foot__nl-form{display:flex;gap:6px}
.foot__nl-input{flex:1;padding:9px 12px;border-radius:var(--r-s);border:1.5px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;font-size:.8rem;font-family:var(--f-b);outline:none;transition:box-shadow var(--dur) var(--ease)}
.foot__nl-input::placeholder{color:rgba(255,255,255,.35)}
.foot__nl-input:focus{box-shadow:0 0 12px rgba(0,89,255,.1)}

/* CF7 newsletter form in footer */
.foot__nl .wpcf7{width:100%}
/* CF7 global resets */
.wpcf7 .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.wpcf7-form fieldset{border:none;padding:0;margin:0}
.wpcf7-form .wpcf7-spinner{display:none}

.foot__nl .wpcf7-form{width:100%}
.foot__nl .wpcf7-form .flex-row{display:flex;gap:6px;align-items:stretch}
.foot__nl .wpcf7-form .flex-col{margin:0;padding:0}
.foot__nl .wpcf7-form .flex-col.flex-grow{flex:1;min-width:0}
.foot__nl .wpcf7-form .flex-col.ml-half{flex:0 0 auto;margin:0}
.foot__nl .wpcf7-form .flex-col p{margin:0;height:100%}
.foot__nl .wpcf7-form .wpcf7-form-control-wrap{display:block;height:100%}
.foot__nl .wpcf7-form input[type="email"]{width:100%;height:100%;padding:8px 14px;border-radius:var(--r-f);border:2px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;font-size:.8rem;font-family:var(--f-b);outline:none}
.foot__nl .wpcf7-form input[type="email"]::placeholder{color:rgba(255,255,255,.35)}
.foot__nl .wpcf7-form input[type="submit"]{background:var(--c-grad);color:#FFF;border:none;padding:8px 16px;font-family:var(--f-h);font-size:.78rem;font-weight:600;border-radius:var(--r-s);cursor:pointer;white-space:nowrap}
.foot__nl .wpcf7-response-output{font-size:.72rem;padding:4px 8px;margin:6px 0 0;border-radius:var(--r-s)}
.foot__nl .wpcf7-not-valid-tip{font-size:.7rem;color:#FF4747;margin-top:2px}
.foot__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 0}
.foot__copy{font-size:.7rem;color:rgba(255,255,255,.35)}
.foot__legal{display:flex;flex-wrap:wrap;gap:14px}
@media(max-width:767px){.foot__bottom{flex-direction:column;text-align:center;justify-content:center}.foot__legal{justify-content:center}}
.foot__legal a,.foot__legal a:visited{font-size:.7rem;color:rgba(255,255,255,.35);font-weight:400;transition:color var(--dur) var(--ease)}
.foot__legal a:hover{color:#52FF09}

/* ═══════════════════════════════════════
   16. BREAKPOINTS (mobile-first up)
   ═══════════════════════════════════════ */
@media(min-width:640px){
  .cats{grid-template-columns:repeat(3,1fr)}
  .prods{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:768px){
  .wrap{padding:0 32px}
  .nav__inner{height:68px}
  .usp__grid{grid-template-columns:repeat(4,1fr)}
  .sec{padding:72px 0}
  .sec__title{font-size:1.9rem}
  .cats{grid-template-columns:repeat(4,1fr);gap:18px}
  .cat__img{height:160px}
  .prods{grid-template-columns:repeat(4,1fr);gap:18px}
  .foot__grid{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:32px}
  .foot__grid>.foot__col:first-child{grid-column:span 1;padding-right:24px}
}
@media(min-width:1024px){
  .nav__inner{display:grid;grid-template-columns:auto 1fr auto;height:72px;align-items:center;gap:12px}
  .nav__hamburger{display:none}
  .nav__logo{display:flex;height:34px}
  .nav__logo-x{display:none}
  .nav .nav__icon--account{display:flex}
  .nav__links{display:flex;justify-content:center;gap:2px}
  .nav__link{padding:6px 8px}
  .nav__acts{display:flex;align-items:center;gap:12px}
  .nav__search-wrap{display:block;min-width:clamp(120px,15vw,180px);flex-shrink:1}
  .nav .nav__icon--search-mobile{display:none}
  .sec{padding:80px 0}
  .sec__title{font-size:2.1rem}
  .cats{gap:20px}
  .cat__img{height:180px}
  .prods{gap:20px}
}
@media(min-width:1280px){
  .nav__link{padding:6px 14px}
  .nav__search-wrap{min-width:180px}
}

/* ═══════════════════════════════════════
   17. WORDPRESS + WOOCOMMERCE OVERRIDES
   Il CSS di Storefront è rimosso via PHP
   (whitelist in functions.php). Qui si
   stilizzano solo elementi WooCommerce
   e contenitori WP residui.
   ═══════════════════════════════════════ */

/* WP containers residui */
.site-content,.entry-content,.hentry,.content-area{margin:0;padding:0}
.page .entry-content,.single .entry-content{margin:0;padding:0}
#content,#primary{padding:0;width:100%}
.col-full{max-width:1240px;padding:0 20px}
@media(min-width:768px){.col-full{padding:0 32px}}

/* Nascondi elementi Storefront residui */
.site-header,.site-footer,.storefront-breadcrumb,.site-header-cart,.site-header-menu,.storefront-sorting{display:none !important}

/* Link: visited + focus */
a:visited{color:inherit}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--c-blue);outline-offset:2px}

/* Form inputs */
input[type="text"],input[type="email"],input[type="search"],input[type="number"],input[type="url"],input[type="tel"],input[type="password"],textarea,select{font-family:var(--f-b);font-size:1rem;border-radius:var(--r-s);border:1.5px solid var(--c-bdr);padding:10px 14px;background:var(--c-white);color:var(--c-txt);outline:none;transition:border-color var(--dur) var(--ease)}
input:focus,textarea:focus,select:focus{border-color:var(--c-blue)}

/* WooCommerce buttons */
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{font-family:var(--f-h);font-weight:600;border-radius:var(--r-s);border:none;cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
a.button.alt,.button.alt,.woocommerce a.button.alt{background:var(--c-grad);color:#FFF}

/* WooCommerce tables */
table.shop_table{border-collapse:collapse;border-color:var(--c-bdr-l);width:100%}
table.shop_table th{font-family:var(--f-h);font-weight:600;color:var(--c-txt);border-color:var(--c-bdr-l)}
table.shop_table td{border-color:var(--c-bdr-l);padding:12px}

/* WooCommerce notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--c-blue);background:var(--c-bg);padding:16px 24px;margin-bottom:24px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--c-blue)}
.woocommerce-error{border-top-color:#FF4747}

/* WooCommerce pagination */
.woocommerce-pagination .page-numbers li .page-numbers{color:var(--c-txt-m);border-color:var(--c-bdr-l);border-radius:var(--r-s);padding:8px 14px}
.woocommerce-pagination .page-numbers li .page-numbers.current{background:var(--c-grad);color:#FFF;border-color:transparent}

/* WooCommerce product loop */
.woocommerce ul.products,.prods{margin:0;padding:0;list-style:none}
.woocommerce ul.products li.product,.prods li,.prods .prod{margin:0;padding:0;text-align:left;list-style:none}
.woocommerce ul.products li.product::before,.woocommerce ul.products li.product::marker,.prods li::before,.prods li::marker{display:none;content:none}
.woocommerce ul.products li.product .price{color:var(--c-txt);font-family:var(--f-h)}
.woocommerce ul.products li.product a img{margin:0}
.woocommerce .star-rating{color:#F4B740}
p.stars a{color:var(--c-blue)}

/* WooCommerce sorting/ordering */
.woocommerce-result-count{font-family:var(--f-b);font-size:.82rem;color:var(--c-txt-m)}
.woocommerce-ordering select{font-family:var(--f-b);border:1.5px solid var(--c-bdr);border-radius:var(--r-s);padding:8px 12px}

/* ═══════════════════════════════════════
   18. ANIMATIONS
   ═══════════════════════════════════════ */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.stagger>.reveal:nth-child(1){transition-delay:.05s}
.stagger>.reveal:nth-child(2){transition-delay:.1s}
.stagger>.reveal:nth-child(3){transition-delay:.15s}
.stagger>.reveal:nth-child(4){transition-delay:.2s}
.stagger>.reveal:nth-child(5){transition-delay:.25s}
.stagger>.reveal:nth-child(6){transition-delay:.3s}
.stagger>.reveal:nth-child(7){transition-delay:.35s}
.stagger>.reveal:nth-child(8){transition-delay:.4s}
.cat__img .cat__ph,.prod__img .cat__ph{transition:transform .4s var(--ease)}
.cat:hover .cat__img .cat__ph,.prod:hover .prod__img .cat__ph{transform:scale(1.08)}
@keyframes shimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.grad-line--shimmer{background:linear-gradient(90deg,#52FF09,#0059FF,#52FF09);background-size:200% 100%;animation:shimmer 3s linear infinite}
@keyframes glow-pulse{0%,100%{box-shadow:0 4px 24px rgba(0,89,255,.2)}50%{box-shadow:0 4px 36px rgba(0,89,255,.4),0 0 48px rgba(82,255,9,.12)}}
.btn--glow{animation:glow-pulse 3s ease-in-out infinite}

/* ═══════════════════════════════════════
   19. SHOP
   ═══════════════════════════════════════ */

/* Shop header */
.shop-header{background:var(--c-hero-bg);padding:20px 0 16px;border-bottom:1px solid var(--c-bdr-l)}
.shop-header__crumb{font-size:.78rem;color:var(--c-txt-m);margin-bottom:10px}
.shop-header__crumb a{color:var(--c-blue);transition:color var(--dur) var(--ease)}
.shop-header__crumb a:hover{color:var(--c-navy)}
.shop-header__crumb span{margin:0 6px;color:var(--c-txt-l)}
.shop-header__title{font-family:var(--f-h);font-size:1.5rem;font-weight:800;color:var(--c-txt);margin-bottom:4px}
.shop-header__count{font-size:.82rem;color:var(--c-txt-m)}

/* Shop layout */
div.shop.wrap{display:grid !important;grid-template-columns:1fr;gap:0;padding-top:32px;padding-bottom:56px}
div.shop.wrap>*{margin-block:0 !important}
.shop__grid{min-height:400px}
.shop__grid .prods{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;list-style:none}
.shop__grid .prods .prod,.shop__grid .prods li{list-style:none;margin:0;padding:0}
.shop__grid .prods li::marker,.prods li::before{display:none;content:none}

/* Sidebar — mobile drawer by default */
.shop__sidebar{position:fixed;top:0;left:-320px;width:300px;height:100vh;background:var(--c-white);z-index:200;padding:24px;overflow-y:auto;transition:left .3s var(--ease);box-shadow:var(--sh-l)}
.shop__sidebar--open{left:0}
.shop__overlay{display:none;position:fixed;inset:0;background:rgba(28,43,90,.4);z-index:199}
.shop__overlay--visible{display:block}

/* Sidebar header (mobile) */
.shop__sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.shop__sidebar-head h3{font-family:var(--f-h);font-size:1rem;font-weight:700}
.shop__sidebar-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-s);background:var(--c-bg);border:none;cursor:pointer;color:var(--c-txt-m)}
.shop__sidebar-close svg{width:18px;height:18px}

/* Filter groups */
.shop__filter{margin-bottom:24px}
.shop__filter h4{font-family:var(--f-h);font-size:.8rem;font-weight:700;color:var(--c-txt);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--c-bdr-l)}
.shop__filter-list{display:flex;flex-direction:column;gap:2px}
.shop__filter-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--r-s);font-size:.82rem;color:var(--c-txt-m);background:none;border:none;width:100%;text-align:left;cursor:pointer;font-family:var(--f-b);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.shop__filter-item:hover{background:var(--c-bg);color:var(--c-txt)}
.shop__filter-item--active{background:var(--c-grad-s);color:var(--c-blue);font-weight:600}
.shop__filter-count{font-size:.7rem;color:var(--c-txt-l);font-weight:400}

.shop__grid .prod{transition:opacity .25s var(--ease)}

/* Mobile filter toggle FAB */
/* Filter button in shop header (mobile) */
.shop-header__filter{display:none;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--r-f);background:var(--c-blue);color:#FFF;font-family:var(--f-h);font-size:.82rem;font-weight:600;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0}
.shop-header__filter:hover{background:#004ADB}
.shop-header__filter svg{width:18px;height:18px}
.shop-header__row{display:flex;align-items:center;justify-content:space-between;gap:12px}

/* Filter FAB (sticky, bottom-left, hidden by default — shown when header filter scrolls out) */
.shop__filter-fab{position:fixed;bottom:20px;left:20px;z-index:100;display:flex;align-items:center;gap:8px;padding:14px 22px;border-radius:var(--r-f);background:var(--c-blue);color:#FFF;font-family:var(--f-h);font-size:.88rem;font-weight:600;border:none;cursor:pointer;box-shadow:var(--sh-l);transform:translateY(100px);opacity:0;pointer-events:none;transition:transform .3s var(--ease),opacity .3s var(--ease),background var(--dur) var(--ease)}
.shop__filter-fab:hover{background:#004ADB}
.shop__filter-fab svg{width:20px;height:20px}
.shop__filter-fab--visible{transform:translateY(0);opacity:1;pointer-events:auto}

@media(max-width:1023px){
  .shop-header__filter{display:flex}
}

/* Shop responsive */
@media(min-width:640px){
  .shop__grid .prods{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:768px){
  .shop-header__title{font-size:1.8rem}
  .shop-header{padding:24px 0 18px}
}
@media(min-width:1024px){
  div.shop.wrap{display:grid !important;grid-template-columns:260px 1fr !important;gap:32px}
  .shop__sidebar{position:sticky;top:88px;left:auto;width:auto;height:auto;max-height:calc(100vh - 100px);background:transparent;z-index:auto;padding:0;overflow-y:auto;box-shadow:none;transition:none}
  .shop__sidebar-head{display:none}
  .shop__overlay{display:none !important}
  .shop-header__filter{display:none}
  .shop__filter-fab{display:none}
  .shop__grid .prods{grid-template-columns:repeat(4,1fr);gap:18px}
  .shop-header__title{font-size:2rem}
}

/* ═══════════════════════════════════════
   20. PRODUCT PAGE
   ═══════════════════════════════════════ */

/* Breadcrumb */
.breadcrumb{background:var(--c-hero-bg);border-bottom:1px solid var(--c-bdr-l);padding:12px 0}
.breadcrumb__inner{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--c-txt-l);flex-wrap:wrap}
.breadcrumb__inner a{color:var(--c-txt-m);transition:color var(--dur) var(--ease)}
.breadcrumb__inner a:hover{color:var(--c-blue)}
.breadcrumb__sep{opacity:.5}
.breadcrumb__current{color:var(--c-txt);font-weight:500}

/* Product layout */
.product{padding:28px 0 0;border:none}
.product,.product .wrap,.product form.cart,.product .product__grid,.product .product__right,.product .product__left,.product .product__trust{border:none}
.product .product__right > *:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.single-product div.product,.single-product section.product,.single-product .product,.woocommerce div.product{border-bottom:none;border-top:none}
.single-product .product::after{display:none}
.product__grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
.product__left{min-width:0}
.product__right{}

/* Mobile: interleave left/right children */
@media(max-width:767px){
  .product__grid{display:flex;flex-direction:column;gap:20px;align-items:stretch}
  .product__left,.product__right{display:contents}
  /* Right column elements */
  .product__category{order:1}
  .product__title{order:2}
  .product__tiers{order:3}
  .product__price-standard{order:3}
  .product__rating{order:3}
  /* Left column elements */
  .product__gallery{order:4}
  .product__card.product__desc{order:5}
  .product__card.product__options{order:6}
  .product__card.product__upload-card{order:7}
  /* Right column - price/ATC */
  .product__qty{order:8}
  #variantHint{order:8}
  .product__price-preview{order:9}
  .product__cta{order:10}
  .product__cta-note{order:11}
  .product__trust{order:12;flex-wrap:nowrap;width:100%}
  /* Hidden fields */
  input[name="quantity"]{order:10}
  input[name="add-to-cart"]{order:10}
}

/* Gallery */
.product__main-img{background:var(--c-bg);border-radius:var(--r-l);border:1px solid var(--c-bdr-l);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:10px;transition:border-color var(--dur) var(--ease)}
.product__main-img:has(img){aspect-ratio:4/3}
.product__main-img:not(:has(img)){padding:40px;min-height:200px}
.product__main-img svg{width:80px;height:80px;color:var(--c-blue);opacity:.15}
.product__main-img img{width:100%;height:100%;object-fit:contain}
.product__thumbs-wrap{position:relative;overflow:hidden}
.product__thumbs{display:flex;gap:8px;margin-bottom:28px;overflow-x:auto;max-width:100%;scrollbar-width:none;padding-bottom:4px;scroll-behavior:smooth}
.product__thumbs::-webkit-scrollbar{display:none}
.product__thumbs-nav{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--c-white);border:1px solid var(--c-bdr);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:var(--sh-s);color:var(--c-txt);transition:border-color var(--dur) var(--ease)}
.product__thumbs-nav:hover:not(:disabled){border-color:var(--c-blue)}
.product__thumbs-nav:disabled{opacity:.25;cursor:default;pointer-events:none}
.product__thumbs-nav svg{width:14px;height:14px}
.product__thumbs-nav--prev{left:-14px}
.product__thumbs-nav--next{right:-14px}
.product__thumb{width:60px;height:60px;border-radius:var(--r-m);background:var(--c-bg);border:2px solid var(--c-bdr-l);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.product__thumb:hover{border-color:var(--c-bdr)}
.product__thumb.is-active{border:2px solid transparent;background:linear-gradient(var(--c-bg),var(--c-bg)) padding-box,var(--c-grad) border-box;box-shadow:0 0 12px rgba(82,255,9,.12)}
.product__thumb svg{width:24px;height:24px;color:var(--c-blue);opacity:.3}
.product__thumb img{width:100%;height:100%;object-fit:contain}

/* Description card */
.product__card{background:var(--c-white);border:1px solid var(--c-bdr-l);border-radius:var(--r-l);padding:24px;margin-bottom:16px}
.product__card-title{font-family:var(--f-h);font-size:.9rem;font-weight:700;color:var(--c-txt);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.product__card-icon{width:28px;height:28px;border-radius:var(--r-s);background:rgba(0,89,255,.06);border:1px solid rgba(0,89,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.product__card-icon svg{width:14px;height:14px;color:var(--c-blue)}
.product__desc-text{font-size:.88rem;color:var(--c-txt-m);line-height:1.75}
.product__desc-text p{margin-bottom:12px}
.product__desc-text ul{padding-left:18px;list-style:disc;display:flex;flex-direction:column;gap:6px}
.product__desc-text ul li{color:var(--c-txt-m);font-size:.85rem;line-height:1.6}

/* WAPF fields */
.product__field-title{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-txt-l);margin-bottom:10px;display:block}

/* Swatch grid */
.swatch-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:20px}
.swatch-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--c-bdr-l);border-radius:var(--r-m);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);background:var(--c-white)}
.swatch-item:hover{border-color:var(--c-bdr)}
.swatch-item.is-active{border:2px solid transparent;background:linear-gradient(var(--c-white),var(--c-white)) padding-box,var(--c-grad) border-box;box-shadow:0 0 8px rgba(82,255,9,.08)}
.swatch-img{width:48px;height:48px;border-radius:var(--r-s);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:var(--c-white)}
.swatch-info{flex:1;min-width:0}
.swatch-name{font-family:var(--f-h);font-size:.82rem;font-weight:600;color:var(--c-txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.swatch-qty-row{display:flex;align-items:center;gap:6px;margin-top:5px}
.swatch-qbtn{width:24px;height:24px;border-radius:var(--r-s);border:1px solid var(--c-bdr);background:var(--c-white);cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;color:var(--c-txt);transition:border-color var(--dur) var(--ease)}
.swatch-qbtn:hover{border-color:var(--c-blue)}
.swatch-qval{font-family:var(--f-h);font-size:.82rem;font-weight:600;min-width:28px;text-align:center;color:var(--c-txt)}

/* Select field */
.product__select{width:100%;padding:10px 14px;border-radius:var(--r-m);border:1.5px solid var(--c-bdr);background:var(--c-white);font-family:var(--f-b);font-size:.85rem;color:var(--c-txt);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6B8A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.product__select:focus{border-color:var(--c-blue);box-shadow:0 0 12px rgba(0,89,255,.1)}

/* File upload */
.product__upload{background:var(--c-bg);border:2px dashed var(--c-bdr);border-radius:var(--r-l);padding:24px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}
.product__upload:hover{border-color:var(--c-blue);background:rgba(0,89,255,.02)}
.product__upload svg{width:28px;height:28px;color:var(--c-txt-l)}
.product__upload-label{font-family:var(--f-h);font-size:.88rem;font-weight:600;color:var(--c-txt)}
.product__upload-hint{font-size:.75rem;color:var(--c-txt-l)}

/* Category + title */
.product__category{display:none}
.product__title{font-family:var(--f-h);font-size:1.4rem;font-weight:800;color:var(--c-txt);line-height:1.15;margin-bottom:10px}
.product__rating{display:flex;align-items:center;gap:8px;margin-bottom:20px}
.product__stars{color:#F4B740;font-size:.9rem;letter-spacing:1px}
.product__rating-count{font-size:.78rem;color:var(--c-txt-m)}

/* Tiered pricing */
.product__tiers{margin-bottom:20px}
.product__tier-banner{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(82,255,9,.07),rgba(0,89,255,.10));border:1px solid rgba(0,89,255,.12);border-radius:var(--r-s);padding:9px 12px;font-size:.78rem;color:var(--c-txt-m);margin-bottom:10px}
.product__tier-banner svg{width:14px;height:14px;flex-shrink:0;color:var(--c-blue)}
.tier-table{border-collapse:collapse;width:100%}
.tier-table th{text-align:left;padding:8px 14px;font-size:.72rem;font-weight:600;color:var(--c-txt-l);background:var(--c-bg);border:1px solid var(--c-bdr-l);text-transform:uppercase;letter-spacing:.04em}
.tier-table td{padding:8px 14px;font-size:.82rem;border:1px solid var(--c-bdr-l);color:var(--c-txt)}
.tier-table tr.is-active{background:linear-gradient(135deg,rgba(82,255,9,.06),rgba(0,89,255,.08))}
.tier-table tr.is-active td{background:transparent;font-weight:600;color:var(--c-navy)}
.tier-table tr.is-active td:first-child::before{content:'\25B6\00a0';color:var(--c-blue);font-size:.55rem}
.tier-table td a{color:var(--c-blue);font-weight:600;font-size:.8rem;transition:color var(--dur) var(--ease)}
.tier-table td a:hover{color:var(--c-green-dk)}

/* Quantity selector */
.product__qty-input::-webkit-inner-spin-button,.product__qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.product__qty-input{-moz-appearance:textfield}
.product__qty{margin-bottom:16px}
.product__qty-label{font-family:var(--f-h);font-size:.78rem;font-weight:600;color:var(--c-txt);margin-bottom:8px;display:block;text-align:center}
.product__qty-controls{display:flex;align-items:center;gap:0;width:100%}
.product__qty-btn{flex:0 0 48px;height:48px;border:1px solid var(--c-bdr);background:var(--c-white);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;color:var(--c-txt);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}
.product__qty-btn:first-child{border-radius:var(--r-m) 0 0 var(--r-m)}
.product__qty-btn:last-child{border-radius:0 var(--r-m) var(--r-m) 0}
.product__qty-btn:hover{border-color:var(--c-blue);background:var(--c-bg)}
.product__qty-input{flex:1;height:48px;text-align:center;border:1px solid var(--c-bdr);border-left:none;border-right:none;border-radius:0;font-family:var(--f-h);font-size:1rem;font-weight:700;color:var(--c-txt);outline:none;transition:border-color var(--dur) var(--ease)}
.product__qty-input:focus{border-color:var(--c-bdr)}
.product__qty-btn:focus,.product__qty-input:focus{outline:none}

/* Price preview */
.product__price-preview{margin-bottom:16px;padding:16px 18px;background:linear-gradient(135deg,rgba(82,255,9,.06),rgba(0,89,255,.09));border:1px solid rgba(0,89,255,.10);border-radius:var(--r-m)}
.product__pp-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.product__pp-calc{font-size:.82rem;color:var(--c-txt-m);flex:1 1 55%;min-width:0}
.product__pp-calc strong{color:var(--c-txt);font-weight:700}
.product__pp-total{font-family:var(--f-h);font-size:1.8rem;font-weight:800;color:var(--c-txt);line-height:1.1;flex-shrink:0;text-align:right}
@media(max-width:479px){
  .product__pp-row{flex-direction:column;align-items:stretch;gap:6px}
  .product__pp-total{font-size:1.5rem;text-align:left}
}
.product__pp-saving{font-size:.72rem;color:var(--c-green-dk);font-weight:600;margin-top:4px}

/* Variant hint */
.product__variant-hint{display:flex;align-items:center;gap:8px;padding:14px 16px;background:var(--c-bg);border:1px solid var(--c-bdr-l);border-radius:var(--r-m);margin-bottom:16px;font-size:.82rem;color:var(--c-txt-m)}
.product__variant-hint svg{color:var(--c-blue);flex-shrink:0}

/* CTA */
.product__cta{width:100%;padding:15px 24px;font-size:.95rem;border-radius:var(--r-m);margin-bottom:8px}
.product__cta:disabled{opacity:.4;cursor:not-allowed;transform:none !important;filter:none !important}
.product__cta-note{font-size:.72rem;color:var(--c-txt-l);text-align:center;margin-bottom:16px}

/* Trust signals */
.product__trust{display:flex;justify-content:space-between;flex-wrap:nowrap;border:none;padding-bottom:0;margin-bottom:0;margin-top:16px}
.product__trust-item{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--c-txt-m);font-weight:500;white-space:nowrap}
.product__trust-item svg{width:15px;height:15px;color:var(--c-green-dk);flex-shrink:0}

/* WAPF custom styles */
.product__options .wapf-field-label{font-family:var(--f-h);font-size:.8rem;font-weight:700;color:var(--c-txt);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}

/* Fix asterisk with dots */
.product__options abbr,.product__options abbr[title],.product__options .wapf-label-required{text-decoration:none !important;border-bottom:none !important;cursor:default}

/* Swatch grid: 2 columns mobile, 3 columns desktop */
.product__options .wapf-image-swatch-wrapper{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:6px;overflow:hidden}

/* Mobile: collapse swatches — CSS hides 7th+ child when wrapper has .nx-collapsed */
/* With hidden input as child 1, children 2-7 = swatches 1-6, child 8+ = swatch 7+ */
@media(max-width:767px){
  .wapf-image-swatch-wrapper.nx-collapsed .wapf-swatch:nth-child(n+8){display:none !important}
}
.nx-swatch-toggle{display:none;width:100%;padding:10px 0;margin-top:16px;font-family:var(--f-h);font-size:.82rem;font-weight:600;color:var(--c-blue);text-align:center;cursor:pointer;border:1.5px solid var(--c-bdr);border-radius:var(--r-s);background:var(--c-white);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.nx-swatch-toggle:hover{background:var(--c-bg);border-color:var(--c-blue)}
@media(max-width:767px){
  .nx-swatch-toggle{display:block}
}

/* Individual swatch card — vertical layout on mobile, horizontal on larger screens */
.product__options .wapf-swatch{border:1.5px solid var(--c-bdr-l) !important;border-radius:var(--r-s) !important;padding:6px !important;cursor:pointer;background:var(--c-white) !important;display:flex !important;flex-direction:column !important;align-items:center !important;gap:4px;transition:border-color var(--dur) var(--ease);overflow:hidden;min-width:0}
.product__options .wapf-swatch img{justify-self:center}
.product__options .wapf-swatch-label{}
.product__options .wapf-qty.apf-plusmin{}
.product__options .wapf-swatch:hover{border-color:var(--c-blue) !important}
.product__options .wapf-swatch--selected{border-color:var(--c-blue) !important;background:rgba(0,89,255,.03) !important}

/* Swatch images — larger, left side */
.product__options .wapf-swatch img{width:52px !important;height:52px !important;object-fit:contain !important;border-radius:var(--r-s);flex-shrink:0}

/* Qty controls centered */
.product__options .wapf-qty.apf-plusmin{display:flex !important;align-items:center !important;gap:4px;justify-content:center !important;font-size:0 !important}
.product__options .wapf-qty .apf-plus,.product__options .wapf-qty .apf-minus{width:28px !important;height:28px !important;border-radius:var(--r-s) !important;border:1px solid var(--c-bdr) !important;background:var(--c-white) !important;cursor:pointer;font-size:1rem !important;display:flex !important;align-items:center !important;justify-content:center !important;color:var(--c-txt) !important}
.product__options .wapf-qty .apf-plus:hover,.product__options .wapf-qty .apf-minus:hover{border-color:var(--c-blue) !important}

/* Qty input visible with number */
.product__options input.wapf-input.is-qty{width:48px !important;height:28px !important;text-align:center !important;border:1px solid var(--c-bdr) !important;border-radius:var(--r-s) !important;font-family:var(--f-h) !important;font-size:.82rem !important;font-weight:700 !important;color:var(--c-txt) !important;background:var(--c-white) !important;padding:0 !important;-moz-appearance:textfield !important}
.product__options input.wapf-input.is-qty::-webkit-inner-spin-button,.product__options input.wapf-input.is-qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Color name label — centered in right side */
.product__options .wapf-swatch-label{font-family:var(--f-h) !important;font-size:.78rem !important;font-weight:600 !important;color:var(--c-txt) !important;text-align:center;align-self:center;justify-self:center}

/* WAPF non-swatch fields (text, select, checkbox, paragraph) */
.product__options .wapf-field-container{margin-bottom:16px}
.product__options .wapf-field-container:last-child{margin-bottom:0}
.product__options .wapf-field-description{font-size:.78rem;color:var(--c-txt-m);margin-bottom:14px;line-height:1.5}
.product__options .wapf-field-select select,.product__options .wapf-field-text input{width:100% !important;padding:10px 14px !important;border:1.5px solid var(--c-bdr) !important;border-radius:var(--r-s) !important;font-family:var(--f-b) !important;font-size:.85rem !important;color:var(--c-txt) !important;background:var(--c-white) !important}
.product__options .wapf-field-select select:focus,.product__options .wapf-field-text input:focus{border-color:var(--c-blue) !important}
.product__options .wapf-checkbox{display:flex;align-items:center;gap:8px}
.product__options .wapf-checkbox input[type="checkbox"]{width:18px;height:18px;accent-color:var(--c-blue)}
.product__options .wapf-label-text{font-size:.85rem;color:var(--c-txt)}
.product__options .wapf-field-p .wapf-field-input div{font-size:.8rem;color:var(--c-txt-m);line-height:1.6;padding:12px 14px;background:var(--c-bg);border-radius:var(--r-s);border:1px solid var(--c-bdr-l)}

/* WAPF number field (Tipo B — manifesti) */
.product__options .wapf-field-number .apf-plusmin{display:flex !important;align-items:center !important;gap:6px}
.product__options .wapf-field-number .apf-plus,.product__options .wapf-field-number .apf-minus{width:36px !important;height:36px !important;border-radius:var(--r-s) !important;border:1px solid var(--c-bdr) !important;background:var(--c-white) !important;cursor:pointer;display:flex !important;align-items:center !important;justify-content:center !important;color:var(--c-txt) !important}
.product__options .wapf-field-number .apf-plus:hover,.product__options .wapf-field-number .apf-minus:hover{border-color:var(--c-blue) !important}
.product__options .wapf-field-number .wapf-input{width:80px !important;height:36px !important;text-align:center !important;border:1px solid var(--c-bdr) !important;border-radius:var(--r-s) !important;font-family:var(--f-h) !important;font-size:.9rem !important;font-weight:700 !important;color:var(--c-txt) !important}

/* WAPF conditional fields (hidden by default) */
.product__options .wapf-hide{display:none !important}

/* Hide WAPF totals */
.product__options .wapf-product-totals{display:none !important}

/* WAPF upload / dropzone area */
.product__options .dzone,.product__options [id*="wapf-dz"],.product__upload-card .dzone,.product__upload-card [id*="wapf-dz"]{border:2px dashed var(--c-bdr) !important;border-radius:var(--r-m) !important;padding:24px !important;text-align:center;background:var(--c-bg) !important;min-height:120px !important;width:100% !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;cursor:pointer;transition:border-color var(--dur) var(--ease)}
.product__options .dzone:hover,.product__upload-card .dzone:hover{border-color:var(--c-blue) !important}
.product__options .dz-message,.product__upload-card .dz-message{font-family:var(--f-b);font-size:.85rem;color:var(--c-txt-m)}
.product__upload-card .wapf-field-label{font-family:var(--f-h);font-size:.8rem;font-weight:700;color:var(--c-txt);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}
.product__upload-card abbr,.product__upload-card abbr[title]{text-decoration:none !important;border-bottom:none !important}

/* Related section */
.product__related{border-top:none;position:relative}
.product__related-wrap{position:relative}
.product__related .prods{display:flex !important;gap:14px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;padding:24px 0 32px;-webkit-overflow-scrolling:touch}
.product__related .prods::-webkit-scrollbar{display:none}
.product__related .prod{width:calc((100% - 56px) / 5);min-width:calc((100% - 56px) / 5);flex-shrink:0;display:flex;flex-direction:column}
.product__related .prod__img{height:180px;flex-shrink:0}
@media(max-width:767px){
  .product__related .prod{width:calc((100% - 14px) / 2);min-width:calc((100% - 14px) / 2)}
  .product__related .prod__img{height:140px}
}
.product__related .prod__body{flex:1;display:flex;flex-direction:column}
.product__related .prod__name{flex:1}
.product__related-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:var(--c-white);border:1px solid var(--c-bdr);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:var(--sh-m);color:var(--c-txt);transition:border-color var(--dur) var(--ease)}
.product__related-nav:hover:not(:disabled){border-color:var(--c-blue)}
.product__related-nav:disabled{opacity:.25;cursor:default;pointer-events:none}
.product__related-nav svg{width:16px;height:16px}
.product__related-nav--prev{left:4px}
.product__related-nav--next{right:4px}
@media(min-width:768px){
  .product__related-nav--prev{left:-18px}
  .product__related-nav--next{right:-18px}
}

/* ═══════════════════════════════════════
   21. PRODUCT BREAKPOINTS
   ═══════════════════════════════════════ */
@media(min-width:480px){
  .swatch-grid{grid-template-columns:repeat(2,1fr)}
  .product__title{font-size:1.5rem}
  .product__options .wapf-image-swatch-wrapper{grid-template-columns:repeat(3,1fr) !important}
  .product__options .wapf-swatch{flex-direction:row !important;align-items:center !important;padding:8px !important}
  .product__options .wapf-swatch img{width:64px !important;height:64px !important}
}
/* Mobile price mini-bar (appears when tier table scrolls out) */
/* Mobile mini-price bar */
.product__mini-price{display:none;position:fixed;top:var(--nav-h,64px);left:0;right:0;z-index:99;background:var(--c-white);border-bottom:1px solid var(--c-bdr-l);padding:8px 20px;box-shadow:var(--sh-s);transform:translateY(-100%);transition:transform .25s var(--ease)}
.product__mini-price--visible{transform:translateY(0)}
.product__mini-price__inner{display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:0 auto}
.product__mini-price__name{font-family:var(--f-h);font-size:.88rem;font-weight:600;color:var(--c-txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}
.product__mini-price__val{font-family:var(--f-h);font-size:1.1rem;font-weight:800;color:var(--c-txt);white-space:nowrap;background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:transform .3s var(--ease)}
@keyframes miniPricePulse{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}
.product__mini-price__val--changed{animation:miniPricePulse .5s var(--ease)}
.admin-bar .product__mini-price{top:calc(var(--nav-h,64px) + 32px)}
@media(max-width:767px){.product__mini-price{display:block}}
@media(min-width:768px){
  .product__mini-price{display:none}
  .product__grid{display:grid;grid-template-columns:1fr 380px;gap:32px}
  .product__left,.product__right{display:block}
  .product__right{position:sticky;top:88px;align-self:start}
  .admin-bar .product__right{top:120px}
  .product__title{font-size:1.6rem}
  .product__main-img{aspect-ratio:4/3}
  .product__thumb{width:68px;height:68px}
}
@media(min-width:1024px){
  .product__grid{gap:48px}
}

/* ═══════════════════════════════════════
   22. CART PAGE
   ═══════════════════════════════════════ */

/* Hide Storefront defaults on cart page */
.woocommerce-cart .entry-title,
.woocommerce-cart .woocommerce-products-header__title,
.woocommerce-cart .page-title,
.woocommerce-cart #secondary,
.woocommerce-cart .widget-area,
.woocommerce-cart .storefront-breadcrumb,
.woocommerce-cart .woocommerce-breadcrumb,
.woocommerce-cart .cart_totals,
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-cart .actions,
.woocommerce-cart input[name="update_cart"],
.woocommerce-cart .coupon:not(.cart__coupon),
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .woocommerce > .woocommerce-cart-form > .shop_table,
.woocommerce-cart .woocommerce > a[href*="cart"],
.woocommerce-cart .return-to-shop,
.woocommerce-cart .woocommerce > p > a,
.woocommerce-cart .woocommerce-message a.button{display:none}
.woocommerce-cart .entry-content > .woocommerce > *:not(.woocommerce-notices-wrapper):not(.woocommerce-cart-form):not(.cart-header):not(.grad-line):not(.cart-empty):not(.cart__cross){display:none}
.woocommerce-cart .edit-link{display:none}
.woocommerce-cart #secondary{display:none}

/* Hide WC success notices globally (replaced by cart icon animation) */
.woocommerce-message{display:none}

/* Cart icon bounce animation on add-to-cart */
@keyframes cartBounce{0%{transform:scale(1)}15%{transform:scale(1.5)}30%{transform:scale(.85)}45%{transform:scale(1.25)}60%{transform:scale(.95)}80%{transform:scale(1.1)}100%{transform:scale(1)}}
@keyframes badgePop{0%{transform:scale(1);background:var(--c-blue)}30%{transform:scale(1.6);background:var(--c-green)}60%{transform:scale(.9);background:var(--c-green)}100%{transform:scale(1);background:var(--c-blue)}}
.nav__icon--cart.is-bouncing,.nx-just-added .nav__icon--cart{animation:cartBounce .8s var(--ease) .3s both}
.nav__badge.is-pop,.nx-just-added .nav__badge{animation:badgePop .8s var(--ease) .3s both}

/* Toast conferma aggiunta carrello */
@keyframes toastIn{0%{transform:translateY(-20px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes toastOut{0%{opacity:1}100%{opacity:0}}
.nx-toast{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:1000;background:var(--c-navy);color:#FFF;padding:12px 24px;border-radius:var(--r-m);font-family:var(--f-h);font-size:.85rem;font-weight:600;box-shadow:var(--sh-l);animation:toastIn .3s var(--ease),toastOut .3s var(--ease) 2.5s forwards;pointer-events:none}
.woocommerce-cart #primary{width:100%;float:none;margin:0;padding:0}
.woocommerce-cart .hentry{margin:0;padding:0}
.woocommerce-cart .entry-content{margin:0;padding:0}
.woocommerce-cart .site-main{margin:0;padding:0}

/* Header */
.cart-header{background:var(--c-hero-bg);padding:20px 0 16px;border-bottom:1px solid var(--c-bdr-l)}
.cart-header__crumb{font-size:.78rem;color:var(--c-txt-m);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.cart-header__crumb a{color:var(--c-txt-m);transition:color var(--dur) var(--ease)}
.cart-header__crumb a:hover{color:var(--c-blue)}
.cart-header__title{font-family:var(--f-h);font-size:1.5rem;font-weight:800;color:var(--c-txt);letter-spacing:-.04em}
.cart-header__count{font-size:.85rem;color:var(--c-txt-m);margin-top:2px}

/* Empty cart */
.cart-empty{text-align:center;padding:64px 20px}
.cart-empty__icon{width:80px;height:80px;color:var(--c-txt-l);opacity:.25;margin:0 auto 20px;display:block}
.cart-empty__title{font-family:var(--f-h);font-size:1.3rem;font-weight:700;color:var(--c-txt);margin-bottom:8px}
.cart-empty__sub{font-size:.9rem;color:var(--c-txt-m);margin-bottom:24px;max-width:360px;margin-left:auto;margin-right:auto}

/* Layout */
.cart__layout{display:grid;grid-template-columns:1fr;gap:24px;padding-top:32px;padding-bottom:56px}

/* Cart rows */
.cart__row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:20px 0;border-bottom:1px solid var(--c-bdr-l)}
.cart__row:first-child{padding-top:0}

.cart__row-img{width:80px;height:80px;border-radius:var(--r-m);background:var(--c-bg);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.cart__row-img img{width:100%;height:100%;object-fit:contain}
.cart__row-img svg{width:32px;height:32px;color:var(--c-txt-l)}

.cart__row-info{flex:1;min-width:0}
.cart__row-name{font-family:var(--f-h);font-size:.88rem;font-weight:600;color:var(--c-txt);display:block;margin-bottom:4px;transition:color var(--dur) var(--ease)}
.cart__row-name:hover{color:var(--c-blue)}
.cart__row-meta{display:flex;flex-wrap:wrap;gap:4px 6px;margin-bottom:6px}
.cart__row-meta-item{font-size:.72rem;color:var(--c-txt-m);background:var(--c-bg);padding:2px 8px;border-radius:var(--r-f)}
.cart__row-qty{display:none}

.cart__row-prices{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end}
.cart__row-price-line{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;flex:1 1 auto}
.cart__row-subtotal{font-family:var(--f-h);font-size:.95rem;font-weight:700;color:var(--c-txt)}
.cart__row-addon{font-size:.68rem;color:var(--c-txt-l);margin-top:1px;font-style:italic}

/* Qty wrap: selector + unit price below */
.cart__row-qty-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.cart__row-unit{font-size:.78rem;font-weight:500;color:var(--c-txt-m);transition:color .3s var(--ease)}
@keyframes priceFlashDown{0%{color:var(--c-green-dk)}100%{color:var(--c-txt-m)}}
@keyframes priceFlashUp{0%{color:#FF4747}100%{color:var(--c-txt-m)}}
.cart__row-unit--better{animation:priceFlashDown 1.5s var(--ease)}
.cart__row-unit--worse{animation:priceFlashUp 1.5s var(--ease)}

/* Qty editor (Tipo B) — inside prices column */
.cart__row-qty-edit{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-bottom:4px}
.cart__qty-btn{width:24px;height:24px;border-radius:4px;border:1px solid var(--c-bdr);background:var(--c-white);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--c-txt);transition:border-color var(--dur) var(--ease);flex-shrink:0;padding:0}
.cart__qty-btn:hover{border-color:var(--c-blue);color:var(--c-blue)}
.cart__qty-input{width:64px;height:28px;text-align:center;border:1px solid var(--c-bdr);border-radius:4px;font-family:var(--f-h);font-size:.75rem;font-weight:700;color:var(--c-txt);-moz-appearance:textfield;padding:0}
.cart__qty-input::-webkit-inner-spin-button,.cart__qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cart__qty-input:focus{outline:none;border-color:var(--c-blue)}

.cart__row-remove{width:36px;height:36px;min-width:36px;border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;color:var(--c-txt-l);transition:color var(--dur) var(--ease),background var(--dur) var(--ease);flex-shrink:0}
.cart__row-remove:hover{color:#FF4747;background:rgba(255,71,71,.06)}
.cart__row-remove svg{width:18px;height:18px}

/* Coupon */
.cart__coupon{padding:20px 0 0;margin-top:4px}
.cart__coupon-label{font-size:.82rem;font-weight:600;color:var(--c-txt);display:block;margin-bottom:8px}
.cart__coupon-form{display:flex;gap:8px}
.cart__coupon-input{flex:1;padding:10px 14px;border:1.5px solid var(--c-bdr);border-radius:var(--r-s);font-family:var(--f-b);font-size:.85rem;color:var(--c-txt);background:var(--c-white);transition:border-color var(--dur) var(--ease)}
.cart__coupon-input:focus{outline:none;border-color:var(--c-blue)}
.cart__coupon-input::placeholder{color:var(--c-txt-l)}
.cart__coupon-applied{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cart__coupon-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:rgba(82,255,9,.08);border:1px solid rgba(82,255,9,.2);border-radius:var(--r-f);font-size:.78rem;font-weight:600;color:var(--c-green-dk)}
.cart__coupon-remove{color:var(--c-txt-m);font-size:1rem;line-height:1;transition:color var(--dur) var(--ease)}
.cart__coupon-remove:hover{color:#FF4747}

/* Totals sidebar */
.cart__totals{background:var(--c-white);border:1.5px solid var(--c-bdr-l);border-radius:var(--r-l);padding:24px}
.cart__totals h3{font-family:var(--f-h);font-size:1rem;font-weight:700;color:var(--c-txt);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--c-bdr-l)}
.cart__totals-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.88rem;color:var(--c-txt-m)}
.cart__totals-row--discount span:last-child{color:var(--c-green-dk);font-weight:600}
.cart__totals-shipping{font-size:.82rem;color:var(--c-txt-l)}
.cart__totals-hr{border:none;border-top:1px solid var(--c-bdr-l);margin:8px 0}
.cart__totals-row--total{font-family:var(--f-h);font-size:1.1rem;font-weight:700;color:var(--c-txt);padding-top:12px}
.cart__totals-saving{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 14px;background:rgba(82,255,9,.06);border:1px solid rgba(82,255,9,.18);border-radius:var(--r-m);font-size:.8rem;color:var(--c-green-dk);line-height:1.5}
.cart__totals-saving svg{width:16px;min-width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--c-green-dk)}
/* Cart loading overlay */
#nx-cart-loading{display:none;position:fixed;inset:0;z-index:997;background:rgba(255,255,255,.7);align-items:center;justify-content:center;flex-direction:column;gap:12px;font-family:var(--f-h);font-size:.88rem;font-weight:600;color:var(--c-txt)}
.nx-cart-loading__spinner{width:28px;height:28px;border:3px solid var(--c-bdr);border-top-color:var(--c-blue);border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.cart__checkout-btn{width:100%;margin-top:16px;margin-bottom:10px;padding:15px 24px;font-size:.95rem;border-radius:var(--r-m)}
.cart__continue{display:block;text-align:center;font-size:.82rem;color:var(--c-txt-m);transition:color var(--dur) var(--ease)}
.cart__continue:hover{color:var(--c-blue)}

/* Cross-sell (same card style as product__related) */
.cart__cross{border-top:1px solid var(--c-bdr-l)}
.cart__cross .prods{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;padding-bottom:4px}
.cart__cross .prods::-webkit-scrollbar{display:none}
.cart__cross .prod{width:220px;min-width:220px;flex-shrink:0;display:flex;flex-direction:column}
.cart__cross .prod__img{height:180px;flex-shrink:0}
.cart__cross .prod__body{flex:1;display:flex;flex-direction:column}
.cart__cross .prod__name{flex:1}

/* ═══════════════════════════════════════
   23. MINI-CART DRAWER
   ═══════════════════════════════════════ */
.minicart-overlay{position:fixed;inset:0;background:rgba(28,43,90,.4);z-index:998;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}
.minicart-overlay--open{opacity:1;visibility:visible}

.minicart{position:fixed;top:0;right:-100%;width:100%;max-width:380px;height:100vh;height:100dvh;background:var(--c-white);z-index:999;display:flex;flex-direction:column;transition:right .3s var(--ease);box-shadow:var(--sh-l)}
.minicart--open{right:0}

.minicart__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--c-bdr-l);flex-shrink:0}
.minicart__head h3{font-family:var(--f-h);font-size:1rem;font-weight:700;color:var(--c-txt);display:flex;align-items:center;gap:4px}
.minicart__count{font-size:.82rem;color:var(--c-txt-m);font-weight:400}
.minicart__close{width:36px;height:36px;border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;color:var(--c-txt-m);transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}
.minicart__close:hover{color:var(--c-txt);background:var(--c-bg)}
.minicart__close svg{width:20px;height:20px}

.minicart__body{flex:1;overflow-y:auto;padding:0}

.minicart__item{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid var(--c-bdr-l);position:relative;transition:opacity var(--dur) var(--ease)}
.minicart__item-img{width:60px;height:60px;border-radius:var(--r-s);background:var(--c-bg);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.minicart__item-img img{width:100%;height:100%;object-fit:contain}
.minicart__item-img svg{width:24px;height:24px;color:var(--c-txt-l)}

.minicart__item-info{flex:1;min-width:0}
.minicart__item-name{font-family:var(--f-h);font-size:.82rem;font-weight:600;color:var(--c-txt);display:block;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--dur) var(--ease)}
.minicart__item-name:hover{color:var(--c-blue)}
.minicart__item-meta{font-size:.72rem;color:var(--c-txt-l);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.minicart__item-qty{font-size:.75rem;color:var(--c-txt-m);margin-top:2px}

.minicart__item-price{font-family:var(--f-h);font-size:.85rem;font-weight:700;color:var(--c-txt);flex-shrink:0;text-align:right;padding-right:28px}

.minicart__item-remove{position:absolute;top:14px;right:16px;width:24px;height:24px;border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;color:var(--c-txt-l);opacity:0;transition:opacity var(--dur) var(--ease),color var(--dur) var(--ease)}
.minicart__item-remove svg{width:14px;height:14px}
.minicart__item:hover .minicart__item-remove{opacity:1}
.minicart__item-remove:hover{color:#FF4747}

/* Footer */
.minicart__footer{padding:16px 20px;border-top:1px solid var(--c-bdr-l);flex-shrink:0}
.minicart__subtotal{display:flex;justify-content:space-between;margin-bottom:14px;font-size:.88rem;color:var(--c-txt-m)}
.minicart__subtotal-val{font-family:var(--f-h);font-weight:700;color:var(--c-txt)}
.minicart__actions{display:flex;flex-direction:column;gap:8px}
.minicart__btn{width:100%;text-align:center;padding:12px 16px;font-size:.85rem;border-radius:var(--r-s)}

/* Outline button variant */
.btn--outline{border:1.5px solid var(--c-bdr);color:var(--c-txt);background:transparent;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.btn--outline:hover{border-color:var(--c-blue);color:var(--c-blue)}

/* Small button variant */
.btn--sm{padding:8px 16px;font-size:.8rem}

/* Large button variant */
.btn--lg{padding:15px 28px;font-size:.95rem;border-radius:var(--r-m)}

/* Empty state */
.minicart__empty{display:none;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px 20px;text-align:center}
.minicart--empty .minicart__body,.minicart--empty .minicart__footer{display:none}
.minicart--empty .minicart__empty{display:flex}
.minicart__empty-icon{width:60px;height:60px;color:var(--c-txt-l);opacity:.25;margin-bottom:16px}
.minicart__empty-text{font-family:var(--f-h);font-size:.95rem;font-weight:600;color:var(--c-txt);margin-bottom:6px}
.minicart__empty-sub{font-size:.82rem;color:var(--c-txt-m);margin-bottom:20px}

/* ═══════════════════════════════════════
   24. CART BREAKPOINTS
   ═══════════════════════════════════════ */
/* Mobile cart: stack layout */
@media(max-width:479px){
  .cart__row{position:relative;padding-right:36px}
  .cart__row-img{width:60px;height:60px}
  .cart__row-info{flex:1 1 calc(100% - 76px);min-width:0}
  .cart__row-meta-item{font-size:.68rem}
  .cart__row-prices{flex:1 1 100%;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;margin-top:8px}
  .cart__row-prices .cart__row-qty-wrap{flex:0 0 auto}
  .cart__row-prices .cart__row-subtotal{flex:0 0 auto;font-size:.9rem}
  .cart__row-prices .cart__row-addon{flex:1 1 100%;text-align:right}
  .cart__row-remove{position:absolute;top:20px;right:0}
}
@media(min-width:480px){
  .cart__row-img{width:90px;height:90px}
}
@media(min-width:640px){
  .minicart{max-width:380px}
}
@media(min-width:768px){
  .cart-header__title{font-size:1.8rem}
  .cart-header{padding:24px 0 18px}
  .cart__row-img{width:100px;height:100px}
}
@media(min-width:1024px){
  .cart__layout{grid-template-columns:1fr 360px;gap:32px}
  .cart__totals{position:sticky;top:88px;align-self:start}
  .admin-bar .cart__totals{top:120px}
  .cart-header__title{font-size:2rem}
}

/* Touch: always show remove on mobile */
@media(hover:none){
  .minicart__item-remove{opacity:1}
}
/* Prevent iOS zoom on input focus (16px minimum) + double-tap zoom */
.woocommerce input.input-text,.woocommerce select,.woocommerce textarea,.woocommerce .form-row input,.woocommerce .form-row select{font-size:1rem}
button,a,.btn,.cart__qty-btn,.product__qty-btn,.apf-plus,.apf-minus,.wapf-swatch,.nx-swatch-toggle,.nav__icon,.nav__hamburger{touch-action:manipulation}

/* ═══════════════════════════════════════
   25. CHECKOUT
   ═══════════════════════════════════════ */

/* Hide Storefront defaults on checkout */
.woocommerce-checkout .entry-title,
.woocommerce-checkout #secondary,
.woocommerce-checkout .edit-link,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .storefront-breadcrumb,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout form.login,
.woocommerce-form-coupon-toggle,
.checkout__step-body h3,
.checkout__step-body .woocommerce-billing-fields > h3,
.checkout__step-body .woocommerce-shipping-fields > h3,
.checkout__step-body #ship-to-different-address-checkbox,
.checkout__step-body .woocommerce-additional-fields__field-wrapper,
.checkout__step-body .woocommerce-additional-fields,
.woocommerce-checkout .select2-container,
.woocommerce-checkout .optional{display:none}
.woocommerce-checkout #primary{width:100%;float:none;margin:0;padding:0}
.woocommerce-checkout .hentry,.woocommerce-checkout .entry-content,.woocommerce-checkout .site-main{margin:0;padding:0}
wc-order-attribution-inputs{display:none}


/* Header */
.checkout-header{background:var(--c-hero-bg);padding:20px 0 16px;border-bottom:1px solid var(--c-bdr-l)}

/* Layout */
.checkout__layout{display:grid;grid-template-columns:1fr;gap:24px;padding-top:32px;padding-bottom:56px}

/* Accordion steps */
.checkout__steps,.checkout__summary{min-width:0}
.checkout__step{border:1.5px solid var(--c-bdr-l);border-radius:var(--r-l);overflow:hidden;margin-bottom:12px;transition:border-color var(--dur) var(--ease)}
.checkout__step--active{border-color:var(--c-blue)}

.checkout__step-header{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;user-select:none;transition:background var(--dur) var(--ease)}
.checkout__step--complete .checkout__step-header:hover{background:var(--c-bg)}
.checkout__step--disabled .checkout__step-header{cursor:default;opacity:.5}

.checkout__step-number{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-h);font-size:.78rem;font-weight:700;flex-shrink:0;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.checkout__step--active .checkout__step-number{background:var(--c-blue);color:#FFF}
.checkout__step--complete .checkout__step-number{background:var(--c-green);color:#FFF}
.checkout__step--disabled .checkout__step-number{background:var(--c-bg);color:var(--c-txt-l)}

.checkout__step-title{font-family:var(--f-h);font-size:.92rem;font-weight:700;color:var(--c-txt);flex:1}
.checkout__step--disabled .checkout__step-title{color:var(--c-txt-l)}

.checkout__step-edit{font-size:.78rem;font-weight:600;color:var(--c-blue);display:none}
.checkout__step--complete .checkout__step-edit{display:block}

/* Step summary (visible when collapsed + complete) */
.checkout__step-summary{display:none;padding:0 20px 14px 60px;font-size:.82rem;color:var(--c-txt-m);line-height:1.5}
.checkout__step--complete:not(.checkout__step--active) .checkout__step-summary{display:block}

/* Step body */
.checkout__step-body{display:none;padding:0 16px 16px 16px}
.checkout__step--active .checkout__step-body{display:block}

/* Continue button */
.checkout__continue{margin-top:20px;padding:13px 32px;font-size:.88rem}

/* Form fields */
.checkout__fields .woocommerce-billing-fields__field-wrapper,
.checkout__shipping-fields .woocommerce-shipping-fields__field-wrapper{display:flex;flex-wrap:wrap;gap:12px}
.checkout__fields .form-row,
.checkout__shipping-fields .form-row{margin:0;flex:1 1 100%;min-width:0}
.checkout__fields .form-row-first,
.checkout__shipping-fields .form-row-first{flex:1 1 100%}
.checkout__fields .form-row-last,
.checkout__shipping-fields .form-row-last{flex:1 1 100%}

.checkout__fields label,
.checkout__shipping-fields label,
.checkout__order-notes label{font-family:var(--f-h);font-size:.8rem;font-weight:600;color:var(--c-txt);display:block;margin-bottom:4px}
.checkout__optional{font-weight:400;color:var(--c-txt-l);font-size:.75rem}
.checkout__fields abbr[title]{text-decoration:none;border:none;color:var(--c-blue)}

.checkout__fields input[type="text"],
.checkout__fields input[type="email"],
.checkout__fields input[type="tel"],
.checkout__fields input[type="number"],
.checkout__fields input[type="password"],
.checkout__fields select,
.checkout__fields textarea,
.checkout__shipping-fields input,
.checkout__shipping-fields select,
.checkout__textarea{width:100%;max-width:100%;padding:10px 14px;border:1.5px solid var(--c-bdr);border-radius:var(--r-s);font-family:var(--f-b);font-size:.85rem;color:var(--c-txt);background:var(--c-white);transition:border-color var(--dur) var(--ease);box-sizing:border-box}
.checkout__fields input:focus,
.checkout__fields select:focus,
.checkout__shipping-fields input:focus,
.checkout__shipping-fields select:focus,
.checkout__textarea:focus{outline:none;border-color:var(--c-blue)}
.checkout__fields input::placeholder,
.checkout__textarea::placeholder{color:var(--c-txt-l)}

/* Validation error */
.checkout__fields .woocommerce-invalid input,
.checkout__fields .woocommerce-invalid select{border-color:#FF4747}

/* Ship to different checkbox */
.checkout__ship-toggle{margin-top:16px;padding-top:16px;border-top:1px solid var(--c-bdr-l)}
.checkout__checkbox-label{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;color:var(--c-txt);cursor:pointer}
.checkout__checkbox{width:18px;height:18px;accent-color:var(--c-blue);flex-shrink:0}

/* Shipping same address message */
.checkout__same-address{font-size:.85rem;color:var(--c-txt-m);padding:12px 0}

/* Order notes */
.checkout__order-notes{margin-top:24px;padding-top:24px;border-top:1px solid var(--c-bdr-l)}
.checkout__textarea{resize:vertical;min-height:80px}

/* Business fields toggle */
.nx-field-business,.nx-field-cf{transition:opacity var(--dur) var(--ease)}

/* WC Create Account checkbox */
.checkout__step-body .woocommerce-account-fields{margin-top:16px;padding:14px 16px;background:var(--c-bg);border-radius:var(--r-m);border:1px solid var(--c-bdr-l)}
.checkout__step-body .create-account label{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;color:var(--c-txt);cursor:pointer}
.checkout__step-body .create-account input[type="checkbox"]{width:18px;height:18px;accent-color:var(--c-blue);flex-shrink:0}
.checkout__step-body .create-account .woocommerce-form__label-for-checkbox{font-family:var(--f-h);font-size:.85rem}
.checkout__step-body .create-account p{font-size:.78rem;color:var(--c-txt-m);margin-top:6px;line-height:1.5}

/* Payment */
.checkout__step[data-step="3"] .wc_payment_methods{list-style:none;padding:0}
.checkout__step[data-step="3"] .wc_payment_method{border:1.5px solid var(--c-bdr-l);border-radius:var(--r-m);margin-bottom:8px;transition:border-color var(--dur) var(--ease)}
.checkout__step[data-step="3"] .wc_payment_method.active,.checkout__step[data-step="3"] .wc_payment_method:has(input:checked){border-color:var(--c-blue)}
.checkout__step[data-step="3"] .wc_payment_method label{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;font-size:.88rem;font-weight:500;color:var(--c-txt)}
.checkout__step[data-step="3"] .wc_payment_method input[type="radio"]{accent-color:var(--c-blue);width:18px;height:18px;flex-shrink:0}
.checkout__step[data-step="3"] .payment_box{padding:0 16px 14px 44px;font-size:.82rem;color:var(--c-txt-m)}

/* Place order button */
.checkout__step[data-step="3"] #place_order{background:var(--c-grad);color:#FFF;border:none;width:100%;padding:15px 24px;font-family:var(--f-h);font-size:.95rem;font-weight:600;border-radius:var(--r-m);cursor:pointer;box-shadow:0 4px 24px rgba(0,89,255,.2);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
.checkout__step[data-step="3"] #place_order:hover{box-shadow:0 8px 28px rgba(0,89,255,.28);transform:translateY(-2px) scale(1.02);filter:brightness(1.08)}

/* Terms */
.checkout__step[data-step="3"] .woocommerce-terms-and-conditions-wrapper{margin-top:16px;font-size:.82rem;color:var(--c-txt-m)}
.checkout__step[data-step="3"] .woocommerce-terms-and-conditions-wrapper a{color:var(--c-blue)}

/* ── Order Summary (sidebar) ── */
.checkout__summary{background:var(--c-white);border:1.5px solid var(--c-bdr-l);border-radius:var(--r-l);padding:24px;height:fit-content}
.checkout__summary h3{font-family:var(--f-h);font-size:1rem;font-weight:700;color:var(--c-txt);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--c-bdr-l)}

.checkout__item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--c-bdr-l)}
.checkout__item:last-child{border-bottom:none}
.checkout__item-img{width:50px;height:50px;border-radius:var(--r-s);background:var(--c-bg);overflow:hidden;flex-shrink:0}
.checkout__item-img img{width:100%;height:100%;object-fit:contain}
.checkout__item-img svg{width:20px;height:20px;color:var(--c-txt-l);margin:15px}
.checkout__item-info{flex:1;min-width:0}
.checkout__item-name{font-family:var(--f-h);font-size:.78rem;font-weight:600;color:var(--c-txt);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checkout__item-qty{font-size:.72rem;color:var(--c-txt-m)}
.checkout__item-meta{margin-top:2px}
.checkout__item-meta .minicart__item-meta{font-size:.68rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checkout__item-price{font-family:var(--f-h);font-size:.82rem;font-weight:700;color:var(--c-txt);flex-shrink:0}

.checkout__summary-totals{padding-top:12px}
.checkout__summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.85rem;color:var(--c-txt-m)}
.checkout__summary-row--discount span:last-child{color:var(--c-green-dk);font-weight:600}
.checkout__summary-hr{border:none;border-top:1px solid var(--c-bdr-l);margin:6px 0}
.checkout__summary-row--total{font-family:var(--f-h);font-size:1.05rem;font-weight:700;color:var(--c-txt);padding-top:10px}

.checkout__edit-cart{display:block;text-align:center;font-size:.78rem;color:var(--c-txt-m);margin-top:14px;transition:color var(--dur) var(--ease)}
.checkout__edit-cart:hover{color:var(--c-blue)}

/* ═══════════════════════════════════════
   26. CHECKOUT BREAKPOINTS
   ═══════════════════════════════════════ */
/* Mobile: all checkout fields full width */
.checkout__fields .form-row-first,
.checkout__fields .form-row-last,
.checkout__shipping-fields .form-row-first,
.checkout__shipping-fields .form-row-last{flex:1 1 100%}
@media(min-width:768px){
  .checkout__fields .form-row-first,
  .checkout__shipping-fields .form-row-first,
  .checkout__fields .form-row-last,
  .checkout__shipping-fields .form-row-last{flex:1 1 calc(50% - 6px)}
}
@media(min-width:1024px){
  .checkout__layout{grid-template-columns:1fr 380px;gap:32px}
  .checkout__summary{position:sticky;top:88px;align-self:start}
  .admin-bar .checkout__summary{top:120px}
}

/* Product page: prevent sticky sidebar overlap on tablet */
@media(min-width:768px) and (max-width:1023px){
  .product__right{position:relative;top:auto}
}

/* ═══════════════════════════════════════
   27. CHI SIAMO
   ═══════════════════════════════════════ */
.about-hero{background:var(--c-hero-bg);padding:32px 0 24px;text-align:center}
.about-hero__title{font-family:var(--f-h);font-size:2rem;font-weight:800;color:var(--c-txt);letter-spacing:-.04em;margin-top:8px}
.about-hero__title i{font-style:italic}
.about-hero__title em{font-style:italic;background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-hero__sub{font-size:.95rem;color:var(--c-txt-m);max-width:520px;margin:12px auto 0;line-height:1.6}

/* Split layout (text + image) */
.about-split{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
.about-split__title{font-family:var(--f-h);font-size:1.5rem;font-weight:700;color:var(--c-txt);margin:8px 0 16px;letter-spacing:-.04em}
.about-split__text p{font-size:.92rem;color:var(--c-txt-m);line-height:1.7;margin-bottom:12px}
.about-split__img{border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-m)}
.about-split__img img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}

/* Values grid */
.about-values__grid{display:grid;grid-template-columns:1fr;gap:20px}
.about-value{background:var(--c-white);border:1px solid var(--c-bdr-l);border-radius:var(--r-l);padding:24px;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
.about-value:hover{box-shadow:var(--sh-m);transform:translateY(-2px)}
.about-value__icon{width:44px;height:44px;border-radius:var(--r-m);background:rgba(0,89,255,.06);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.about-value__icon svg{width:22px;height:22px;color:var(--c-blue)}
.about-value h3{font-family:var(--f-h);font-size:.95rem;font-weight:700;color:var(--c-txt);margin-bottom:8px}
.about-value p{font-size:.85rem;color:var(--c-txt-m);line-height:1.6}

/* Stats strip */
.about-stats__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;text-align:center}
.about-stat__num{font-family:var(--f-h);font-size:2rem;font-weight:800;display:block;background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-stat__label{font-size:.82rem;color:var(--c-txt-m);margin-top:4px;display:block}

/* CTA */
.about-cta__inner{text-align:center;padding:48px 24px;background:var(--c-bg);border-radius:var(--r-l)}
.about-cta__inner h2{font-family:var(--f-h);font-size:1.5rem;font-weight:700;color:var(--c-txt);margin-bottom:8px}
.about-cta__inner p{font-size:.92rem;color:var(--c-txt-m);margin-bottom:20px}

/* About breakpoints */
@media(min-width:640px){
  .about-values__grid{grid-template-columns:repeat(2,1fr)}
  .about-stats__grid{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:768px){
  .about-hero__title{font-size:2.5rem}
  .about-split{grid-template-columns:1fr 1fr}
  .about-split--reverse .about-split__img{order:-1}
}
@media(min-width:1024px){
  .about-hero__title{font-size:3rem}
  .about-split__title{font-size:1.8rem}
  .about-stat__num{font-size:2.5rem}
}

/* ═══════════════════════════════════════
   28. FAQ
   ═══════════════════════════════════════ */
.faq .wrap{max-width:800px}

.faq__cat{background:var(--c-white);border:1px solid var(--c-bdr-l);border-radius:var(--r-l);padding:24px;margin-bottom:20px}
.faq__cat-title{font-family:var(--f-h);font-size:1rem;font-weight:700;color:var(--c-txt);padding-bottom:14px;border-bottom:2px solid var(--c-bdr-l);margin-bottom:0;display:flex;align-items:center;gap:10px}
.faq__cat-icon{width:28px;height:28px;border-radius:var(--r-s);background:rgba(0,89,255,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.faq__cat-icon svg{width:16px;height:16px;color:var(--c-blue)}

.faq__item{border-bottom:1px solid var(--c-bdr-l)}
.faq__question{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px 0;font-family:var(--f-h);font-size:.9rem;font-weight:600;color:var(--c-txt);text-align:left;cursor:pointer;transition:color var(--dur) var(--ease)}
.faq__question:hover{color:var(--c-blue)}
.faq__chevron{width:18px;height:18px;flex-shrink:0;color:var(--c-txt-l);transition:transform .3s var(--ease)}
.faq__item--open .faq__chevron{transform:rotate(180deg)}

.faq__answer{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq__item--open .faq__answer{max-height:500px}
.faq__answer p{font-size:.88rem;color:var(--c-txt-m);line-height:1.7;padding:0 0 16px}
.faq__answer strong{color:var(--c-txt)}

/* ═══════════════════════════════════════
   31. 404 PAGE
   ═══════════════════════════════════════ */
.nx-404{padding:48px 0 64px}
.nx-404__inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.nx-404__visual{max-width:320px;width:100%;margin-bottom:32px}
.nx-404__svg{width:100%;height:auto}
.nx-404__code{font-family:var(--f-h);font-size:5rem;font-weight:800;letter-spacing:-.04em;background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:8px}
.nx-404__title{font-family:var(--f-h);font-size:1.5rem;font-weight:700;color:var(--c-txt);margin-bottom:12px}
.nx-404__desc{font-size:.92rem;color:var(--c-txt-m);max-width:420px;margin:0 auto 28px;line-height:1.6}
.nx-404__actions{display:flex;flex-direction:column;align-items:center;gap:14px}
.nx-404__shop-link{font-family:var(--f-h);font-size:.88rem;font-weight:600;color:var(--c-blue);transition:color var(--dur) var(--ease)}
.nx-404__shop-link:hover{color:var(--c-navy)}

@media(min-width:768px){
  .nx-404{padding:72px 0 96px}
  .nx-404__code{font-size:7rem}
  .nx-404__title{font-size:2rem}
  .nx-404__visual{max-width:380px}
}

/* ═══════════════════════════════════════
   30. CONTACT PAGE
   ═══════════════════════════════════════ */
.contact__layout{display:grid;grid-template-columns:1fr;gap:32px}
.contact__form{background:var(--c-white);border:1px solid var(--c-bdr-l);border-radius:var(--r-l);padding:28px}
.contact__form h2,.contact__form-title{font-family:var(--f-h);font-size:1.3rem;font-weight:700;color:var(--c-txt);margin-bottom:6px;display:flex;align-items:center;gap:10px}
.contact__form-icon{width:32px;height:32px;border-radius:var(--r-s);background:rgba(0,89,255,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact__form-icon svg{width:18px;height:18px;color:var(--c-blue)}
.contact__form-sub{font-size:.88rem;color:var(--c-txt-m);margin-bottom:24px}
.contact__no-form{font-size:.88rem;color:var(--c-txt-m);padding:24px;background:var(--c-bg);border-radius:var(--r-m);text-align:center}

/* CF7 form styling */
.contact__form .wpcf7-form label{font-family:var(--f-h);font-size:.82rem;font-weight:600;color:var(--c-txt);display:block;margin-bottom:4px}
.contact__form .wpcf7-form input[type="text"],.contact__form .wpcf7-form input[type="email"],.contact__form .wpcf7-form input[type="tel"],.contact__form .wpcf7-form textarea{width:100%;padding:10px 14px;border:1.5px solid var(--c-bdr);border-radius:var(--r-s);font-family:var(--f-b);font-size:1rem;color:var(--c-txt);background:var(--c-white);transition:border-color var(--dur) var(--ease);margin-bottom:16px}
.contact__form .wpcf7-form input:focus,.contact__form .wpcf7-form textarea:focus{outline:none;border-color:var(--c-blue)}
.contact__form .wpcf7-form textarea{resize:vertical;min-height:120px}
.contact__form .wpcf7-form input[type="submit"],.contact__form .wpcf7-form .wpcf7-submit{background:var(--c-grad);color:#FFF;border:none;padding:14px 32px;font-family:var(--f-h);font-size:.92rem;font-weight:600;border-radius:var(--r-m);cursor:pointer;box-shadow:0 4px 24px rgba(0,89,255,.2);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
.contact__form .wpcf7-form input[type="submit"]:hover{box-shadow:0 8px 28px rgba(0,89,255,.28);transform:translateY(-2px) scale(1.02);filter:brightness(1.08)}
.contact__form .wpcf7-response-output{border-radius:var(--r-s);font-size:.85rem;margin-top:12px}

/* Contact info cards */
.contact__info{display:flex;flex-direction:column;gap:16px}
.contact__info-card{display:flex;align-items:flex-start;gap:14px;padding:18px;background:var(--c-white);border:1px solid var(--c-bdr-l);border-radius:var(--r-l)}
.contact__info-icon{width:40px;height:40px;border-radius:var(--r-m);background:rgba(0,89,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact__info-icon svg{width:20px;height:20px;color:var(--c-blue)}
.contact__info-card h3{font-family:var(--f-h);font-size:.88rem;font-weight:700;color:var(--c-txt);margin-bottom:2px}
.contact__info-card a{color:var(--c-blue);font-size:.88rem;font-weight:500}
.contact__info-card p{font-size:.85rem;color:var(--c-txt-m);line-height:1.5}
.contact__info-sub{font-size:.75rem;color:var(--c-txt-l);margin-top:2px}
.contact__map{border-radius:var(--r-m);overflow:hidden;margin-top:4px}

@media(min-width:768px){
  .contact__layout{grid-template-columns:1fr 340px}
}

/* Legal pages (Privacy, Terms) */
.legal .wrap{max-width:800px}
.legal h2{font-family:var(--f-h);font-size:1.1rem;font-weight:700;color:var(--c-txt);margin:28px 0 10px;padding-top:20px;border-top:1px solid var(--c-bdr-l)}
.legal h2:first-child{border-top:none;padding-top:0;margin-top:0}
.legal p{font-size:.9rem;color:var(--c-txt-m);line-height:1.7;margin-bottom:12px}
.legal ul{list-style:none;margin-bottom:16px}
.legal li{font-size:.9rem;color:var(--c-txt-m);line-height:1.7;padding:4px 0 4px 20px;position:relative}
.legal li::before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;background:var(--c-blue);border-radius:50%}
.legal strong{color:var(--c-txt)}
.legal a{color:var(--c-blue);font-weight:500}

/* ═══════════════════════════════════════
   29. MY ACCOUNT
   ═══════════════════════════════════════ */

/* Hide Storefront defaults */
.woocommerce-account .entry-title{display:none}
.woocommerce-account #secondary{display:none}
.woocommerce-account .edit-link{display:none}
.woocommerce-account #primary{width:100%;float:none;margin:0;padding:0}
.woocommerce-account .hentry,.woocommerce-account .entry-content,.woocommerce-account .site-main{margin:0;padding:0}

/* Account header */
.woocommerce-account .entry-content > .woocommerce{max-width:1240px;margin:0 auto;padding:32px 20px 56px}

/* Navigation tabs */
.woocommerce-MyAccount-navigation{margin-bottom:24px}
.woocommerce-MyAccount-navigation ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--c-bg);border-radius:var(--r-m)}
.woocommerce-MyAccount-navigation li a{display:block;padding:10px 18px;font-family:var(--f-h);font-size:.82rem;font-weight:600;color:var(--c-txt-m);border-radius:var(--r-s);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.woocommerce-MyAccount-navigation li a:hover{background:var(--c-white);color:var(--c-txt)}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard.is-active a{background:var(--c-white);color:var(--c-txt);box-shadow:var(--sh-s)}

/* Active state detection via body classes */
.woocommerce-account:not(.woocommerce-orders):not(.woocommerce-edit-address):not(.woocommerce-edit-account) .woocommerce-MyAccount-navigation-link--dashboard a{background:var(--c-white);color:var(--c-txt);box-shadow:var(--sh-s)}
.woocommerce-orders .woocommerce-MyAccount-navigation-link--orders a{background:var(--c-white);color:var(--c-txt);box-shadow:var(--sh-s)}
.woocommerce-edit-address .woocommerce-MyAccount-navigation-link--edit-address a{background:var(--c-white);color:var(--c-txt);box-shadow:var(--sh-s)}
.woocommerce-edit-account .woocommerce-MyAccount-navigation-link--edit-account a{background:var(--c-white);color:var(--c-txt);box-shadow:var(--sh-s)}

/* Content area */
.woocommerce-MyAccount-content{background:var(--c-white);border:1.5px solid var(--c-bdr-l);border-radius:var(--r-l);padding:32px}
.woocommerce-MyAccount-content p{font-size:.9rem;color:var(--c-txt-m);line-height:1.6;margin-bottom:12px}
.woocommerce-MyAccount-content a{color:var(--c-blue);font-weight:500;transition:color var(--dur) var(--ease)}
.woocommerce-MyAccount-content a:hover{color:var(--c-navy)}

/* Login / Register forms */
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register{max-width:440px;margin:0 auto;background:var(--c-white);border:1.5px solid var(--c-bdr-l);border-radius:var(--r-l);padding:32px}
.woocommerce-account .woocommerce-form-login h2,.woocommerce-account .woocommerce-form-register h2{font-family:var(--f-h);font-size:1.2rem;font-weight:700;color:var(--c-txt);margin-bottom:20px}

/* Form fields */
.woocommerce-account .form-row label{font-family:var(--f-h);font-size:.8rem;font-weight:600;color:var(--c-txt);display:block;margin-bottom:4px}
.woocommerce-account .form-row input[type="text"],.woocommerce-account .form-row input[type="email"],.woocommerce-account .form-row input[type="password"],.woocommerce-account .form-row input[type="tel"]{width:100%;padding:10px 14px;border:1.5px solid var(--c-bdr);border-radius:var(--r-s);font-family:var(--f-b);font-size:.85rem;color:var(--c-txt);transition:border-color var(--dur) var(--ease)}
.woocommerce-account .form-row input:focus{outline:none;border-color:var(--c-blue)}
.woocommerce-account .form-row{margin-bottom:16px}

/* Buttons */
.woocommerce-account .woocommerce-button,.woocommerce-account button[type="submit"],.woocommerce-account .button{background:var(--c-grad);color:#FFF;border:none;padding:12px 24px;font-family:var(--f-h);font-size:.88rem;font-weight:600;border-radius:var(--r-s);cursor:pointer;box-shadow:0 4px 24px rgba(0,89,255,.2);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
.woocommerce-account .woocommerce-button:hover,.woocommerce-account button[type="submit"]:hover,.woocommerce-account .button:hover{box-shadow:0 8px 28px rgba(0,89,255,.28);transform:translateY(-2px) scale(1.02);filter:brightness(1.08)}

/* Orders table */
.woocommerce-account .woocommerce-orders-table{width:100%;border-collapse:collapse}
.woocommerce-account .woocommerce-orders-table th{font-family:var(--f-h);font-size:.78rem;font-weight:700;color:var(--c-txt-m);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:2px solid var(--c-bdr-l);text-align:left}
.woocommerce-account .woocommerce-orders-table td{padding:14px 12px;border-bottom:1px solid var(--c-bdr-l);font-size:.88rem;color:var(--c-txt)}
.woocommerce-account .woocommerce-orders-table tr:last-child td{border-bottom:none}

/* No orders / no downloads message */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--c-bg);border:none;border-radius:var(--r-m);padding:20px;font-size:.9rem;color:var(--c-txt-m)}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button{margin:0}

/* Addresses */
.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:1fr;gap:20px}
.woocommerce-account .woocommerce-Address{background:var(--c-bg);border-radius:var(--r-m);padding:20px}
.woocommerce-account .woocommerce-Address-title h3{font-family:var(--f-h);font-size:.95rem;font-weight:700;color:var(--c-txt);margin-bottom:8px}
.woocommerce-account .woocommerce-Address address{font-size:.88rem;color:var(--c-txt-m);line-height:1.6;font-style:normal}

/* Responsive */
@media(min-width:640px){
  .woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr 1fr}
}
@media(min-width:768px){
  .woocommerce-MyAccount-navigation ul{flex-wrap:nowrap}
}
@media(min-width:1024px){
  .woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register{padding:40px}
}

/* ═══════════════════════════════════════
   HOMEPAGE SECTIONS (ex nx-new-sections.css)
   ═══════════════════════════════════════ */

:root {
  --f-sat: 'Satoshi', sans-serif;   /* alias of --f-h in nexprint.css */
  --f-accent: 'DM Serif Display', serif;
}

/* Disable browser smooth scroll on homepage — conflicts with custom snap scroll JS */
html:has(body.home) { scroll-behavior: auto !important; }

/* Hide scrollbar on homepage — snap scroll navigation only */
html:has(body.home), body.home { scrollbar-width: none; }
html:has(body.home)::-webkit-scrollbar, body.home::-webkit-scrollbar { display: none; }


/* ── Section nav (bullets) ── */
.nx-snav {
  position: fixed;
  right: clamp(12px, 1.5vw, 18px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 998;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-end;
  padding: 14px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: background .4s, backdrop-filter .4s, border-color .4s, opacity .6s;
}
/* Cube sections: dots only, labels hidden */
.nx-snav--compact .nx-snav__label { opacity: 0; pointer-events: none; }
.nx-snav__item {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  text-decoration: none;
  user-select: none; -webkit-user-select: none;
}
.nx-snav__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(28,43,90,.15);
  transition: all .3s cubic-bezier(.4,0,.2,1);
  flex-shrink: 0;
  order: 2;
}
.nx-snav__label {
  font-family: var(--f-sat);
  font-size: .65rem;
  font-weight: 600;
  color: rgba(28,43,90,.25);
  transition: all .3s cubic-bezier(.4,0,.2,1);
  white-space: nowrap;
  order: 1;
}
.nx-snav__item:hover .nx-snav__label {
  color: rgba(28,43,90,.5);
}
.nx-snav__item:hover .nx-snav__dot {
  background: rgba(28,43,90,.35);
  transform: scale(1.3);
}
.nx-snav__item.is-active .nx-snav__dot {
  background: linear-gradient(135deg, #52FF09, #0059FF);
  width: 12px;
  height: 12px;
}
.nx-snav__item.is-active .nx-snav__label {
  color: rgba(28,43,90,.7);
  font-weight: 700;
}
/* Glass backdrop on gallery */
.nx-snav--glass {
  background: rgba(250,248,244,.72);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-color: rgba(28,43,90,.06);
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
}

/* Dark mode: sec6 + footer only */
.nx-snav--dark .nx-snav__dot { background: rgba(255,255,255,.2); }
.nx-snav--dark .nx-snav__label { color: rgba(255,255,255,.3); }
.nx-snav--dark .nx-snav__item:hover .nx-snav__dot { background: rgba(255,255,255,.5); }
.nx-snav--dark .nx-snav__item:hover .nx-snav__label { color: rgba(255,255,255,.5); }
.nx-snav--dark .nx-snav__item.is-active .nx-snav__label { color: rgba(255,255,255,.65); font-weight: 700; }

/* Hide on mobile — not enough space */
@media (max-width: 767px) { .nx-snav { display: none; } }

/* Allow pinch-to-zoom, block double-tap zoom */
html { touch-action: manipulation; }

/* ── Section headlines (non-hero) — fixed params ── */
.nx-cat-text__title,
.nx-sec4__title {
  line-height: 1.08;
  letter-spacing: -.04em;
}

/* ── NEW HERO ── */
.nx-hero{
  height:100vh;height:100svh;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  background:#FAF8F4;
  margin-top:calc(-1 * var(--nav-h));   /* negate body padding-top — hero starts at viewport top */
}
.nx-hero::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='6' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.07'/%3E%3C/svg%3E");
  pointer-events:none;z-index:0;
}
.nx-hero__glow{
  position:absolute;width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,rgba(82,255,9,.025),rgba(0,89,255,.02),transparent 70%);
  pointer-events:none;z-index:0;top:15%;right:-5%;
  animation:nxGlowDrift 22s ease-in-out infinite alternate;
}
@keyframes nxGlowDrift{
  0%{transform:translate(0,0) scale(1);opacity:.5}
  50%{transform:translate(-50px,30px) scale(1.1);opacity:.9}
  100%{transform:translate(20px,-20px) scale(.95);opacity:.6}
}
.nx-hero__grid{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(to bottom,rgba(28,43,90,.025) 1px,transparent 1px),
    linear-gradient(to right,rgba(28,43,90,.025) 1px,transparent 1px);
  background-size:calc(100% / 8) calc(100% / 8);
}
.crop{position:absolute;pointer-events:none;z-index:1}
.crop__mark{position:absolute;background:rgba(28,43,90,.07)}
.crop--tl{top:clamp(16px,3vh,32px);left:clamp(16px,2vw,40px)}
.crop--tl .crop__h{width:28px;height:1px;top:0;left:0}
.crop--tl .crop__v{width:1px;height:28px;top:0;left:0}
.crop--tr{top:clamp(16px,3vh,32px);right:clamp(16px,2vw,40px)}
.crop--tr .crop__h{width:28px;height:1px;top:0;right:0}
.crop--tr .crop__v{width:1px;height:28px;top:0;right:0}
.crop--bl{bottom:clamp(16px,3vh,32px);left:clamp(16px,2vw,40px)}
.crop--bl .crop__h{width:28px;height:1px;bottom:0;left:0}
.crop--bl .crop__v{width:1px;height:28px;bottom:0;left:0}
.crop--br{bottom:clamp(16px,3vh,32px);right:clamp(16px,2vw,40px)}
.crop--br .crop__h{width:28px;height:1px;bottom:0;right:0}
.crop--br .crop__v{width:1px;height:28px;bottom:0;right:0}
.nx-hero__colorbar{
  position:absolute;right:clamp(120px,14vw,220px);bottom:18%;
  display:flex;flex-direction:row-reverse;gap:4px;
  z-index:1;pointer-events:none;opacity:0;
  transition:opacity .8s cubic-bezier(0,0,.2,1);
}
.nx-hero.is-ready .nx-hero__colorbar{opacity:.105;}
.nx-hero__colorbar > div{width:24px;height:14px;border-radius:2px}
.nx-hero__layout{
  position:relative;z-index:2;
  max-width:1400px;width:100%;margin:0 auto;
  padding:clamp(32px,5vh,56px) clamp(32px,4vw,64px) clamp(28px,4vh,48px);
  flex:1;display:flex;flex-direction:column;
}
.nx-hero__eyebrow{
  font-family:var(--f-sat);font-size:.6rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--c-txt-l);margin-bottom:auto;
  opacity:0;animation:nxSoftIn .8s cubic-bezier(0,0,.2,1) .3s forwards;
}
.nx-hero__headline{
  margin-top:auto;margin-bottom:auto;
  opacity:0;transform:translateY(10px);
  transition:opacity .8s cubic-bezier(0,0,.2,1),transform .8s cubic-bezier(0,0,.2,1);
}
.nx-hero__headline.is-ready{opacity:1;transform:translateY(0)}
.nx-hero__title{
  font-family:var(--f-sat);
  font-size:clamp(3rem,11vw,8rem);
  font-weight:700;line-height:1.18;letter-spacing:-.04em;
  color:var(--c-txt-m);
}
.nx-hero__title-line{display:flex;flex-wrap:wrap;align-items:baseline}
.nx-rotator{
  display:inline-flex;flex-direction:column;
  position:relative;overflow:hidden;vertical-align:bottom;
  height:1.18em;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.nx-rotator__track{
  display:flex;flex-direction:column;
  animation:nxRotateWords 4.9s cubic-bezier(.4,0,.2,1) infinite;
  animation-play-state:paused;
}
.nx-rotator__track.is-running{animation-play-state:running}
@keyframes nxRotateWords{
  0%,22.4%{transform:translate3d(0,0,0)}
  32.7%,55.1%{transform:translate3d(0,-25%,0)}
  65.3%,87.8%{transform:translate3d(0,-50%,0)}
  98%,99.99%{transform:translate3d(0,-75%,0)}
  100%{transform:translate3d(0,0,0)}
}
.nx-rotator__word{
  flex-shrink:0;white-space:nowrap;
  font-family:var(--f-accent);font-style:italic;font-weight:400;
  letter-spacing:-.01em;
  background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  filter:brightness(1.05);
}
.nx-hero__scroll{
  display:flex;align-items:center;justify-content:center;gap:8px;
  opacity:0;animation:nxSoftIn .6s cubic-bezier(0,0,.2,1) .8s forwards;
  transition:opacity .4s;
}
.nx-hero__scroll.hidden{opacity:0 !important}
.nx-hero__scroll span{font-family:var(--f-sat);font-size:.55rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-txt-l)}
.nx-hero__scroll-line{width:32px;height:1px;background:var(--c-txt-l);opacity:.3;position:relative;overflow:hidden}
.nx-hero__scroll-line::after{content:'';position:absolute;top:0;left:-100%;width:40%;height:100%;background:var(--c-blue);opacity:.6;animation:nxLineSlide 2.5s ease-in-out infinite}
@keyframes nxLineSlide{0%{left:-40%}100%{left:110%}}
.nx-hero__scroll-arrow{width:12px;height:12px;color:var(--c-txt-l);opacity:.3;animation:nxArrowBounce 2s ease-in-out infinite}
@keyframes nxArrowBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
@keyframes nxSoftIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.nx-rotator__measure{position:absolute;visibility:hidden;height:0;overflow:hidden;white-space:nowrap;font-family:var(--f-accent);font-style:italic;font-weight:400;letter-spacing:-.01em}

/* ── CATEGORIES SECTION ── */
.nx-categories{
  min-height:100vh;min-height:100svh;
  background:#FAF8F4;
  display:flex;align-items:center;
  padding:clamp(24px,3vh,48px) clamp(24px,4vw,64px);
  position:relative;
}
/* Grain texture — matches hero (0.07 opacity) */
.nx-categories::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='6' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.07'/%3E%3C/svg%3E");
}
.nx-cat-split{
  max-width:1400px;width:100%;margin:0 auto;
  display:grid;grid-template-columns:1fr;gap:32px;align-items:center;
}
.nx-cat-text__title{
  font-family:var(--f-sat);
  font-size:clamp(2.6rem,5.5vw,4.2rem);
  font-weight:700;letter-spacing:-.04em;
  color:var(--c-txt-m);line-height:1.1;margin-bottom:20px;
}
.nx-cat-text__title em{
  font-family:var(--f-accent);font-style:italic;font-weight:400;
  letter-spacing:-.01em;
  background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  filter:brightness(1.05);
}
.nx-cat-text__desc{font-size:.92rem;color:var(--c-txt-m);line-height:1.7;max-width:400px;margin-bottom:28px}
.nx-cat-text__cta,
.nx-cat-text__cta:visited,
.nx-cat-text__cta:active{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--f-sat);font-weight:700;font-size:.88rem;
  padding:14px 28px;border-radius:var(--r-m);
  background:var(--c-grad);color:#fff !important;box-shadow:0 4px 20px rgba(0,89,255,.18);
  position:relative;overflow:hidden;
  transition:transform .25s var(--ease),box-shadow .25s,filter .25s;
}
.nx-cat-text__cta::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .5s var(--ease)}
.nx-cat-text__cta:hover::after{left:100%}
.nx-cat-text__cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 28px rgba(0,89,255,.28);filter:brightness(1.08)}
.nx-cat-text__cta:active{transform:translateY(0) scale(.98)}
.nx-fan-wrap{display:none;justify-content:center;align-items:center;position:relative;filter:drop-shadow(0 8px 24px rgba(140,120,100,.08))}
.nx-fan-wrap iframe{width:850px;height:650px;border:none;background:transparent}

/* Fan deck hints: animated cursor + badge — triggered by .nx-fan-hint class */
.nx-fan-wrap { position: relative; }
.nx-fan-cursor {
  position: absolute;
  top: 30%; left: 46%;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, #52FF09, #0059FF);
  opacity: 0;
  pointer-events: none;
  z-index: 10;
}
.nx-fan-cursor::after {
  content: '';
  position: absolute; inset: -8px;
  border-radius: 50%;
  border: 2px solid rgba(0,89,255,.4);
  opacity: 0;
}
/* Animations only play when .nx-fan-hint is added by JS */
.nx-fan-hint .nx-fan-cursor {
  animation: nxCursorHint 3.5s ease-in-out .5s forwards;
}
.nx-fan-hint .nx-fan-cursor::after {
  animation: nxCursorRipple 3.5s ease-in-out .5s forwards;
}
@keyframes nxCursorHint {
  0%   { opacity: 0; transform: translate(0,0) scale(1); }
  12%  { opacity: .9; transform: translate(0,0) scale(1); }
  35%  { opacity: .9; transform: translate(-40px,20px) scale(.85); }
  45%  { opacity: .9; transform: translate(-40px,20px) scale(.65); }
  55%  { opacity: .7; transform: translate(-40px,20px) scale(.85); }
  75%  { opacity: .3; transform: translate(-25px,12px) scale(1); }
  100% { opacity: 0; transform: translate(-25px,12px) scale(1); }
}
@keyframes nxCursorRipple {
  0%,35%  { opacity: 0; transform: scale(1); }
  45%     { opacity: .6; transform: scale(1); }
  65%     { opacity: 0; transform: scale(3); }
  100%    { opacity: 0; transform: scale(3); }
}

.nx-fan-badge {
  position: absolute;
  top: clamp(20px, 3vh, 40px); right: clamp(24px, 4vw, 64px);
  z-index: 10;
  display: flex; align-items: center; gap: 6px;
  font-family: var(--f-sat); font-size: .68rem; font-weight: 600;
  letter-spacing: .04em;
  color: var(--c-txt-l, #8A96B0);
  padding: 0;
  pointer-events: none;
  opacity: 0;
}
.nx-fan-badge::before {
  content: '↙';
  font-size: 1rem;
  line-height: 1;
}
.nx-categories.nx-fan-hint .nx-fan-badge {
  animation: nxBadgeIn .6s ease 3.8s forwards;
}
@keyframes nxBadgeIn {
  0%   { opacity: 0; transform: translateY(-6px); }
  100% { opacity: .6; transform: translateY(0); }
}

/* Mobile fallback grid */
.nx-cat-mobile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.nx-cat-m-card{background:#FDF9F5;border-radius:var(--r-l);border:1.5px solid rgba(28,43,90,.12);box-shadow:0 2px 8px rgba(28,43,90,.05);overflow:hidden;text-decoration:none;color:inherit}
.nx-cat-m-card__bar{height:4px;background:var(--accent)}
.nx-cat-m-card__img{aspect-ratio:4/3;overflow:hidden;background:#FDF9F5;display:flex;align-items:center;justify-content:center;padding:12px 12px 0}
.nx-cat-m-card__img img{width:100%;height:100%;object-fit:contain}
.nx-cat-m-card__body{padding:14px;text-align:center}
.nx-cat-m-card__name{font-family:var(--f-sat);font-size:.82rem;font-weight:700;color:var(--c-navy);margin-bottom:2px}

/* ── COME FUNZIONA — snap-driven cube iframe ── */

/* Snap sections need z-index to sit above the fixed cube/gallery bg */
.nx-hero, .nx-categories, .nx-cube-snap, .nx-gallery-snap { z-index: 2; }

.nx-cube-bg {
  position: fixed; inset: 0; z-index: 0;
  opacity: 0; pointer-events: none;
  transition: opacity .4s;
}
.nx-cube-bg.is-active { opacity: 1; z-index: 1; }
.nx-cube-iframe {
  width: 100%; height: 100%; border: none;
}
.nx-cube-snap {
  position: relative;
  height: 100vh; height: 100svh;
  background: #FAF8F4;
}
.nx-cube-bg.is-active ~ .nx-cube-snap {
  background: transparent;
}

/* ── SEZIONE 4 — Prodotti in Evidenza (card hover carousel) ── */
.nx-sec4 {
  position: relative; z-index: 2;
  min-height: 100vh; min-height: 100svh;
  display: flex; align-items: center;
  background: #FAF8F4;
  padding: clamp(24px, 3vh, 48px) 0;
  overflow-x: clip;
}
/* Grain texture */
.nx-sec4::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='6' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.07'/%3E%3C/svg%3E");
}
.nx-sec4__inner {
  width: 100%; max-width: 1400px; margin: 0 auto;
  display: flex; flex-direction: column; justify-content: center;
  gap: clamp(24px, 4vh, 48px);
  position: relative; z-index: 1;
  flex: 1;
}
.nx-sec4__head {
  padding: 0 clamp(24px, 4vw, 64px);
}
.nx-sec4__label {
  font-family: var(--f-sat); font-size: .6rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-blue, #0059FF); margin-bottom: 10px;
}
.nx-sec4__title {
  font-family: var(--f-sat); font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  font-weight: 700; letter-spacing: -.04em; line-height: 1.08;
  color: var(--c-navy, #1C2B5A);
}
.nx-sec4__title em {
  font-family: var(--f-accent); font-style: italic; font-weight: 400;
  letter-spacing: -.01em;
  background: var(--c-grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  filter: brightness(1.05);
}

/* Carousel */
.nx-sec4__carousel {
  position: relative;
  display: flex; align-items: center;
  padding: 0 clamp(24px, 4vw, 64px);
  gap: 16px;
  overflow: hidden;
  clip-path: inset(0);
}
.nx-sec4__track {
  display: flex; gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  flex: 1;
  padding: 12px 0;
}
.nx-sec4__track::-webkit-scrollbar { display: none; }

/* Arrows */
.nx-sec4__arrow {
  width: 44px; height: 44px; flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid rgba(28,43,90,.08);
  background: rgba(255,255,255,.6);
  backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all .3s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 2px 12px rgba(140,120,100,.06);
}
.nx-sec4__arrow:hover:not(:disabled) { background: #fff; box-shadow: 0 4px 20px rgba(140,120,100,.12); transform: scale(1.06); }
.nx-sec4__carousel { user-select: none; -webkit-user-select: none; }
.nx-sec4__arrow:disabled { opacity: .25; cursor: default; pointer-events: none; }
.nx-sec4__arrow svg { width: 18px; height: 18px; color: var(--c-navy, #1C2B5A); }

/* Card — uses .prod styles, just sizing for carousel */
.nx-sec4__card {
  flex: 0 0 calc(25% - 15px);
  scroll-snap-align: start;
  text-decoration: none;
}
.nx-steps-mobile{display:none}
.nx-sec4__bullets{display:none}
@media(max-width:767px){
  .nx-sec4__bullets{display:flex;justify-content:center;gap:8px;padding:16px 0}
  .nx-sec4__bullet{width:8px;height:8px;border-radius:50%;background:var(--c-bdr);transition:background .3s,transform .3s}
  .nx-sec4__bullet.is-active{background:var(--c-navy);transform:scale(1.3)}
}

/* Bottom CTA */
.nx-sec4__bottom {
  display: flex; justify-content: flex-end;
  padding: 0 clamp(24px, 4vw, 64px);
}
.nx-sec4__cta,
.nx-sec4__cta:visited,
.nx-sec4__cta:active {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--f-sat); font-weight: 700; font-size: .85rem;
  padding: 13px 26px; border-radius: 10px;
  background: var(--c-grad); color: #fff !important;
  box-shadow: 0 4px 20px rgba(0,89,255,.18);
  text-decoration: none; position: relative; overflow: hidden;
  transition: transform .25s cubic-bezier(.2,0,0,1), box-shadow .25s, filter .25s;
}
.nx-sec4__cta::after {
  content: ''; position: absolute; top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transition: left .5s cubic-bezier(.2,0,0,1);
}
.nx-sec4__cta:hover::after { left: 100%; }
.nx-sec4__cta:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 8px 28px rgba(0,89,255,.28);
  filter: brightness(1.08);
}

/* Tablet/touch: card sizing in carousel */
@media(hover:none) and (min-width:768px){
  .nx-sec4__card{flex:0 0 calc(25% - 15px)}
  .nx-sec4__bottom{justify-content:flex-end}
}

/* ── GALLERIA LAVORI — scroll-driven columns ── */
.nx-gallery-bg {
  position: fixed; inset: 0; z-index: 0;
  background: #0a0f1e;
  pointer-events: none;
  overflow: hidden;
  clip-path: inset(100%);
}
.nx-gallery-bg.is-active { clip-path: inset(0); z-index: 1; pointer-events: auto; }
.nx-gallery-snap {
  position: relative;
  height: 100vh; height: 100svh;
}

/* Gallery internals */
.nx-gallery__fade-top,
.nx-gallery__fade-bottom {
  position: absolute; left: 0; right: 0; height: 22%; z-index: 3; pointer-events: none;
}
.nx-gallery__fade-top { top: 0; background: linear-gradient(180deg, rgba(10,15,30,.55) 0%, rgba(10,15,30,.2) 40%, transparent 100%); }
.nx-gallery__fade-bottom { bottom: 0; background: linear-gradient(0deg, rgba(10,15,30,.55) 0%, rgba(10,15,30,.2) 40%, transparent 100%); }
.nx-gallery__grain {
  position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='6' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.04'/%3E%3C/svg%3E");
}
.nx-gallery__headline {
  position: absolute; top: 50%; left: clamp(32px,5vw,80px);
  transform: translateY(-50%); z-index: 5; text-align: left; pointer-events: none;
  background: rgba(10,15,30,.08);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  padding: 28px 32px; border-radius: 16px;
  border: 1px solid rgba(255,255,255,.06);
}
.nx-gallery__label {
  font-family: var(--f-sat); font-size: .65rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 12px;
}
.nx-gallery__title {
  font-family: var(--f-sat); font-size: clamp(2.4rem,5vw,4rem);
  font-weight: 700; letter-spacing: -.04em; line-height: 1.08;
  color: #fff; text-shadow: 0 4px 24px rgba(0,0,0,.5);
}
.nx-gallery__title em {
  font-family: var(--f-accent); font-style: italic; font-weight: 400;
  letter-spacing: -.01em; background: var(--c-grad);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; filter: brightness(1.05);
}
.nx-gallery__grid {
  position: absolute; inset: 0;
  display: grid; grid-template-columns: repeat(4, 1fr);
  column-gap: 12px; padding: 0 12px; z-index: 1;
}
.nx-gallery__col { display: flex; flex-direction: column; will-change: transform; }
.nx-gallery__card {
  width: 100%; aspect-ratio: 3/4;
  border-radius: 10px; overflow: hidden;
  margin-bottom: 12px;
  background-color: rgba(42,63,110,.3);
  background-size: cover; background-position: center;
  border: 1px solid rgba(255,255,255,.06);
  position: relative; flex-shrink: 0;
  transition: filter .3s, box-shadow .3s;
  cursor: pointer;
}
.nx-gallery__card:hover { z-index: 5; filter: brightness(1.15); box-shadow: 0 0 24px rgba(255,255,255,.12); }
.nx-gallery__card-ov {
  position: absolute; bottom: 0; left: 0; right: 0; height: 15%;
  background: linear-gradient(0deg, rgba(10,15,30,.35) 0%, transparent 100%);
  pointer-events: none; opacity: 0; transition: opacity .3s; z-index: 1;
}
.nx-gallery__card:hover .nx-gallery__card-ov { opacity: 1; }
.nx-gallery__card-lb {
  position: absolute; bottom: 14px; left: 14px; right: 14px;
  font-family: var(--f-sat); font-size: 1rem; font-weight: 700;
  color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.6);
  z-index: 2; opacity: 0; transition: opacity .3s;
}
.nx-gallery__card:hover .nx-gallery__card-lb { opacity: 1; }

/* Spotlight */
.nx-gallery__spotlight {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(5,8,18,.92); backdrop-filter: blur(12px);
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 16px;
  opacity: 0; pointer-events: none;
  transition: opacity .35s; cursor: pointer;
  user-select: none; -webkit-user-select: none;
}
.nx-gallery__spotlight.is-open { opacity: 1; pointer-events: auto; }
.nx-gallery__spot-img {
  max-width: 80vw; max-height: 75vh; border-radius: 14px;
  object-fit: contain; box-shadow: 0 20px 60px rgba(0,0,0,.5);
  transform: scale(.92); transition: transform .4s;
}
.nx-gallery__spotlight.is-open .nx-gallery__spot-img { transform: scale(1); }
.nx-gallery__spot-label {
  font-family: var(--f-sat); font-size: .85rem; font-weight: 600;
  color: rgba(255,255,255,.7);
}
.nx-gallery__spot-close {
  position: absolute; top: 24px; right: 24px;
  width: 40px; height: 40px; border: none; background: rgba(255,255,255,.1);
  border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.nx-gallery__spot-close:hover { background: rgba(255,255,255,.2); }

/* Footer: bring above snap sections stacking context */
.grad-line--footer,
.foot {
  position: relative;
  z-index: 2;
}
.grad-line--footer {
  margin-top: 0;
}
/* Footer trust badges */
.foot__trust {
  display: flex;
  justify-content: center;
  gap: clamp(24px, 4vw, 48px);
  padding: clamp(24px, 3vh, 36px) 0;
  border-top: 1px solid rgba(255,255,255,.08);
}
.foot__trust-item {
  display: flex; align-items: center; gap: 10px;
}
.foot__trust-icon {
  width: 36px; height: 36px; border-radius: 10px;
  background: rgba(255,255,255,.05);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.foot__trust-icon svg {
  width: 18px; height: 18px; color: #52FF09; opacity: .7;
}
.foot__trust-label {
  font-family: var(--f-sat); font-size: .78rem; font-weight: 600;
  color: rgba(255,255,255,.45);
}

/* Footer "Sfoglia il catalogo" link */
.foot__links-cta {
  color: #52FF09 !important;
  font-weight: 600 !important;
  margin-top: 4px;
  display: inline-block;
}
.foot__links-cta:hover { color: #fff !important; }

/* Close gap between last dark section and dark footer */
body.home #content,
body.home #primary,
body.home #main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ── SEZIONE 6 — Target & B2B (bande espandibili) ── */
.nx-sec6 {
  position: relative; z-index: 2;
  min-height: 100vh; min-height: 100svh;
  display: flex; flex-direction: column;
  background: linear-gradient(180deg, #0a0f1e 0%, #1C2B5A 35%, #1C2B5A 65%, #1E2F5E 100%);
  overflow: hidden;
}
.nx-sec6::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='6' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.04'/%3E%3C/svg%3E");
}
.nx-sec6__split {
  flex: 1;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; z-index: 1;
  max-width: 1400px; margin: 0 auto; width: 100%;
  padding: clamp(48px, 8vh, 80px) clamp(24px, 4vw, 64px);
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}
.nx-sec6__left {
  display: flex; flex-direction: column; justify-content: center;
}
.nx-sec6__label {
  font-size: .65rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: rgba(255,255,255,.55); margin-bottom: 16px;
}
.nx-sec6__title {
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  font-weight: 700; letter-spacing: -.04em; line-height: 1.18;
  color: #fff; min-height: 3.54em;
}
.nx-sec6__verb {
  font-family: var(--f-accent); font-style: italic; font-weight: 400;
  background: var(--c-grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  display: inline-block;
  transition: opacity .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1);
}
/* CTA */
.nx-sec6__cta {
  display: inline-flex; align-items: center;
  align-self: flex-start;
  font-family: var(--f-sat); font-weight: 700; font-size: .88rem;
  padding: 15px 34px; border-radius: 12px;
  background: var(--c-grad); color: #fff !important;
  text-decoration: none;
  box-shadow: 0 4px 24px rgba(0,89,255,.25);
  position: relative; overflow: hidden;
  transition: transform .25s, box-shadow .25s;
  margin-top: clamp(24px, 3vh, 36px);
  width: auto;
}
.nx-sec6__cta:visited,
.nx-sec6__cta:active,
.nx-sec6__cta:hover {
  color: #fff !important;
}
.nx-sec6__cta::after {
  content: ''; position: absolute; top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transition: left .5s;
}
.nx-sec6__cta:hover::after { left: 100%; }
.nx-sec6__cta:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 8px 28px rgba(0,89,255,.28); filter: brightness(1.08); }

.nx-sec6__verb.is-exiting { opacity: 0; transform: translateY(-20px); }
.nx-sec6__verb.is-entering { opacity: 0; transform: translateY(20px); }

/* Bands container */
.nx-sec6__right { display: flex; flex-direction: column; gap: 0; }
.nx-sec6__band {
  position: relative; overflow: hidden; cursor: pointer;
  user-select: none; -webkit-user-select: none;
  border: 1px solid rgba(255,255,255,.06); border-bottom: none;
  transition: flex .6s cubic-bezier(.4,0,.2,1), border-color .4s;
  min-height: 90px; flex: 0 0 auto;
  display: flex; flex-direction: column; justify-content: center;
}
.nx-sec6__band:first-child { border-radius: 16px 16px 0 0; }
.nx-sec6__band:last-child { border-bottom: 1px solid rgba(255,255,255,.06); border-radius: 0 0 16px 16px; }
.nx-sec6__band.is-expanded {
  min-height: 240px; border-color: rgba(255,255,255,.1); flex: 1;
}
/* Band bg image */
.nx-sec6__band-bg {
  position: absolute; inset: -20px;
  background-size: cover; background-position: center;
  opacity: 0; transition: opacity .8s cubic-bezier(.4,0,.2,1);
  animation: nxKenburns 14s ease-in-out infinite alternate;
}
@keyframes nxKenburns { 0% { transform: scale(1); } 100% { transform: scale(1.06); } }
.nx-sec6__band.is-expanded .nx-sec6__band-bg { opacity: .3; }
.nx-sec6__band-bg::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(28,43,90,.85) 0%, rgba(28,43,90,.5) 100%);
}
/* Band inner */
.nx-sec6__band-inner {
  position: relative; z-index: 2;
  padding: 0 clamp(20px, 2.5vw, 32px);
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  height: 90px; transition: padding .5s cubic-bezier(.4,0,.2,1);
}
.nx-sec6__band.is-expanded .nx-sec6__band-inner { padding-top: clamp(20px, 2.5vh, 28px); }
.nx-sec6__band-left { display: flex; align-items: center; gap: 16px; }
.nx-sec6__band-num {
  font-size: .55rem; font-weight: 700; letter-spacing: .1em;
  color: rgba(255,255,255,.2); transition: color .4s;
}
.nx-sec6__band.is-expanded .nx-sec6__band-num {
  background: var(--c-grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.nx-sec6__band-name {
  font-size: 1rem; font-weight: 700;
  color: rgba(255,255,255,.4); transition: color .4s, font-size .4s;
}
.nx-sec6__band.is-expanded .nx-sec6__band-name { color: #fff; font-size: 1.2rem; }
/* Arrow */
.nx-sec6__band-arrow {
  width: 24px; height: 24px; flex-shrink: 0;
  transition: transform .5s; background: var(--c-grad);
  -webkit-mask: url("data:image/svg+xml,%3Csvg fill='none' viewBox='0 0 24 24' stroke='%23fff' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg fill='none' viewBox='0 0 24 24' stroke='%23fff' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") center/contain no-repeat;
}
.nx-sec6__band.is-expanded .nx-sec6__band-arrow { transform: rotate(180deg); background: #fff; }
/* Band desc */
.nx-sec6__band-desc {
  position: relative; z-index: 2;
  padding: 0 clamp(20px, 2.5vw, 32px);
  padding-left: calc(clamp(20px, 2.5vw, 32px) + 16px + 1.5rem);
  opacity: 0; transform: translateY(8px);
  transition: opacity .4s .15s, transform .4s .15s, height .5s cubic-bezier(.4,0,.2,1), padding .5s;
  max-width: 480px; height: 0; overflow: hidden;
}
.nx-sec6__band.is-expanded .nx-sec6__band-desc {
  opacity: 1; transform: translateY(0);
  height: auto; overflow: visible;
  padding-top: 4px; padding-bottom: clamp(16px, 2vh, 28px);
}
.nx-sec6__band-desc p { font-size: .84rem; color: rgba(255,255,255,.5); line-height: 1.7; }
/* Accent line */
.nx-sec6__band::before {
  content: ''; position: absolute; left: 0; top: 0;
  width: 3px; height: 0; background: var(--c-grad);
  transition: height .5s cubic-bezier(.4,0,.2,1);
  z-index: 3; border-radius: 0 2px 2px 0;
}
.nx-sec6__band.is-expanded::before { height: 100%; }

/* Marquee */
.nx-sec6__marquee {
  position: relative; z-index: 1;
  padding: 0 0 clamp(40px, 6vh, 56px);
}
.nx-sec6__marquee-label {
  text-align: center; font-size: .8rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.35); margin: 0;
  border-top: 1px solid rgba(255,255,255,.06);
  padding: clamp(24px, 3vh, 36px) 0 clamp(24px, 3vh, 32px);
}
.nx-sec6__marquee-wrap {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.nx-sec6__marquee-track {
  user-select: none; -webkit-user-select: none;
  display: flex; animation: nxMarqueeSlide 28s linear infinite; width: max-content;
}
.nx-sec6__marquee-track:hover { animation-play-state: paused; }
.nx-sec6__marquee-set { display: flex; gap: 20px; padding-right: 20px; flex-shrink: 0; }
@keyframes nxMarqueeSlide { 0% { transform: translateX(0); } 100% { transform: translateX(-25%); } }
.nx-sec6__marquee-item {
  flex-shrink: 0; font-size: .85rem; font-weight: 600;
  color: rgba(255,255,255,.35); white-space: nowrap;
  padding: 10px 22px; border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px; transition: color .3s, border-color .3s;
}
.nx-sec6__marquee-item:hover { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.15); }

/* ── NAV HEIGHT — single source of truth ── */
:root { --nav-h: 64px; }
@media (min-width: 768px)  { :root { --nav-h: 68px; } }
@media (min-width: 1024px) { :root { --nav-h: 72px; } }
body:not(.home) { padding-top: var(--nav-h) !important; }

/* ── NAV: white + grain on non-homepage ── */
body:not(.home) .nav {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='6' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.07'/%3E%3C/svg%3E") repeat, var(--c-hero-bg) !important;
}
body:not(.home) .nav__search {
  background: linear-gradient(#FFF,#FFF) padding-box, var(--c-grad) border-box;
}

/* Page headers slide up behind the fixed nav (same trick as homepage hero) */
.shop-header,
.cart-header,
.checkout-header,
.about-hero,
.breadcrumb {
  margin-top: calc(-1 * var(--nav-h));
}
.shop-header,
.cart-header,
.checkout-header { padding-top: calc(var(--nav-h) + 20px); }
.about-hero { padding-top: calc(var(--nav-h) + 32px); }
.breadcrumb { padding-top: calc(var(--nav-h) + 12px); }

/* ── GRAIN TEXTURE — internal page headers ── */
.shop-header,
.cart-header,
.checkout-header,
.about-hero,
.breadcrumb { position: relative; overflow: hidden; }

.shop-header::before,
.cart-header::before,
.checkout-header::before,
.about-hero::before,
.breadcrumb::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='6' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.07'/%3E%3C/svg%3E");
}
/* ── DM Serif Display accent on em/i in page titles ── */
.about-hero__title em,
.about-hero__title i { font-family: var(--f-accent); font-weight: 400; letter-spacing: -.01em; }

.shop-header > .wrap,
.cart-header > .wrap,
.checkout-header > .wrap,
.about-hero > .wrap,
.breadcrumb > .wrap { position: relative; z-index: 1; }

/* ── NAV: logo swap on gallery (dark) ── */
.nav__logo-light { display: none; }
.nav.nav--gallery .nav__logo-dark { display: none; }
.nav.nav--gallery .nav__logo-light { display: block; }


/* ── RESPONSIVE ── */
@media(min-width:768px){
  .nx-cat-split{grid-template-columns:35% 1fr;gap:48px}
  .nx-cat-mobile-grid{grid-template-columns:repeat(4,1fr)}
  .nx-cat-m-card__bar{height:6px}
  .nx-cat-m-card__body{padding:20px}
  .nx-cat-m-card__name{font-size:.95rem}
}
@media(min-width:768px) and (max-width:1023px){
  /* Sec4 tablet: 3 cards per row */
  .nx-sec4__card{flex:0 0 calc(33.33% - 14px)}
  /* Sec6 tablet: stack layout */
  .nx-sec6__split{grid-template-columns:1fr;gap:24px}
  .nx-sec6__title{min-height:auto;font-size:clamp(2rem,5vw,2.8rem)}
  .nx-sec6__band{min-height:80px}
  .nx-sec6__band-inner{height:80px}
}
@media(min-width:1024px){
  .nx-cat-split{grid-template-columns:33% 1fr;gap:64px}
}
/* Fan deck: only show on browsers supporting sibling-index (Chrome 129+) */
@supports (z-index: sibling-index()) {
  @media(min-width:768px){
    .nx-fan-wrap{display:flex}
    .nx-cat-mobile-grid{display:none}
  }
}
@media(max-width:767px){
  html{overscroll-behavior:auto}
  .nav{position:-webkit-sticky;position:sticky}
  body{padding-top:0}
  .nx-hero{margin-top:0}
  .nx-hero__title{font-size:clamp(2.4rem,12vw,3.6rem)}
  .nx-hero__colorbar{display:none}
  .nx-hero__grid{background-size:calc(100% / 5) calc(100% / 5)}
  .nx-categories{height:auto;min-height:100svh}
  .nx-fan-wrap{display:none}
  /* Cube: hide on mobile, show timeline */
  .nx-cube-bg,.nx-cube-snap{display:none}
  .nx-steps-mobile{display:block;background:#FAF8F4;padding:48px 24px 40px;position:relative;z-index:2}
  .nx-steps-mobile::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='6' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.07'/%3E%3C/svg%3E")}
  .nx-steps-mobile__label{font-family:var(--f-h);font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--c-blue);margin-bottom:10px}
  .nx-steps-mobile__title{font-family:var(--f-h);font-size:clamp(1.8rem,8vw,2.6rem);font-weight:700;letter-spacing:-.04em;line-height:1.08;color:var(--c-navy);margin-bottom:12px}
  .nx-steps-mobile__title em{font-family:'DM Serif Display',serif;font-style:italic;font-weight:400;letter-spacing:-.01em;background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
  .nx-steps-mobile__subtitle{font-size:.88rem;color:var(--c-txt-m);line-height:1.6;margin-bottom:40px}
  .nx-steps-mobile__timeline{position:relative;padding-left:48px}
  .nx-steps-mobile__timeline::before{content:'';position:absolute;left:18px;top:20px;bottom:20px;width:3px;background:var(--c-grad);border-radius:2px;opacity:.2}
  .nx-steps-mobile__timeline::after{content:'';position:absolute;left:18px;top:20px;bottom:20px;width:3px;background:var(--c-grad);border-radius:2px;opacity:0;transform-origin:top;transform:scaleY(.25);animation:nxPulseDown 6s ease-in-out infinite}
  @keyframes nxPulseDown{0%,100%{transform:scaleY(.25);transform-origin:top;opacity:.25}50%{transform:scaleY(.25);transform-origin:bottom;opacity:.08}}
  .nx-steps-mobile__step{position:relative;padding-bottom:28px}
  .nx-steps-mobile__step:last-child{padding-bottom:0}
  .nx-steps-mobile__num{position:absolute;left:-48px;top:20px;width:36px;height:36px;border-radius:12px;background:#fff;border:1.5px solid rgba(28,43,90,.12);box-shadow:0 2px 8px rgba(28,43,90,.06);display:flex;align-items:center;justify-content:center;font-family:var(--f-h);font-size:.7rem;font-weight:800;color:var(--c-navy);z-index:2}
  .nx-steps-mobile__card{background:#fff;border:1px solid rgba(28,43,90,.06);border-top:3px solid transparent;border-radius:16px;padding:20px;box-shadow:0 4px 20px rgba(28,43,90,.05);position:relative;overflow:hidden}
  .nx-steps-mobile__card::before{content:'';position:absolute;top:-60px;right:-60px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(28,43,90,.02),transparent 70%);pointer-events:none}
  .nx-steps-mobile__icon{width:42px;height:42px;border-radius:12px;background:rgba(28,43,90,.04);border:1px solid rgba(28,43,90,.08);display:flex;align-items:center;justify-content:center;margin-bottom:14px;position:relative;z-index:1}
  .nx-steps-mobile__icon svg{width:20px;height:20px;color:var(--c-navy);opacity:.6}
  .nx-steps-mobile__heading{font-family:var(--f-h);font-size:1.15rem;font-weight:700;color:var(--c-navy);margin-bottom:8px;line-height:1.2;position:relative;z-index:1}
  .nx-steps-mobile__heading em{font-family:'DM Serif Display',serif;font-style:italic;font-weight:400;background:var(--c-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
  .nx-steps-mobile__desc{font-size:.84rem;color:var(--c-txt-m);line-height:1.7;margin-bottom:12px;position:relative;z-index:1}
  .nx-steps-mobile__detail{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-h);font-size:.7rem;font-weight:600;padding:6px 12px;border-radius:20px;background:rgba(28,43,90,.04);color:var(--c-txt-m);position:relative;z-index:1}
  .nx-steps-mobile__detail svg{width:13px;height:13px;flex-shrink:0}
  /* Gallery mobile: taller section + 2 columns + touch passthrough */
  .nx-gallery-snap{height:500vh;background:#0a0f1e;z-index:auto}
  .nx-gallery-bg.is-active{pointer-events:none}
  .nx-gallery__grid{grid-template-columns:repeat(2,1fr)}
  .nx-gallery__headline{top:80px;left:20px;right:auto;transform:none;border-radius:12px;padding:18px 24px;background:rgba(10,15,30,.04)}
  .nx-gallery__title{font-size:1.8rem}
  .nx-gallery__label{font-size:.6rem}
  /* Sec4 mobile */
  .nx-sec4{height:auto;min-height:100svh}
  .nx-sec4__title{font-size:clamp(1.8rem,8vw,2.6rem)}
  .nx-sec4__arrow{display:none}
  .nx-sec4__carousel{padding:0 20px}
  .nx-sec4__card{flex:0 0 calc(50% - 10px)}
  .nx-sec4__card .prod__img{aspect-ratio:1}
  .nx-sec4__bottom{padding:0 20px}
  /* Sec6 mobile */
  .nx-sec6{height:auto;min-height:100svh}
  .nx-sec6__split{grid-template-columns:1fr;padding-bottom:32px}
  .nx-sec6__left{order:1}
  .nx-sec6__right{order:2}
  .nx-sec6__band{min-height:72px}
  .nx-sec6__band.is-expanded{min-height:200px}
  .nx-sec6__title{min-height:auto;font-size:clamp(1.8rem,8vw,2.6rem)}
  .nx-sec6__band-inner{height:72px}
  /* Footer trust mobile */
  .foot__trust{flex-wrap:wrap;gap:16px;justify-content:center}
  .foot__trust-item{flex:0 0 calc(50% - 8px)}
  /* Mobile: free scroll — shorter cube sections */
  .nx-cube-snap{height:75vh}
}

/* ── SHORT VIEWPORT — laptop 1080p with browser chrome ── */
@media (max-height:800px) {
  /* Categories: scale down fan deck to fit */
  .nx-categories{padding:clamp(16px,2vh,28px) clamp(24px,4vw,64px)}
  .nx-cat-text__title{font-size:clamp(2rem,4.5vw,3.2rem)}

  /* Sec4: top-align to prevent headline above viewport */
  .nx-sec4{padding:clamp(16px,2vh,28px) 0;align-items:flex-start;padding-top:calc(var(--nav-h) + 12px)}
  /* Push carousel arrows away from bullet nav — desktop only */
  @media(min-width:768px){.nx-sec4__carousel{padding-right:clamp(80px,8vw,120px)}}

  /* Sec6: compact bands */
  .nx-sec6__split{padding:clamp(32px,5vh,56px) clamp(24px,4vw,64px)}
  .nx-sec6__title{font-size:clamp(2rem,4vw,3rem);min-height:3em}
  .nx-sec6__band{min-height:76px}
  .nx-sec6__band-inner{height:76px}
  .nx-sec6__band.is-expanded{min-height:200px}

  /* Bullet nav: compact to avoid arrow overlap */
  .nx-snav__label{font-size:.58rem}
  .nx-snav{gap:12px;padding:10px 8px}
}

/* ── VERY SHORT VIEWPORT — Surface Pro, small laptops ── */
@media (max-height:650px) {
  .nx-categories{padding:clamp(12px,1.5vh,20px) clamp(20px,3vw,48px)}
  .nx-cat-text__title{font-size:clamp(1.6rem,4vw,2.4rem)}
  .nx-cat-text__desc{font-size:.82rem;margin-bottom:20px}

  /* Sec4: even tighter */
  .nx-sec4{padding:clamp(12px,1.5vh,20px) 0}
  .nx-sec4__title{font-size:clamp(1.6rem,4vw,2.4rem)}

  /* Sec6: compact everything */
  .nx-sec6__split{padding:clamp(20px,3vh,36px) clamp(20px,3vw,48px);gap:clamp(20px,3vw,36px)}
  .nx-sec6__title{font-size:clamp(1.6rem,3.5vw,2.4rem);min-height:auto}
  .nx-sec6__band{min-height:64px}
  .nx-sec6__band-inner{height:64px}
  .nx-sec6__band.is-expanded{min-height:160px}
  .nx-sec6__band-name{font-size:.88rem}

  /* Bullet nav: dots only on very short screens */
  .nx-snav__label{opacity:0;pointer-events:none}
  .nx-snav{gap:10px;padding:8px 6px}
}
