/* CC Pack 3 · raccordi scritti a mano tra il CSS dei mockup 2027 (base.css) e il markup di WordPress ed Elementor.
   Stesso prefisso :root:root di base.css quando deve vincere sulle classi del kit; senza quando deve solo battere
   gli stili base di Elementor (.elementor .e-*-base, specificita' 0,2,0) e lasciar vincere base.css. */

/* ---------- scala dei titoli del mockup a tutte le larghezze (il tone.css del Pack 2 la riduceva su mobile) ---------- */
html:root:root{--cc-h1:clamp(2.6rem,6.4vw,6.4rem);--cc-h2:clamp(2rem,4.4vw,4.2rem);--cc-container:1520px}

/* ---------- elementi V4: niente padding e larghezza minima di default ---------- */
.elementor .e-div-block-base,.elementor .e-flexbox-base{padding:0;min-width:0}
.elementor .e-button-base{background-color:transparent;border-radius:0}
/* liste dentro un Paragrafo V4 (tag span): il ul fa da contenitore trasparente, le regole del mockup sui li restano */
:root:root .e-paragraph-base > :is(ul,ol){display:contents;list-style:none;margin:0;padding:0}


/* ---------- bottoni: via lo stile del tema Hello (bordo rosa, padding, sfondo al passaggio); i componenti del mockup
   hanno specificita' piu' alta e mettono il loro ---------- */
:root :is(button,[type=button],[type=submit],[type=reset]){padding:0;border:0;background:none;color:inherit;font:inherit;border-radius:0;text-transform:none;white-space:normal;letter-spacing:inherit}
:root :is(button,[type=button],[type=submit],[type=reset]):where(:hover,:focus){background-color:transparent;color:inherit}

/* ---------- titoli: niente tipografia e colori del kit Elementor (nel mockup valgono quelli del browser e delle classi) ---------- */
:root:root :where(h1,h2,h3,h4,h5,h6){font-family:inherit;font-size:revert;font-weight:revert;line-height:inherit;letter-spacing:normal;text-transform:none;color:inherit}

/* ---------- classi del kit e del tema child con lo stesso nome di quelle del mockup ---------- */
:root:root .cc-specs :is(li,.cc-li){position:static;padding-left:0;border-bottom:0}
:root:root .cc-specs :is(li,.cc-li)::before{position:static}
:root:root .cc-sec{display:block;padding-inline:0}
:root:root :is(.cc-hdr__in,.cc-jump__in,.cc-thanks__in,.cc-nf){flex-direction:row}
:root:root .cc-sec-head{justify-content:normal;align-items:normal;flex-direction:initial}
:root:root :is(.cc-h1,.cc-h2){max-width:none;font-family:var(--cc-font-display);font-weight:900;font-stretch:68%;line-height:.9;text-transform:uppercase;letter-spacing:-.005em;text-wrap:balance}
:root:root .cc-h1{font-size:var(--cc-h1)} :root:root .cc-h2{font-size:var(--cc-h2)}
:root:root .cc-lead{margin:0}
:root:root .cc-kicker{margin:0}
:root:root .cc-actions{margin:0}

/* ---------- titoli: la parte a contorno la crea v3.js (classi cc-ol-*), il testo resta una sola stringa ---------- */
:root:root .cc-ol-part{color:transparent;letter-spacing:.012em;-webkit-text-stroke:1.6px currentColor;-webkit-text-stroke-color:var(--cc-white)}
:root:root .cc-on-light .cc-ol-part,:root:root .cc-light .cc-ol-part,:root:root :is(.cc-sec--white,.cc-sec--surface,.cc-sec--light) .cc-ol-part{-webkit-text-stroke-color:var(--cc-ink)}
:root:root :is(.cc-panel,.cc-accent) .cc-ol-part{-webkit-text-stroke-color:var(--cc-white)}

/* ---------- icone nei bottoni V4 (il bottone V4 non ha icona): maschera SVG del set Conrad ---------- */
:root:root :is(.cc-ico-arrow,.cc-ico-download)::after,:root:root :is(.cc-ico-phone,.cc-ico-back)::before{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
:root:root .cc-ico-arrow{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
:root:root .cc-ico-back{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E")}
:root:root .cc-ico-phone{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E")}
:root:root .cc-ico-download{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M4 20h16'/%3E%3C/svg%3E")}
:root:root .cc-ico-phone::before{width:16px;height:16px}

/* ---------- header nel Theme Builder ---------- */
.elementor-location-header{position:sticky;top:0;z-index:50}
.admin-bar .elementor-location-header{top:32px}
@media (max-width:782px){.admin-bar .elementor-location-header{top:46px}}
:root:root :is(.elementor-location-header,.elementor-location-footer) .e-con{padding:0;gap:0}
:root:root .cc-hdr{position:relative;top:auto}
:root:root .cc-hdr .cc-tel svg{color:var(--cc-accent-dark)}
:root:root .cc-hdr .cc-mark{min-height:44px;display:inline-flex;align-items:center}
/* lingue: link al posto dei bottoni del mockup, la lingua corrente come quella premuta */
:root:root .cc-lang a{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--cc-r-pill);padding:6px 9px;font:600 .7rem/1 var(--cc-font-body);letter-spacing:.08em;color:var(--cc-muted-dark);text-decoration:none}
:root:root .cc-lang a:hover{color:var(--cc-white)}
:root:root .cc-lang a[aria-current]{background:var(--cc-white);color:var(--cc-ink)}
:root:root .cc-drawer .cc-lang a{min-width:44px;min-height:40px}
/* tendine del menu (Prodotti, Servizi) */
:root:root .cc-nav{align-items:center}
:root:root .cc-nav a[aria-current]{color:var(--cc-white);border-bottom-color:var(--cc-accent)}
:root:root .cc-nav__item{position:relative}
:root:root .cc-nav__btn{display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-bottom:2px solid transparent;padding:8px 0;font:600 .78rem/1 var(--cc-font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--cc-text-dark-2);cursor:pointer;transition:color var(--cc-micro) ease}
:root:root .cc-nav__btn[data-current]{border-bottom-color:var(--cc-accent);color:var(--cc-white)}
:root:root .cc-nav__btn svg{width:8px;height:8px;transition:rotate var(--cc-micro) ease}
:root:root .cc-nav__btn:hover,:root:root .cc-nav__btn[aria-expanded="true"]{color:var(--cc-white)}
:root:root .cc-nav__btn[aria-expanded="true"] svg{rotate:180deg}
:root:root .cc-nav__drop{position:absolute;top:calc(100% + 14px);left:-18px;min-width:240px;display:grid;padding:10px;border-radius:var(--cc-r-md);background:var(--cc-panel);border:1px solid var(--cc-line-dark);box-shadow:0 18px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;translate:0 -6px;transition:opacity var(--cc-micro) ease,translate var(--cc-micro) ease,visibility 0s linear var(--cc-micro)}
:root:root .cc-nav__drop::before{content:"";position:absolute;inset:-16px 0 auto;height:16px}
:root:root .cc-nav__item.is-open .cc-nav__drop{opacity:1;visibility:visible;translate:0 0;transition:opacity var(--cc-micro) ease,translate var(--cc-micro) ease}
:root:root .cc-nav__drop a{padding:12px 14px;border:0;border-radius:var(--cc-r-sm);letter-spacing:.08em;white-space:nowrap}
:root:root .cc-nav__drop a:hover,:root:root .cc-nav__drop a[aria-current]{background:rgba(255,255,255,.06);color:var(--cc-white)}
/* menu a cassetto: le voci con figli diventano gruppi */
:root:root .cc-drawer[inert]{pointer-events:none}
:root:root .cc-drawer__group{display:grid;padding-block:10px 4px;border-bottom:1px solid var(--cc-line-dark)}
:root:root .cc-drawer__h{font:700 .74rem/1 var(--cc-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--cc-accent-dark);padding-block:8px 2px}
:root:root .cc-drawer nav .cc-drawer__group a{min-height:46px;border-bottom:0;font-size:1.05rem}
:root:root .cc-drawer nav a[aria-current]{color:var(--cc-accent-dark)}
html.cc-lock{overflow:hidden}

/* ---------- footer ---------- */
:root:root .cc-ftr{position:relative}
:root:root .cc-ftr .cc-ftr__about{margin-top:16px}
:root:root .cc-ftr .cc-mark{display:inline-flex}
@media (max-width:960px){body.cc-v3{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}}

/* ---------- componenti 2027 nel Pack: id del mockup diventati classi, valori dell'interruttore ---------- */
@media (prefers-reduced-motion:no-preference){:root:root .cc-pl-sweep{animation:cc-sweep 10s ease-in-out infinite alternate;transform-box:view-box}}
:root:root .cc-switch[data-v="n"] .cc-switch__knob{translate:100% 0}
:root:root .cc-mode__img img[hidden]{display:none}
:root:root .cc-card__media{display:block}
/* numero + unita' in un Paragrafo V4: lo span dell'unita' perde la classe, lo stile e' quello di .unit */
:root:root .cc-num > span{font:600 .9rem/1 var(--cc-font-body);letter-spacing:.06em;text-transform:uppercase;margin-left:.25em;font-stretch:100%}

/* ---------- form preventivo: Elementor Form (Pro) in due passi con l'aspetto del mockup (.form, .steps, .f, .chip) ---------- */
:root:root .cc-qf .elementor-form{background:var(--cc-panel);border-radius:var(--cc-r-lg);padding:40px 44px 44px;color:var(--cc-white)}
:root:root .cc-qf .elementor-form-fields-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin:0}
:root:root .cc-qf .elementor-form-fields-wrapper > *,:root:root .cc-qf .e-form__step > *{width:auto;max-width:none;padding:0;margin:0}
:root:root .cc-qf .e-form__step{display:contents}
:root:root .cc-qf .e-form__step.elementor-hidden{display:none}
:root:root .cc-qf .elementor-col-100,:root:root .cc-qf .e-form__buttons,:root:root .cc-qf .e-form__indicators,:root:root .cc-qf .elementor-field-type-acceptance,:root:root .cc-qf .cc-prefill{grid-column:1/-1}
/* passi */
:root:root .cc-qf .e-form__indicators{display:flex;justify-content:flex-start;gap:8px;align-items:center;margin:0 0 8px;padding:0;font:700 .72rem/1 var(--cc-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--cc-muted-dark)}
:root:root .cc-qf .e-form__indicators__indicator{display:flex;flex-direction:row;align-items:center;gap:8px;flex:none;width:auto;padding:0}
:root:root .cc-qf .e-form__indicators__indicator__number{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--cc-line-dark);display:grid;place-items:center;font:700 .72rem/1 var(--cc-font-body);background:none;color:inherit;margin:0}
:root:root .cc-qf .e-form__indicators__indicator__label{font:inherit;letter-spacing:inherit;color:inherit}
:root:root .cc-qf .e-form__indicators__indicator--state-active{color:var(--cc-white)}
:root:root .cc-qf .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number{background:var(--cc-accent);border-color:var(--cc-accent);color:var(--cc-white)}
:root:root .cc-qf .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number{background:var(--cc-white);border-color:var(--cc-white);color:var(--cc-ink)}
:root:root .cc-qf .e-form__indicators__indicator__separator{flex:1;max-width:60px;height:0;border-top:1px solid var(--cc-line-dark);background:none;margin:0}
/* etichette e campi */
:root:root .cc-qf .elementor-field-label{display:block;font:700 .7rem/1.2 var(--cc-font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--cc-text-dark-2);margin:0 0 8px;padding:0}
:root:root .cc-qf .elementor-field-group{flex-direction:row;flex-wrap:wrap;align-items:stretch}
:root:root .cc-qf .elementor-field-group > *{flex:0 0 100%;max-width:100%}
:root:root .cc-qf .elementor-field-group .elementor-field,:root:root .cc-qf .elementor-field-group select,:root:root .cc-qf .elementor-field-group textarea{width:100%;font:400 1rem/1.4 var(--cc-font-body);color:var(--cc-ink);background:var(--cc-white);border:2px solid var(--cc-white);border-radius:var(--cc-r-sm);padding:12px 14px;min-height:48px;box-shadow:none;transition:border-color var(--cc-micro) ease}
:root:root .cc-qf .elementor-field-group textarea{min-height:110px;resize:vertical}
:root:root .cc-qf .elementor-field-group :is(.elementor-field,select,textarea):focus{outline:none;border-color:var(--cc-accent)}
:root:root .cc-qf .elementor-select-wrapper{background:none;border:0;padding:0;min-height:0}
:root:root .cc-qf .elementor-select-wrapper .select-caret-down-wrapper{color:var(--cc-ink);right:14px}
:root:root .cc-qf .elementor-field-textual::placeholder{color:var(--cc-muted)}
:root:root .cc-qf .elementor-mark-required .elementor-field-label::after{color:var(--cc-accent-dark)}
/* settore: radio a pillola come i chip */
:root:root .cc-qf .elementor-field-type-radio .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:8px}
:root:root .cc-qf .elementor-field-type-radio .elementor-field-option{position:relative;margin:0;padding:0;display:inline-flex}
:root:root .cc-qf .elementor-field-type-radio input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
:root:root .cc-qf .elementor-field-type-radio .elementor-field-option label{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--cc-line-dark);border-radius:var(--cc-r-pill);padding:10px 14px;font:600 .8rem/1 var(--cc-font-body);color:var(--cc-text-dark-2);cursor:pointer;transition:background-color var(--cc-micro) ease,color var(--cc-micro) ease,border-color var(--cc-micro) ease;margin:0}
:root:root .cc-qf .elementor-field-type-radio .elementor-field-option:hover label{border-color:var(--cc-muted-dark);color:var(--cc-white)}
:root:root .cc-qf .elementor-field-type-radio input:checked + label{background:var(--cc-white);border-color:var(--cc-white);color:var(--cc-ink)}
:root:root .cc-qf .elementor-field-type-radio input:focus-visible + label{outline:3px solid var(--cc-accent);outline-offset:3px}
/* privacy */
:root:root .cc-qf .elementor-field-type-acceptance .elementor-field-label{display:none}
:root:root .cc-qf .elementor-field-type-acceptance .elementor-field-option{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--cc-text-dark-2)}
:root:root .cc-qf .elementor-field-type-acceptance input{accent-color:var(--cc-accent);width:18px;height:18px;margin:2px 0 0;flex:none}
:root:root .cc-qf .elementor-field-type-acceptance a{color:var(--cc-white)}
/* 3.5.1: la casella non e' un campo di testo (prima prendeva larghezza, altezza e sfondo dei campi) e il testo si legge su scuro */
:root:root .cc-qf .elementor-field-group.elementor-field-type-acceptance .elementor-acceptance-field{width:18px;height:18px;min-height:0;padding:0;margin:3px 0 0;border:0;border-radius:3px;background:none;flex:none;appearance:auto;-webkit-appearance:checkbox}
:root:root .cc-qf .elementor-field-type-acceptance .elementor-field-subgroup{display:block}
:root:root .cc-qf .elementor-field-type-acceptance .elementor-field-option{flex-wrap:nowrap}
:root:root .cc-qf .elementor-field-type-acceptance .elementor-field-option > label{flex:1 1 auto;min-width:0;color:var(--cc-text-dark-2);font:400 .85rem/1.5 var(--cc-font-body);text-transform:none;letter-spacing:0;margin:0}
/* reCAPTCHA v3: niente riquadro bianco (il suo contenitore ha la classe dei campi), il controllo resta attivo */
:root:root .cc-qf .elementor-field-type-recaptcha_v3{height:0;min-height:0;margin:0;padding:0;overflow:hidden}
:root:root .cc-qf .elementor-field-type-recaptcha_v3 .elementor-field{background:none;border:0;padding:0;min-height:0;height:0}
/* popup del preventivo: X bianca e grande abbastanza da toccare */
:root:root .elementor-popup-modal .dialog-close-button{width:44px;height:44px;display:grid;place-items:center;top:14px;right:14px;color:var(--cc-white);opacity:1}
:root:root .elementor-popup-modal .dialog-close-button svg{fill:var(--cc-white);width:20px;height:20px}
:root:root .elementor-popup-modal .dialog-close-button i{color:var(--cc-white)}
/* 3.5.2: nota sotto email e telefono (almeno uno dei due) */
:root:root .cc-qf .cc-qf-note{margin:-6px 0 0;font:400 .82rem/1.45 var(--cc-font-body);color:var(--cc-text-dark-2)}
/* bottoni: Avanti, Indietro, Richiedi preventivo */
:root:root .cc-qf .e-form__buttons{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
:root:root .cc-qf .e-form__buttons__wrapper{width:auto;padding:0;margin:0;flex:none}
:root:root .cc-qf :is(.elementor-button,.e-form__buttons__wrapper__button){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 28px;border-radius:var(--cc-r-pill);border:2px solid transparent;font:700 .875rem/1 var(--cc-font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:var(--cc-accent);color:var(--cc-white);box-shadow:none;transition:background-color var(--cc-micro) ease}
:root:root .cc-qf :is(.elementor-button,.e-form__buttons__wrapper__button-next):hover{background:var(--cc-accent-hover)}
:root:root .cc-qf .e-form__buttons__wrapper__button-previous{background:transparent;border-color:currentColor;color:var(--cc-white)}
:root:root .cc-qf .e-form__buttons__wrapper__button-previous:hover{background:rgba(255,255,255,.08)}
:root:root .cc-qf .e-form__step:last-of-type .e-form__buttons{grid-column:1/-1;justify-content:space-between}
/* messaggi */
:root:root .cc-qf .elementor-message{margin:12px 0 0;padding:14px 16px;border-radius:var(--cc-r-sm);font-size:.9rem}
:root:root .cc-qf .elementor-message-success{background:var(--cc-success-bg);color:var(--cc-success-txt)}
:root:root .cc-qf .elementor-error :is(.elementor-field,select,textarea){border-color:var(--cc-error)}
:root:root .cc-qf .elementor-field-group .elementor-message{background:none;padding:6px 0 0;margin:0;font-size:.78rem;font-weight:600;color:var(--cc-error-dark)}
:root:root .cc-qf .cc-prefill[hidden]{display:none}
@media (max-width:640px){:root:root .cc-qf .elementor-form{padding:24px 20px;border-radius:var(--cc-r-md)} :root:root .cc-qf .elementor-form-fields-wrapper{grid-template-columns:1fr} :root:root .cc-qf .e-form__buttons > *{flex:1} :root:root .cc-qf .e-form__buttons :is(.elementor-button,.e-form__buttons__wrapper__button){width:100%}}

/* ---------- barra delle sezioni sticky: e' il contenitore Elementor del widget a restare in alto ---------- */
:root:root [data-elementor-type] > .e-con:has(> .elementor-widget-cc_jumpnav .cc-jump),:root:root [data-elementor-type] > .e-con:has(.cc-jump){position:sticky;top:72px;z-index:30}
@media (max-width:960px){:root:root [data-elementor-type] > .e-con:has(.cc-jump){top:64px}}
:root:root .admin-bar [data-elementor-type] > .e-con:has(.cc-jump){top:104px}
:root:root .e-con:has(.cc-jump) .cc-jump{position:static}

/* ---------- anteprime video (CC Video) in griglia e iframe dopo il clic ---------- */
:root:root .cc-videos{display:grid;grid-template-columns:repeat(var(--cc-videos-cols,1),minmax(0,1fr));gap:20px}
:root:root .cc-videos__item{margin:0;display:grid;gap:12px}
:root:root .cc-videos__cap{font:600 .82rem/1.3 var(--cc-font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--txt-2,var(--cc-text-dark-2))}
:root:root .cc-embed__frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:var(--cc-r-md);background:var(--cc-black)}
@media (max-width:640px){:root:root .cc-videos{grid-template-columns:1fr}}

/* ---------- tabella della scheda tecnica: via bordi e righe alterne del tema Hello ---------- */
:root:root .cc-spec :is(th,td){border:0;border-bottom:1px solid var(--cc-border)}
:root:root .cc-spec tbody > tr:nth-child(odd) > td{background-color:var(--cc-white)}
:root:root .cc-spec tbody > tr:nth-child(odd) > th,:root:root .cc-spec tbody > tr > th{background-color:var(--cc-surface)}
:root:root .cc-spec tbody tr:hover > :is(td,th){background-color:inherit}
:root:root .cc-spec tr:last-child > :is(th,td){border-bottom:0}
:root:root .cc-doc .cc-btn{color:var(--cc-white);font-size:.875rem}
:root:root .cc-doc b{color:var(--cc-ink)}

/* ---------- foto: il <picture> del modulo Immagini (AVIF/WebP) non deve contare nell'impaginazione del mockup ---------- */
:root:root body.cc-v3 picture.cc-pic{display:contents}

/* ---------- card dei modelli: bottone e badge dentro la card anche a 5 colonne ---------- */
:root:root .cc-card__meta{flex-wrap:wrap;row-gap:6px}
:root:root .cc-models .cc-card__cta .cc-btn{white-space:normal;max-width:100%;padding-inline:18px;text-align:center}
:root:root .cc-card h3 a{color:inherit;text-decoration:none}
:root:root .cc-embed:not(:has(img)){aspect-ratio:16/9;background:var(--cc-panel);width:100%}

/* ---------- archivio articoli: chip come link (la categoria corrente come quella premuta), puntini delle pagine ---------- */
:root:root a.cc-chip{display:inline-flex;align-items:center;text-decoration:none}
:root:root .cc-on-light a.cc-chip.cc-is-on,:root:root :is(.cc-sec--surface,.cc-sec--white) a.cc-chip.cc-is-on{background:var(--cc-ink);border-color:var(--cc-ink);color:var(--cc-white)}
:root:root .cc-on-dark a.cc-chip.cc-is-on{background:var(--cc-white);border-color:var(--cc-white);color:var(--cc-ink)}
:root:root .cc-pager .cc-dots{min-width:28px;display:grid;place-items:center;color:var(--cc-muted)}
:root:root .cc-archive .cc-search{margin:0}

/* ---------- icona di conferma (Preventivo richiesto) ---------- */
:root:root .cc-ico-check{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
:root:root .cc-thanks__ok.cc-ico-check::before{content:"";width:34px;height:34px;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
:root:root .cc-thanks__ok{display:grid;place-items:center}

/* ---------- popup preventivo (Elementor Pro) con l'aspetto del mockup ---------- */
:root:root .cc-popup-v3 .dialog-widget-content{background:var(--cc-panel);border-radius:var(--cc-r-lg);box-shadow:0 30px 80px rgba(0,0,0,.5);color:var(--cc-white)}
:root:root .cc-popup-v3 .dialog-message{padding:0}
:root:root .cc-popup-v3 .dialog-close-button{color:var(--cc-white);font-size:28px;top:18px;right:22px}
:root:root .cc-popup-v3 .cc-popup__head{display:grid;gap:10px;padding:36px 44px 0}
:root:root .cc-popup-v3 .cc-popup__head h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
:root:root .cc-popup-v3 .cc-qf .elementor-form{background:transparent;padding:24px 44px 40px}
@media (max-width:640px){:root:root .cc-popup-v3 .dialog-widget-content{border-radius:0;min-height:100svh} :root:root .cc-popup-v3 .cc-popup__head{padding:28px 20px 0} :root:root .cc-popup-v3 .cc-qf .elementor-form{padding:20px}}

/* ---------- mobile: testi almeno 12 px, bersagli almeno 44 px ---------- */
@media (max-width:960px){
  :root:root .cc-qf .elementor-field-label{font-size:.78rem}
  :root:root .cc-burger{min-width:44px;min-height:44px;display:grid;place-items:center}
  :root:root .cc-ftr__legal a{display:inline-flex;align-items:center;min-height:44px}
  :root:root .cc-sector__btn{min-height:44px}
}
:root:root .cc-crumb{flex-wrap:wrap}
:root:root .cc-crumb li{white-space:normal;overflow-wrap:anywhere}
@media (max-width:960px){
  :root:root .cc-ct a{display:inline-flex;align-items:center;min-height:44px}
  :root:root .cc-prevnext{min-height:44px}
  :root:root .cc-prevnext small{font-size:.8rem}
}
/* home: le due guide di manutenzione sotto i tre punti dell'assistenza */
:root:root .cc-care__guides{grid-column:1/-1;margin-top:40px}
:root:root .cc-guides{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:760px){:root:root .cc-guides{grid-template-columns:1fr}}
:root:root .cc-fams__videos{margin-top:20px}

/* 3.1.0 · testo in Archivo a larghezza normale (al posto di Prompt), anche nelle variabili del kit Elementor */
html:root:root{--cc-font-body:'Archivo','Helvetica Neue',Arial,sans-serif;--cc-font-display:'Archivo','Arial Black',sans-serif}
html:root:root body{--e-global-typography-text-font-family:'Archivo';--e-global-typography-accent-font-family:'Archivo';--e-global-typography-primary-font-family:'Archivo';--e-global-typography-secondary-font-family:'Archivo';--e-global-typography-27c7134-font-family:'Archivo';--e-global-typography-54385bc-font-family:'Archivo';--e-global-typography-936581b-font-family:'Archivo';--e-global-typography-ecd9595-font-family:'Archivo';font-family:var(--cc-font-body)}
/* 3.1.1 · titolo grande della Linea smart (la misura del kit .cc-h2 arriva dopo nel CSS) */
:root:root .cc-h2.cc-smart__h{font-size:clamp(3rem,7.6vw,7.4rem);max-width:12ch}
/* 3.1.2 · le fonti AVIF/WebP del modulo Immagini non sono celle della griglia (striscia delle categorie rotta) */
:root:root body.cc-v3 picture.cc-pic > :is(source,noscript){display:none}
/* 3.2.5 · icona del telefono davanti ai numeri accanto al form preventivo (Nelb 16/10) */
:root:root .cc-contact a{display:inline-flex;align-items:center;gap:.4em}
:root:root .cc-contact a::before{content:"";width:.62em;height:.62em;flex:none;background:var(--cc-accent-dark);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center/contain no-repeat}
/* 3.3.0 · hero di categorie e prodotti scuri, senza quadretti (Nelb 16/10) */
:root:root body:is(.cc-v3-prodotto,.cc-v3-categorie,.cc-v3-stazioni,.cc-v3-misting) .cc-chero.cc-grid-paper{background-image:none}
/* 3.5.3: parole lunghe (tedesco, "personalizzazione") che non stanno nella riga: vanno a capo con il trattino invece di
   allargare la colonna e far uscire bottoni e testo dallo schermo (revisione mobile del live, 16/10) */
:root:root :is(h1,h2,h3,h4){hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}
:root:root .cc-qf .e-form__indicators__indicator__number{font-size:.75rem}
/* 3.5.6: su telefono un bottone con testo lungo (tedesco) va a capo invece di uscire dallo schermo */
@media (max-width:640px){:root:root .cc-btn{white-space:normal;max-width:100%;text-align:center;line-height:1.2}}
/* 3.6.0: pagina di ringraziamento dopo il form (widget CC Grazie) */
:root:root .cc-ty{padding-block:clamp(72px,10vw,128px)}
:root:root .cc-ty__in{display:grid;justify-items:center;text-align:center;gap:18px;max-width:820px}
:root:root .cc-ty .cc-thanks__ok{width:80px;height:80px;border-radius:50%;background:var(--cc-success);color:var(--cc-white);margin-bottom:6px}
:root:root .cc-ty h1{margin:0}
:root:root .cc-ty .cc-lead{max-width:56ch;color:var(--cc-text-dark-2);margin:0}
:root:root .cc-ty__recap{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;padding:14px 22px;border:1px solid var(--cc-line-dark);border-radius:var(--cc-r-md);background:var(--cc-panel);font-size:.95rem;color:var(--cc-text-dark-2)}
:root:root .cc-ty__recap b{color:var(--cc-white);font-weight:600}
:root:root .cc-ty__recap-h{width:100%;font:700 .72rem/1 var(--cc-font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--cc-muted-dark)}
:root:root .cc-ty__urgent{margin:10px 0 0;color:var(--cc-white);font-weight:600}
:root:root .cc-ty__tel{justify-content:center}
:root:root .cc-ty__steps{list-style:none;margin:0 0 48px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:none}
:root:root .cc-ty__steps li{border-top:2px solid var(--cc-ink);padding-top:18px;display:grid;gap:10px;align-content:start}
:root:root .cc-ty__n{width:32px;height:32px;border-radius:50%;background:var(--cc-accent);color:var(--cc-white);display:grid;place-items:center;font:700 .9rem/1 var(--cc-font-body)}
:root:root .cc-ty__steps h3{margin:0;font:700 1.1rem/1.25 var(--cc-font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--cc-ink)}
:root:root .cc-ty__steps p{margin:0;color:var(--cc-ink-2)}
:root:root .cc-ty__more{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-top:28px;border-top:1px solid var(--cc-border)}
:root:root .cc-ty__more-h{font:700 .75rem/1 var(--cc-font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--cc-muted)}
:root:root .cc-ty__link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:700 .875rem/1 var(--cc-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--cc-ink);text-decoration:none}
:root:root .cc-ty__link:hover{color:var(--cc-accent)}
:root:root .cc-ty__more .cc-btn{margin-left:auto}
@media (max-width:860px){:root:root .cc-ty__steps{grid-template-columns:1fr} :root:root .cc-ty__more .cc-btn{margin-left:0}}

