/* =========================================================
   DESIGN SYSTEM — Sito B2B Installatori (Dalm Security)
   Incolla in: Aspetto > Personalizza > CSS aggiuntivo
   Versione pulita — duplicati e regole morte rimossi
   ========================================================= */

/* 1. FONT */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

/* 2. VARIABILI COLORE / TOKEN DI PROGETTO */
:root{
  --bg:#F4F6FB;
  --ink:#0B1B3A;
  --ink-dim:#5C6784;
  --panel:#FFFFFF;
  --line:#E1E5F0;
  --accent:#0E3670;      /* 29b — blu del logo, misurato sul PNG master */
  --accent-deep:#0A2855; /* 29b — variante scura */
  --warn:#FF5A3C;
}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
}

h1,h2,h3,h4,.gb-headline{
  font-family:'Space Grotesk',sans-serif !important;
  font-weight:700;
  letter-spacing:-.01em;
}

/* 3. BOTTONI */
.btn-primary{
  background:var(--accent) !important;
  color:#fff !important;
  font-weight:700;
  border-radius:8px !important;
  padding:.85rem 1.4rem !important;
  box-shadow:0 10px 22px -10px rgba(62,95,255,.6);
  border:none !important;
}
.btn-primary:hover{ background:var(--accent-deep) !important; }

.btn-ghost{
  background:transparent !important;
  border:1.5px solid var(--line) !important;
  color:var(--ink) !important;
  border-radius:8px !important;
  padding:.85rem 1.4rem !important;
  font-weight:700;
}
.btn-ghost:hover{ border-color:var(--ink) !important; }

/* 4. TAG/EYEBROW */
.tag{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.74rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--accent-deep);
  background:#EAEEFF; border-radius:999px; padding:.4rem .9rem;
}
.tag .dot{ width:6px; height:6px; border-radius:50%; background:var(--accent); }

/* 5. ELEMENTO DISTINTIVO — riquadro "riconoscimento" */
.lock-target{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  padding:2.5rem;
}
.lock-target .corner{
  position:absolute; width:34px; height:34px;
  border:2.5px solid var(--accent);
}
.lock-target .corner.tl{ top:0; left:0; border-right:none; border-bottom:none; border-radius:8px 0 0 0; }
.lock-target .corner.tr{ top:0; right:0; border-left:none; border-bottom:none; border-radius:0 8px 0 0; }
.lock-target .corner.bl{ bottom:0; left:0; border-right:none; border-top:none; border-radius:0 0 0 8px; }
.lock-target .corner.br{ bottom:0; right:0; border-left:none; border-top:none; border-radius:0 0 8px 0; }

.cat-card{
  position:relative;
  border:1.5px solid var(--line) !important;
  border-radius:14px !important;
  transition:border-color .2s, transform .2s;
}
.cat-card:hover{ border-color:var(--accent) !important; transform:translateY(-3px); }

/* 6. SFONDO GRADIENTE (hero, banner CTA) */
.gradient-panel{
  background:linear-gradient(150deg,var(--ink) 0%, var(--accent-deep) 55%, var(--accent) 130%);
  color:#fff;
  border-radius:20px;
}

/* 7. HEADER STICKY (facoltativo) */
.site-header{
  border-bottom:1px solid var(--line);
}

/* =========================================================
   8. WOOCOMMERCE — griglia prodotti (base)
   NOTA: le regole di layout griglia/card/immagine/titolo sono
   state spostate e consolidate nella sezione 15 (più specifica,
   con !important) — qui restano solo le regole non duplicate
   altrove: hover card, categoria, prezzo, badge prezzo riservato,
   pulsante carrello, badge sconto.
   ========================================================= */

ul.products li.product:hover{
  border-color:var(--accent);
  transform:translateY(-3px);
}

/* marchio/categoria sopra al titolo, se il tema la mostra come .product-category */
ul.products li.product .product-category{
  font-size:.68rem;
  color:var(--ink-dim);
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:0 1.1rem;
}

/* prezzo — quando l'utente NON è loggato, WooCommerce B2B nasconde .price
   e mostra il proprio messaggio: lo intercettiamo e lo stiliamo come badge */
ul.products li.product .price{
  padding:0 1.1rem 1.2rem;
  font-family:'Space Grotesk',sans-serif !important;
  font-weight:700 !important;
  color:var(--ink) !important;
}

/* messaggio "prezzo riservato" — classe reale usata dallo snippet PHP
   di gating prezzi (.dalm-login-price) */
ul.products li.product .dalm-login-price{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  font-size:.68rem;
  color:var(--accent);
  background:#EAEEFF;
  padding:.3rem .65rem;
  border-radius:6px;
  display:inline-block;
  text-decoration:none;
}

/* pulsante "aggiungi al carrello" */
ul.products li.product a.add_to_cart_button,
ul.products li.product a.button{
  background:var(--accent) !important;
  color:#fff !important;
  border-radius:8px !important;
  font-weight:700 !important;
  font-size:.82rem !important;
  margin:0 1.1rem 1.1rem !important;
  padding:.6rem 1rem !important;
  text-align:center;
}
ul.products li.product a.add_to_cart_button:hover{
  background:var(--accent-deep) !important;
}

/* badge "Nuovo" / sconto */
.onsale{
  background:var(--warn) !important;
  color:#fff !important;
  font-size:.62rem !important;
  font-weight:700 !important;
  text-transform:uppercase;
  border-radius:5px !important;
  padding:.25rem .55rem !important;
  top:10px !important; left:10px !important;
  min-height:0 !important; min-width:0 !important;
  line-height:1.4 !important;
}

/* =========================================================
   9. COMPATIBILITÀ BLOCCHI GUTENBERG NATIVI + hero
   ========================================================= */

.wp-block-button.btn-primary .wp-block-button__link{
  background:var(--accent) !important;
  color:#fff !important;
  border-radius:8px !important;
  font-weight:700 !important;
  padding:.85rem 1.4rem !important;
  box-shadow:0 10px 22px -10px rgba(62,95,255,.6);
}
.wp-block-button.btn-primary .wp-block-button__link:hover{
  background:var(--accent-deep) !important;
}
.wp-block-button.btn-ghost .wp-block-button__link{
  background:transparent !important;
  border:1.5px solid var(--line) !important;
  color:var(--ink) !important;
  border-radius:8px !important;
  font-weight:700 !important;
  padding:.85rem 1.4rem !important;
}
.wp-block-button.btn-ghost .wp-block-button__link:hover{
  border-color:var(--ink) !important;
}

.hero-wp .wp-block-columns{
  align-items:center;
  gap:3rem;
}
h1 span.accent{
  color:var(--accent);
}
.hero-wp p.tag{
  display:inline-flex; align-items:center; gap:.5rem;
}

/* =========================================================
   10. FASCIA MARCHI + SEZIONI HOMEPAGE (categorie, ecc.)
   ========================================================= */

.brand-strip{
  display:flex; align-items:center; gap:2.8rem;
  padding:1.8rem 2.5rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow-x:auto;
  background:var(--panel);
}
.brand-strip .label{
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink-dim); flex-shrink:0; white-space:nowrap;
}
.brand-strip .placeholder-logo{
  color:#C3C9DC; font-weight:700; font-size:.98rem; letter-spacing:.02em;
  white-space:nowrap; flex-shrink:0;
}
.brand-strip .view-all{
  margin-left:auto; color:var(--accent); font-weight:700; font-size:.85rem;
  display:flex; align-items:center; gap:.35rem; flex-shrink:0;
  text-decoration:none;
}

.section-wp{padding:4.5rem 2.5rem; max-width:1240px; margin:0 auto;}
.section-head-wp{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:2.4rem; gap:2rem; flex-wrap:wrap;}
.section-head-wp h2{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:2rem; letter-spacing:-.01em;}
.section-head-wp p{color:var(--ink-dim); font-size:.95rem; max-width:420px; margin-top:.5rem;}
.section-head-wp a{color:var(--accent); font-weight:700; font-size:.86rem; white-space:nowrap; text-decoration:none;}

.cat-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1.1rem;}
.cat-card{
  position:relative;
  background:var(--panel); border:1.5px solid var(--line); border-radius:14px;
  padding:1.6rem 1.2rem;
  display:flex; flex-direction:column; align-items:flex-start; gap:1rem;
  transition:border-color .2s, transform .2s;
  text-decoration:none; color:var(--ink);
}
.cat-card:hover{border-color:var(--accent); transform:translateY(-3px);}
.cat-card .icon-wrap{
  width:46px; height:46px; border-radius:10px;
  background:#EAEEFF; display:flex; align-items:center; justify-content:center;
}
.cat-card svg{width:22px; height:22px; stroke:var(--accent-deep); fill:none; stroke-width:1.7;}
.cat-card .name{font-weight:700; font-size:.9rem;}
.cat-card .corner{width:16px; height:16px; border-width:2px; opacity:0; position:absolute; border-color:var(--accent); transition:opacity .2s;}
.cat-card .corner.tl{top:6px; left:6px;} .cat-card .corner.tr{top:6px; right:6px;}
.cat-card .corner.bl{bottom:6px; left:6px;} .cat-card .corner.br{bottom:6px; right:6px;}
.cat-card:hover .corner{opacity:1;}

@media(max-width:900px){
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .section-wp{padding:3rem 1.3rem;}
}

/* =========================================================
   11. SEZIONE "PERCHÉ REGISTRARSI" + BANNER CTA FINALE
   ========================================================= */

.why-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center;
}
.why-visual{
  position:relative; aspect-ratio:4/3; border-radius:20px;
  background:linear-gradient(150deg,var(--ink) 0%, var(--accent-deep) 60%, var(--accent) 140%);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.why-list{display:flex; flex-direction:column; gap:1.6rem;}
.why-item{display:flex; gap:1rem;}
.why-item .num{
  font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.1rem;
  color:var(--accent); flex-shrink:0; width:2.2rem;
}
.why-item h4{font-size:1rem; margin-bottom:.3rem;}
.why-item p{color:var(--ink-dim); font-size:.9rem; line-height:1.55;}

.scan-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:32px 32px;
  opacity:.6;
}
.scan-line{
  position:absolute; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
  animation:scan 3.2s ease-in-out infinite;
  box-shadow:0 0 12px 2px rgba(255,255,255,.4);
}
@keyframes scan{
  0%{top:8%; opacity:0;}
  10%{opacity:1;}
  90%{opacity:1;}
  100%{top:92%; opacity:0;}
}
.lock-label{
  position:absolute; bottom:-2px; left:50%; transform:translate(-50%, 100%);
  font-family:'Space Grotesk',sans-serif; font-size:.68rem; font-weight:600;
  color:rgba(255,255,255,.85); letter-spacing:.08em; text-transform:uppercase;
  white-space:nowrap; margin-top:10px;
}
@media (prefers-reduced-motion: reduce){ .scan-line{animation:none;} }

.cta-banner{
  margin:0 2.5rem 4.5rem; border-radius:20px;
  background:linear-gradient(120deg,var(--ink), var(--accent-deep) 70%, var(--accent) 150%);
  color:#fff; padding:3.5rem 3rem;
  display:flex; align-items:center; justify-content:space-between; gap:2rem;
  flex-wrap:wrap;
}
.cta-banner h3{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.7rem; margin-bottom:.6rem;}
.cta-banner p{color:#C7D0F0; font-size:.95rem; max-width:420px;}
.cta-banner .btn-cta-white{
  background:#fff; color:var(--accent-deep) !important; font-weight:700; font-size:.88rem;
  padding:.85rem 1.4rem; border-radius:8px; text-decoration:none; display:inline-block; flex-shrink:0;
}
.cta-banner .btn-cta-white:hover{background:#EAEEFF;}

@media(max-width:900px){
  .why-grid{grid-template-columns:1fr;}
  .cta-banner{margin:0 1.3rem 3rem; padding:2.2rem 1.5rem;}
}

/* =========================================================
   12. INTESTAZIONE PAGINA CATALOGO (Shop / Categoria)
   ========================================================= */

.breadcrumb-wp{
  padding:1.1rem 2.5rem .5rem; font-size:.8rem; color:var(--ink-dim);
  max-width:1240px; margin:0 auto;
}
.breadcrumb-wp a{color:var(--ink-dim); text-decoration:none;}
.breadcrumb-wp a:hover{color:var(--accent);}
.breadcrumb-wp .sep{margin:0 .4rem; opacity:.5;}
.breadcrumb-wp .current{color:var(--ink); font-weight:600;}

.shop-header-wp{
  padding:.6rem 2.5rem 2rem;
  max-width:1240px; margin:0 auto;
  display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
}
.shop-header-wp h1{
  font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:2.1rem;
}
.shop-header-wp p{color:var(--ink-dim); font-size:.9rem; margin-top:.4rem;}
.shop-lock-note{
  display:flex; gap:.6rem; align-items:center;
  background:#EAEEFF; border-radius:10px; padding:.7rem 1rem;
  font-size:.8rem; color:var(--accent-deep); max-width:1240px; margin:0 auto 2rem;
}

@media(max-width:900px){
  .breadcrumb-wp, .shop-header-wp, .shop-lock-note{padding-left:1.3rem; padding-right:1.3rem;}
}

/* =========================================================
   13. PAGINA PRODOTTO SINGOLO (WooCommerce)
   ========================================================= */

.woocommerce div.product{
  max-width:1240px; margin:0 auto; padding:2rem 2.5rem;
}

.woocommerce div.product div.images{
  border-radius:16px; overflow:hidden;
}
.woocommerce div.product div.images img{
  border-radius:16px;
}
.woocommerce div.product div.images .flex-control-thumbs li img{
  border-radius:10px; border:1.5px solid var(--line);
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{
  border-color:var(--accent);
}

.woocommerce div.product .summary h1.product_title{
  font-family:'Space Grotesk',sans-serif !important;
  font-weight:700 !important;
  font-size:1.9rem !important;
  color:var(--ink);
}
.woocommerce div.product .summary .sku_wrapper,
.woocommerce div.product .summary .posted_in{
  font-size:.82rem; color:var(--ink-dim);
}

.woocommerce div.product .summary p.price,
.woocommerce div.product .summary span.price{
  font-family:'Space Grotesk',sans-serif !important;
  font-weight:700 !important;
  color:var(--ink) !important;
  background:#EEF1FA;
  display:inline-block;
  padding:.9rem 1.3rem;
  border-radius:12px;
}

.woocommerce div.product .summary button.single_add_to_cart_button{
  background:var(--accent) !important;
  color:#fff !important;
  border-radius:8px !important;
  font-weight:700 !important;
  padding:.9rem 1.6rem !important;
  border:none !important;
}
.woocommerce div.product .summary button.single_add_to_cart_button:hover{
  background:var(--accent-deep) !important;
}

.woocommerce div.product .summary .quantity input.qty{
  border:1.5px solid var(--line) !important;
  border-radius:8px !important;
  height:44px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{
  font-weight:700; font-size:.9rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  border-bottom:2px solid var(--accent) !important;
}
.woocommerce table.shop_attributes{
  border-collapse:collapse; width:100%; max-width:720px;
}
.woocommerce table.shop_attributes tr{ border-bottom:1px solid var(--line); }
.woocommerce table.shop_attributes th{
  color:var(--ink-dim); font-weight:600; text-align:left; padding:.85rem .5rem; width:40%;
}
.woocommerce table.shop_attributes td{ padding:.85rem .5rem; font-weight:600; }

/* messaggio prezzo riservato — pagina prodotto singolo */
.woocommerce div.product .summary .dalm-login-price{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700; font-size:.85rem;
  color:var(--accent); background:#EAEEFF;
  padding:.6rem 1rem; border-radius:8px;
  display:inline-block;
  text-decoration:none;
}

.woocommerce div.product .related.products > h2{
  font-family:'Space Grotesk',sans-serif !important;
  font-weight:700 !important; font-size:1.5rem !important;
  margin:3rem 0 1.5rem !important;
}

@media(max-width:900px){
  .woocommerce div.product{ padding:1.2rem 1.3rem; }
}

/* =========================================================
   14. PAGINA MY ACCOUNT (login / registrazione WooCommerce)
   ========================================================= */

.woocommerce-account .woocommerce{
  max-width:1240px; margin:0 auto; padding:0 2.5rem 4rem;
}

.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register{
  background:var(--panel);
  border:1.5px solid var(--line);
  border-radius:16px;
  padding:2rem;
}

.woocommerce-account form .woocommerce-form-row label,
.woocommerce-account form label{
  font-weight:600; font-size:.85rem; color:var(--ink);
}
.woocommerce-account form input.input-text,
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="text"]{
  border:1.5px solid var(--line) !important;
  border-radius:8px !important;
  padding:.7rem .9rem !important;
  font-family:'Inter',sans-serif;
}
.woocommerce-account form input.input-text:focus{
  border-color:var(--accent) !important;
  outline:none;
}

.woocommerce-account form button[type="submit"],
.woocommerce-account form .woocommerce-Button{
  background:var(--accent) !important;
  color:#fff !important;
  border-radius:8px !important;
  font-weight:700 !important;
  padding:.85rem 1.4rem !important;
  border:none !important;
}
.woocommerce-account form button[type="submit"]:hover{
  background:var(--accent-deep) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
  border:1.5px solid var(--line); border-radius:12px; overflow:hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li{
  border-bottom:1px solid var(--line);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  padding:.85rem 1.2rem; display:block; font-weight:600; font-size:.88rem; color:var(--ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{
  color:var(--accent); background:#EAEEFF;
}

@media(max-width:900px){
  .woocommerce-account .woocommerce{ padding:0 1.3rem 3rem; }
}

/* =========================================================
   15. GRIGLIA PRODOTTI WOOCOMMERCE — regole principali
   (questa sezione ha priorità sulla sezione 8: selettore più
   specifico + !important, quindi è lei a governare il layout)
   ========================================================= */

.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap:1.4rem !important;
  list-style:none !important;
  padding:0 !important;
  margin:0 0 2rem 0 !important;
}

.woocommerce ul.products li.product{
  width:100% !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  background:var(--panel);
  border:1.5px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}

.woocommerce ul.products li.product a{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  text-decoration:none !important;
  padding:0 !important;
}

.woocommerce ul.products li.product a img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1 !important;
  object-fit:contain !important;
  background:#EEF1FA !important;
  padding:1.2rem !important;
  margin:0 !important;
  border-radius:0 !important;
  display:block !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Inter',sans-serif !important;
  font-weight:700 !important;
  font-size:.85rem !important;
  line-height:1.35 !important;
  padding:0 1rem !important;
  margin:.8rem 0 .5rem 0 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  min-height:2.4em !important;
}

.woocommerce ul.products li.product .price{
  padding:0 1rem 1rem !important;
  margin-top:auto !important;
}

.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button{
  margin:0 1rem 1rem !important;
  text-align:center !important;
}

@media(max-width:600px){
  .woocommerce ul.products{
    grid-template-columns:repeat(2, 1fr) !important;
  }
}

/* =========================================================
   16. RICERCA E FILTRO MARCHI — pagina Catalogo
   ========================================================= */

.shop-search-row{
  max-width:1240px; margin:0 auto 1.5rem; padding:0 2.5rem;
}
.shop-search-row form.woocommerce-product-search{
  display:flex; max-width:460px;
  border:1.5px solid var(--line); border-radius:8px; overflow:hidden;
}
.shop-search-row input.search-field{
  flex:1; border:none; outline:none; padding:.75rem 1rem;
  font-family:'Inter',sans-serif; font-size:.9rem;
}
.shop-search-row button{
  background:var(--accent) !important; color:#fff !important;
  border:none !important; padding:0 1.3rem !important;
  font-weight:700; cursor:pointer;
}
.shop-search-row button:hover{ background:var(--accent-deep) !important; }

.shop-brand-filter{
  display:flex; align-items:center; gap:.7rem; flex-wrap:wrap;
  max-width:1240px; margin:0 auto 2rem; padding:0 2.5rem;
}
.shop-brand-filter .label{
  font-size:.82rem; font-weight:700; color:var(--ink-dim);
}
.brand-chip{
  background:#EEF1FA; color:var(--accent-deep) !important;
  padding:.45rem 1rem; border-radius:999px;
  font-size:.82rem; font-weight:700; text-decoration:none;
  transition:background .2s, color .2s;
}
.brand-chip:hover{ background:var(--accent) !important; color:#fff !important; }

@media(max-width:900px){
  .shop-search-row, .shop-brand-filter{ padding:0 1.3rem; }
}

/* =========================================================
   17. PAGINA "RICHIEDI ASSISTENZA" — stile del form
   ========================================================= */

.assistenza-layout{
  max-width:1100px; margin:0 auto; padding:0 2.5rem 4rem;
  display:grid; grid-template-columns:1.4fr 1fr; gap:2.5rem;
}

.assistenza-layout .wpcf7-form{
  background:var(--panel); border:1.5px solid var(--line); border-radius:16px;
  padding:2rem;
}
.assistenza-layout .field{margin-bottom:1.3rem;}
.assistenza-layout .field label{
  display:block; font-weight:700; font-size:.85rem; margin-bottom:.5rem;
}
.assistenza-layout .field-row{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}

.assistenza-layout input[type="text"],
.assistenza-layout input[type="email"],
.assistenza-layout input[type="tel"],
.assistenza-layout select,
.assistenza-layout textarea{
  width:100% !important; border:1.5px solid var(--line) !important; border-radius:8px !important;
  padding:.75rem .9rem !important; font-family:'Inter',sans-serif !important; font-size:.9rem !important;
  color:var(--ink) !important; background:#fff !important;
}
.assistenza-layout textarea{min-height:110px; resize:vertical;}

.assistenza-layout input.wpcf7-submit{
  width:100% !important; background:var(--accent) !important; color:#fff !important; border:none !important;
  font-weight:700 !important; font-size:.95rem !important; padding:.9rem !important; border-radius:8px !important;
  cursor:pointer; margin-top:.5rem;
  box-shadow:0 10px 22px -10px rgba(62,95,255,.6);
}
.assistenza-layout input.wpcf7-submit:hover{ background:var(--accent-deep) !important; }

.wpcf7-response-output{
  border-radius:8px !important; margin-top:1rem !important; font-size:.85rem !important;
}

@media(max-width:800px){
  .assistenza-layout{grid-template-columns:1fr; padding:0 1.3rem 3rem;}
  .assistenza-layout .field-row{grid-template-columns:1fr;}
}

/* =========================================================
   18. PAGINA CONTATTI — griglia email/telefono/sede responsive
   Fix bug: la griglia a 3 colonne (inline style nella pagina)
   non si adattava sotto ~700px, causando overflow orizzontale
   e la scomparsa della card "Sede" fuori schermo su mobile.
   ========================================================= */
@media(max-width:700px){
  .dalm-contact-grid{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   19. PAGINA CATALOGO — filtro per categoria + nota disponibilità
   ========================================================= */

.shop-category-filter{
  display:flex; align-items:center; gap:.7rem; flex-wrap:wrap;
  max-width:1240px; margin:-1rem auto 2rem; padding:0 2.5rem;
}
.shop-category-filter .label{
  font-size:.82rem; font-weight:700; color:var(--ink-dim);
}
.category-chip{
  background:#fff; color:var(--accent-deep) !important;
  border:1.5px solid var(--line);
  padding:.42rem .95rem; border-radius:999px;
  font-size:.82rem; font-weight:700; text-decoration:none;
  transition:background .2s, color .2s, border-color .2s;
}
.category-chip:hover{ background:var(--accent) !important; color:#fff !important; border-color:var(--accent) !important; }

.shop-availability-note{
  max-width:1240px; margin:0 auto 1rem; padding:0 2.5rem;
  font-size:.85rem; color:var(--ink-dim);
}

@media(max-width:900px){
  .shop-category-filter, .shop-availability-note{ padding:0 1.3rem; }
}

/* =========================================================
   20. FIX BUG "Come funziona" invisibile (Richiedi assistenza + Richiedi un preventivo)
   .info-card aveva color:#fff senza alcuno sfondo definito da nessuna parte
   ========================================================= */

.info-card{
  background:linear-gradient(135deg, var(--accent), var(--accent-deep));
}
.info-card h3, .info-card p{ color:#fff; }

/* =========================================================
   21. Nasconde il vecchio pulsante "Aggiungi al preventivo" di YITH
   (progetto abbandonato, sostituito da link al form via snippet PHP)
   ========================================================= */

.add-request-quote-button{
  display:none !important;
}

/* =========================================================
   22. Nasconde il box prezzo vuoto sulle schede prodotto senza
   prezzo impostato (bug WooCommerce: <p class="price"></p> resta
   visibile come box vuoto anche se non contiene testo)
   ========================================================= */

.price:empty{
  display:none !important;
}

/* =========================================================
   23. PAGINA "SUD ITALIA" — griglia regioni servite
   ========================================================= */

.dalm-region-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; max-width:1240px; margin:0 auto;
}
.region-card{
  background:#EEF1FA; border-radius:14px; padding:1.6rem;
}
.region-card .region-name{
  font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.05rem; color:var(--ink); margin-bottom:.5rem;
}
.region-card .region-provinces{
  font-size:.85rem; color:var(--ink-dim); line-height:1.5;
}
@media(max-width:900px){
  .dalm-region-grid{ grid-template-columns:repeat(2,1fr); padding:0 1.3rem; }
}
@media(max-width:500px){
  .dalm-region-grid{ grid-template-columns:1fr; }
}

/* =========================================================
   24. RIGA COPYRIGHT — rimuove "Creato con GeneratePress",
   nessun testo sostitutivo
   ========================================================= */

.copyright-bar{
  font-size: 0 !important;
}
.copyright-bar .copyright{
  font-size: 15px !important;
}
.copyright-bar a{
  display: none !important;
}
/* =========================================================
   25. ICONE SOCIAL — widget fluttuante sopra il tasto WhatsApp,
   stessa dimensione del pulsante WhatsApp (60px), colori del
   sito invece dei colori ufficiali delle piattaforme
   ========================================================= */

.dalm-social{
  position: fixed !important;
  bottom: 92px !important;
  right: 20px !important;
  left: auto !important;
  top: auto !important;
  z-index: 99998 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: .7rem !important;
  margin: 0 !important;
}
.dalm-social span{
  display: none !important;
}
.dalm-social a{
  width: 60px !important;
  height: 60px !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
}
.dalm-social a:hover{
  transform: scale(1.1) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.3) !important;
}
.dalm-social a svg{
  width: 28px !important;
  height: 28px !important;
}

.dalm-social a[aria-label*="LinkedIn"]{
  background: var(--accent-deep) !important;
}
.dalm-social a[aria-label*="Facebook"]{
  background: var(--accent) !important;
}
.dalm-social a[aria-label*="TikTok"]{
  background: linear-gradient(135deg, var(--accent) 0%, var(--ink) 100%) !important;
}

.dalm-social a svg,
.dalm-social a svg path{
  fill: #ffffff !important;
}
/* =========================================================
   26. FIX DOPPIO TITOLO/BREADCRUMB — solo pagina Catalogo
   Nasconde la versione nativa di WooCommerce (grezza) e lascia
   solo quella nel nostro stile. Non tocca le pagine categoria,
   che hanno correttamente un solo titolo.
   ========================================================= */

.woocommerce-shop .woocommerce-breadcrumb,
.woocommerce-shop .woocommerce-products-header__title{
  display: none !important;
}

/* =========================================================
   27. HEADER — dimensione del logo
   Il logo veniva mostrato a 467x207px: occupava circa meta
   dell'header e spingeva il menu principale su due righe.
   Ridotto a un'altezza standard; la larghezza si adatta da
   sola mantenendo le proporzioni originali.
   ========================================================= */

.site-logo .header-image.is-logo-image{
  height: 90px !important;
  width: auto !important;
}

@media (max-width: 768px){
  .site-logo .header-image.is-logo-image{
    height: 64px !important;
  }
}

/* =========================================================
   28. SFONDO PAGINA — bianco
   Lo sfondo del sito era #F4F6FB (grigio-azzurro chiaro).
   Portato a bianco su richiesta. Verificato che quel colore
   era applicato solo al body (home, catalogo e scheda
   prodotto controllate): le card prodotto restano distinte
   grazie al loro bordo, quindi nessun elemento perde stacco.
   ========================================================= */

body{
  background-color: #ffffff;
}

/* =========================================================
   29. COLORI — allineamento al blu del marchio (05/10/2026)
   I token --accent e --accent-deep della sezione 1 sono stati
   portati sul blu reale del logo: #3E5FFF -> #144592 e
   #17287A -> #103978. Cambiati lì, non sovrascritti qui, per
   non lasciare due :root in conflitto.
   Contrasto del testo accent su bianco: da 4,90:1 a 9,15:1.
   ========================================================= */

/* ---------------------------------------------------------
   29b. CORREZIONE del 07/10/2026
   Il valore #144592 usato il 05/10 era ricavato dal JPEG del
   logo: la compressione a perdita aveva spostato la tinta.
   Misurato sul PNG master della Libreria media (allegato 40,
   canale alfa vero) il blu pieno e' #0E3670, su 29.126 pixel
   opachi contro meno di 200 per ogni altra sfumatura.
   Contrasto su bianco: da 9,15:1 a 11,80:1.
   --------------------------------------------------------- */
