/* Officina Battaglia – tema scuro elegante, animazioni leggere, mobile-first. Nessuna risorsa esterna. */
@font-face{font-family:"Inter OB";src:url(fonts/inter-400.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter OB";src:url(fonts/inter-500.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter OB";src:url(fonts/inter-600.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter OB";src:url(fonts/inter-700.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter OB";src:url(fonts/inter-800.woff) format("woff");font-weight:800 900;font-style:normal;font-display:swap}
:root{
	--bg:#0a0a0b;--bg2:#121214;--bg3:#18181b;--card:#161619;--card2:#1e1e22;--line:#2a2a30;--line2:#3a3a41;
	--tx:#c6c6cf;--hd:#fafafa;--mu:#8b8b96;--red:#e30613;--red2:#c00511;--red3:#ff4d5a;--wa:#16a34a;--ok:#4ade80;--ko:#fca5a5;
	--hi:#fff;--st:#ececf1;--t2:#e4e4e7;--t3:#a1a1aa;--s0:#060607;--s1:#111114;--s2:#17171a;--s3:#1d1d21;--s4:#232328;--fld:#0f0f12;--fld2:#121216;
	--ink:255,255,255;--bgr:10,10,11;--shd:0,0,0;--sha:1;--logo-f:none;
	--grad:linear-gradient(90deg,#ff4d5a 0%,#e30613 55%,#ff7a45 100%);
	--r:16px;--r2:12px;--max:1240px;--ease:cubic-bezier(.2,.7,.2,1);
	--font:"Inter OB",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--sh:0 1px 0 rgba(255,255,255,.04) inset,0 20px 40px -20px rgba(0,0,0,.6);
	color-scheme:dark;
}
/* tema chiaro – palette della griglia Instagram: bianco carta, nero pieno, rosso Battaglia */
html[data-theme="light"]{
	--bg:#f4f4f1;--bg2:#ffffff;--bg3:#ebebe7;--card:#ffffff;--card2:#f6f6f3;--line:#e1e1dc;--line2:#c9c9c3;
	--tx:#3a3a40;--hd:#0a0a0b;--mu:#66666e;--red:#e30613;--red2:#b80410;--red3:#c8101f;--ok:#15803d;--ko:#b91c1c;
	--hi:#0a0a0b;--st:#141417;--t2:#2b2b31;--t3:#5c5c65;--s0:#ffffff;--s1:#f8f8f6;--s2:#ffffff;--s3:#f1f1ee;--s4:#e8e8e4;--fld:#ffffff;--fld2:#ffffff;
	--ink:14,14,18;--bgr:250,250,248;--shd:30,28,36;--sha:.28;--logo-f:invert(1) hue-rotate(180deg) saturate(1.4);
	--sh:0 1px 0 rgba(255,255,255,.8) inset,0 18px 40px -24px rgba(30,28,36,.25);
	color-scheme:light;
}
/* isole scure: restano scure anche nel tema chiaro (foto, hero, piè di pagina, barra alta) */
html[data-theme="light"] .ob-tile,html[data-theme="light"] .ob-video,html[data-theme="light"] .ob-gx__it,html[data-theme="light"] .ob-dark{
	--bg:#0a0a0b;--bg2:#121214;--bg3:#18181b;--card:#161619;--card2:#1e1e22;--line:#2a2a30;--line2:#3a3a41;
	--tx:#c6c6cf;--hd:#fafafa;--mu:#9a9aa4;--red3:#ff4d5a;--ok:#4ade80;--ko:#fca5a5;
	--hi:#fff;--st:#ececf1;--t2:#e4e4e7;--t3:#a1a1aa;--s0:#060607;--s1:#111114;--s2:#17171a;--s3:#1d1d21;--s4:#232328;--fld:#0f0f12;--fld2:#121216;
	--ink:255,255,255;--bgr:10,10,11;--shd:0,0,0;--sha:1;--logo-f:none;color:var(--tx);color-scheme:dark}
.ob-logo__img{filter:var(--logo-f);transition:filter .3s}
html.ob-theming *,html.ob-theming *::before,html.ob-theming *::after{transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease!important}
html{scroll-behavior:smooth;scroll-padding-top:96px;background:var(--bg)}
body.ob-site{font-family:var(--font);color:var(--tx);background:var(--bg);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"calt","kern"}
.ob-site #page,.ob-site .site-content,.ob-site .ast-container{background:transparent}
.ob-site h1,.ob-site h2,.ob-site h3,.ob-site h4,.ob-site .elementor-heading-title{font-family:var(--font);color:var(--hd);letter-spacing:-.02em;line-height:1.15}
.ob-site a{color:var(--red3);transition:color .2s}
.ob-site a:hover{color:var(--hi)}
.ob-site strong{color:var(--st)}
.ob-site ::selection{background:var(--red);color:#fff}
.ob-site :focus-visible{outline:3px solid #fbbf24;outline-offset:3px;border-radius:6px}
.ob-wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.ob-i{flex:0 0 auto;vertical-align:-4px}
.ob-muted{color:var(--mu)}
.ob-small{font-size:13.5px}
.ob-skip{position:absolute;left:-999px;top:8px;z-index:100000;background:#fff;color:#000;padding:10px 16px;border-radius:8px}
.ob-skip:focus{left:12px}
.ob-site .site-header,.ob-site .ast-above-header,.ob-site .ast-below-header,.ob-site .site-footer,.ob-site .ast-small-footer,.ob-site #ast-scroll-top{display:none!important}
/* barra di avanzamento della lettura */
.ob-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:10000;transform-origin:0 50%;transform:scaleX(0);background:var(--grad);pointer-events:none}
.admin-bar .ob-progress{top:32px}

/* ---------- pulsanti ---------- */
.ob-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 22px;border-radius:999px;font-weight:700;font-size:15.5px;line-height:1.2;text-decoration:none!important;border:1.5px solid transparent;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .2s,border-color .2s,color .2s;font-family:inherit;letter-spacing:.005em;isolation:isolate}
.ob-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease);z-index:-1}
.ob-btn:hover::after{transform:translateX(120%)}
.ob-btn:hover{transform:translateY(-2px)}
.ob-btn:active{transform:translateY(0)}
.ob-btn--primary{background:var(--red);color:#fff!important;box-shadow:0 10px 30px -10px rgba(225,29,46,.7)}
.ob-btn--primary:hover{background:var(--red2);box-shadow:0 14px 34px -10px rgba(225,29,46,.85)}
.ob-btn--ghost{background:rgba(var(--ink),.04);color:var(--hi)!important;border-color:rgba(var(--ink),.28);backdrop-filter:blur(6px)}
.ob-btn--ghost:hover{border-color:var(--hi);background:rgba(var(--ink),.08)}
.ob-btn--wa{background:var(--wa);color:#fff!important;box-shadow:0 10px 30px -12px rgba(22,163,74,.7)}
.ob-btn--wa:hover{background:#12843c}
.ob-cta{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 0}
.ob-open{display:flex;align-items:center;gap:7px;font-size:14.5px;margin:14px 0 0;font-weight:600}
.ob-open.is-open{color:var(--ok)}.ob-open.is-closed{color:var(--ko)}
.ob-open.is-open .ob-i{animation:obPulse 2s infinite}
.ob-link{font-weight:700;text-decoration:none}

/* ---------- barra superiore e intestazione ---------- */
.ob-top{background:var(--s0);color:var(--t3);font-size:13.5px;border-bottom:1px solid var(--s3)}
.ob-top .ob-wrap{display:flex;gap:20px;align-items:center;min-height:38px;flex-wrap:wrap}
.ob-top a{color:var(--t2)!important;text-decoration:none}.ob-top a:hover{color:var(--hi)!important}
.ob-top__open.is-open{color:var(--ok)}.ob-top__open.is-closed{color:var(--ko)}
.ob-top__links{margin-left:auto;display:flex;gap:18px}
.ob-head{position:sticky;top:0;z-index:9990;background:rgba(var(--bgr),.82);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid rgba(var(--ink),.07);transition:transform .35s var(--ease),background .3s}
.ob-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(225,29,46,.8),transparent)}
.admin-bar .ob-head{top:32px}
.ob-head.is-hidden{transform:translateY(-110%)}
.ob-head.is-scrolled{background:rgba(var(--bgr),.95)}
.ob-head__in{display:flex;align-items:center;gap:18px;min-height:76px}
.ob-logo{display:inline-flex;align-items:center;flex:0 0 auto;text-decoration:none!important}
.ob-logo__img{height:58px;width:auto;display:block;margin:-6px 0}
.ob-logo__txt{color:var(--hi);font-size:21px;letter-spacing:.06em}.ob-logo__txt b{font-weight:800}
.ob-nav{flex:1 1 auto}
.ob-nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:0;justify-content:center}
.ob-nav__item{position:relative;display:flex;align-items:center}
.ob-nav__link{position:relative;color:var(--t2)!important;text-decoration:none!important;font-weight:600;font-size:15px;padding:27px 10px;display:block;white-space:nowrap}
.ob-nav__link::after{content:"";position:absolute;left:10px;right:10px;bottom:18px;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.ob-nav__item.is-current>.ob-nav__link::after,.ob-nav__item:hover>.ob-nav__link::after{transform:scaleX(1)}
.ob-nav__link:hover,.ob-nav__item.is-current>.ob-nav__link{color:var(--hi)!important}
.ob-nav__tog{display:none;background:none;border:0;color:var(--hi);padding:10px;cursor:pointer;transition:transform .25s}
.ob-nav__mob{display:none}
.ob-mega{position:absolute;top:100%;left:50%;transform:translate(-50%,10px);min-width:320px;visibility:hidden;opacity:0;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;z-index:20}
.ob-nav__item.has-sub:hover>.ob-mega,.ob-nav__item.has-sub:focus-within>.ob-mega,.ob-nav__item.is-open>.ob-mega{visibility:visible;opacity:1;transform:translate(-50%,0)}
.ob-mega__in{background:rgba(var(--bgr),.98);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 30px 60px -20px rgba(var(--shd),calc(.8*var(--sha)));padding:14px;margin-top:2px}
.ob-mega__head{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,rgba(225,29,46,.16),rgba(225,29,46,.04));border:1px solid rgba(225,29,46,.25);text-decoration:none!important;color:var(--hi)!important;margin-bottom:8px}
.ob-mega__head .ob-i{width:30px;height:30px;color:var(--red3)}
.ob-mega__head strong{display:block;font-size:15.5px;color:var(--hi)}.ob-mega__head small{color:var(--mu);font-size:13px}
.ob-mega__list{list-style:none;margin:0;padding:0;columns:1}
.ob-mega__list.is-cols{columns:2;min-width:540px;column-gap:10px}
.ob-mega__list li{break-inside:avoid}
.ob-mega__list a{display:block;padding:8px 12px;border-radius:9px;color:var(--t2)!important;text-decoration:none!important;font-size:14.5px;line-height:1.35;transition:background .2s,color .2s,padding .2s}
.ob-mega__list a:hover,.ob-mega__list a[aria-current]{background:rgba(var(--ink),.06);color:var(--hi)!important;padding-left:16px}
.ob-head__cta{display:flex;gap:10px;align-items:center;flex:0 0 auto}
.ob-head__cta .ob-btn{min-height:44px;padding:9px 18px;font-size:14.5px}
.ob-burger{display:none;background:rgba(var(--ink),.06);border:1px solid var(--line);color:var(--hi);padding:8px;cursor:pointer;border-radius:12px}
.ob-burger .ob-i{width:26px;height:26px}
.ob-burger .ob-i--close{display:none}
.ob-burger[aria-expanded="true"] .ob-i--open{display:none}.ob-burger[aria-expanded="true"] .ob-i--close{display:block}
@media (max-width:1280px){.ob-nav__link{font-size:14.5px;padding:27px 8px}.ob-nav__link::after{left:8px;right:8px}.ob-head__cta .ob-btn--ghost span{display:none}}
@media (max-width:1120px){
	.ob-top__addr{display:none}
	.ob-burger{display:block}
	.ob-head__cta .ob-hide-s{display:none}
	.ob-head__in{justify-content:space-between;min-height:64px}
	.ob-logo__img{height:50px}
	.ob-nav{position:fixed;left:0;right:0;bottom:0;top:var(--ob-navtop,102px);background:rgba(var(--bgr),.98);backdrop-filter:blur(10px);overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);transition:transform .35s var(--ease);padding:8px 0 130px}
	.ob-nav.is-open{transform:none}
	.ob-nav__list{flex-direction:column;align-items:stretch}
	.ob-nav__item{flex-wrap:wrap;border-bottom:1px solid var(--s3)}
	.ob-nav__link{flex:1;padding:16px 22px;font-size:18px}
	.ob-nav__link::after{display:none}
	.ob-nav__item.is-current>.ob-nav__link{box-shadow:inset 3px 0 0 var(--red)}
	.ob-nav__tog{display:block;padding:14px 22px}
	.ob-nav__item.is-open .ob-nav__tog{transform:rotate(180deg)}
	.ob-nav__mob{display:flex}
	.ob-mega{position:static;transform:none!important;visibility:visible;opacity:1;display:none;width:100%;min-width:0}
	.ob-nav__item.has-sub:hover>.ob-mega{display:none}
	.ob-nav__item.is-open>.ob-mega{display:block;animation:obDown .3s var(--ease)}
	.ob-mega__in{border-radius:0;box-shadow:none;border:0;background:var(--s1);padding:6px 12px 14px;margin:0}
	.ob-mega__list.is-cols{columns:1;min-width:0}
	.ob-mega__list a{font-size:16px;padding:11px 12px}
	body.ob-menu-open{overflow:hidden}
	.ob-nav.is-open .ob-nav__item{animation:obIn .45s var(--ease) both}
	.ob-nav.is-open .ob-nav__item:nth-child(2){animation-delay:.03s}.ob-nav.is-open .ob-nav__item:nth-child(3){animation-delay:.06s}.ob-nav.is-open .ob-nav__item:nth-child(4){animation-delay:.09s}.ob-nav.is-open .ob-nav__item:nth-child(5){animation-delay:.12s}.ob-nav.is-open .ob-nav__item:nth-child(6){animation-delay:.15s}.ob-nav.is-open .ob-nav__item:nth-child(7){animation-delay:.18s}.ob-nav.is-open .ob-nav__item:nth-child(8){animation-delay:.21s}
}
@media (max-width:782px){.admin-bar .ob-head{top:46px}.admin-bar .ob-progress{top:46px}}
@media (max-width:640px){.ob-top__links{display:none}.ob-top .ob-wrap{justify-content:center}.ob-logo__img{height:46px}}

/* ---------- barra contatti mobile ---------- */
.ob-mbar{display:none}
@media (max-width:900px){
	.ob-mbar{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:9989;background:rgba(var(--bgr),.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 40px -10px rgba(var(--shd),calc(.8*var(--sha)));padding:6px;transition:transform .35s var(--ease)}
	.ob-mbar a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11.5px;font-weight:700;color:var(--t2)!important;text-decoration:none!important;padding:7px 2px;border-radius:14px;min-height:50px;justify-content:center;letter-spacing:.01em}
	.ob-mbar a .ob-i{width:21px;height:21px}
	.ob-mbar a.is-main{background:var(--red);color:#fff!important}
	body.ob-site{padding-bottom:84px}
}

/* ---------- sezioni Elementor ---------- */
.ob-sec.e-con{--padding-top:clamp(56px,7vw,110px);--padding-bottom:clamp(56px,7vw,110px);--padding-left:20px;--padding-right:20px;--content-width:var(--max);background-color:var(--bg);position:relative}
.ob-sec.e-con>.e-con-inner{max-width:var(--max);gap:18px}
.ob-sec .elementor-widget{margin-bottom:0}
.ob-sec h2.elementor-heading-title{font-size:clamp(28px,3.6vw,44px);font-weight:800;margin:0 0 6px;max-width:900px}
.ob-sec h2.elementor-heading-title::before{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--grad);margin:0 0 16px}
.ob-sec h3{font-size:20px;font-weight:700;margin:24px 0 8px;color:var(--hi)}
.ob-sec p{margin:0 0 15px}
.ob-sec ul,.ob-sec ol{margin:0 0 18px;padding-left:22px}
.ob-sec li{margin:0 0 7px}
.ob-sec li::marker{color:var(--red3)}
.ob-prose .elementor-widget-text-editor,.ob-prose .elementor-widget-heading{max-width:860px}
.ob-prose .elementor-widget-text-editor{font-size:17.5px}
.ob-prose.is-alt.e-con,.ob-rev-sec.e-con,.ob-zone-sec.e-con,.is-alt.e-con,.ob-steps-sec.e-con{background-color:var(--bg2)}
.ob-prose.is-alt.e-con::before,.ob-rev-sec.e-con::before{content:""!important;position:absolute;inset:0;background:radial-gradient(800px 300px at 90% 0,rgba(225,29,46,.08),transparent 70%);pointer-events:none;opacity:1!important}
.ob-sub p{color:var(--mu);font-size:18px;max-width:780px}
.ob-eyebrow .elementor-heading-title{font-size:13px!important;text-transform:uppercase;letter-spacing:.22em;font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.ob-eyebrow .elementor-heading-title::before{display:none!important}

/* hero */
.ob-hero.e-con{--padding-top:clamp(56px,9vw,140px);--padding-bottom:clamp(64px,9vw,140px);position:relative;background-color:#060607;color:#e4e4e7;overflow:hidden;min-height:min(78vh,760px);justify-content:center}
.ob-hero__bg{position:absolute;inset:-2%;background-size:cover;background-position:center;z-index:0;animation:obKen 22s var(--ease) both;will-change:transform}
.ob-hero.has-img.e-con::before{content:""!important;position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,6,7,.96) 0%,rgba(6,6,7,.84) 42%,rgba(6,6,7,.35) 100%),linear-gradient(0deg,rgba(6,6,7,.9),transparent 40%)!important;opacity:1!important;z-index:1;display:block}
.ob-hero.e-con::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(225,29,46,.6),transparent);z-index:2}
.ob-hero.no-img.e-con{min-height:0;background:radial-gradient(900px 380px at 85% -10%,rgba(225,29,46,.28),transparent 60%),radial-gradient(600px 300px at 0 120%,rgba(255,122,69,.1),transparent 60%),#08080a}
.ob-hero>.e-con-inner{position:relative;z-index:3;max-width:var(--max);gap:12px}
.ob-hero .elementor-widget{max-width:820px}
.ob-kicker .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;color:#fecdd3!important;background:rgba(225,29,46,.14);border:1px solid rgba(255,77,90,.35);padding:6px 14px;border-radius:999px;font-size:12.5px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ob-kicker .elementor-heading-title::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red3);box-shadow:0 0 0 0 rgba(255,77,90,.6);animation:obPulseDot 2s infinite}
.ob-h1 .elementor-heading-title{color:#fff!important;font-size:clamp(36px,6vw,72px)!important;font-weight:800;line-height:1.03!important;letter-spacing:-.035em;margin:10px 0 6px;text-wrap:balance}
.ob-h1 .elementor-heading-title .ob-hl-word{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ob-lead p{font-size:clamp(17px,1.7vw,21px);color:#d4d4d8;margin:0;max-width:720px;line-height:1.6}
.ob-bc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px;font-size:13.5px;color:#a1a1aa}
.ob-bc li+li::before{content:"/";margin:0 8px 0 4px;color:#52525b}
.ob-bc a{color:#d4d4d8!important;text-decoration:none}.ob-bc a:hover{color:#fff!important}
.ob-bc span{color:#fff}
.ob-scrollhint{position:absolute;left:50%;bottom:22px;z-index:3;width:26px;height:42px;border:2px solid rgba(255,255,255,.35);border-radius:14px;transform:translateX(-50%)}
.ob-scrollhint::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:obScroll 1.8s infinite}
@media (max-width:900px){.ob-scrollhint{display:none}.ob-hero.e-con{min-height:0}}
@media (max-width:640px){.ob-hero .ob-cta .ob-btn{flex:1 1 100%}.ob-hero.has-img.e-con::before{background:linear-gradient(180deg,rgba(6,6,7,.78),rgba(6,6,7,.95))!important}}

/* risposta breve (AEO) */
.ob-answer-sec.e-con{--padding-top:clamp(40px,5vw,64px);--padding-bottom:clamp(40px,5vw,64px);background-color:var(--bg);border-bottom:1px solid var(--s2)}
.ob-answer p{font-size:clamp(19px,2vw,24px);line-height:1.55;color:var(--t2);max-width:940px;margin:0;font-weight:500;letter-spacing:-.01em}
.ob-hl .elementor-icon-list-items{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:10px!important}
.ob-hl .elementor-icon-list-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:14px 16px!important;margin:0!important;font-weight:600;color:var(--t2)!important;transition:border-color .3s,transform .3s var(--ease)}
.ob-hl .elementor-icon-list-item:hover{border-color:rgba(225,29,46,.5);transform:translateY(-2px)}
.ob-hl .elementor-icon-list-text{color:var(--t2)!important}
.ob-hl .elementor-icon-list-icon i,.ob-hl .elementor-icon-list-icon svg{color:var(--red3)!important;fill:var(--red3)!important}
.ob-photo img{border-radius:var(--r);width:100%;max-width:860px;height:auto;aspect-ratio:16/9;object-fit:cover;box-shadow:0 30px 60px -30px rgba(0,0,0,.9);border:1px solid var(--line)}

/* passi */
.ob-steps{counter-reset:s;list-style:none!important;padding:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.ob-steps li{counter-increment:s;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px 22px 70px;position:relative;font-weight:600;color:var(--st);margin:0!important;transition:border-color .3s,transform .3s var(--ease)}
.ob-steps li:hover{border-color:rgba(225,29,46,.5);transform:translateY(-3px)}
.ob-steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:18px;top:20px;font-weight:800;font-size:22px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* card e griglie */
.ob-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.ob-grid--s{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ob-card{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none!important;color:var(--tx)!important;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.ob-card:hover{transform:translateY(-4px);border-color:rgba(225,29,46,.55);box-shadow:0 24px 50px -24px rgba(225,29,46,.45)}
.ob-card__img{width:100%;height:180px;object-fit:cover;display:block;transition:transform .7s var(--ease),filter .4s;filter:saturate(.9) brightness(.9)}
.ob-card:hover .ob-card__img{transform:scale(1.06);filter:none}
.ob-card__body{display:flex;flex-direction:column;gap:7px;padding:18px 20px 20px;flex:1}
.ob-card__body strong{color:var(--hi);font-size:18px;line-height:1.3}
.ob-card__body span{font-size:15px;line-height:1.55;color:var(--mu)}
.ob-card__body em{margin-top:auto;padding-top:6px;font-style:normal;font-weight:700;color:var(--red3);font-size:14.5px;display:flex;align-items:center;gap:6px}
.ob-card__body em .ob-i{transition:transform .3s var(--ease)}
.ob-card:hover em .ob-i{transform:translateX(5px)}
.ob-card--s .ob-card__body{padding:14px 16px;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
.ob-card--s .ob-card__body strong{font-size:15.5px}
.ob-card--s em{margin:0;padding:0;font-size:0}
.ob-areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.ob-area{position:relative;display:flex;flex-direction:column;gap:8px;padding:26px 24px;border-radius:var(--r);background:linear-gradient(180deg,var(--card2),var(--card));color:var(--mu)!important;text-decoration:none!important;border:1px solid var(--line);overflow:hidden;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.ob-area::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 160px at var(--mx,50%) -20%,rgba(225,29,46,.22),transparent 70%);opacity:0;transition:opacity .4s}
.ob-area:hover{transform:translateY(-4px);border-color:rgba(225,29,46,.55);box-shadow:0 24px 50px -24px rgba(225,29,46,.45)}
.ob-area:hover::before{opacity:1}
.ob-area .ob-i{width:40px;height:40px;color:var(--red3);position:relative;transition:transform .4s var(--ease)}
.ob-area:hover .ob-i{transform:scale(1.1) rotate(-4deg)}
.ob-area strong{color:var(--hi);font-size:19px;position:relative}
.ob-area span{font-size:15px;line-height:1.55;position:relative}

/* zone e chip */
.ob-chips{list-style:none!important;padding:0!important;margin:8px 0 22px!important;display:flex;flex-wrap:wrap;gap:8px}
.ob-chips li{margin:0!important}
.ob-chips li::marker{content:none}
.ob-chips a,.ob-chips span{display:inline-block;padding:8px 15px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--t2)!important;text-decoration:none!important;font-size:14.5px;font-weight:600;transition:border-color .2s,background .2s,transform .2s}
.ob-chips a:hover{border-color:var(--red);background:rgba(225,29,46,.12);transform:translateY(-1px)}
.ob-chips small{color:var(--mu);font-weight:500;margin-left:3px}
.ob-chips--alt a{background:rgba(225,29,46,.1);border-color:rgba(225,29,46,.35)}
.ob-zones h3{font-size:18px;margin:12px 0 6px}
.ob-zones>.ob-muted{margin-bottom:4px}
.ob-cat{display:grid;gap:12px}
.ob-cat__g{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:0 20px;transition:border-color .3s}
.ob-cat__g[open]{border-color:var(--line2)}
.ob-cat__g summary{cursor:pointer;list-style:none;display:flex;align-items:center;padding:18px 0;font-weight:700;color:var(--hi);font-size:18px}
.ob-cat__g summary::-webkit-details-marker{display:none}
.ob-cat__g summary::after{content:"+";font-size:24px;color:var(--red3);margin-left:12px;transition:transform .3s}
.ob-cat__g[open] summary::after{transform:rotate(45deg)}
.ob-cat__g summary small{margin-left:auto;background:rgba(var(--ink),.06);border-radius:999px;padding:2px 10px;font-size:13px;color:var(--mu)}
.ob-cat ul{list-style:none!important;padding:0 0 16px!important;margin:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:2px 18px}
.ob-cat li{margin:0!important}
.ob-cat a{display:block;padding:8px 0;text-decoration:none!important;color:var(--t2)!important;font-weight:600;border-bottom:1px solid var(--s4);transition:color .2s,padding .2s}
.ob-cat a .ob-muted{font-weight:400;font-size:13.5px}
.ob-cat a:hover{color:var(--hi)!important;padding-left:6px}
.ob-cat__all a{color:var(--red3)!important;border:0}

/* galleria */
.ob-gal .gallery{display:grid!important;grid-template-columns:repeat(3,1fr);gap:12px;margin:0!important}
.ob-gal .gallery-item{width:auto!important;max-width:none!important;padding:0!important;margin:0!important;overflow:hidden;border-radius:var(--r2);border:1px solid var(--line)}
.ob-gal .gallery-item:first-child{grid-column:span 2;grid-row:span 2}
.ob-gal .gallery-item img{width:100%;height:100%;min-height:220px;max-height:520px;object-fit:cover;border:0!important;display:block;transition:transform .8s var(--ease),filter .4s;filter:saturate(.9)}
.ob-gal .gallery-item:hover img{transform:scale(1.06);filter:none}
@media (max-width:700px){.ob-gal .gallery{grid-template-columns:repeat(2,1fr)}.ob-gal .gallery-item:first-child{grid-column:span 2;grid-row:auto}.ob-gal .gallery-item img{min-height:150px}}

/* recensioni */
.ob-rev__head{display:flex;flex-wrap:wrap;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin-bottom:16px}
.ob-rev__g{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff}
.ob-rev__g .ob-i{width:28px;height:28px}
.ob-rev__head strong{font-size:22px;color:var(--hi)}
.ob-rev__act{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.ob-stars{color:#fbbf24;display:inline-flex;gap:1px;vertical-align:-3px}
.ob-stars .ob-i{width:16px;height:16px}
.ob-stars__half{display:inline-block;width:8px;overflow:hidden}
.ob-rev__list{list-style:none!important;padding:0!important;margin:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.ob-rev__item{position:relative;margin:0!important;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 20px;display:flex;flex-direction:column;gap:12px;transition:transform .35s var(--ease),border-color .3s}
.ob-rev__item:hover{transform:translateY(-3px);border-color:var(--line2)}
.ob-rev__item::before{content:"\201C";position:absolute;right:18px;top:-6px;font-size:84px;line-height:1;font-weight:800;color:rgba(225,29,46,.18)}
.ob-rev__item blockquote{margin:0;padding:0;border:0;font-style:normal;background:none}
.ob-rev__item blockquote p{margin:0;color:var(--st);font-size:16.5px;line-height:1.6}
.ob-rev__item footer{font-size:14px;margin-top:auto;color:var(--mu)}
.ob-rev__item footer strong{color:var(--hi)}
.ob-rev__note{margin-top:14px;max-width:920px}
.ob-leave{max-width:840px}
.ob-leave h2{font-size:clamp(26px,3vw,36px);margin:0 0 12px}

/* FAQ (accordion Elementor) */
.ob-faq{max-width:920px}
.ob-faq .elementor-accordion-item{border:1px solid var(--line)!important;border-radius:var(--r2);margin-bottom:10px;background:var(--card);overflow:hidden;transition:border-color .3s}
.ob-faq .elementor-accordion-item:hover{border-color:var(--line2)!important}
.ob-faq .elementor-tab-title{padding:18px 20px!important;border:0!important;font-weight:700;display:flex;align-items:center}
.ob-faq .elementor-tab-title a,.ob-faq .elementor-accordion-title{color:var(--hi)!important;font-size:17px;text-decoration:none!important;line-height:1.4}
.ob-faq .elementor-tab-title.elementor-active{background:rgba(225,29,46,.06)}
.ob-faq .elementor-tab-title.elementor-active .elementor-accordion-title{color:var(--red3)!important}
.ob-faq .elementor-accordion-icon,.ob-faq .elementor-accordion-icon i{color:var(--red3)!important}
.ob-faq .elementor-tab-content{padding:0 20px 18px!important;border:0!important;color:var(--tx)}
.ob-faq .elementor-tab-content p{margin:0}

/* moduli e contatti */
.ob-form-sec.e-con{background:radial-gradient(900px 400px at 0 0,rgba(225,29,46,.14),transparent 60%),var(--s0)!important;--padding-top:clamp(56px,7vw,110px);--padding-bottom:clamp(56px,7vw,110px);border-top:1px solid var(--s3)}
.ob-form-sec>.e-con-inner{flex-direction:row!important;flex-wrap:wrap;gap:30px!important;align-items:flex-start}
.ob-form-col.e-con{flex:1 1 540px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;min-width:0}
.ob-contact-col.e-con{flex:1 1 360px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;min-width:0}
.ob-form{background:linear-gradient(180deg,var(--s3),var(--s2));border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 30px 60px -30px rgba(var(--shd),calc(.9*var(--sha)))}
.ob-form__note{font-size:14px;color:var(--mu);margin:0 0 14px!important}
.ob-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.ob-field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.08em}
.ob-field--full{grid-column:1/-1}
.ob-field input,.ob-field select,.ob-field textarea{font:inherit;font-weight:500;font-size:16px;color:var(--hi);background:var(--fld);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;min-height:50px;width:100%;box-sizing:border-box;text-transform:none;letter-spacing:0;transition:border-color .2s,box-shadow .2s,background .2s}
.ob-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--t3) 50%),linear-gradient(135deg,var(--t3) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.ob-field input::placeholder,.ob-field textarea::placeholder{color:var(--mu)}
.ob-field input[type=date]{color-scheme:dark}
.ob-field textarea{min-height:120px;resize:vertical}
.ob-field input:focus,.ob-field select:focus,.ob-field textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(225,29,46,.18);outline:0;background:var(--fld2)}
.ob-field.is-err input{border-color:#f87171}
.ob-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ob-consent{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;margin:16px 0 0;color:var(--t2);line-height:1.55}
.ob-consent input{width:20px;height:20px;margin-top:2px;flex:0 0 auto;accent-color:var(--red)}
.ob-consent--opt{color:var(--mu)}
.ob-form__act{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.ob-form__msg{margin:14px 0 0!important;font-weight:700;min-height:1px}
.ob-form__msg.is-ok{color:var(--ok)}.ob-form__msg.is-err{color:#fca5a5}
.ob-form.is-sending button[type=submit]{opacity:.6;pointer-events:none}
@media (max-width:640px){.ob-form__grid{grid-template-columns:1fr}.ob-form{padding:18px}.ob-form__act .ob-btn{flex:1 1 100%}}
.ob-contact{display:grid;grid-template-columns:1fr;gap:18px;background:var(--card);border-radius:20px;padding:24px;border:1px solid var(--line)}
.ob-sec:not(.ob-form-sec) .ob-contact{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.ob-contact h3{display:flex;align-items:center;gap:9px;margin:0 0 10px!important;font-size:18px}
.ob-contact h3 .ob-i{color:var(--red3)}
.ob-contact p{margin:0 0 10px}
.ob-list{list-style:none!important;padding:0!important;margin:0 0 6px!important}
.ob-list li{padding:4px 0}
.ob-hours{width:100%;border-collapse:collapse;font-size:15.5px;margin:0 0 10px;background:none}
.ob-hours th,.ob-hours td{text-align:left;padding:8px 0;border:0;border-bottom:1px solid var(--line);font-weight:600;color:var(--st);background:none}
.ob-hours td{text-align:right;font-weight:500;color:var(--tx)}
.ob-map{margin-top:16px;border-radius:var(--r);overflow:hidden;background:var(--card);border:1px solid var(--line)}
.ob-map__ph{padding:24px;text-align:center}
.ob-map__ph p{margin:0 0 8px}
.ob-map__ph .ob-btn{margin:4px}
.ob-map iframe{display:block;width:100%;height:380px;border:0;filter:grayscale(.3) contrast(1.05)}

/* loghi reti */
.ob-logos{list-style:none!important;padding:0!important;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:flex-start}
.ob-logos li{margin:0!important;background:#f4f4f5;border-radius:var(--r2);padding:12px 18px;height:86px;display:flex;align-items:center;transition:transform .3s var(--ease),box-shadow .3s}
.ob-logos li:hover{transform:translateY(-3px);box-shadow:0 18px 40px -20px rgba(225,29,46,.6)}
.ob-logos img{max-height:60px;width:auto}

/* pagine legali e mappa del sito */
.ob-legal{max-width:900px}
.ob-legal h2{font-size:26px;margin:34px 0 10px}
.ob-legal h2::before{display:none}
.ob-table{width:100%;border-collapse:collapse;font-size:15px;margin:12px 0 20px;background:var(--card);border-radius:12px;overflow:hidden}
.ob-table th,.ob-table td{border:1px solid var(--line);padding:11px;text-align:left;vertical-align:top;color:var(--tx)}
.ob-table th{background:var(--card2);color:var(--hi)}
.ob-sitemap{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:28px}
.ob-sitemap h2{font-size:20px!important}
.ob-sitemap h2 a{color:var(--hi)!important;text-decoration:none}
.ob-sitemap ul{padding-left:18px}
.ob-sitemap a{color:var(--t2)!important}

/* piè di pagina */
.ob-foot{background:var(--s0);color:var(--mu);font-size:15px;padding:0 0 34px;position:relative;overflow:hidden}
.ob-foot::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--grad)}
.ob-foot a{color:var(--t2)!important;text-decoration:none}
.ob-foot a:hover{color:var(--hi)!important}
.ob-foot__cta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding:42px 0;border-bottom:1px solid var(--s2)}
.ob-foot__k{color:var(--hi);font-size:clamp(24px,3vw,34px);font-weight:800;margin:0;letter-spacing:-.02em}
.ob-foot__t{margin:6px 0 0;color:var(--t3)}
.ob-foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding:44px 0}
.ob-foot h2{color:var(--hi);font-size:13px;text-transform:uppercase;letter-spacing:.18em;margin:0 0 16px;font-weight:700}
.ob-foot ul{list-style:none;margin:0;padding:0}
.ob-foot li{margin:0 0 9px}
.ob-foot__col li a{position:relative;transition:color .2s,padding .2s}
.ob-foot__col li a:hover{padding-left:4px}
.ob-foot address{font-style:normal;line-height:1.8;margin:14px 0}
.ob-foot address strong{color:var(--hi)}
.ob-foot .ob-hours th,.ob-foot .ob-hours td{color:var(--t2);border-color:var(--s3)}
.ob-foot__zones{columns:2;column-gap:14px}
.ob-social{display:flex!important;gap:10px}
.ob-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--s2);border:1px solid var(--s4);transition:background .25s,transform .25s var(--ease),border-color .25s}
.ob-social a:hover{background:var(--red);border-color:var(--red);transform:translateY(-3px)}
.ob-logo--foot .ob-logo__img{height:64px;margin:-8px 0 -4px -8px}
.ob-foot__legal{border-top:1px solid var(--s2);padding-top:22px;font-size:13.5px}
.ob-foot__legal ul{display:flex;flex-wrap:wrap;gap:6px 20px;margin:10px 0}
.ob-foot__legal p{margin:0 0 6px}
@media (max-width:1000px){.ob-foot__grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ob-foot__grid{grid-template-columns:1fr;gap:28px}.ob-foot__cta .ob-btn{flex:1 1 100%}}

/* torna su */
.ob-totop{position:fixed;right:18px;bottom:22px;z-index:9980;width:46px;height:46px;border-radius:50%;background:rgba(var(--bgr),.9);border:1px solid var(--line);color:var(--hi);display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s var(--ease),background .2s;pointer-events:none}
.ob-totop.is-on{opacity:1;transform:none;pointer-events:auto}
.ob-totop:hover{background:var(--red)}
@media (max-width:900px){.ob-totop{bottom:100px;right:14px;width:42px;height:42px}}

/* ---------- animazioni ---------- */
.ob-rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.ob-rv.is-in{opacity:1;transform:none}
.ob-hero .ob-rv{transform:translateY(18px)}
@keyframes obKen{from{transform:scale(1.14)}to{transform:scale(1.02)}}
@keyframes obPulse{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes obPulseDot{0%{box-shadow:0 0 0 0 rgba(255,77,90,.6)}70%{box-shadow:0 0 0 9px rgba(255,77,90,0)}100%{box-shadow:0 0 0 0 rgba(255,77,90,0)}}
@keyframes obScroll{0%{transform:translateY(0);opacity:1}80%{transform:translateY(14px);opacity:0}100%{opacity:0}}
@keyframes obIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes obDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ob-rv{opacity:1!important;transform:none!important}*,*::before,*::after{animation:none!important;transition:none!important}}
/* stampa */
@media print{.ob-top,.ob-head,.ob-mbar,.ob-totop,.ob-form-sec,.ob-foot__cta{display:none!important}body.ob-site{background:#fff;color:#000}.ob-site h1,.ob-site h2,.ob-site .elementor-heading-title{color:#000!important}}
/* neutralizza colori e caratteri globali del kit Elementor */
.ob-site .elementor-widget-text-editor,.ob-site .elementor-widget-icon-list,.ob-site .elementor-widget-shortcode,.ob-site .elementor-widget-accordion{color:var(--tx);font-family:var(--font)}
.ob-site .elementor-widget-heading .elementor-heading-title{font-family:var(--font);color:var(--hd)}
.ob-site .elementor-widget-text-editor a{color:var(--red3)}
.ob-site .elementor-icon-list-text{font-family:var(--font)}
/* DEKRA e Bosch in evidenza */
.ob-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.ob-trust__card{display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:var(--r);padding:24px;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.ob-trust__card.is-main{border-color:rgba(225,29,46,.35)}
.ob-trust__card:hover{transform:translateY(-4px);border-color:rgba(225,29,46,.6);box-shadow:0 24px 50px -24px rgba(225,29,46,.45)}
.ob-trust__card strong{font-size:20px;color:var(--hi);display:block;margin-bottom:6px}
.ob-trust__card p{margin:0 0 10px;color:var(--tx)}
.ob-trust__logo{height:84px;display:flex;align-items:center;justify-content:center;background:#f4f4f5;border-radius:12px;padding:10px 18px}
.ob-trust__logo img{max-height:60px;width:auto}
.ob-trust__logo--txt{flex-direction:column;gap:0;background:#f4f4f5;color:#111}
.ob-trust__word{font-size:32px;font-weight:800;letter-spacing:.02em;line-height:1;color:#111}
.ob-trust__logo--txt small{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#52525b;font-weight:700;margin-top:4px}
.ob-badges{list-style:none!important;padding:0!important;margin:16px 0 0!important;display:flex;flex-wrap:wrap;gap:8px}
.ob-badges li{margin:0!important;display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:rgba(var(--ink),.06);border:1px solid rgba(var(--ink),.16);color:var(--t2);font-size:13.5px;font-weight:600;backdrop-filter:blur(6px)}
.ob-badges li::marker{content:none}
.ob-badges .ob-i{width:16px;height:16px;color:var(--red3)}
.ob-foot .ob-badges li{background:var(--s1);border-color:var(--s4)}

/* ===== Home: sezioni del sito attuale potenziate (ispirazione: monocromo di lusso, griglie, testo che si svela) ===== */
.ob-dots.e-con{background-image:radial-gradient(rgba(var(--ink),.07) 1.2px,transparent 1.3px);background-size:18px 18px;background-color:var(--bg)}
.ob-hero--center.e-con{min-height:min(92vh,880px);text-align:center}
.ob-hero--center>.e-con-inner{align-items:center}
.ob-hero--center .elementor-widget{max-width:980px;margin-left:auto;margin-right:auto}
.ob-hero--center .ob-cta,.ob-hero--center .ob-open{justify-content:center}
.ob-hero--center.has-img.e-con::before{background:radial-gradient(1200px 600px at 50% 40%,rgba(6,6,7,.55),rgba(6,6,7,.92) 70%),linear-gradient(0deg,rgba(6,6,7,1),transparent 35%)!important}
.ob-h1--xl .elementor-heading-title{font-size:clamp(46px,9vw,124px)!important;text-transform:uppercase;letter-spacing:-.045em;line-height:.92!important;font-weight:900}
.ob-hero-sub .elementor-heading-title{font-size:clamp(18px,2.6vw,32px)!important;font-weight:800;text-transform:uppercase;letter-spacing:.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent!important;margin:8px 0 6px}
.ob-chips-hero{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:6px}
.ob-chip-h{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;background:rgba(var(--ink),.07);border:1px solid rgba(var(--ink),.15);font-size:13px;font-weight:600;color:var(--t2);backdrop-filter:blur(8px)}
.ob-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(74,222,128,.18)}
/* titolo che sale riga per riga */
.ob-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .02em .08em}
.ob-w__i{display:inline-block;transform:translateY(105%);animation:obRise .9s var(--ease) both}
.ob-w__i.ob-hl-word{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes obRise{to{transform:none}}
/* nastro scorrevole */
.ob-marquee-sec.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;background:var(--red);overflow:hidden}
.ob-marquee-sec>.e-con-inner{max-width:none!important}
.ob-marquee{overflow:hidden;white-space:nowrap;padding:16px 0;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ob-marquee__track{display:inline-flex;gap:28px;align-items:center;animation:obMarq 38s linear infinite;will-change:transform}
.ob-marquee:hover .ob-marquee__track{animation-play-state:paused}
.ob-marquee span{color:var(--hi);font-weight:800;font-size:clamp(18px,2.2vw,28px);text-transform:uppercase;letter-spacing:.02em}
.ob-marquee i{color:rgba(var(--ink),.65);font-style:normal;font-size:18px}
@keyframes obMarq{to{transform:translateX(-50%)}}
/* guida interattiva */
.ob-guide{max-width:980px;margin:0 auto;background:linear-gradient(180deg,var(--s3),var(--s2));border:1px solid var(--line);border-radius:28px;padding:clamp(22px,4vw,44px);box-shadow:0 40px 80px -40px rgba(var(--shd),calc(.9*var(--sha)))}
.ob-guide__head{text-align:center;margin-bottom:22px}
.ob-guide__head h3{font-size:clamp(26px,3.4vw,40px)!important;margin:12px 0 6px!important;font-weight:800}
.ob-tag{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(225,29,46,.15);border:1px solid rgba(255,77,90,.4);color:#fecdd3;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ob-guide__q{text-align:center;font-weight:700;color:var(--hi);font-size:20px;margin:0 0 16px!important;display:flex;gap:8px;align-items:center;justify-content:center}
.ob-guide__q .ob-i{color:var(--red3)}
.ob-guide__step{display:none}
.ob-guide__step.is-on{display:block;animation:obPop .5s var(--ease) both}
.ob-guide__opts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ob-guide__opt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 18px;border-radius:18px;background:var(--s1);border:1px solid var(--line);color:var(--hi);cursor:pointer;font:inherit;transition:transform .3s var(--ease),border-color .3s,background .3s}
.ob-guide__opt:hover{transform:translateY(-3px);border-color:var(--red);background:var(--s2)}
.ob-guide__opt .ob-i{width:38px;height:38px;color:var(--red3)}
.ob-guide__opt strong{font-size:17px}
.ob-guide__opt small{color:var(--mu);font-size:13.5px}
.ob-guide__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.ob-guide__list a{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:14px;background:var(--s1);border:1px solid var(--line);color:var(--hi)!important;text-decoration:none!important;font-weight:600;transition:border-color .2s,transform .2s}
.ob-guide__list a:hover{border-color:var(--red);transform:translateX(3px)}
.ob-guide__sos{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:16px}
.ob-guide__back{display:block;margin:18px auto 0;background:none;border:0;color:var(--mu);cursor:pointer;font:inherit;font-weight:600}
.ob-guide__back:hover{color:var(--hi)}
@media (max-width:560px){.ob-guide__opts{grid-template-columns:1fr}}
/* numeri */
.ob-nums-sec.e-con{background:var(--s0);--padding-top:56px;--padding-bottom:56px;border-top:1px solid var(--s2);border-bottom:1px solid var(--s2)}
.ob-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.ob-num{display:flex;flex-direction:column;gap:6px;padding:10px;position:relative}
.ob-num+.ob-num::before{content:"";position:absolute;left:-9px;top:15%;bottom:15%;width:1px;background:var(--line)}
.ob-num__v{font-size:clamp(40px,6vw,72px);font-weight:900;letter-spacing:-.04em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.ob-num__l{text-transform:uppercase;letter-spacing:.14em;font-size:12.5px;font-weight:700;color:var(--mu)}
.ob-nums-sec .ob-small{text-align:center;margin-top:10px!important}
@media (max-width:760px){.ob-nums{grid-template-columns:repeat(2,1fr)}.ob-num:nth-child(3)::before{display:none}}
/* storia + video */
.ob-story{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,5vw,60px);align-items:center}
.ob-story h3{font-size:28px!important;margin:0 0 14px!important;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.ob-quote{margin:0 0 18px;padding:4px 0 4px 18px;border-left:3px solid var(--red);font-size:clamp(19px,2vw,24px);font-style:italic;color:var(--hi);line-height:1.45;background:none}
.ob-checks{list-style:none!important;padding:0!important;margin:16px 0 22px!important}
.ob-checks li{display:flex;gap:10px;align-items:center;margin:0 0 10px!important;color:var(--st);font-weight:600}
.ob-checks .ob-i{color:var(--ok)}
.ob-video{position:relative;border-radius:22px;overflow:hidden;background:#000;aspect-ratio:16/10;border:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(0,0,0,.95)}
.ob-video__poster,.ob-video video{width:100%;height:100%;object-fit:cover;display:block}
.ob-video__poster{filter:grayscale(.35) brightness(.75);transition:transform 1s var(--ease),filter .5s}
.ob-video:hover .ob-video__poster{transform:scale(1.04);filter:none}
.ob-video__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50%;border:0;background:var(--red);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 0 rgba(225,29,46,.6);animation:obRing 2.2s infinite}
.ob-video__play:hover{transform:translate(-50%,-50%) scale(1.08)}
.ob-video__cap{position:absolute;left:16px;bottom:14px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.5);padding:5px 10px;border-radius:999px;backdrop-filter:blur(6px)}
@keyframes obRing{0%{box-shadow:0 0 0 0 rgba(225,29,46,.6)}70%{box-shadow:0 0 0 22px rgba(225,29,46,0)}100%{box-shadow:0 0 0 0 rgba(225,29,46,0)}}
@media (max-width:900px){.ob-story{grid-template-columns:1fr}}
/* riquadri fotografici (bento, monocromo che si colora) */
.ob-tiles{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(170px,19vw,250px);gap:14px}
.ob-tile{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:#111;text-decoration:none!important;color:#fff!important;transition:transform .5s var(--ease),border-color .3s;transform-style:preserve-3d}
.ob-tile.is-big{grid-column:span 2;grid-row:span 2}
.ob-tile.is-tall{grid-row:span 2}
.ob-tile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.62);transform:scale(1.04);transition:filter .7s var(--ease),transform 1.1s var(--ease)}
.ob-tile:hover .ob-tile__img{filter:grayscale(0) brightness(.75);transform:scale(1.1)}
.ob-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent 60%),radial-gradient(500px 220px at var(--mx,50%) var(--my,100%),rgba(225,29,46,.28),transparent 70%);transition:opacity .4s}
.ob-tile__body{position:absolute;left:20px;right:60px;bottom:18px;z-index:2;display:flex;flex-direction:column;gap:2px}
.ob-tile__body small{text-transform:uppercase;letter-spacing:.14em;font-size:11.5px;font-weight:700;color:#d4d4d8}
.ob-tile__body strong{font-size:clamp(20px,2.2vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.ob-tile__arr{position:absolute;right:16px;bottom:16px;z-index:2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);font-size:18px;transition:background .3s,transform .4s var(--ease)}
.ob-tile:hover .ob-tile__arr{background:var(--red);border-color:var(--red);transform:rotate(45deg)}
.ob-tile:hover{border-color:rgba(225,29,46,.6)}
@media (max-width:900px){.ob-tiles{grid-template-columns:repeat(2,1fr)}.ob-tile.is-big{grid-column:span 2;grid-row:span 1}.ob-tile.is-tall{grid-row:span 1}}
@media (max-width:520px){.ob-tiles{grid-template-columns:1fr;grid-auto-rows:190px}.ob-tile.is-big{grid-column:auto}}
/* perché sceglierci */
.ob-why{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ob-why__c{position:relative;padding:30px 26px;border-radius:22px;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);transition:transform .4s var(--ease),border-color .3s;overflow:hidden}
.ob-why__c::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at var(--mx,50%) var(--my,0%),rgba(225,29,46,.18),transparent 70%);opacity:0;transition:opacity .4s}
.ob-why__c:hover{border-color:rgba(225,29,46,.5)}.ob-why__c:hover::before{opacity:1}
.ob-why__n{position:absolute;right:20px;top:14px;font-size:54px;font-weight:900;color:rgba(var(--ink),.05);letter-spacing:-.04em}
.ob-why__c .ob-i{width:44px;height:44px;color:var(--red3);margin-bottom:14px;position:relative}
.ob-why__c strong{display:block;font-size:21px;color:var(--hi);margin-bottom:8px;position:relative}
.ob-why__c p{margin:0!important;color:var(--tx);position:relative}
@media (max-width:860px){.ob-why{grid-template-columns:1fr}}
/* griglia servizi filtrabile */
.ob-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.ob-filter{padding:9px 18px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--t2);font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.ob-filter:hover{border-color:var(--hi)}
.ob-filter.is-on{background:var(--red);border-color:var(--red);color:var(--hi)}
.ob-sgrid__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.ob-scard{display:flex;flex-direction:column;gap:8px;padding:22px 20px;border-radius:18px;background:var(--card);border:1px solid var(--line);color:var(--mu)!important;text-decoration:none!important;transition:transform .35s var(--ease),border-color .3s,background .3s}
.ob-scard[hidden]{display:none}
.ob-scard:hover{transform:translateY(-4px);border-color:rgba(225,29,46,.55);background:var(--s3)}
.ob-scard .ob-i{width:30px;height:30px;color:var(--red3);transition:transform .4s var(--ease)}
.ob-scard:hover .ob-i{transform:scale(1.15) rotate(-6deg)}
.ob-scard strong{color:var(--hi);font-size:17px}
.ob-scard span{font-size:14.5px;line-height:1.5}
.ob-scard em{margin-top:auto;font-style:normal;font-weight:700;font-size:13.5px;color:var(--red3);display:flex;gap:6px;align-items:center}
@keyframes obPop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
/* foto che si svelano */
.ob-clip{clip-path:inset(0 0 100% 0 round 20px);transition:clip-path 1.2s var(--ease)}
.ob-clip.is-shown{clip-path:inset(0 0 0 0 round 20px)}
.ob-tile.ob-clip{transition:clip-path 1.2s var(--ease),transform .5s var(--ease),border-color .3s}
@media (prefers-reduced-motion:reduce){.ob-w__i{transform:none!important}.ob-clip{clip-path:none!important}.ob-marquee__track{animation:none!important}}

/* ===== Orari (settimana) ===== */
.ob-week{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px 18px;margin:12px 0}
.ob-week__now{display:flex;align-items:center;gap:9px;margin:0 0 10px!important;font-weight:700;font-size:15px}
.ob-week__now.is-open{color:var(--ok)}.ob-week__now.is-closed{color:var(--ko)}
.ob-week__dot{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(var(--ink),.06);animation:obPulse 2s infinite}
.ob-week__list{list-style:none!important;margin:0!important;padding:0!important}
.ob-week__list li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;margin:0!important;border-radius:10px;font-size:15px;color:var(--t2);border-bottom:1px solid rgba(var(--ink),.05)}
.ob-week__list li:last-child{border-bottom:0}
.ob-week__d{font-weight:600}
.ob-week__d small{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--red);color:var(--hi);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;vertical-align:1px}
.ob-week__h{text-align:right;font-variant-numeric:tabular-nums;color:var(--t2)}
.ob-week__h em{display:block;font-style:normal;font-size:12px;color:var(--mu)}
.ob-week__list li.is-today{background:rgba(225,29,46,.1);border-color:transparent}
.ob-week__list li.is-off .ob-week__h{color:var(--mu)}
.ob-week__note{margin:10px 2px 0!important;font-size:13px;color:var(--mu)}

/* ===== Dove siamo ===== */
.ob-where-sec.e-con{background:linear-gradient(180deg,var(--bg),var(--bg2))}
.ob-where{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(20px,4vw,48px);align-items:stretch}
.ob-where__k{display:inline-flex;gap:8px;align-items:center;text-transform:uppercase;letter-spacing:.18em;font-size:12.5px;font-weight:800;color:var(--red3);margin:0 0 8px!important}
.ob-where h3{font-size:clamp(26px,3vw,38px)!important;line-height:1.15;margin:0 0 16px!important}
.ob-where__dist{list-style:none!important;padding:0!important;margin:0 0 6px!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ob-where__dist li{margin:0!important;padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:14.5px;color:var(--tx)}
.ob-where__dist strong{display:block;color:var(--hi);font-size:18px}
.ob-where .ob-cta{margin:14px 0 4px}
.ob-where__map{min-height:420px}
.ob-map--big{position:relative;height:100%;min-height:420px;margin:0;border-radius:24px;overflow:hidden}
.ob-map--big .ob-map__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.5) brightness(.45);transform:scale(1.03);transition:transform 1.2s var(--ease)}
.ob-map--big:hover .ob-map__img{transform:scale(1.08)}
.ob-map--big .ob-map__ph{position:absolute;inset:auto 16px 16px 16px;text-align:left;background:rgba(12,12,14,.82);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:18px}
.ob-map--big .ob-map__ph p{margin:6px 0!important}
.ob-map__pin{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;animation:obRing 2.2s infinite}
.ob-map--big iframe{position:absolute;inset:0;width:100%;height:100%;filter:none}
@media (max-width:900px){.ob-where{grid-template-columns:1fr}.ob-where__map,.ob-map--big{min-height:340px}}

/* ===== Fascia foto dell'officina ===== */
.ob-band{overflow:hidden;background:#060607;padding:22px 0;border-top:1px solid #141417}
.ob-band__track{display:flex;gap:14px;width:max-content;animation:obMarq 70s linear infinite}
.ob-band:hover .ob-band__track{animation-play-state:paused}
.ob-band figure{margin:0;width:clamp(200px,22vw,320px);aspect-ratio:4/3;border-radius:22px;overflow:hidden;flex:0 0 auto;border:1px solid #1c1c21}
.ob-band img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.7);transition:filter .6s var(--ease),transform 1s var(--ease)}
.ob-band figure:hover img{filter:none;transform:scale(1.06)}

/* ===== Foglio «Dove siamo» (mobile) ===== */
.ob-sheet{position:fixed;inset:0;z-index:100000}
.ob-sheet[hidden]{display:none}
.ob-sheet__bg{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .3s}
.ob-sheet__in{position:absolute;left:0;right:0;bottom:0;max-height:88vh;overflow:auto;background:var(--s2);border-radius:26px 26px 0 0;border-top:1px solid var(--line);padding:22px 18px calc(22px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .35s var(--ease)}
.ob-sheet.is-open .ob-sheet__bg{opacity:1}.ob-sheet.is-open .ob-sheet__in{transform:none}
.ob-sheet__in::before{content:"";display:block;width:44px;height:5px;border-radius:5px;background:var(--line2);margin:-8px auto 14px}
.ob-sheet__x{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--s3);color:var(--hi);display:grid;place-items:center;cursor:pointer}
.ob-sheet__k{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--red3);margin:0!important}
.ob-sheet h2{font-size:24px;margin:4px 0 6px}
.ob-sheet__map{height:260px;border-radius:18px;overflow:hidden;background:var(--s1);margin:12px 0 4px}
.ob-sheet__map iframe{width:100%;height:100%;border:0}
.ob-sheet .ob-cta .ob-btn{flex:1 1 auto}
body.ob-sheet-open{overflow:hidden}

/* ===== Piè di pagina ===== */
.ob-foot__grid{grid-template-columns:1.2fr 1fr 1fr 1fr!important;gap:clamp(24px,3vw,44px)!important}
.ob-foot__biz p{margin:12px 0}
.ob-foot .ob-badges{margin:6px 0 16px!important}
.ob-foot .ob-week{background:var(--s1);border-color:var(--s3);margin:0}
.ob-foot .ob-week__list li{font-size:14px;padding:7px 8px}
.ob-foot address{font-style:normal;line-height:1.7;margin:0 0 10px;color:var(--t2)}
.ob-foot__contacts{margin:0 0 14px!important}
.ob-foot__contacts li{display:flex;align-items:center;gap:10px;margin:0 0 9px}
.ob-foot__contacts .ob-i{width:18px;height:18px;color:var(--red3)}
.ob-btn--sm{min-height:40px;padding:8px 16px;font-size:14px}
.ob-foot__links details{margin-bottom:14px}
.ob-foot__links summary{list-style:none;cursor:pointer}
.ob-foot__links summary::-webkit-details-marker{display:none}
.ob-foot__links summary h2{display:flex;justify-content:space-between;align-items:center}
.ob-foot__zones{columns:2;column-gap:14px}
@media (max-width:1100px){.ob-foot__grid{grid-template-columns:1fr 1fr!important}}
@media (max-width:700px){
	.ob-foot__grid{grid-template-columns:1fr!important;gap:26px!important;padding:30px 0!important}
	.ob-foot__links summary h2::after{content:"+";font-size:22px;color:var(--red3);transition:transform .3s}
	.ob-foot__links details[open] summary h2::after{transform:rotate(45deg)}
	.ob-foot__links details{border-top:1px solid var(--s3);padding-top:12px}
	.ob-foot__cta{padding:30px 0}
	.ob-foot__legal{text-align:left}
}

/* ===== Forme morbide: curve tra le sezioni e angoli arrotondati ===== */
.ob-hero.e-con{border-radius:0 0 clamp(28px,5vw,64px) clamp(28px,5vw,64px)}
.ob-hero--center.e-con{border-radius:0 0 50% 50% / 0 0 clamp(36px,6vw,90px) clamp(36px,6vw,90px)}
.ob-form-sec.e-con{border-radius:clamp(28px,5vw,64px) clamp(28px,5vw,64px) 0 0}
.ob-rev-sec.e-con,.ob-zone-sec.e-con,.ob-prose.is-alt.e-con,.ob-steps-sec.e-con{border-radius:clamp(24px,4vw,56px);margin:0 clamp(0px,1.4vw,18px)}
.ob-photo img,.ob-gal .gallery-item,.ob-card,.ob-area,.ob-scard{border-radius:22px}
@media (max-width:700px){
	/* galleria come carosello a scorrimento */
	.ob-gal .gallery{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.ob-gal .gallery::-webkit-scrollbar{display:none}
	.ob-gal .gallery-item{flex:0 0 82%;scroll-snap-align:center;grid-column:auto!important}
	.ob-gal .gallery-item img{min-height:220px!important;height:240px!important}
	.ob-rev__list{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px;scrollbar-width:none}
	.ob-rev__list::-webkit-scrollbar{display:none}
	.ob-rev__item{flex:0 0 86%;scroll-snap-align:center}
	.ob-rev-sec.e-con,.ob-zone-sec.e-con,.ob-prose.is-alt.e-con,.ob-steps-sec.e-con{margin:0;border-radius:28px}
}

/* ===== Navigazione mobile più leggera ===== */
.ob-nav__ic{display:none}
@media (max-width:1120px){
	.ob-nav__list{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;padding:10px 14px!important}
	.ob-nav__item{border:0!important;background:var(--s2);border-radius:16px;position:relative;display:block}
	.ob-nav__item.has-sub.is-open{grid-column:1/-1}
	.ob-nav__link{display:flex!important;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 14px!important;font-size:16px!important}
	.ob-nav__ic{display:block;width:26px;height:26px;color:var(--red3)}
	.ob-nav__tog{position:absolute;right:4px;top:4px;padding:10px!important}
	.ob-nav__item.is-current{box-shadow:inset 0 0 0 1px rgba(225,29,46,.6)}
	.ob-nav__item.is-current>.ob-nav__link{box-shadow:none!important}
	.ob-nav__mob{grid-column:span 1;background:transparent!important}
	.ob-nav__mob .ob-nav__link{flex-direction:row;padding:12px 14px!important;font-size:15px!important;color:var(--t3)!important;border:1px solid var(--s3);border-radius:14px}
	.ob-nav__mob:last-child{grid-column:1/-1}
	.ob-mega__in{background:transparent!important;padding:0 8px 10px!important}
	.ob-mega__head{display:none!important}
	.ob-mega__list a{font-size:15px!important;padding:9px 8px!important;border-bottom:1px solid var(--s3);border-radius:0!important}
}
/* testi più asciutti su telefono */
@media (max-width:700px){
	.ob-hero .ob-badges,.ob-hero .ob-bcw{display:none}
	.ob-lead p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
	.ob-hero--center .ob-lead p{-webkit-line-clamp:4}
	.ob-hero .ob-cta .ob-btn--wa{display:none}
	.ob-answer p{font-size:18px}
	.ob-hl .elementor-icon-list-items{grid-template-columns:1fr 1fr!important;gap:8px}
	.ob-hl .elementor-icon-list-item{padding:10px 12px!important;font-size:14px}
	.ob-sec h2.elementor-heading-title{font-size:clamp(26px,7vw,32px)}
	.ob-prose .elementor-widget-text-editor{font-size:16.5px}
	.ob-chips-hero .ob-chip-h:not(:first-child){display:none}
}
.ob-week--c .ob-week__list li{flex-wrap:wrap}
.ob-week--c .ob-week__d{min-width:70px}
.ob-week--c .ob-week__h{white-space:nowrap}
.ob-week--c .ob-week__h em{white-space:normal}
.ob-foot__grid{grid-template-columns:1.1fr 1.15fr 1fr 1fr!important}
@media (max-width:1100px){.ob-foot__grid{grid-template-columns:1fr 1fr!important}}
@media (max-width:700px){.ob-foot__grid{grid-template-columns:1fr!important}}
/* su mobile l'intestazione non deve fare da contenitore al menu a tutto schermo */
@media (max-width:1120px){.ob-head{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(var(--bgr),.98)!important}body.ob-menu-open .ob-head{transform:none!important}}

/* ---------- galleria "Foto dall'officina" (1.5) ---------- */
.ob-gx{position:relative;--gx-row:clamp(150px,15.5vw,236px)}
.ob-gx__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:var(--gx-row);grid-auto-flow:dense;gap:14px;outline:0}
.ob-gx__it{position:relative;margin:0!important;border-radius:22px;overflow:hidden;background:var(--bg3);isolation:isolate;box-shadow:0 24px 50px -30px rgba(0,0,0,.9);transform:translateZ(0)}
.ob-gx__it.is-c2{grid-column:span 2}.ob-gx__it.is-c4{grid-column:span 4}.ob-gx__it.is-r2{grid-row:span 2}
.ob-gx__it a{display:block;width:100%;height:100%;position:relative;color:#fff!important;text-decoration:none!important;cursor:zoom-in}
.ob-gx__it img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;border:0!important;border-radius:0!important;transform:scale(1.02);filter:saturate(.88) brightness(.92);transition:transform 1.1s var(--ease),filter .5s}
.ob-gx__it a::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.78) 100%);opacity:.55;transition:opacity .45s}
.ob-gx__it a::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);transition:box-shadow .4s;pointer-events:none}
.ob-gx__cap{position:absolute;left:18px;right:60px;bottom:16px;z-index:3;font-size:14px;font-weight:600;line-height:1.35;letter-spacing:.005em;text-shadow:0 2px 12px rgba(0,0,0,.6);transform:translateY(8px);opacity:0;transition:transform .45s var(--ease),opacity .45s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ob-gx__cap span{display:inline-block;margin-right:9px;font-size:11px;font-weight:800;letter-spacing:.14em;opacity:.7;font-variant-numeric:tabular-nums}
.ob-gx__zoom{position:absolute;right:14px;bottom:14px;z-index:3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);transform:scale(.7);opacity:0;transition:transform .4s var(--ease),opacity .4s,background .3s}
.ob-gx__it.is-c2.is-r2 .ob-gx__cap,.ob-gx__it.is-c4 .ob-gx__cap{font-size:16px;opacity:1;transform:none}
@media (hover:hover){
	.ob-gx__it:hover img{transform:scale(1.08);filter:saturate(1.05) brightness(1)}
	.ob-gx__it:hover a::before{opacity:1}
	.ob-gx__it:hover a::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
	.ob-gx__it:hover .ob-gx__cap{opacity:1;transform:none}
	.ob-gx__it:hover .ob-gx__zoom{opacity:1;transform:none}
	.ob-gx__grid:hover .ob-gx__it:not(:hover) img{filter:saturate(.6) brightness(.7)}
}
.ob-gx__it a:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.ob-gx__it a:focus-visible .ob-gx__cap,.ob-gx__it a:focus-visible .ob-gx__zoom{opacity:1;transform:none}
.ob-gx__bar{display:none}
/* comparsa a tendina con ritardo progressivo */
.ob-gx.is-ready .ob-gx__it{clip-path:inset(12% 6% 12% 6% round 22px);opacity:.001;transition:clip-path 1.1s var(--ease),opacity .8s var(--ease);transition-delay:calc(var(--i) * 80ms)}
.ob-gx.is-ready .ob-gx__it img{transform:scale(1.18)}
.ob-gx.is-ready.is-in .ob-gx__it{clip-path:inset(0 0 0 0 round 22px);opacity:1}
.ob-gx.is-ready.is-in .ob-gx__it img{transform:scale(1.02)}
@media (prefers-reduced-motion:reduce){.ob-gx .ob-gx__it,.ob-gx .ob-gx__it img{transition:none!important;clip-path:none!important;opacity:1!important;transform:none!important}}
@media (max-width:1024px) and (min-width:761px){.ob-gx{--gx-row:170px}.ob-gx__grid{gap:10px}}
@media (max-width:760px){
	.ob-gx__grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:4px 16px 6px;scroll-padding:0 16px;overscroll-behavior-x:contain}
	.ob-gx__grid::-webkit-scrollbar{display:none}
	.ob-gx__it{flex:0 0 84%;height:min(64vw,330px);scroll-snap-align:start;border-radius:20px}
	.ob-gx__it.is-c2.is-r2,.ob-gx__it:first-child{flex-basis:88%}
	.ob-gx__cap{opacity:1;transform:none;font-size:14px!important;right:58px}
	.ob-gx__zoom{opacity:1;transform:none;width:34px;height:34px}
	.ob-gx__it a::before{opacity:.9}
	.ob-gx.is-ready .ob-gx__it{clip-path:none;opacity:1;transition:none}
	.ob-gx.is-ready .ob-gx__it img{transform:scale(1.02)}
	.ob-gx__bar{display:flex;align-items:center;gap:12px;margin-top:14px}
	.ob-gx__prog{flex:1;height:3px;border-radius:3px;background:rgba(var(--ink),.12);overflow:hidden;position:relative}
	.ob-gx__prog i{position:absolute;left:0;top:0;bottom:0;width:var(--p,15%);background:var(--grad,#fff);border-radius:3px;transition:width .25s}
	.ob-gx__count{font-size:13px;font-weight:700;color:var(--t3);font-variant-numeric:tabular-nums;min-width:44px;text-align:center}
	.ob-gx__count b{color:var(--hi)}
	.ob-gx__btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--ink),.06);border:1px solid var(--line);color:var(--hi);cursor:pointer;padding:0;transition:background .2s,opacity .2s}
	.ob-gx__btn:active{background:rgba(var(--ink),.16)}
	.ob-gx__btn[disabled]{opacity:.35}
}

/* ---------- interruttore tema chiaro/scuro (1.6) ---------- */
.ob-theme{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:999px;border:1px solid var(--line);background:rgba(var(--ink),.05);color:var(--hi);cursor:pointer;padding:0;overflow:hidden;transition:background .25s,border-color .25s,transform .25s var(--ease)}
.ob-theme:hover{border-color:var(--red);transform:rotate(-12deg)}
.ob-theme svg{grid-area:1/1;transition:transform .5s var(--ease),opacity .35s}
.ob-theme__sun{transform:translateY(120%) rotate(-90deg);opacity:0}
html[data-theme="light"] .ob-theme__sun{transform:none;opacity:1;color:var(--red)}
html[data-theme="light"] .ob-theme__moon{transform:translateY(-120%) rotate(90deg);opacity:0}
.ob-theme__lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ob-head__cta{gap:10px}
@media (max-width:1024px){.ob-theme{width:40px;height:40px;flex-basis:40px}}
/* rifiniture del tema chiaro */
html[data-theme="light"] .ob-head{background:rgba(255,255,255,.88);border-bottom-color:var(--line)}
html[data-theme="light"] .ob-sec h2,html[data-theme="light"] .ob-site .elementor-heading-title{color:var(--hd)}
html[data-theme="light"] .ob-card,html[data-theme="light"] .ob-hl .elementor-icon-list-item,html[data-theme="light"] .ob-steps li,html[data-theme="light"] .ob-rev__item,html[data-theme="light"] .ob-area,html[data-theme="light"] .ob-scard,html[data-theme="light"] .ob-why__c,html[data-theme="light"] .ob-form{box-shadow:0 1px 2px rgba(20,20,30,.05),0 14px 34px -22px rgba(20,20,30,.22)}
html[data-theme="light"] .ob-btn--ghost{border-color:var(--line2)}
html[data-theme="light"] .ob-gx__btn{background:#fff}
html[data-theme="light"] .ob-gx__count b{color:var(--hd)}
html[data-theme="light"] .ob-gx__prog{background:rgba(14,14,18,.1)}
html[data-theme="light"] .ob-mbar{background:rgba(255,255,255,.94)}
html[data-theme="light"] .ob-mbar a.is-main{color:#fff!important}
html[data-theme="light"] .ob-nav{background:rgba(250,250,248,.99)}
html[data-theme="light"] .ob-mega__in{background:#fff}
html[data-theme="light"] .ob-tag,html[data-theme="light"] .ob-kicker .elementor-heading-title{color:var(--red2)!important;background:rgba(227,6,19,.07);border-color:rgba(227,6,19,.28)}
html[data-theme="light"] .ob-form__msg.is-err{color:var(--ko)}
html[data-theme="light"] .ob-map__ph{--tx:#d4d4d8;--st:#fff;--hi:#fff;--t2:#e4e4e7;--t3:#a1a1aa;--mu:#a1a1aa;--line:#3a3a41;--ink:255,255,255;--red3:#ff4d5a}
.ob-btn--wa *,.ob-btn--primary *{color:inherit}

/* ---------- tema chiaro uniforme: hero, barra alta e piè di pagina (1.6.1) ---------- */
html[data-theme="light"] .ob-hero.e-con{background-color:var(--bg2);color:var(--t2)}
html[data-theme="light"] .ob-hero.has-img.e-con::before{background:linear-gradient(100deg,rgba(250,250,248,.97) 0%,rgba(250,250,248,.9) 42%,rgba(250,250,248,.5) 100%),linear-gradient(0deg,rgba(244,244,241,.95),transparent 40%)!important}
html[data-theme="light"] .ob-hero--center.has-img.e-con::before{background:radial-gradient(1200px 600px at 50% 40%,rgba(250,250,248,.72),rgba(250,250,248,.95) 70%),linear-gradient(0deg,rgba(244,244,241,1),transparent 35%)!important}
html[data-theme="light"] .ob-hero.no-img.e-con{background:radial-gradient(900px 380px at 85% -10%,rgba(227,6,19,.12),transparent 60%),radial-gradient(600px 300px at 0 120%,rgba(255,122,69,.08),transparent 60%),var(--bg2)}
html[data-theme="light"] .ob-hero__bg{filter:saturate(.8)}
html[data-theme="light"] .ob-h1 .elementor-heading-title{color:var(--hd)!important}
html[data-theme="light"] .ob-lead p{color:var(--t2)}
html[data-theme="light"] .ob-bc ol{color:var(--t3)}
html[data-theme="light"] .ob-bc li+li::before{color:var(--line2)}
html[data-theme="light"] .ob-bc a{color:var(--t2)!important}
html[data-theme="light"] .ob-bc a:hover,html[data-theme="light"] .ob-bc span{color:var(--hd)!important}
html[data-theme="light"] .ob-scrollhint{border-color:rgba(14,14,18,.3)}
html[data-theme="light"] .ob-scrollhint::after{background:var(--hd)}
html[data-theme="light"] .ob-top{background:var(--bg3);border-bottom-color:var(--line)}
html[data-theme="light"] .ob-foot{background:var(--bg2);border-top:1px solid var(--line)}
@media (max-width:640px){html[data-theme="light"] .ob-hero.has-img.e-con::before{background:linear-gradient(180deg,rgba(250,250,248,.86),rgba(250,250,248,.97))!important}}
html[data-theme="light"] .ob-band{background:var(--bg2);border-top-color:var(--line)}
html[data-theme="light"] .ob-band figure{border-color:var(--line)}
html[data-theme="light"] .ob-band img{filter:grayscale(1) brightness(.98) contrast(1.05)}

/* ---------- zone servite compatte (1.6.2) ---------- */
.ob-zone-sec.e-con{--padding-top:clamp(28px,3.5vw,44px)!important;--padding-bottom:clamp(28px,3.5vw,44px)!important;background-color:transparent!important;border-radius:0!important;margin:0!important;border-top:1px solid var(--line)}
.ob-zone-sec h2.elementor-heading-title,.ob-zone-sec .elementor-heading-title{font-size:clamp(20px,2.2vw,26px)!important}
.ob-zone-sec .ob-sub p{font-size:15px;margin:0}
.ob-zone-sec .ob-sec-line,.ob-zone-sec .elementor-widget-heading::before{display:none}
.ob-zones--c>.ob-muted{font-size:14.5px;margin:0 0 4px}
.ob-chips--s{gap:6px;margin:6px 0 4px!important}
.ob-chips--s a{padding:5px 12px;font-size:13.5px;font-weight:600;background:transparent;border-color:var(--line)}
.ob-chips--s.ob-chips--alt a{background:transparent;border-style:dashed}
.ob-zmore{margin-top:6px}
.ob-zmore summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:14px;font-weight:700;color:var(--red3);padding:6px 0}
.ob-zmore summary::-webkit-details-marker{display:none}
.ob-zmore summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.ob-zmore[open] summary::after{transform:rotate(-135deg) translateX(-2px)}
.ob-zmore summary small{font-size:12px;color:var(--mu);font-weight:600}
.ob-zmore[open] summary span{font-size:0}.ob-zmore[open] summary span::before{content:"Nascondi";font-size:14px}
.ob-zmore__k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mu);margin:12px 0 2px}
.ob-zmore__in{animation:obIn .35s var(--ease)}
/* menu mobile: azioni Prenota e Dove siamo in fondo */
.ob-nav__acts{display:none}
@media (max-width:1120px){
	.ob-nav__acts.ob-nav__mob{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;grid-column:1/-1!important;padding:6px 0 0}
	.ob-nav__acts .ob-btn{min-height:50px;width:100%}
	.ob-nav__mob:nth-last-child(2){grid-column:1/-1}
}
.ob-site a.ob-btn.ob-btn--primary,.ob-site a.ob-btn.ob-btn--wa,.ob-site .ob-foot a.ob-btn--primary,.ob-site .ob-foot a.ob-btn--wa,.ob-site .ob-mbar a.is-main{color:#fff!important}
