.elementor-kit-6{--e-global-color-primary:#E2513D;--e-global-color-secondary:#D6A173;--e-global-color-text:#221E1B;--e-global-color-accent:#C2402E;--e-global-color-inkmedio:#5E5852;--e-global-color-crema:#F7F3EE;--e-global-color-linea:#E9E2DA;--e-global-color-bianco:#FFFFFF;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Archivo";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Archivo";--e-global-typography-accent-font-weight:600;background-color:#FFFFFF;color:#221E1B;font-family:"Archivo", Sans-serif;font-size:16px;font-weight:400;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Archivo", Sans-serif;font-size:17px;font-weight:600;line-height:1.1em;color:var( --e-global-color-bianco );border-style:solid;border-width:1.5px 1.5px 1.5px 1.5px;border-color:rgba(0, 0, 0, 0);border-radius:999px 999px 999px 999px;padding:17px 28px 17px 28px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-bianco );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#C2402E;}.elementor-kit-6 label{color:var( --e-global-color-inkmedio );font-family:"Archivo", Sans-serif;font-size:13px;font-weight:400;line-height:1.55em;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Archivo", Sans-serif;font-size:16px;font-weight:400;line-height:1.3em;color:var( --e-global-color-text );background-color:var( --e-global-color-bianco );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-linea );border-radius:14px 14px 14px 14px;padding:17px 18px 17px 18px;}.elementor-kit-6 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea:focus,.elementor-kit-6 .elementor-field-textual:focus{box-shadow:0px 0px 0px 3px rgba(226, 81, 61, 0.18);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-text );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --mattone:#E2513D; --mattone-scuro:#C2402E; --mattone-chiaro:#FBE8E4; --sabbia:#D6A173; --sabbia-chiaro:#F2E6DA; --terra:#9E5E3B; --inchiostro:#221E1B; --inchiostro-medio:#5E5852; --inchiostro-chiaro:#8C847C; --linea:#E9E2DA; --crema:#F7F3EE; --bianco:#FFFFFF; --scuro:#1C1917; --scuro-2:#2B2623; --telefono:#161311; --verde:#2E7A4C; --verde-chiaro:#E4F1E8; --font-testo:Archivo; --font-titoli:PP Neue Machina; --e-gv-7395283:clamp(72px, 9vw, 124px); --e-gv-009a6cf:18px; --testo-su-scuro:rgba(255, 255, 255, 0.74); --dato-su-scuro:rgba(255, 255, 255, 0.62); --traccia-su-scuro:rgba(255, 255, 255, 0.16); --vetro:rgba(255, 255, 255, 0.06); --bianco-velato:rgba(255, 255, 255, 0.93); --velatura-scura:rgba(28, 25, 23, 0.8); --dimensione-titolo-xl:clamp(32px, 4.6vw, 64px); --dimensione-titolo-l:clamp(26px, 3.2vw, 44px); --dimensione-titolo-m:clamp(26px, 3.2vw, 44px); --dimensione-titolo-s:clamp(19px, 1.5vw, 21px); --dimensione-titolo-xs:19px; --dimensione-sottotitolo:clamp(16px, 1.3vw, 18px); --dimensione-testo-l:16px; --dimensione-testo:16px; --dimensione-testo-piccolo:14px; --dimensione-didascalia:12.5px; --dimensione-etichetta:14px; --dimensione-etichetta-mobile:12px; --dimensione-dato:11.5px; --dimensione-titolo-card:18px; --dimensione-pulsante:17px; --dimensione-pulsante-m:15px; --dimensione-pulsante-s:14px; --larghezza-contenuto:1200px; --larghezza-testata:980px; --margine-laterale:clamp(16px, 4.5vw, 48px); --spazio-sezione:clamp(72px, 9vw, 124px); --spazio-sezione-stretta:clamp(56px, 7vw, 96px); --spazio-hero-sopra:clamp(56px, 7vw, 96px); --spazio-hero-sotto:clamp(64px, 8vw, 112px); --spazio-dopo-testata:clamp(40px, 5vw, 60px); --spazio-colonne:clamp(40px, 7vw, 96px); --spazio-griglia:24px; --spazio-pila:24px; --spazio-pila-s:12px; --spazio-testata:18px; --spazio-card:clamp(26px, 3vw, 38px); --raggio-grande:32px; --raggio-card:28px; --raggio-medio:22px; --raggio-piccolo:18px; --raggio-campo:14px; --raggio-pillola:999px; --giallo:#F2C230; --rosa:#F98FF1; }
/* Start custom CSS *//* Casâbito · regole globali del sito (Impostazioni del sito › CSS personalizzato).
   PP Neue Machina: file .ttf nella Libreria media, dichiarati qui.
   Archivo: lo carica Elementor dal sito stesso (Impostazioni › Carica i Google Font localmente). */
@font-face { font-family: "PP Neue Machina"; font-weight: 400; font-style: normal; font-display: swap; src: url("/wp-content/uploads/2026/10/PPNeueMachina-Regular.ttf") format("truetype"); }
@font-face { font-family: "PP Neue Machina"; font-weight: 800; font-style: normal; font-display: swap; src: url("/wp-content/uploads/2026/10/PPNeueMachina-Ultrabold.ttf") format("truetype"); }

/* Link dentro un testo (05/11/2026): come nel prototipo (a { color: inherit }) prendono il colore del testo e sono sottolineati;
   il colore dei link delle Impostazioni del sito resta per i link senza testo intorno. Specificità bassa: vincono le classi (briciole, prosa). */
.elementor-kit-6 :where(.e-paragraph-base, .e-heading-base) a:where(:not([class])) { color: inherit; text-decoration: underline; }

/* Testo degli articoli del blog (13/10/2026): il contenuto viene dall'editor di WordPress, quindi lo stile dei singoli tag
   (titoli, elenchi, tabelle, citazioni) sta qui, sotto la classe globale «prosa» del contenitore. Stesse regole di .prosa nel prototipo. */
.prosa :is(p, h2, h3, h4, ul, ol, blockquote, table, figure) { margin: 0; }
.prosa :is(p, h2, h3, h4, ul, ol, blockquote, table, figure) + :is(p, h2, h3, h4, ul, ol, blockquote, table, figure) { margin-top: 1.1em; }
.prosa :is(h2, h3, h4) { font-family: var(--font-titoli); font-weight: 800; color: var(--inchiostro); text-wrap: balance; }
.prosa h2 { font-size: clamp(24px, 2.6vw, 32px); line-height: 1.15; letter-spacing: -0.01em; }
.prosa :is(h3, h4) { font-size: 21px; line-height: 1.28; }
.prosa * + h2 { margin-top: 1.9em; }
.prosa * + :is(h3, h4) { margin-top: 1.5em; }
.prosa :is(strong, b) { color: var(--inchiostro); font-weight: 600; }
.prosa a { color: var(--mattone-scuro); text-decoration: underline; text-underline-offset: 3px; }
.prosa :is(ul, ol) { padding-left: 1.3em; }
.prosa li + li { margin-top: 0.45em; }
.prosa li::marker { color: var(--mattone); }
.prosa blockquote { margin-inline: 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--mattone); font-size: 20px; line-height: 1.55; color: var(--inchiostro); }
.prosa table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.prosa :is(th, td) { padding: 10px 14px 10px 0; border: 0; border-bottom: 1px solid var(--linea); text-align: left; vertical-align: top; background: none; }
.prosa th { color: var(--inchiostro); font-weight: 600; }
.prosa table tbody > tr:nth-child(odd) > :is(td, th) { background-color: transparent; }
.prosa img { max-width: 100%; height: auto; border-radius: 18px; }
.prosa .elementor-widget-theme-post-content { color: inherit; font: inherit; }
/* Pagine con il testo in elementi Elementor dentro «prosa» (privacy, cookie: 05/11/2026): il paragrafo prende la misura della prosa e gli
   spazi tra i blocchi (lo stile predefinito del paragrafo li azzerava). */
.elementor .prosa > :is(.e-paragraph-base, .e-heading-base) { line-height: inherit; }
.elementor .prosa > .e-paragraph-base { font-size: inherit; }
.elementor .prosa > :is(.e-paragraph-base, .e-heading-base, ul, ol) + :is(.e-paragraph-base, ul, ol) { margin-top: 1.1em; }
.elementor .prosa > :is(.e-paragraph-base, .e-heading-base, ul, ol) + h2.e-heading-base { margin-top: 1.9em; line-height: 1.15; }
.elementor .prosa > :is(.e-paragraph-base, .e-heading-base, ul, ol) + :is(h3, h4).e-heading-base { margin-top: 1.5em; line-height: 1.28; }

/* Caroselli (widget Carosello di Elementor Pro, 05/11/2026). Prima era il CSS personalizzato di ogni carosello: ora le regole stanno
   qui una volta sola e si scelgono scrivendo le classi in Avanzate › Classi CSS del widget (separate da uno spazio):
   cb-carosello                 punti come nel resto del sito (grigi, quello acceso allungato e mattone)        — su tutti
   cb-carosello-frecce-fuori    frecce fuori dalle foto o dalle card; su telefono niente frecce, solo punti
   cb-carosello-card            card tutte alte come la più lunga
   cb-carosello-punti-tablet    punti solo fino a 1024 px (su computer le slide sono tutte visibili)
   cb-carosello-punti-telefono  punti solo fino a 767 px */
.elementor-kit-6 .elementor-element.cb-carosello .swiper-pagination-bullet { width: 8px; height: 8px; border-radius: 4px; opacity: 1; background: #E9E2DA; transition: width .2s ease, background-color .2s ease; }
.elementor-kit-6 .elementor-element.cb-carosello .swiper-pagination-bullet-active { width: 22px; background: #E2513D; }
.elementor-kit-6 .elementor-element.cb-carosello-card .swiper-slide > .e-con > * { flex-grow: 1; }
.elementor-kit-6 .elementor-element.cb-carosello-frecce-fuori .swiper { width: calc(100% - 152px); }
@media (max-width: 767px) {
  .elementor-kit-6 .elementor-element.cb-carosello-frecce-fuori .swiper { width: 100%; margin-inline: 0; }
  .elementor-kit-6 .elementor-element.cb-carosello-frecce-fuori .elementor-swiper-button { display: none; }
}
@media (min-width: 1025px) {
  .elementor-kit-6 .elementor-element.cb-carosello-punti-tablet.cb-carosello-punti-tablet { --e-n-carousel-swiper-pagination-spacing: 0px; --e-n-carousel-swiper-pagination-size: 0px; }
  .elementor-kit-6 .elementor-element.cb-carosello-punti-tablet .swiper-pagination { display: none; }
}
@media (min-width: 768px) {
  .elementor-kit-6 .elementor-element.cb-carosello-punti-telefono.cb-carosello-punti-telefono { --e-n-carousel-swiper-pagination-spacing: 0px; --e-n-carousel-swiper-pagination-size: 0px; }
  .elementor-kit-6 .elementor-element.cb-carosello-punti-telefono .swiper-pagination { display: none; }
}

/* ---------- moduli Contact Form 7 (classe modulo-cb sul modulo) — stesso aspetto del prototipo (.form) ---------- */
.modulo-cb { background: var(--crema); border-radius: var(--raggio-grande); padding: clamp(22px, 4vw, 48px); display: grid; gap: 22px; width: min(1040px, 100%); margin-inline: auto; font-family: var(--font-testo); font-size: 16px; line-height: 1.55; color: var(--inchiostro); text-align: start; box-sizing: border-box; }
.modulo-cb.modulo-cb-su-crema { background: var(--bianco); }
.modulo-cb *, .modulo-cb *::before, .modulo-cb *::after { box-sizing: border-box; }
.modulo-cb p { margin: 0; }
.modulo-cb > p, .modulo-cb .field > p, .modulo-cb .consent > p, .modulo-cb .form-foot > p, .modulo-cb .form-steps > p, .modulo-cb .frow > p, .modulo-cb .fstep > p { display: contents; }
.modulo-cb br { display: none; }
.modulo-cb .form-steps { display: flex; flex-wrap: wrap; gap: 10px; }
.modulo-cb .form-steps .pill { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: var(--raggio-pillola); background: var(--bianco); color: var(--inchiostro-chiaro); font-size: 13.5px; font-weight: 500; line-height: 1.2; white-space: nowrap; }
.modulo-cb.modulo-cb-su-crema .form-steps .pill:not(.on) { background: var(--crema); }
.modulo-cb .form-steps .pill.on { background: var(--inchiostro); color: var(--bianco); }
.modulo-cb .fstep { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 22px; }
.modulo-cb .fstep[hidden] { display: none; }
.modulo-cb:not(.cb-passi) .form-steps, .modulo-cb:not(.cb-passi) [data-step-go] { display: none; }   /* senza codice: modulo unico */
.modulo-cb .frow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; }
@media (max-width: 767px) { .modulo-cb .frow { grid-template-columns: minmax(0, 1fr); } }
.modulo-cb .field { display: grid; gap: 8px; min-width: 0; align-content: start; }
.modulo-cb .field label { font-size: 13px; color: var(--inchiostro-medio); }
.modulo-cb .wpcf7-form-control-wrap { display: block; }
.modulo-cb input[type="text"], .modulo-cb input[type="email"], .modulo-cb input[type="tel"], .modulo-cb input[type="number"], .modulo-cb select, .modulo-cb textarea { width: 100%; height: 56px; border-radius: var(--raggio-campo); border: 1px solid var(--linea); background-color: var(--bianco); padding: 0 18px; margin: 0; font: 16px/1.3 var(--font-testo); color: var(--inchiostro); appearance: none; -webkit-appearance: none; box-shadow: none; }
.modulo-cb textarea { height: 132px; padding: 16px 18px; resize: vertical; }
.modulo-cb select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E5852' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 9l6.5 6.5L18.5 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 20px; padding-right: 48px; }
.modulo-cb input::placeholder, .modulo-cb textarea::placeholder { color: var(--inchiostro-chiaro); opacity: 1; }
.modulo-cb input:focus, .modulo-cb select:focus, .modulo-cb textarea:focus { outline: none; border-color: var(--inchiostro); box-shadow: 0 0 0 3px rgba(226, 81, 61, 0.18); }
.modulo-cb input[type="file"] { width: 100%; font: 14px/1.3 var(--font-testo); color: var(--inchiostro-medio); }
.modulo-cb input[type="file"]::file-.elementor-kit-6-button { margin-right: 14px; border: 1.5px solid var(--inchiostro); border-radius: var(--raggio-pillola); background: transparent; color: var(--inchiostro); font: 600 14px/1.1 var(--font-testo); padding: 12px 20px; cursor: pointer; }
.modulo-cb .wpcf7-not-valid { border-color: var(--mattone) !important; }
.modulo-cb .wpcf7-not-valid-tip { display: block; font-size: var(--dimensione-didascalia); color: var(--mattone-scuro); margin-top: 6px; }
.modulo-cb .consent { font-size: var(--dimensione-testo-piccolo); color: var(--inchiostro-medio); }
.modulo-cb .consent .wpcf7-list-item { margin: 0; display: block; }
.modulo-cb .consent label { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
.modulo-cb .consent input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--mattone); }
.modulo-cb .consent a { color: var(--mattone-scuro); }
.modulo-cb .form-foot { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; }
.modulo-cb .btn { display: inline-flex; align-items: center; justify-content: center; border-radius: var(--raggio-pillola); border: 1.5px solid transparent; font: 600 var(--dimensione-pulsante)/1.1 var(--font-testo); padding: 17px 28px; margin: 0; cursor: pointer; white-space: nowrap; transition: background-color .15s ease, color .15s ease; -webkit-appearance: none; appearance: none; }
.modulo-cb .btn-p { background: var(--mattone); color: var(--bianco); }
.modulo-cb .btn-p:hover { background: var(--mattone-scuro); }
.modulo-cb .btn-o { background: transparent; border-color: var(--inchiostro); color: var(--inchiostro); }
.modulo-cb .btn-o:hover { background: var(--inchiostro); color: var(--bianco); }
.modulo-cb .btn:disabled { opacity: 0.45; cursor: not-allowed; }
.modulo-cb .wpcf7-spinner { margin: 0; }
.modulo-cb:not(.submitting) .wpcf7-spinner { display: none; }   /* la rotellina occupa spazio solo durante l'invio */
.modulo-cb .wpcf7-response-output { margin: 0 !important; padding: 14px 18px !important; border-radius: var(--raggio-campo); border: 0 !important; font-size: var(--dimensione-testo-piccolo); background: var(--mattone-chiaro); color: var(--mattone-scuro); }
.modulo-cb.sent .wpcf7-response-output { background: var(--verde-chiaro); color: var(--verde); }
.modulo-cb .wpcf7-response-output:empty { display: none; }
@media (max-width: 767px) { .modulo-cb .btn { white-space: normal; text-align: center; } }/* End custom CSS */