/* Regazzoli — compat Elementor (mappa lo stile sul markup reale dei widget) */

/* ===== HEADER (Theme Builder) ===== */
.elementor-location-header{position:fixed;top:0;left:0;right:0;z-index:70}
.e-con.site-header{background:transparent;transition:background .3s ease,box-shadow .3s ease;padding:0!important}
.site-header.is-solid{background:var(--surface);box-shadow:0 4px 24px rgba(30,27,24,.07)}
.brand-logo img{height:clamp(38px,4.6vw,54px)!important;width:auto!important;filter:drop-shadow(0 2px 12px rgba(0,0,0,.45))}
.site-header.is-solid .brand-logo img{filter:none}
.hdr-phone .elementor-icon-list-items{margin:0;padding:0}
.hdr-phone .elementor-icon-list-item{margin:0!important;padding:0!important;display:inline-flex}
.hdr-phone .elementor-icon-list-item a{display:inline-flex;align-items:center;gap:.5em;color:#fff;font-weight:600;font-size:.95rem}
.hdr-phone .elementor-icon-list-icon svg,.hdr-phone .elementor-icon-list-icon i{width:1.05em;height:1.05em;color:#fff;fill:#fff}
.site-header.is-solid .hdr-phone a,.site-header.is-solid .hdr-phone svg,.site-header.is-solid .hdr-phone i{color:var(--ink)!important;fill:var(--ink)!important}
.hdr-phone a:hover{color:var(--brand)!important}
.menu-btn .elementor-button,.nav-close .elementor-button{background:transparent!important;border:1px solid rgba(255,255,255,.35)!important;color:#fff!important;border-radius:999px!important;padding:.6em 1em!important;font-weight:600!important;font-size:.95rem!important;box-shadow:none!important;display:inline-flex;align-items:center}
.menu-btn .elementor-button:hover,.nav-close .elementor-button:hover{background:rgba(255,255,255,.12)!important}
.site-header.is-solid .menu-btn .elementor-button{color:var(--ink)!important;border-color:var(--line)!important}
.site-header.is-solid .menu-btn .elementor-button:hover{background:var(--ink)!important;color:#fff!important}
.menu-btn .elementor-button-text::before{content:"\2261";margin-right:.45em;font-size:1.25em;line-height:1}

/* ===== OVERLAY ===== */
.reg-navmenu ul.elementor-nav-menu{display:flex;flex-direction:column;counter-reset:rnav}
.reg-navmenu .elementor-nav-menu>li{counter-increment:rnav;border-top:1px solid rgba(255,255,255,.12)}
.reg-navmenu .elementor-nav-menu>li:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.reg-navmenu a.elementor-item{position:relative;display:flex!important;align-items:baseline;gap:clamp(14px,3vw,30px);padding:clamp(12px,1.8vw,20px) 0!important;font-family:'Fraunces',serif!important;font-weight:480;font-size:clamp(2rem,7vw,4.2rem);line-height:1;letter-spacing:-.02em;color:var(--on-dark)!important;background:transparent!important}
.reg-navmenu a.elementor-item::before{content:counter(rnav,decimal-leading-zero);font-family:'Inter',sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.1em;color:var(--brand);min-width:2.4em;transform:translateY(-.5em)}
.reg-navmenu a.elementor-item:hover{color:#fff!important;transform:translateX(12px)}

/* ===== FOOTER ===== */
.f-menu .elementor-nav-menu{display:flex;flex-direction:column}
.f-menu a.elementor-item{color:var(--on-dark)!important;font-size:.98rem;padding:5px 0!important;background:transparent!important;font-family:'Inter',sans-serif!important;justify-content:flex-start}
.f-menu a.elementor-item:hover{color:var(--brand)!important}
.footer__wordmark .elementor-heading-title{font-family:'Fraunces',serif;font-weight:560;font-size:1.7rem;color:#fff}
.f-h .elementor-heading-title,.nf-h .elementor-heading-title{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-soft);font-weight:600;font-family:'Inter',sans-serif}

/* ===== BOTTONI (Elementor button, base kit = pillola rossa) ===== */
.btn .elementor-button{border-radius:999px!important;font-weight:600}
.btn--lg .elementor-button{padding:1.02em 1.8em!important;font-size:1.02rem!important}
.btn--ghost .elementor-button{background:transparent!important;border:1.5px solid rgba(255,255,255,.55)!important;color:#fff!important;box-shadow:none!important}
.btn--ghost .elementor-button:hover{background:#fff!important;color:var(--ink)!important;border-color:#fff!important}
.btn--outline .elementor-button{background:transparent!important;border:1.5px solid var(--line)!important;color:var(--ink)!important;box-shadow:none!important}
.btn--outline .elementor-button:hover{background:var(--ink)!important;color:#fff!important}

/* ===== HERO ===== */
.e-con.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#211E1A}
.e-con.hero .elementor-background-video-container{z-index:0!important}
.e-con.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,16,12,.55),rgba(20,16,12,.28) 34%,rgba(20,16,12,.62))}
.e-con.hero>.e-con.hero__inner{position:relative;z-index:2}
.e-con.hero__inner{text-align:center;max-width:860px;color:#fff;padding:calc(var(--hdr-h) + 24px) var(--pad) 0;align-items:center}
.hero__inner .eyebrow{justify-content:center}
.hero__inner .elementor-heading-title{color:#fff}
.hero .hero__sub,.hero .hero__sub *{color:rgba(255,255,255,.92)!important}
.hero__tel,.hero__tel *{color:rgba(255,255,255,.85)!important}
.hero__tel a{border-bottom:1px solid rgba(255,255,255,.4)}
.e-con.hero__cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:8px}

/* ===== SEZIONI / TESTA ===== */
.e-con.section{padding-block:var(--sec-y)}
.e-con.section--sand{background:var(--bg-2)}
.e-con.wrap{width:min(1240px,100%);margin-inline:auto;padding-inline:var(--pad)}
.sec-head{max-width:720px;margin-bottom:clamp(34px,5vw,56px)}
.eyebrow{display:flex;align-items:center}
.eyebrow .elementor-heading-title{display:inline-flex;align-items:center;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}
.eyebrow .elementor-heading-title::before{content:"";display:inline-block;width:26px;height:2px;background:currentColor;margin-right:10px;border-radius:2px}
.eyebrow--light .elementor-heading-title{color:#E8B7A0}
.eyebrow--light .elementor-heading-title::before{background:var(--brand)}
.lead .elementor-widget-container{color:var(--ink-soft);font-size:clamp(1.02rem,1.5vw,1.16rem)}

/* ===== VALORI ===== */
.e-con.values{background:var(--surface);border-bottom:1px solid var(--line-soft);padding:0!important}
.values-list .elementor-icon-list-items{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,3vw,40px);padding-block:22px;margin:0}
.values-list .elementor-icon-list-item{margin:0!important;display:inline-flex;align-items:center;width:auto}
.values-list .elementor-icon-list-text{font-weight:500;color:var(--ink-soft);font-size:.98rem}
.values-list .elementor-icon-list-icon svg,.values-list .elementor-icon-list-icon i{color:var(--brand)!important;fill:var(--brand)!important;width:1.05em}

/* ===== CARD ===== */
.e-con.cards{display:flex;flex-wrap:wrap;gap:var(--gap);align-items:stretch}
.e-con.card{flex:1 1 clamp(260px,30%,380px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow-sm);transition:transform .35s,box-shadow .35s}
.e-con.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.e-con.media{position:relative;aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden;background:var(--ph);min-height:170px}
.ph-label{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:.5em;padding:.4em .75em;border-radius:999px;background:rgba(251,247,239,.9);font-size:.76rem;font-weight:600;color:var(--ink-soft)}
.e-con.card__body{flex:1;display:flex;flex-direction:column;padding:22px 16px 14px}
.card__body .elementor-heading-title{font-family:'Fraunces',serif;font-weight:540;font-size:1.4rem;line-height:1.12}
.card__body .elementor-widget-text-editor .elementor-widget-container{color:var(--ink-soft);font-size:.97rem}
.card__body .elementor-widget:last-child{margin-top:auto}
.card__link{display:inline-flex!important;align-items:center;justify-content:space-between;width:100%;padding-top:15px;border-top:1px solid var(--line-soft);font-weight:600;color:var(--ink)}
.card__link::after{content:"\2192";color:var(--brand);margin-left:auto}

/* ===== SHOWCASE ===== */
.e-con.showcase{display:flex;gap:var(--gap);align-items:stretch}
.e-con.shot{flex:1;position:relative;aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden;background:var(--ph);box-shadow:var(--shadow-sm);min-height:260px}
.e-con.shot:nth-child(2){margin-top:clamp(20px,4vw,52px)}
.shot .ph-label{background:rgba(25,20,15,.5);color:#fff}
.e-con.showcase-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:clamp(28px,4vw,44px)}
.txtlink .elementor-widget-container,.txtlink{color:var(--brand);font-weight:600}
.txtlink a{color:var(--brand)}
.txtlink a::after{content:"\2192";margin-left:.4em}

/* ===== CHI SIAMO ===== */
.e-con.about{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center}
.e-con.about__media{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--ph);box-shadow:var(--shadow-md);min-height:320px}
.about__media .ph-label{background:rgba(25,20,15,.5);color:#fff}
.about__quote{font-family:'Fraunces',serif;font-style:italic;font-weight:440;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.3;color:var(--ink);padding:18px 0 18px 22px;border-left:3px solid var(--brand);margin:26px 0}
.about__sign{color:var(--ink-faint);font-size:.92rem}.about__sign b{color:var(--ink)}

/* ===== CONTATTI (scuro) ===== */
.e-con.contact{background:var(--dark)}
.contact .elementor-heading-title{color:#fff}
.contact__head{max-width:720px;margin-bottom:clamp(34px,5vw,54px)}
.e-con.contact__cols{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);margin-bottom:clamp(30px,5vw,50px)}
.e-con.contact__col{flex:1 1 220px}
.contact__col .elementor-widget-heading .elementor-heading-title{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-soft)!important;font-weight:600;margin-bottom:14px}
.contact__col .line{display:block;margin-bottom:12px;font-size:1.05rem;color:#fff}
.contact__col a.line:hover{color:var(--brand)}
.contact__col .elementor-widget-text-editor,.contact__col .elementor-widget-text-editor *{color:#fff}
.contact__col .flag,.flag{color:var(--on-dark-soft)!important;font-size:.82rem;font-style:italic}
.cbtn{margin-top:6px}
.e-con.map,.map{margin-top:8px;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.map iframe{filter:grayscale(.2) contrast(.95)}

/* ===== fix flex-direction (container Elementor = column di default) ===== */
.e-con.cards,.e-con.hero__cta,.e-con.contact__cols,.e-con.showcase,.e-con.showcase-foot,.e-con.footer__top,.e-con.footer__nav{flex-direction:row!important}
.e-con.cards{flex-wrap:wrap}
.e-con.hero__cta{flex-wrap:wrap;justify-content:center}
.e-con.contact__cols{flex-wrap:wrap}
.e-con.footer__top{flex-wrap:wrap;justify-content:space-between}
.e-con.footer__nav{flex-wrap:wrap}
.e-con.showcase-foot{flex-wrap:wrap;align-items:center;justify-content:space-between}
.e-con.card{flex:1 1 clamp(260px,30%,380px);max-width:calc(33.333% - 20px)}
@media(max-width:900px){.e-con.card{max-width:calc(50% - 12px)}}
@media(max-width:560px){.e-con.card{max-width:100%;flex-basis:100%}}
/* hero eyebrow peach */
.hero__inner .eyebrow .elementor-heading-title{color:#F1CDBF}
.hero__inner .eyebrow .elementor-heading-title::before{background:#fff;opacity:.85}

/* hero: poster woodwork come sfondo (dietro il video) + fallback scuro */
.e-con.hero{background-color:#211E1A;}

/* ============ PAGINE INTERNE ============ */
.e-con.page-hero{position:relative;min-height:clamp(42vh,48vh,56vh);display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(135deg,#2a2620,#1c1915)}
.e-con.page-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,16,12,.5),rgba(20,16,12,.4) 45%,rgba(20,16,12,.72))}
.e-con.page-hero__inner{position:relative;z-index:2;width:min(1240px,100%);margin-inline:auto;padding:calc(var(--hdr-h) + 42px) var(--pad) clamp(38px,6vw,64px);color:#fff}
.page-hero .breadcrumb,.page-hero .breadcrumb a{color:rgba(255,255,255,.8);font-size:.85rem}
.page-hero .breadcrumb a:hover{color:#fff}
.page-hero .elementor-heading-title{color:#fff}
.page-hero .lead .elementor-widget-container{color:rgba(255,255,255,.9)}
.page-hero .eyebrow .elementor-heading-title{color:#F1CDBF}
.page-hero .eyebrow .elementor-heading-title::before{background:#fff}
/* split */
.e-con.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.e-con.split--rev .split__media{order:2}
.e-con.split__media{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--ph);box-shadow:var(--shadow-md);min-height:280px}
.split__media .ph-label{background:rgba(25,20,15,.5);color:#fff}
.split__body .elementor-widget-text-editor .elementor-widget-container{color:var(--ink-soft)}
.split__list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.split__list li{position:relative;padding-left:1.8em;color:var(--ink)}
.split__list li::before{content:"";position:absolute;left:0;top:.4em;width:1.05em;height:1.05em;background:var(--brand);-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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m20 6-11 11-5-5'/%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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m20 6-11 11-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.split__body .txtlink a::after{content:"\2192";margin-left:.4em}
/* steps */
.e-con.steps{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap)}
.e-con.step{flex:1 1 clamp(200px,22%,262px);background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm)}
.step .n{font-family:'Fraunces',serif;font-weight:560;font-size:1.9rem;color:var(--brand);line-height:1}
.step .elementor-heading-title{font-family:'Fraunces',serif;font-weight:540;font-size:1.2rem;margin:12px 0 8px}
.step .elementor-widget-text-editor .elementor-widget-container{color:var(--ink-soft);font-size:.95rem}
/* chips */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:.55em 1.05em;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:.9rem;color:var(--ink-soft);text-decoration:none}
.chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
/* cta band */
.e-con.cta-band{background:var(--dark);border-radius:var(--radius);padding:clamp(38px,6vw,66px);text-align:center;align-items:center}
.cta-band .elementor-heading-title{color:#fff}
.cta-band .eyebrow{justify-content:center}
.cta-band .eyebrow .elementor-heading-title{color:#E8B7A0}
.cta-band .elementor-widget-text-editor .elementor-widget-container{color:var(--on-dark-soft);max-width:54ch;margin-inline:auto}
.e-con.cta-btns{display:flex;flex-direction:row;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:8px}
/* info */
.e-con.info{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,60px);align-items:start}
.info .row{display:flex;gap:.85em;padding:16px 0;border-bottom:1px solid var(--line-soft);align-items:flex-start;color:var(--ink)}
.info__map{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#efe7d8,#e2d3b8)}
/* gallery */
.e-con.gallery{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap)}
.e-con.g{flex:1 1 calc(33.333% - 20px);position:relative;border-radius:var(--radius);overflow:hidden;background:var(--ph);box-shadow:var(--shadow-sm);min-height:230px;aspect-ratio:4/3}
.e-con.g.tall{aspect-ratio:3/4}
.g .ph-label{background:rgba(25,20,15,.5);color:#fff}
.prose .elementor-widget-text-editor .elementor-widget-container{color:var(--ink-soft);max-width:68ch}
@media(max-width:900px){.e-con.split{grid-template-columns:1fr}.e-con.split--rev .split__media{order:0}.e-con.info{grid-template-columns:1fr}.e-con.g{flex-basis:calc(50% - 12px)}}
@media(max-width:560px){.e-con.step{flex-basis:100%}.e-con.g{flex-basis:100%}}
 /* ph-label: il wrapper widget Elementor creava un containing block h0 sopra il media, lo annullo */ .elementor-widget:has(> .ph-label){display:contents} /* MOBILE-FIX-REG */ @media(max-width:900px){.e-con.about{grid-template-columns:1fr}} @media(max-width:760px){.e-con.showcase{flex-direction:column!important}.e-con.showcase .shot{margin-top:0!important}.e-con.contact__cols{flex-direction:column!important}.e-con.contact__cols>*{flex-basis:100%!important;max-width:100%}.e-con.footer__top{flex-direction:column!important;gap:32px}} @media(max-width:640px){.e-con.footer__nav{flex-direction:column!important;gap:26px}} @media(max-width:560px){.hdr-phone{display:none!important}} /* REG-ANCHOR-OFFSET */ [id]{scroll-margin-top:110px} /* REG-TOP torna-su */ .reg-top{position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:900;width:48px;height:48px;padding:0;border:none;border-radius:50%;background:var(--brand,#E12825);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(30,27,24,.22);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease,background .2s ease}.reg-top.is-vis{opacity:1;visibility:visible;transform:none}.reg-top:hover{background:var(--reddeep,#B81E1B)}.reg-top svg{display:block}@media(max-width:560px){.reg-top{width:44px;height:44px}}
 /* ===== FIX-V2 feedback Criss 15/09: bottoni doppi, header, footer ===== */
/* [1] bottone "due in uno": lo stile .btn colpiva ANCHE il div-widget Elementor oltre all'<a>. Neutralizzo i wrapper, stile solo sul bottone vero */
.elementor-widget-button.btn,.elementor-widget-button.menu-btn,.elementor-widget-button.nav-close{background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
.elementor-widget-button.btn:hover{transform:none!important}
.btn--brand .elementor-button{background:var(--brand)!important;color:#fff!important;border:0!important;box-shadow:0 8px 22px rgba(225,40,37,.28)!important}
.btn--brand .elementor-button:hover{background:var(--brand-deep)!important}
.btn--ghost .elementor-button{background:transparent!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.55)!important}
.btn--ghost .elementor-button:hover{background:#fff!important;color:var(--ink)!important;border-color:#fff!important}
.btn--outline .elementor-button{background:transparent!important;color:var(--ink)!important;border:1.5px solid var(--line)!important}
.btn--dark .elementor-button{background:var(--ink)!important;color:var(--bg)!important;border:0!important}
/* [2] header Sipario: allineo il contenuto di ogni colonna (le e-con erano width:100% col Menu incollato al logo) */
.site-header__inner .hdr-left{display:flex!important;flex-direction:row!important;justify-content:flex-start;align-items:center}
.site-header__inner .hdr-center{display:flex!important;flex-direction:row!important;justify-content:center;align-items:center}
.site-header__inner .hdr-right{display:flex!important;flex-direction:row!important;justify-content:flex-end;align-items:center}
/* [3] footer verticale: i container figli e-con erano width:100% -> wrap in colonna. Ridimensiono come nel design (brand 340, nav prende il resto, 3 colonne in riga) */
.e-con.footer__brand{flex:0 1 340px;max-width:340px}
.e-con.footer__nav{flex:1 1 auto;gap:clamp(28px,4vw,48px)}
.e-con.footer__nav > *{flex:0 1 auto;width:auto!important}
/* [4] righe di pari altezza sui grid Elementor (gotcha Radici: Elementor mette 2 righe esplicite) */
.e-con.e-grid,.e-con.e-grid > .e-con-inner{grid-template-rows:auto!important}
/* [5] hero: overlay piu' pulito e caldo (gradiente leggibile) invece del velo piatto scuro */
.e-con.hero::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(24,18,13,.28) 0%,rgba(24,18,13,.40) 45%,rgba(24,18,13,.66) 100%);pointer-events:none}
.e-con.hero > :not(.elementor-background-video-container){position:relative;z-index:1}
/* FIX-V8 (17/09) VIDEO HERO: la vecchia regola ".e-con.hero > *" rendeva ANCHE .elementor-background-video-container position:relative -> height 0 + overflow hidden = video invisibile (si vedeva solo il poster). Il contenitore video di Elementor deve restare assoluto a tutta area. */
.e-con.hero > .elementor-background-video-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;pointer-events:none}
.e-con.hero .elementor-background-video-hosted{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover}
 /* FIX-V2b footer brand+nav in riga su desktop */ @media(min-width:761px){.e-con.footer__top{flex-wrap:nowrap!important}.e-con.footer__nav{justify-content:flex-end}} /* FIX-V2c footer: il widget nav-menu collassava a hamburger nelle colonne strette -> lista verticale */ .f-menu .elementor-menu-toggle{display:none!important} .f-menu .elementor-nav-menu--main{display:block!important} .f-menu .elementor-nav-menu--main ul.elementor-nav-menu{display:flex!important;flex-direction:column!important;align-items:flex-start} .f-menu .elementor-nav-menu--dropdown{display:none!important} .f-menu .elementor-item{color:var(--on-dark)!important;padding:5px 0!important;font-size:.98rem;line-height:1.3;justify-content:flex-start!important;background:transparent!important} .f-menu .elementor-item:hover{color:var(--brand)!important;background:transparent!important} /* FIX-V2d showcase simmetrico: erano sfalsate (nth-child margin-top), Criss le vuole pari */ .e-con.showcase{align-items:stretch} .e-con.showcase > *{flex:1 1 0!important;margin-top:0!important} /* ===== FIX-V3 (feedback Criss #2): header vcenter, torna-su freccia, overlay stile Radici, mobile ===== */
/* [A] torna-su: la freccia SVG era larga 0px -> forzo dimensioni */
.reg-top svg{width:22px!important;height:22px!important;display:block;flex:none}
.reg-top{overflow:visible}
/* [B] header: logo centrato verticalmente (era 38px incollato in basso) */
.site-header__inner{align-items:center!important}
.site-header__inner .hdr-center{align-self:center!important}
.site-header__inner .hdr-center a{display:flex!important;align-items:center}
.site-header__inner .hdr-center img{height:44px!important;width:auto!important;max-width:none!important;display:block;margin:0!important}
/* [C] OVERLAY come Radici: nav-menu SEMPRE aperto (niente hamburger su mobile) + nav e info affiancati + scroll */
.reg-navmenu .elementor-menu-toggle{display:none!important}
.reg-navmenu .elementor-nav-menu--main{display:block!important}
.reg-navmenu .elementor-nav-menu--main ul.elementor-nav-menu{display:flex!important;flex-direction:column!important}
.reg-navmenu .elementor-nav-menu--dropdown{display:none!important}
.reg-navmenu a.elementor-item{font-size:clamp(1.8rem,5.2vw,3.4rem)!important;line-height:1.06!important}
.nav-overlay{display:flex!important;flex-wrap:wrap;align-content:flex-start;overflow-y:auto!important}
.nav-overlay > .nav-top{flex:0 0 100%}
.nav-overlay > .reg-navmenu{flex:1 1 520px;min-width:min(100%,380px);align-self:flex-start}
.nav-overlay > .nav-foot{flex:1 1 300px;flex-direction:column!important;align-self:flex-start}
/* [D] mobile: voci piu' piccole, tutto in colonna */
@media(max-width:760px){
  .reg-navmenu a.elementor-item{font-size:clamp(1.6rem,7.5vw,2.4rem)!important}
  .nav-overlay > .reg-navmenu,.nav-overlay > .nav-foot{flex:1 1 100%}
  .site-header__inner .hdr-center img{height:38px!important}
}
 /* FIX-V3b: freccia torna-su via CSS (l'SVG restava largo 0px), centratura logo header */
.reg-top svg{display:none!important}
.reg-top::before{content:"";width:11px;height:11px;border-top:2.6px solid #fff;border-left:2.6px solid #fff;transform:translateY(2px) rotate(45deg);box-sizing:border-box}
.site-header__inner .hdr-center a,.site-header__inner .hdr-center .elementor-widget-image,.site-header__inner .hdr-center .elementor-widget-container{line-height:0!important;margin:0!important;padding:0!important;display:flex!important;align-items:center;justify-content:center}
 /* FIX-V3c: nav-top barra full-width in cima (era una colonna) */ .nav-overlay{align-items:flex-start} .nav-overlay > .nav-top{flex:0 0 100%!important;width:100%!important;align-self:stretch;order:-1} .nav-overlay > .reg-navmenu{order:1} .nav-overlay > .nav-foot{order:2} /* FIX-V3d overlay: colonna pulita e scrollabile (il multi-colonna litigava con i max-width Elementor) */
.nav-overlay{flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:clamp(16px,3vh,30px)}
.nav-overlay > .nav-top,.nav-overlay > .reg-navmenu,.nav-overlay > .nav-foot{flex:0 0 auto!important;width:auto!important;min-width:0!important;order:0!important;align-self:stretch!important}
.reg-navmenu a.elementor-item{font-size:clamp(1.5rem,3.6vw,2.6rem)!important;padding:clamp(7px,1vh,13px) 0!important;line-height:1.05!important}
.nav-foot{flex-direction:row!important;flex-wrap:wrap;gap:clamp(20px,4vw,48px)}
@media(max-width:760px){.reg-navmenu a.elementor-item{font-size:clamp(1.35rem,6vw,2rem)!important} .nav-foot{flex-direction:column!important;gap:18px}}
 /* FIX-V3e: centro verticalmente la barra interna nell header (tutto il contenuto era 4px basso) */ .e-con.site-header{align-items:center!important;justify-content:center!important} .site-header__inner{align-self:center!important;align-items:center!important;height:auto!important} /* FIX-V3f: freccia torna-su punta in SU (era giu): border top+right, rotate -45 */ .reg-top::before{content:""!important;width:11px!important;height:11px!important;border:0!important;border-top:2.6px solid #fff!important;border-right:2.6px solid #fff!important;border-left:0!important;transform:translateY(2px) rotate(-45deg)!important;box-sizing:border-box} /* FIX-V4: testo menu leggibile + eyebrow doppio trattino */ .nav-foot,.nav-foot .elementor-widget-text-editor,.nav-foot .elementor-widget-text-editor .elementor-widget-container,.nav-foot p{color:rgba(255,255,255,.78)!important} .nav-foot a{color:#fff!important} .nav-foot a:hover{color:var(--brand)!important} .eyebrow .elementor-heading-title::before{content:none!important;display:none!important} /* FIX-V5: numero telefono header leggibile (il testo icon-list era ink scuro) */ .hdr-phone .elementor-icon-list-text{color:#fff!important;font-weight:600} .site-header:not(.is-solid) .hdr-phone{text-shadow:0 1px 6px rgba(0,0,0,.35)} .site-header.is-solid .hdr-phone .elementor-icon-list-text{color:var(--ink)!important;text-shadow:none}
/* FIX-V6: freccia torna-su centrata via SVG inline (niente rotazione = niente sbilanciamento; identica desktop e mobile) */
.reg-top svg{display:none!important}
.reg-top::before{
  content:""!important;
  width:24px!important;height:24px!important;
  border:0!important;border-top:0!important;border-right:0!important;border-left:0!important;border-bottom:0!important;
  transform:none!important;
  background-color:transparent!important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M6 15l6-6 6 6'/></svg>")!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:24px 24px!important;
}

/* FIX-V7: la freccia torna-su era spinta in BASSO-DESTRA da un padding ereditato (13.48/23.52px) sul <button> che rimpiccioliva/spostava l'area-griglia. Centro il chevron in ASSOLUTO (immune a padding/box-sizing/grid) + azzero il padding. */
.reg-top{padding:0!important;box-sizing:border-box!important}
.reg-top::before{
  position:absolute!important;
  top:50%!important;left:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
}
