/* Struttura "Catalogo": intestazione con ricerca e menu categorie, home a vetrina, piè di pagina a colonne.
   I colori vengono dal tema attivo (variabili --primary, --cta, --cx-*). */
.cx-wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.lay-catalogo .topband{display:none}

/* Fascia in alto */
.cx-top{background:var(--cx-navy,#0E2744);color:#C9D6E8;font-size:13px}
.cx-top .cx-wrap{display:flex;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px}
.cx-top a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.cx-top a:hover{color:var(--cta)}

/* Intestazione */
.cx-head{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40}
.cx-row{display:flex;align-items:center;gap:26px;padding-top:16px;padding-bottom:14px}
.cx-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);flex-shrink:0}
.cx-brand img{height:46px;width:auto}
.cx-brand .wordmark{color:var(--text)}
.cx-search{flex:1;display:flex;border:2px solid var(--primary);border-radius:12px;overflow:hidden;background:#fff;min-width:0}
.cx-cat{display:flex;background:var(--primary-soft);border-right:1px solid var(--border)}
.cx-cat select{border:0;background:transparent;font:inherit;font-weight:700;font-size:14px;color:var(--text);padding:0 12px;max-width:190px;cursor:pointer}
.cx-search input{flex:1;border:0;font:inherit;font-size:15px;padding:12px 14px;min-width:0;outline:0;background:#fff;color:var(--text)}
.cx-search button{border:0;background:var(--primary);color:#fff;padding:0 18px;cursor:pointer;display:grid;place-items:center}
.cx-search button:hover{background:var(--primary-hover)}
.cx-search:focus-within{box-shadow:0 0 0 4px var(--primary-soft)}
.cx-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.cx-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:600;font-size:14px;color:var(--text);position:relative}
.cx-link:hover{color:var(--primary)}
.cx-cart .count{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;border-radius:9px;font-size:11px;display:grid;place-items:center;padding:0 4px}
.cx-quote{padding:11px 18px}
.cx-toggle{display:none!important}
.cx-nav{border-top:1px solid #EEF2F7}
.cx-navin{display:flex;gap:4px;justify-content:space-between}
.cx-navin::-webkit-scrollbar{display:none}
.cx-navin a,.cx-ddbtn{display:flex;align-items:center;gap:7px;padding:12px 2px;font-weight:600;font-size:14px;line-height:1.15;color:#2A3A50;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.cx-ddbtn{background:none;border-top:0;border-left:0;border-right:0;font-family:inherit;cursor:pointer}
.cx-ddbtn .ic{color:var(--primary)}
.cx-dd{position:relative}
.cx-ddpanel{display:none;position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 50px -24px rgba(14,39,68,.35);padding:8px;min-width:260px;z-index:50}
.cx-dd:hover .cx-ddpanel,.cx-dd:focus-within .cx-ddpanel{display:block}
.cx-ddpanel a{border:0;padding:10px 12px;border-radius:10px}
.cx-ddpanel a:hover{background:var(--primary-soft)}
.cx-navin a .ic{flex-shrink:0}
.cx-navin a .ic{color:var(--primary)}
.cx-navin>a:hover,.cx-ddbtn:hover{color:var(--primary);border-bottom-color:var(--cta)}

/* Vetrina */
.cx-vetrina{display:grid;grid-template-columns:2fr 1fr;gap:18px;padding-top:24px;padding-bottom:18px}
.cx-banner{border-radius:20px;background:linear-gradient(120deg,var(--cx-navy,#0E2744) 0%,var(--primary) 100%);color:#fff;padding:44px 48px;position:relative;overflow:hidden;min-height:340px;display:flex;flex-direction:column;justify-content:center}
.cx-banner-in{position:relative;z-index:1;max-width:64%}
.cx-badge{display:inline-block;background:var(--cta);color:#fff;font-weight:700;font-size:12px;padding:5px 10px;border-radius:999px}
.cx-banner h1{font-family:var(--font-head);font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.03em;margin:16px 0 12px;color:#fff}
.cx-banner p{font-size:18px;color:#C9D6E8;margin:0 0 24px}
.cx-banner .btnrow{display:flex;flex-direction:row;gap:10px;flex-wrap:wrap;align-items:center}
.cx-banner .btnrow .btn{width:auto;margin:0}
.cx-banner .btn.ghostdark{border:1px solid rgba(255,255,255,.45);color:#fff;background:transparent}
.cx-banner .btn.ghostdark:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.cx-banner-art{position:absolute;right:28px;top:50%;transform:translateY(-50%);width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.09);display:grid;place-items:center;color:#fff}
.cx-banner-art img{max-width:250px;max-height:250px;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(0,0,0,.35))}
.cx-boxes{display:grid;gap:18px;grid-template-rows:1fr 1fr}
.cx-box{border-radius:20px;padding:24px 26px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;justify-content:center;transition:transform .15s}
.cx-box:hover{transform:translateY(-2px);color:var(--text)}
.cx-box.g{background:var(--cx-green-soft,#E3F6EE)}
.cx-box.o{background:var(--cx-orange-soft,#FFF2E3)}
.cx-box small{font-weight:700;font-size:13px;letter-spacing:.04em}
.cx-box.g small{color:var(--cx-green,#0E9F6E)}
.cx-box.o small{color:var(--cta)}
.cx-box b{font-family:var(--font-head);font-size:24px;line-height:1.15;margin:6px 0;letter-spacing:-.02em}
.cx-box span{color:var(--muted-text)}
.cx-box .cx-boxprice{margin-top:10px;color:var(--text);font-size:26px;font-weight:700;font-family:var(--font-head)}
.cx-box .cx-boxprice i{font-style:normal;font-size:14px;color:var(--muted-text);font-weight:500}
.cx-box .cx-boxgo{margin-top:10px;font-weight:700;color:var(--cta)}
.cx-box.g .cx-boxgo{color:var(--cx-green,#0E9F6E)}

/* Vantaggi */
.cx-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:6px;padding-bottom:30px}
.cx-trust div{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:14px 16px;background:#fff}
.cx-trust .ic-wrap{width:44px;height:44px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;flex-shrink:0}
.cx-trust b{display:block;font-size:15px}
.cx-trust small{color:var(--muted-text);font-size:13px}

/* Sezioni */
.cx-sec{padding:44px 0}
.cx-sec.alt{background:var(--surface2)}
.cx-sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.cx-sechead h2{font-family:var(--font-head);font-size:clamp(26px,3vw,34px);letter-spacing:-.025em;margin:0;line-height:1.1}
.cx-sechead p{margin:6px 0 0;color:var(--muted-text)}
.cx-more{color:var(--primary);font-weight:700;text-decoration:none;white-space:nowrap}

/* Categorie */
.cx-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:12px}
.cx-catc{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px 8px;text-align:center;text-decoration:none;color:var(--text);transition:border-color .15s,box-shadow .15s,transform .15s}
.cx-catc:hover{border-color:var(--primary);box-shadow:0 14px 30px -20px rgba(29,88,168,.5);transform:translateY(-2px);color:var(--text)}
.cx-catc .cx-catic{width:70px;height:70px;margin:0 auto 12px;border-radius:50%;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary)}
.cx-catc b{display:block;font-size:15px;line-height:1.25}
.cx-catc small{display:block;color:var(--cx-green,#0E9F6E);font-weight:700;font-size:12.5px;margin-top:6px;white-space:nowrap}
.cx-catc small.q{color:var(--muted-text);font-weight:600}

/* Prodotti */
.cx-chips{display:flex;gap:8px;flex-wrap:wrap}
.cx-chips button{border:0;background:var(--primary-soft);color:var(--text);font:inherit;font-weight:700;font-size:13px;padding:8px 14px;border-radius:999px;cursor:pointer}
.cx-chips button.on{background:var(--cx-navy,#0E2744);color:#fff}
.cx-prods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cx-prod{border:1px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--text);display:flex;flex-direction:column;background:#fff;transition:border-color .15s,box-shadow .15s}
.cx-prod:hover{border-color:var(--primary);box-shadow:0 18px 40px -26px rgba(29,88,168,.55);color:var(--text)}
.cx-prod[hidden]{display:none}
.cx-pimg{position:relative;height:200px;background:#fff;display:grid;place-items:center;padding:14px;border-bottom:1px solid #EEF2F7}
.cx-pimg img{max-height:170px;width:auto;object-fit:contain}
.cx-pimg .cx-pic{color:var(--primary)}
.cx-pimg .pcard-cond{position:absolute;top:12px;left:12px}
.cx-pbody{padding:16px;display:flex;flex-direction:column;flex:1}
.cx-pcat{color:var(--muted-text);font-size:13px}
.cx-ptitle{font-weight:700;font-size:16.5px;line-height:1.3;margin:4px 0 14px;flex:1}
.cx-pfoot{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cx-price{font-size:13px;color:var(--muted-text)}
.cx-price b{font-family:var(--font-head);font-size:24px;color:var(--cx-navy,#0E2744);letter-spacing:-.02em}
.cx-go{width:44px;height:44px;border-radius:10px;background:var(--cta);color:#fff;display:grid;place-items:center;flex-shrink:0}
.cx-prod:hover .cx-go{background:var(--cta-hover)}

/* Stato prodotto */
.lay-catalogo .pcard-cond{display:inline-block;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--cx-green-soft,#E3F6EE);color:var(--cx-green,#0E9F6E)}
.lay-catalogo .pcard-cond:not(.cond-nuovo){background:var(--cx-orange-soft,#FFF2E3);color:#C76A06}

/* Sezioni classiche dentro la struttura Catalogo */
.lay-catalogo .wrap{max-width:1280px}
.lay-catalogo .wrap-narrow{max-width:1280px}
.lay-catalogo main .h-xl,.lay-catalogo main .h-l{font-size:clamp(26px,3vw,34px);line-height:1.1}
.lay-catalogo main .h-xxl{font-size:clamp(30px,3.6vw,44px);line-height:1.08}
.lay-catalogo .pad-l{padding-top:44px;padding-bottom:44px}
.lay-catalogo .faq{max-width:none}
.lay-catalogo .home-reviews,.lay-catalogo .faq{scroll-margin-top:140px}
.lay-catalogo .cta-box{background:var(--cx-navy,#0E2744);border-radius:20px}
.lay-catalogo .cta-box .blob{display:none}
.lay-catalogo .cta-box h2,.lay-catalogo .cta-box p{color:#fff}
.lay-catalogo .cta-box .btn.black{background:var(--cta);color:#fff}

/* Piè di pagina */
.cx-foot{background:var(--cx-navy,#0E2744);color:#C9D6E8;padding:44px 0 24px;margin-top:30px}
.cx-footgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.cx-footlogo{display:inline-flex;background:#fff;padding:9px 13px;border-radius:12px}
.cx-footlogo img{height:36px;width:auto}
.cx-footlogo .wordmark{color:var(--text)}
.cx-footbrand p{margin:14px 0 12px;font-size:14px;line-height:1.55}
.cx-contacts{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:14px}
.cx-contacts li{display:flex;gap:8px;align-items:center}
.cx-foot a,.cx-foot .linkbtn{color:#C9D6E8;text-decoration:none;display:block;font-size:14px;margin-top:8px;background:none;border:0;padding:0;font:inherit;font-size:14px;cursor:pointer;text-align:left}
.cx-contacts a{margin:0}
.cx-foot a:hover,.cx-foot .linkbtn:hover{color:#fff}
.cx-foothead{color:#fff;font-weight:700;font-size:15px}
.cx-legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:18px;font-size:12.5px;color:#8FA3BF}

/* Tablet */
@media (max-width:1100px){
  .cx-prods{grid-template-columns:repeat(3,1fr)}
  .cx-banner-in{max-width:100%}
  .cx-banner-art{opacity:.25;right:-40px}
  .cx-trust{grid-template-columns:repeat(2,1fr)}
  .cx-footgrid{grid-template-columns:1fr 1fr}
}
/* Telefono */
@media (max-width:820px){
  .cx-wrap{padding:0 16px}
  .cx-top span{display:none}
  .cx-top .cx-wrap{justify-content:center}
  .cx-row{flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}
  .cx-brand{margin-right:auto}
  .cx-brand img{height:38px}
  .cx-search{order:3;flex-basis:100%}
  .cx-cat{display:none}
  .cx-actions{gap:12px}
  .cx-link span,.cx-quote{display:none}
  .cx-toggle{display:inline-grid!important;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text)}
  .cx-nav{display:none}
  .cx-nav.open{display:block}
  .cx-navin{flex-direction:column;gap:0;padding-bottom:10px}
  .cx-navin a{font-size:15px}
  .cx-navin a{border-bottom:1px solid #EEF2F7;padding:13px 4px}
  .cx-ddbtn{display:none}
  .cx-ddpanel{display:block;position:static;border:0;box-shadow:none;padding:0;min-width:0}
  .cx-ddpanel a{border-radius:0;border-bottom:1px solid #EEF2F7;padding:13px 4px}
  .cx-vetrina{grid-template-columns:1fr;padding-top:16px}
  .cx-banner{padding:30px 24px;min-height:0}
  .cx-banner h1{font-size:34px}
  .cx-banner p{font-size:16px}
  .cx-banner-art{display:none}
  .cx-boxes{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:12px}
  .cx-box{padding:18px}
  .cx-box b{font-size:18px}
  .cx-box .cx-boxprice{font-size:20px}
  .cx-trust{grid-template-columns:1fr 1fr;gap:10px;padding-top:12px}
  .cx-trust div{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}
  .cx-trust b{font-size:14px}
  .cx-cats{grid-template-columns:repeat(2,1fr)}
  .cx-prods{grid-template-columns:repeat(2,1fr);gap:12px}
  .cx-pimg{height:150px}
  .cx-pimg img{max-height:125px}
  .cx-price b{font-size:20px}
  .cx-go{width:38px;height:38px}
  .cx-sec{padding:32px 0}
  .cx-footgrid{grid-template-columns:1fr}
}
@media (max-width:820px){
  .cx-top:not(:has(a)){display:none}
  .cx-cats{grid-template-columns:1fr 1fr;gap:10px}
  .cx-catc{display:flex;align-items:center;gap:10px;text-align:left;padding:12px}
  .cx-catc .cx-catic{width:44px;height:44px;margin:0;flex-shrink:0}
  .cx-catc .cx-catic .ic{width:22px;height:22px}
  .cx-catc b{font-size:14px}
  .cx-catc small{margin-top:2px;font-size:12px}
}
@media (max-width:480px){
  .cx-boxes{grid-template-columns:1fr}
  .cx-prods{grid-template-columns:1fr;gap:10px}
  .cx-prod{display:grid;grid-template-columns:116px 1fr}
  .cx-pimg{height:auto;min-height:130px;border-bottom:0;border-right:1px solid #EEF2F7;padding:28px 8px 8px}
  .cx-pimg img{max-height:100px}
  .cx-pimg .cx-pic .ic{width:54px;height:54px}
  .cx-pimg .pcard-cond{top:8px;left:8px;font-size:11px;padding:3px 7px}
  .cx-pbody{padding:12px}
  .cx-ptitle{font-size:15px;margin-bottom:10px}
  .cx-cats{grid-template-columns:1fr}
}
@media (min-width:821px) and (max-width:1180px){
  .cx-navin{overflow-x:auto;scrollbar-width:none;gap:18px}
  .cx-navin::-webkit-scrollbar{display:none}
  .cx-dd:hover .cx-ddpanel{display:none}
  .cx-row{gap:16px}
}
