/* ==================================================
   WOODBUILD – UI & Color System
   Tema: Hello Elementor (child)
   ================================================== */

:root{
  /* Core palette */
  --wb-anthracite:#1F2933;
  --wb-wood:#8B5E3C;
  --wb-cement:#E5E7EB;
  --wb-steel:#6B7280;

  --wb-text:#111827;
  --wb-white:#ffffff;

  /* CTA system */
  --wb-cta-primary: #E5E7EB;   /* <<< primaria (cemento) */
  --wb-cta-primary-text: #1F2933;
  --wb-cta-primary-hover: #D1D5DB;

  --wb-cta-secondary: #1F2933; /* <<< secondaria (forte) */
  --wb-cta-secondary-text: #ffffff;
  --wb-cta-secondary-hover: #111827;

  /* Links (separati dalle CTA) */
  --wb-link: #1F2933;
  --wb-link-hover: #8B5E3C;

  /* UI */
  --wb-radius:14px;
  --wb-shadow:0 10px 28px rgba(0,0,0,.08);
  --wb-shadow-hover:0 14px 34px rgba(0,0,0,.12);
  --wb-border:1px solid rgba(31,41,51,.12);
}

/* ================================
   Base
================================ */
body{
  color:var(--wb-text);
  background:var(--wb-white);
}

p, li{ color:var(--wb-text); }

h1,h2,h3,h4,h5,h6{
  color:var(--wb-anthracite);
}

/* ================================
   Links
================================ */
a{
  color:var(--wb-link);
  text-underline-offset:3px;
}
a:hover{ color:var(--wb-link-hover); }

/* ================================
   Buttons (Elementor)
   Default = CTA primaria (cemento)
================================ */
.elementor-button{
  background:var(--wb-cta-primary)!important;
  color:var(--wb-cta-primary-text)!important;
  border-radius:var(--wb-radius)!important;
  border:1px solid rgba(31,41,51,.18)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}

.elementor-button:hover{
  background:var(--wb-cta-primary-hover)!important;
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(0,0,0,.10);
  border-color:rgba(31,41,51,.24)!important;
}

/* CTA SECONDARIA (forte) */
.wb-btn-secondary .elementor-button{
  background:var(--wb-cta-secondary)!important;
  color:var(--wb-cta-secondary-text)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.14);
}
.wb-btn-secondary .elementor-button:hover{
  background:var(--wb-cta-secondary-hover)!important;
}

/* Variante legno (se ti serve in sezioni editoriali) */
.wb-btn-wood .elementor-button{
  background:var(--wb-wood)!important;
  color:#fff!important;
  border-color:rgba(31,41,51,.12)!important;
}
.wb-btn-wood .elementor-button:hover{
  filter:brightness(.95);
}

/* ================================
   Forms
================================ */
input, textarea, select, .elementor-field-textual{
  border:1px solid rgba(31,41,51,.25)!important;
  border-radius:12px!important;
}

input:focus, textarea:focus, select:focus{
  border-color:rgba(31,41,51,.35)!important;
  box-shadow:0 0 0 4px rgba(229,231,235,.65)!important; /* focus “cemento” */
  outline:none;
}

/* ================================
   Utility sections
================================ */
.wb-bg-cement{ background:var(--wb-cement)!important; }

/* ================================
   Box / Card style
================================ */
.wb-tech-box{
  background:#fff;
  border:var(--wb-border);
  border-radius:var(--wb-radius);
  box-shadow:var(--wb-shadow);
  padding:18px;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.wb-tech-box:hover{
  transform: translateY(-2px);
  box-shadow: var(--wb-shadow-hover);
  border-color: rgba(31,41,51,.20);
}

.wb-tech-box h3{
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--wb-anthracite);
}

.wb-tech-box p{
  font-size: 16px;
  line-height: 1.5;
}

.wb-tech-box a{
  font-weight: 700;
  text-decoration: none;
}
.wb-tech-box a:hover{
  text-decoration: underline;
}

/* Card in evidenza */
.wb-card-feature{
  border: 2px solid rgba(31,41,51,.22);
  box-shadow: 0 14px 34px rgba(0,0,0,.12);
  position: relative;
}

.wb-card-feature h3{
  color: var(--wb-anthracite);
}

/* Chip "Punto distintivo" (neutra, cemento) */
.wb-card-feature .wb-chip{
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(229,231,235,.85);
  border: 1px solid rgba(31,41,51,.14);
  color: var(--wb-anthracite);
}

/* ================================
   Tables
================================ */
table{ border-collapse:collapse;width:100%; }

th{ background:var(--wb-cement); }

th,td{
  border:1px solid rgba(31,41,51,.12);
  padding:10px 12px;
}

/* ================================
   Grid card applicazioni
================================ */
.wb-cards-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

@media (max-width: 1024px){
  .wb-cards-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px){
  .wb-cards-grid{ grid-template-columns: 1fr; }
}

/* ================================
   FOOTER – WOODBUILD
================================ */
footer,
.site-footer,
.elementor-location-footer {
  background-color: var(--wb-anthracite);
  color: rgba(255,255,255,.85);
  padding: 60px 0 30px;
  font-size: 14px;
}

footer h4,
.elementor-location-footer h4 {
  color: #ffffff;
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 14px;
}

footer p,
footer li,
.elementor-location-footer p,
.elementor-location-footer li {
  color: rgba(255,255,255,.82);
  line-height: 1.6;
}

footer ul,
.elementor-location-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

footer ul li { margin-bottom: 8px; }

footer a,
.elementor-location-footer a {
  color: rgba(229,231,235,.95); /* cemento */
  text-decoration: none;
  transition: color .15s ease, opacity .15s ease;
}
footer a:hover,
.elementor-location-footer a:hover {
  color: #ffffff;
  opacity: 1;
}

.footer-divider {
  border-top: 1px solid rgba(255,255,255,.12);
  margin: 40px 0 20px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 13px;
  color: rgba(255,255,255,.65);
}

.footer-bottom a { color: rgba(255,255,255,.75); }
.footer-bottom a:hover { color: #ffffff; }

.footer-meta {
  font-size: 13px;
  color: rgba(255,255,255,.7);
}

.footer-highlight {
  color: #ffffff;
  font-weight: 600;
}

@media (max-width: 767px) {
  footer,
  .elementor-location-footer {
    padding: 40px 0 20px;
  }
  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
}

/* ================================
   Partner box – stile sito
================================ */
.wb-partner-box{
  background: #fff;
  border: 1px solid rgba(31,41,51,.12);
  border-radius: var(--wb-radius);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
  padding: 22px 22px 20px;
  text-align: left;
}

.wb-partner-logo{
  max-width: 120px;
  width: 100%;
  height: auto;
  margin: 0 0 14px 0;
  display: block;
}

.wb-partner-box h3{
  color: var(--wb-anthracite);
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 8px 0;
}

/* Ruolo: steel (più “tecnico” ora che CTA è neutra) */
.wb-partner-role{
  color: var(--wb-steel);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2px;
  margin: 0 0 12px 0;
}

.wb-partner-box p{
  color: var(--wb-text);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 10px 0;
}

/* Clamp + read more */
.wb-partner-text{
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.wb-partner-text.is-open{
  display: block;
  -webkit-line-clamp: unset;
}

.wb-read-more{
  display: inline-block;
  margin-top: 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--wb-link);
  text-decoration: none;
}
.wb-read-more:hover{ text-decoration: underline; }

/* Evidenzia partner (sobrio) */
.wb-partner-feature{
  border: 2px solid rgba(31,41,51,.18);
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
}

@media (max-width: 767px){
  .wb-partner-text{ -webkit-line-clamp: 3; }
}
/* =========================================
   FIX: testo che esce dalla box (card)
========================================= */

/* la card deve poter crescere in altezza */
.wb-tech-box{
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden; /* taglia eventuali sbordi “sporchi” */
}

/* qualunque testo dentro deve poter andare a capo */
.wb-tech-box,
.wb-tech-box *{
  max-width: 100%;
  word-wrap: break-word;
  overflow-wrap: anywhere;  /* spezza anche stringhe lunghe */
}

/* se il problema è causato da widget Elementor interni */
.wb-tech-box .elementor-widget-container{
  height: auto !important;
  min-height: 0 !important;
}
/* ================================
   FOOTER – 4 container
   Testo #1C244B
================================ */

.wb-footer{
  color:#1C244B;
}

/* titoli */
.wb-footer h1,
.wb-footer h2,
.wb-footer h3,
.wb-footer h4,
.wb-footer h5,
.wb-footer h6{
  color:#1C244B;
}

/* testo normale */
.wb-footer p,
.wb-footer li,
.wb-footer span{
  color:#1C244B;
}

/* link */
.wb-footer a{
  color:#1C244B;
  text-decoration:none;
  font-weight:500;
}

.wb-footer a:hover{
  color:#111827;
  text-decoration:underline;
}
/* ================================
   FOOTER – struttura base
================================ */

.wb-footer{
  font-size:14px;
  line-height:1.6;
}

.wb-footer h4{
  font-size:16px;
  font-weight:600;
  margin-bottom:14px;
}

.wb-footer-info p{
  max-width: 340px;
}

.wb-footer-links ul{
  list-style:none;
  padding:0;
  margin:0;
}

.wb-footer-links li{
  margin-bottom:8px;
}

.wb-footer-legal{
  font-size:13px;
}

.wb-footer-copy{
  font-size:13px;
  opacity:.9;
}
/* =========================================
   PARTNER PAGE (HTML widget) – Woodbuild
   (no variabili, stile sobrio e tecnico)
========================================= */

/* Base
.wb-wrap{
  max-width: 1140px;
  margin: 0 auto;
  padding: 5% 5%
}*/
/* Base*/
.wb-wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px; /* o 32px */
}

.wb-wrap-faq{
  max-width: 1140px;
  margin: 0 auto;
  padding: 0% 5%
}

.wb-partner-page{
  color: #1f2937;
  font-size: 16px;
  line-height: 1.65;
}

/* HERO */
.wb-partner-hero{
  padding: 56px 0 28px;
  border-bottom: 1px solid rgba(31,41,51,.10);
  background: #ffffff;
}

.wb-partner-hero h1{
  margin: 0 0 10px;
  font-size: 40px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #111827;
}

.wb-lead{
  margin: 0 0 18px;
  font-size: 18px;
  color: #374151;
  max-width: 860px;
}

/* Loghi hero */
.wb-partner-logos{
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  margin: 14px 0 18px;
}

.wb-partner-logos img{
  max-width: 140px;
  height: auto;
  display: block;
  opacity: .95;
}

/* Nav ancore */
.wb-partner-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.wb-partner-nav a{
  display: inline-block;
  padding: 9px 12px;
  border-radius: 12px;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  color: #111827;
  text-decoration: none;
  font-weight: 800;
  font-size: 14px;
}

.wb-partner-nav a:hover{
  background: #ffffff;
  border-color: rgba(47,133,90,.35);
  color: #2f855a;
}

/* Sezioni partner */
.wb-partner-section{
  padding: 34px 0;
  border-bottom: 1px solid rgba(31,41,51,.10);
  background: #ffffff;
}

.wb-partner-head{
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
}

.wb-partner-logo{
  max-width: 120px;
  width: 100%;
  height: auto;
  display: block;
}

.wb-partner-section h2{
  margin: 0 0 6px;
  font-size: 26px;
  line-height: 1.25;
  color: #111827;
}

.wb-subtitle{
  margin: 0;
  color: #374151;
  max-width: 900px;
}

/* Griglia 2 colonne */
.wb-grid-2{
  display: grid;
  grid-template-columns: 1.65fr 1fr;
  gap: 26px;
  align-items: start;
}

.wb-col p{
  margin: 0 0 12px;
  color: #1f2937;
}

.wb-col h3{
  margin: 18px 0 8px;
  font-size: 18px;
  font-weight: 900;
  color: #111827;
}

.wb-col ul{
  margin: 0 0 12px;
  padding-left: 18px;
}

.wb-col li{
  margin: 6px 0;
  color: #1f2937;
}

/* Card laterale */
.wb-card{
  background: #ffffff;
  border: 1px solid rgba(31,41,51,.12);
  border-radius: 16px;
  padding: 18px 18px 16px;
  box-shadow: 0 10px 28px rgba(0,0,0,.05);
}

.wb-card h4{
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 900;
  color: #111827;
}

.wb-card-block{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(31,41,51,.08);
}

.wb-card-title{
  font-weight: 900;
  color: #111827;
  margin-bottom: 8px;
  font-size: 14px;
  letter-spacing: .2px;
  text-transform: uppercase;
}

.wb-card ul{
  margin: 0;
  padding-left: 18px;
}

.wb-card a{
  color: #2f855a;
  text-decoration: none;
  font-weight: 800;
}

.wb-card a:hover{
  text-decoration: underline;
}

.wb-link{
  display: inline-block;
  margin-top: 12px;
}

/* CTA finale */
.wb-partner-cta{
  padding: 42px 0 60px;
  background: #ffffff;
}

.wb-cta-box{
  border: 2px solid rgba(47,133,90,.28);
  border-radius: 18px;
  padding: 22px 22px;
  box-shadow: 0 14px 34px rgba(0,0,0,.06);
}

.wb-cta-box h2{
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.25;
  color: #111827;
}

.wb-cta-box p{
  margin: 0 0 16px;
  color: #374151;
  max-width: 900px;
}

.wb-cta-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

/* Bottoni */
.wb-btn{
  display: inline-block;
  padding: 11px 16px;
  border-radius: 12px;
  font-weight: 900;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid transparent;
}

.wb-btn-primary{
  background: #2f855a;
  color: #ffffff;
  border-color: rgba(0,0,0,.08);
}

.wb-btn-primary:hover{
  filter: brightness(.95);
}

.wb-btn-secondary{
  background: #ffffff;
  color: #111827;
  border-color: rgba(31,41,51,.18);
}

.wb-btn-secondary:hover{
  border-color: rgba(47,133,90,.35);
}

/* Responsive */
@media (max-width: 1024px){
  .wb-partner-hero h1{ font-size: 32px; }
  .wb-grid-2{ grid-template-columns: 1fr; }
  .wb-partner-head{ align-items: flex-start; }
  .wb-partner-logos img{ max-width: 120px; }
}

@media (max-width: 767px){
  .wb-partner-hero{ padding: 44px 0 20px; }
  .wb-partner-section{ padding: 28px 0; }
  .wb-partner-hero h1{ font-size: 28px; }
  .wb-lead{ font-size: 16px; }
  .wb-partner-nav a{ width: 100%; text-align: center; }
}
/* =========================================
   OVERRIDE COLORI – Partner page
========================================= */

/* Link generici */
.wb-partner-page a{
  color: #1F2933;
}

.wb-partner-page a:hover{
  color: #8B5E3C;
}

/* Nav ancore */
.wb-partner-nav a{
  background: #E5E7EB;
  border-color: #E5E7EB;
  color: #1F2933;
}

.wb-partner-nav a:hover{
  background: #ffffff;
  border-color: #8B5E3C;
  color: #8B5E3C;
}

/* Card link */
.wb-card a{
  color: #1F2933;
}

.wb-card a:hover{
  color: #8B5E3C;
}

/* CTA box (senza verde) */
.wb-cta-box{
  border: 2px solid #E5E7EB;
}

/* Bottoni */
.wb-btn{
  background: #E5E7EB;
  color: #1F2933;
  border: 1px solid #E5E7EB;
}

.wb-btn:hover{
  background: #ffffff;
  border-color: #8B5E3C;
  color: #8B5E3C;
}

/* Secondario = identico (coerenza) */
.wb-btn-primary,
.wb-btn-secondary{
  background: #E5E7EB;
  color: #1F2933;
  border-color: #E5E7EB;
}

/* Hover coerente */
.wb-btn-primary:hover,
.wb-btn-secondary:hover{
  background: #ffffff;
  border-color: #8B5E3C;
  color: #8B5E3C;
}
/* ===== Header loghi (sopra) centrato ===== */
.wb-partner-logos{
  justify-content: center !important;
  text-align: center !important;
}

/* dimensione loghi top (se li hai ancora) */
.wb-partner-logos img{
  max-width: 110px !important;
}

/* ===== Bottoni CTA centrati ===== */
.wb-cta-actions,
.wb-partner-simple__cta{
  justify-content: center !important;
  text-align: center !important;
}

/* ===== Logo partner dentro le schede/sezioni più piccolo ===== */
.wb-partner-head{
  justify-content: center !important;
  text-align: center !important;
}

.wb-partner-head > div{
  text-align: left; /* titolo+testo restano leggibili */
}

.wb-partner-logo{
  max-width: 120px !important;
}

/* Mobile: logo ancora più compatto */
@media (max-width: 767px){
  .wb-partner-logo{ max-width: 120px !important; }
}
/* ===== Video grid NOVATOP ===== */
.wb-video-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  margin-top: 14px;
}

.wb-video{
  background: #fff;
  border: 1px solid rgba(31,41,51,.12);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.05);
}

/* rapporto 16:9 */
.wb-video iframe{
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
}

/* responsive */
@media (max-width: 1024px){
  .wb-video-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px){
  .wb-video-grid{ grid-template-columns: 1fr; }
}


/* ==============================
   FIX POSIZIONE ANCHOR NAV
================================ */

/* HERO: controllo totale */
.wb-partner-hero{
  padding-top: 32px !important;
  padding-bottom: 24px !important;
}

/* LOGHI: riduciamo spazio sotto */
.wb-partner-logos{
  margin-bottom: 8px !important;
}

/* NAV: la riportiamo SU e la centriamo */
.wb-partner-hero .wb-partner-nav{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;

  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;

  line-height: 1.2 !important;
}

/* BOTTONI NAV */
.wb-partner-hero .wb-partner-nav a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 8px 12px !important;
  margin: 0 !important;
}

/* CONTENITORE: niente spacing automatico */
.wb-partner-hero .wb-wrap{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important; /* distanza controllata loghi ↔ nav */
}

/* Mobile */
@media (max-width: 767px){
  .wb-partner-hero .wb-partner-nav a{
    width: auto !important;
  }
}

/* ==============================
   FIX ANCHOR LANDING (header sticky)
   Regola il "punto di atterraggio" delle ancore
================================ */

/* se hai header sticky alto, aumenta a 120-160px */
:root{
  --wb-anchor-offset: 150px;
}

/* modo moderno: quando vai su #id, lascia spazio sopra */
.wb-partner-section{
  scroll-margin-top: var(--wb-anchor-offset);
}

/* copre anche altri target (se clicchi link diversi) */
:target{
  scroll-margin-top: var(--wb-anchor-offset);
}

/* smooth scroll (opzionale ma consigliato) */
html{
  scroll-behavior: smooth;
}

/* =====================================
   MOBILE – Partner head centrato
   Logo sopra, testi centrati
===================================== */
@media (max-width: 767px){
  .wb-partner-head{
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 10px !important;
  }

  .wb-partner-logo{
    max-width: 120px !important;   /* puoi scendere a 100 se vuoi */
    margin: 0 auto !important;
  }

  .wb-partner-head h2{
    margin: 0 !important;
  }

  .wb-partner-head .wb-subtitle{
    margin-top: 8px !important;
    max-width: 36ch !important;    /* leggibilità su mobile */
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* ==================================================
   WOODBUILD – CETRIS Product Sheet (Tabs + Gallery)
   ================================================== */

.wb-cetris-block{ padding: clamp(18px, 3vw, 42px) 0; color: var(--wb-text); }

/* head */
.wb-cetris-head{ margin-bottom: 12px; }
.wb-cetris-mark{ display:block; width:56px; height:4px; background:var(--wb-wood); margin-bottom:14px; }
.wb-cetris-head-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:18px; align-items:start; }
.wb-cetris-title{ margin:0; font-size:clamp(26px,3.2vw,44px); line-height:1.08; color:var(--wb-text); }
.wb-cetris-sub{ margin:8px 0 0; color:var(--wb-steel); }

/* chips */
.wb-cetris-systems-label{ margin:6px 0 10px; font-weight:600; color:var(--wb-text); }
.wb-chips{ display:flex; gap:10px; flex-wrap:wrap; }
.wb-chip{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 12px;
  background: var(--wb-cta-primary);
  color: var(--wb-cta-primary-text);
  border:1px solid var(--wb-cement);
  border-radius: 10px;
  font-weight:600;
  font-size:.95rem;
  line-height:1;
}

/* gallery */
.wb-gallery-top{ margin-top:14px; }
.wb-gallery{ display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; }
.wb-thumb{
  padding:0;
  border:1px solid var(--wb-cement);
  border-radius: 20px;
  overflow:hidden;
  aspect-ratio:1/1;
  background:var(--wb-white);
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.05);
}
.wb-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .18s ease; }
.wb-thumb:hover img{ transform:scale(1.03); }
.wb-thumb:focus-visible{ outline:2px solid var(--wb-wood); outline-offset:2px; }

/* tabs */
.wb-cetris-tabs{
  display:flex; gap:0;
  border:1px solid var(--wb-cement);
  border-bottom:none;
  border-radius:18px 18px 0 0;
  overflow:hidden;
  background:var(--wb-cta-primary);
}
.wb-ctab{
  appearance:none; -webkit-appearance:none;
  flex:1 1 auto;
  padding:14px 16px;
  border:0;
  border-right:1px solid var(--wb-cement);
  background:var(--wb-cta-primary);
  color:var(--wb-cta-primary-text);
  font-weight:600;
  cursor:pointer;
}
.wb-ctab:last-child{ border-right:none; }
.wb-ctab:hover{ background:var(--wb-cta-primary-hover); }
.wb-ctab.is-active{
  background:var(--wb-white);
  color:var(--wb-text);
  box-shadow: inset 0 3px 0 var(--wb-wood);
}
.wb-ctab:focus-visible{ outline:2px solid var(--wb-wood); outline-offset:-2px; }

/* panels */
.wb-cetris-panels{
  border:1px solid var(--wb-cement);
  border-top:none;
  border-radius:0 0 18px 18px;
  overflow:hidden;
  background:var(--wb-white);
}
.wb-cpanel{ display:none; }
.wb-cpanel.is-active{ display:block; }
.wb-cpanel-inner{ padding:22px; }
.wb-h3{ margin:0 0 14px; font-size:1.35rem; color:var(--wb-text); }
.wb-muted{ color:var(--wb-steel); margin:0 0 14px; }
.wb-prose p{ margin:0 0 12px; color:var(--wb-text); }

/* features */
.wb-features{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:16px 18px;
  margin-top: 14px;
}
.wb-feature{
  display:grid;
  grid-template-columns: 54px 1fr;
  gap:12px;
  padding:14px;
  border:1px solid var(--wb-cement);
  border-radius:18px;
  background: var(--wb-white);
  box-shadow: 0 6px 18px rgba(0,0,0,.03);
}
.wb-feature strong{ display:block; margin-bottom:4px; }
.wb-feature p{ margin:0; color:var(--wb-steel); }

.wb-ico{
  width:54px; height:54px;
  display:flex; align-items:center; justify-content:center;
  border-radius:16px;
  background: var(--wb-cta-primary);
  border:1px solid var(--wb-cement);
}
.wb-svg{
  width:30px; height:30px;
  stroke: var(--wb-wood);
  stroke-width: 1.8;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* lavorazioni grid (3 colonne) */
.wb-3cols{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:18px;
  margin-top: 14px;
}
.wb-col{
  padding:14px;
  border:1px solid var(--wb-cement);
  border-radius:18px;
  background: var(--wb-white);
}
.wb-col p{ margin:0 0 10px; color:var(--wb-text); }
.wb-col p:last-child{ margin-bottom:0; }

/* info box + CTA (stile screenshot) */
.wb-info-box{
  margin-top:18px;
  border:1px solid var(--wb-cement);
  border-radius:18px;
  padding:16px;
  background: transparent;
}
.wb-info-row{
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap:16px;
  padding:10px 0;
  border-top:1px solid var(--wb-cement);
}
.wb-info-row:first-child{ border-top:none; }
.wb-info-label{ color:var(--wb-steel); font-weight:600; }
.wb-info-cta{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.wb-note{ color: var(--wb-steel); font-size:.9rem; }

/* descrizione come foto */
.wb-desc-layout{ padding-top: 24px; }
.wb-desc-title{
  margin: 0 0 14px;
  font-size: clamp(34px, 4.2vw, 54px);
  letter-spacing: .2px;
}
.wb-desc-h4{
  margin: 24px 0 12px;
  font-size: clamp(22px, 2.5vw, 34px);
}
.wb-specs{
  margin: 0;
  padding: 0;
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.wb-spec{
  display:grid;
  grid-template-columns: 280px 1fr;
  gap: 18px;
  align-items: start;
}
.wb-spec dt{ margin:0; font-weight:700; color:var(--wb-text); }
.wb-spec dd{ margin:0; color:var(--wb-text); }

/* lightbox */
.wb-lightbox{
  position:fixed; inset:0;
  background: rgba(17,24,39,.78);
  display:none;
  align-items:center; justify-content:center;
  padding:18px;
  z-index:9999;
}
.wb-lightbox.is-open{ display:flex; }
.wb-lightbox-img{
  max-width:min(1100px,96vw);
  max-height:86vh;
  border-radius:20px;
  background:var(--wb-white);
}
.wb-lightbox-close{
  position:fixed; top:14px; right:14px;
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid rgba(229,231,235,.25);
  background: rgba(31,41,51,.55);
  color: var(--wb-white);
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

/* responsive */
@media (max-width: 980px){
  .wb-spec{ grid-template-columns: 220px 1fr; }
}
@media (max-width: 860px){
  .wb-cetris-head-grid{ grid-template-columns:1fr; }
  .wb-3cols{ grid-template-columns: 1fr; }
}
@media (max-width: 680px){
  .wb-cetris-tabs{ flex-direction:column; border-radius:18px; border-bottom:1px solid var(--wb-cement); }
  .wb-ctab{ border-right:0; border-bottom:1px solid var(--wb-cement); text-align:left; }
  .wb-ctab:last-child{ border-bottom:none; }
  .wb-ctab.is-active{ box-shadow: inset 4px 0 0 var(--wb-wood); }
  .wb-gallery{ grid-template-columns:repeat(2, 1fr); }
  .wb-features{ grid-template-columns:1fr; }
  .wb-spec{ grid-template-columns: 1fr; gap: 6px; }
  .wb-info-row{ grid-template-columns: 1fr; }
  .wb-info-cta{ align-items:flex-start; }
}



/* ====== WB FAQ (scoped) ====== */
.wb-faq{
  padding: clamp(28px, 4vw, 56px) 0;
  background: #fff;
}

.wb-faq-head{ display:grid; gap:10px; margin-bottom: 18px; }
.wb-faq-title{
  margin: 0;
  color: var(--wb-anthracite, #1F2933);
  font-size: clamp(22px, 3.2vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.wb-faq-subtitle{
  margin: 0;
  color: var(--wb-steel, #6B7280);
  font-size: 1rem;
  max-width: 70ch;
}

.wb-faq-list{ display:grid; gap: 12px; }

.wb-faq-item{
  border: 1px solid var(--wb-cement, #E5E7EB);
  border-radius: 16px;
  overflow: clip;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.wb-faq-item > summary{ list-style:none; }
.wb-faq-item > summary::-webkit-details-marker{ display:none; }

.wb-faq-q{
  cursor: pointer;
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap: 14px;
  padding: 16px;
  color: var(--wb-text, #111827);
  font-weight: 600;
  line-height: 1.25;
}

.wb-faq-ico{
  width: 28px; height: 28px;
  border-radius: 999px;
  border: 1px solid var(--wb-cement, #E5E7EB);
  position: relative;
  background: #fff;
}
.wb-faq-ico::before, .wb-faq-ico::after{
  content:"";
  position:absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  background: var(--wb-anthracite, #1F2933);
}
.wb-faq-ico::before{ width: 12px; height: 2px; }
.wb-faq-ico::after{ width: 2px; height: 12px; }
.wb-faq-item[open] .wb-faq-ico::after{ height: 0; }

.wb-faq-a{ padding: 0 16px 16px; }
.wb-faq-a p{
  margin: 0;
  color: var(--wb-steel, #6B7280);
  line-height: 1.65;
}

.wb-faq-q:focus-visible{
  outline: 2px solid rgba(31,41,51,.35);
  outline-offset: 3px;
}

@media (max-width: 767px){
  .wb-faq-q{ padding: 14px; }
  .wb-faq-a{ padding: 0 14px 14px; }
}

/* Contesto SEO discreto ma leggibile */
.wb-seo-context {
  margin: 20px 0 28px;
  padding: 14px 18px;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #374151; /* grigio leggibile */
  background-color: #f9fafb;
  border-left: 4px solid #d1d5db;
}

/* Titoli interni (se presenti) */
.wb-seo-context h2,
.wb-seo-context h3 {
  font-size: 1.05rem;
  margin: 0 0 8px;
  font-weight: 600;
}

/* Link SEO-friendly */
.wb-seo-context a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Mobile: ancora più compatto */
@media (max-width: 768px) {
  .wb-seo-context {
    font-size: 0.9rem;
    padding: 12px 14px;
  }
}
.wb-faq summary { cursor: pointer; }
.wb-faq-item { border-bottom: 1px solid #e5e7eb; padding: 10px 0; }
.wb-faq-q { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wb-faq-a { padding: 10px 0 2px; }
.wb-faq-a p { margin: 0; line-height: 1.65; }
/* CF7 – Woodbuild */
.wb-contacts-form form {
  display: grid;
  gap: 1rem;
}
/* Messaggi modulo contatto */
.wb-contacts-form input,
.wb-contacts-form textarea {
  width: 100%;
  padding: .8rem 1rem;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font-family: inherit;
}

.wb-contacts-form textarea {
  min-height: 120px;
}

.wb-contacts-form input[type="submit"] {
  background: var(--wb-cta-secondary);
  color: var(--wb-cta-secondary-text);
  border: none;
  padding: .9rem 1.2rem;
  border-radius: 12px;
  cursor: pointer;
}

.wb-contacts-form input[type="submit"]:hover {
  background: var(--wb-cta-secondary-hover);
}

/* Messaggi CF7 */
.wpcf7-response-output {
  border-radius: 10px;
  font-size: .9rem;
}
/* GDPR – Contact Form 7 */
.wpcf7-acceptance {
  font-size: 0.85rem;
  color: var(--wb-steel);
  line-height: 1.4;
}

.wpcf7-acceptance a {
  color: var(--wb-link);
  text-decoration: underline;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-not-valid-tip {
  font-size: 0.8rem;
}
/* ==================================================
   WOODBUILD – CF7 Contacts (match tabs/product UI)
   Scope: only inside .wb-contacts
   ================================================== */

.wb-contacts .wb-contacts-form{
  /* container già gestito dal layout */
}

/* Card form come box “tab” */
.wb-contacts .wb-contacts-form .wpcf7{
  background: var(--wb-white);
  border: 1px solid #d1d5db;
  border-radius: 20px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
  padding: 22px;
}

/* Struttura form */
.wb-contacts .wb-contacts-form .wpcf7 form{
  margin: 0;
}

.wb-contacts .wb-contacts-form .wpcf7 form p{
  margin: 0 0 14px;
}

/* Input styling coerente */
.wb-contacts .wb-contacts-form .wpcf7 input[type="text"],
.wb-contacts .wb-contacts-form .wpcf7 input[type="email"],
.wb-contacts .wb-contacts-form .wpcf7 input[type="tel"],
.wb-contacts .wb-contacts-form .wpcf7 textarea,
.wb-contacts .wb-contacts-form .wpcf7 select{
  width: 100%;
  background: #ffffff;
  color: var(--wb-text);
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px 14px;
  outline: none;
  font: inherit;
}

/* Textarea */
.wb-contacts .wb-contacts-form .wpcf7 textarea{
  min-height: 140px;
  resize: vertical;
}

/* Focus (pulito, non tamarro) */
.wb-contacts .wb-contacts-form .wpcf7 input:focus,
.wb-contacts .wb-contacts-form .wpcf7 textarea:focus,
.wb-contacts .wb-contacts-form .wpcf7 select:focus{
  border-color: #d1d5db;
  box-shadow: 0 0 0 4px rgba(229,231,235,.6);
}

/* Placeholder */
.wb-contacts .wb-contacts-form .wpcf7 ::placeholder{
  color: #9ca3af;
}

/* Bottone = CTA secondaria Woodbuild */
.wb-contacts .wb-contacts-form .wpcf7 input[type="submit"]{
  width: 100%;
  border: 0;
  border-radius: 12px;
  padding: 12px 16px;
  cursor: pointer;
  background: var(--wb-cta-secondary);
  color: var(--wb-cta-secondary-text);
  font-weight: 600;
}

.wb-contacts .wb-contacts-form .wpcf7 input[type="submit"]:hover{
  background: var(--wb-cta-secondary-hover);
}

/* GDPR checkbox: pulita e leggibile */
.wb-contacts .wb-contacts-form .wpcf7 .wpcf7-acceptance{
  display: block;
  margin-top: 6px;
  font-size: 0.9rem;
  color: var(--wb-steel);
  line-height: 1.4;
}

.wb-contacts .wb-contacts-form .wpcf7 .wpcf7-acceptance a{
  color: var(--wb-link);
  text-decoration: underline;
}

.wb-contacts .wb-contacts-form .wpcf7 .wpcf7-list-item{
  margin: 0;
}

/* Errori e messaggi CF7 (coerenti, non “urlati”) */
.wb-contacts .wb-contacts-form .wpcf7 .wpcf7-not-valid-tip{
  margin-top: 6px;
  font-size: .85rem;
}

.wb-contacts .wb-contacts-form .wpcf7 .wpcf7-response-output{
  margin: 14px 0 0;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: .9rem;
}

/* Spinner CF7 (non invasivo) */
.wb-contacts .wb-contacts-form .wpcf7 .wpcf7-spinner{
  margin: 12px auto 0;
  display: block;
}

/* Mobile: padding card un filo più stretto */
@media (max-width: 768px){
  .wb-contacts .wb-contacts-form .wpcf7{
    padding: 18px;
  }
}
/* ============================================================
   HERO – CTA SECTION (DESKTOP + MOBILE)
   Forza layout perfetto indipendentemente dalla struttura Elementor
============================================================ */

/* ---- DESKTOP ---- */
.wb-hero-cta{
  background: transparent !important;
  padding: 0 !important;
  margin-top: 28px;        /* distanza dal titolo */
  margin-bottom: 8px;      /* quasi attaccati al testo */
}

.wb-hero-cta .elementor-container,
.wb-hero-cta .elementor-row{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 22px !important;
}

.wb-hero-cta .elementor-column{
  width: auto !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
}

.wb-hero-cta .wb-hero-cta-btn.elementor-button{
  flex: 0 0 auto !important;
  max-width: none !important;
  padding: 14px 40px !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-align: center !important;
  box-shadow: var(--wb-shadow) !important;
}

.wb-hero-cta .wb-hero-cta-btn.elementor-button:hover{
  box-shadow: var(--wb-shadow-hover) !important;
}


/* ---- MOBILE ---- */
@media (max-width: 767px){

  /* Spazio sopra e sotto */
  .wb-hero-cta{
    margin-top: 38px !important;     /* aria sotto logo/menu */
    margin-bottom: 16px !important;
    padding: 0 18px !important;       /* margine laterale dai bordi */
  }

  /* La riga dei bottoni diventa colonna */
  .wb-hero-cta .elementor-container,
  .wb-hero-cta .elementor-row{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  /* Colonne al 100% */
  .wb-hero-cta .elementor-column{
    width: 100% !important;
    flex: 0 0 auto !important;
  }

  /* Bottoni full width */
  .wb-hero-cta .wb-hero-cta-btn.elementor-button{
    width: 100% !important;
    display: block !important;
    padding: 14px 0 !important;
  }
}
