/* Sidebloom 2026-plus — arricchimento sopra il tema chiaro. v1 */
:root{--sbnavy:#16243C;--sbblue:#0070BD;--sbgold:#F2CD5E;--sbease:cubic-bezier(.22,1,.36,1)}
/* ---------- transizioni fluide ---------- */
html.sbp-js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--sbease),transform .8s var(--sbease)}
html.sbp-js .reveal.in{opacity:1;transform:none}
html.sbp-js .sbp-fade{opacity:0;transform:translateY(28px);transition:opacity .9s var(--sbease),transform .9s var(--sbease)}
html.sbp-js .sbp-fade.sbp-in{opacity:1;transform:none}
html.sbp-js .home-service-card{transition:transform .45s var(--sbease),box-shadow .45s var(--sbease),border-color .3s}
@media (prefers-reduced-motion:reduce){html.sbp-js .reveal,html.sbp-js .sbp-fade{opacity:1!important;transform:none!important;transition:none!important}}
/* ---------- linee e dettagli sui titoli ---------- */
body.sbb .section-title,body.sbb .section-title-center{position:relative;padding-bottom:14px}
body.sbb .section-title::after,body.sbb .section-title-center::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--sbgold),var(--sbblue))}
body.sbb .section-title-center::after{left:50%;transform:translateX(-50%)}
/* ---------- petalo riutilizzabile ---------- */
.sbp-petal{position:absolute;pointer-events:none;border-radius:0 62% 0 62%}
/* ---------- HERO home: via video bg e iris, reel verticale ---------- */
body.sbb .hero-video{display:none!important}
body.sbb .bloom-picture{display:none!important}
body.sbb .hero.hero-v2{position:relative;overflow:hidden}
body.sbb .hero.hero-v2::before,body.sbb .hero.hero-v2::after{content:"";position:absolute;pointer-events:none;border-radius:0 62% 0 62%}
body.sbb .hero.hero-v2::before{width:420px;height:420px;right:-130px;top:-140px;transform:rotate(26deg);background:linear-gradient(135deg,rgba(0,112,189,.35),rgba(0,112,189,0) 72%)}
body.sbb .hero.hero-v2::after{width:260px;height:260px;left:-90px;bottom:-90px;transform:rotate(-140deg);background:linear-gradient(135deg,rgba(242,205,94,.20),rgba(242,205,94,0) 70%)}
body.sbb .sbb-reel{position:relative;width:min(320px,78vw);margin:8px auto 0;z-index:1}
body.sbb .sbb-reel::before{content:"";position:absolute;width:200px;height:200px;right:-64px;top:-56px;transform:rotate(24deg);border-radius:0 62% 0 62%;background:linear-gradient(135deg,rgba(0,112,189,.45),rgba(0,112,189,0) 70%);pointer-events:none}
body.sbb .sbb-reel::after{content:"";position:absolute;width:140px;height:140px;left:-50px;bottom:-38px;transform:rotate(-142deg);border-radius:0 62% 0 62%;background:linear-gradient(135deg,rgba(242,205,94,.35),rgba(242,205,94,0) 70%);pointer-events:none}
body.sbb .sbb-reel-frame{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 80px rgba(4,12,30,.55);background:#0a1628}
body.sbb .sbb-reel-frame iframe{position:absolute;top:50%;left:50%;width:320%;height:101%;transform:translate(-50%,-50%);border:0}
/* ---------- I BANNER: card servizi scure con petali ---------- */
body.sbb .home-service-card{position:relative;overflow:hidden;border-radius:18px!important;
 background:linear-gradient(160deg,#14233f,#0d1832)!important;border:1px solid rgba(255,255,255,.10)!important;
 padding:34px 30px 30px!important;box-shadow:0 14px 40px rgba(10,22,46,.18)}
body.sbb .home-service-card:hover{transform:translateY(-4px);border-color:rgba(242,205,94,.5)!important;box-shadow:0 22px 60px rgba(10,22,46,.32)}
body.sbb .home-service-card .svc-img{display:none!important}
body.sbb .home-service-card .hsc-num{font-size:46px!important;font-weight:300!important;line-height:1!important;color:rgba(242,205,94,.6)!important;letter-spacing:.06em!important;font-style:italic}
body.sbb .home-service-card h3{font-size:24px!important;margin:14px 0 12px!important;color:#fff!important}
body.sbb .home-service-card p{color:rgba(226,233,245,.88)!important}
body.sbb .home-service-card::before,body.sbb .home-service-card::after{content:"";position:absolute;pointer-events:none;border-radius:0 62% 0 62%;background:linear-gradient(135deg,rgba(0,118,198,.35),rgba(0,118,198,0) 72%)}
body.sbb .home-service-card::before{width:190px;height:190px;right:-58px;top:-58px;transform:rotate(28deg)}
body.sbb .home-service-card::after{width:120px;height:120px;right:-14px;top:26px;transform:rotate(-24deg);opacity:.7}
body.sbb .home-service-card [class*="btn"]{background:transparent!important;color:var(--sbgold)!important;padding:0!important;border:0!important;box-shadow:none!important;font-weight:700;letter-spacing:.14em;border-radius:0!important}
/* ---------- case tiles: hover cinematografico ---------- */
body.sbb .case-tile{overflow:hidden;border-radius:14px}
body.sbb .case-tile img{transition:transform .8s var(--sbease)}
body.sbb .case-tile:hover img{transform:scale(1.05)}
/* ---------- film/reels: cornici morbide ---------- */
body.sbb .film-play{border-radius:14px;overflow:hidden;box-shadow:0 14px 40px rgba(10,22,46,.16);transition:transform .5s var(--sbease),box-shadow .5s var(--sbease)}
body.sbb .film-play:hover{transform:translateY(-4px);box-shadow:0 22px 56px rgba(10,22,46,.26)}
/* ---------- banda Lead Generation in home ---------- */
.sb-leadgen-band{position:relative;overflow:hidden;background:linear-gradient(155deg,#14233f,#0b1730);padding:74px 0;margin:0}
.sb-leadgen-band .sbp-petal.p1{width:360px;height:360px;right:-110px;top:-120px;transform:rotate(26deg);background:linear-gradient(135deg,rgba(0,118,198,.4),rgba(0,118,198,0) 72%)}
.sb-leadgen-band .sbp-petal.p2{width:220px;height:220px;left:-70px;bottom:-80px;transform:rotate(-140deg);background:linear-gradient(135deg,rgba(242,205,94,.26),rgba(242,205,94,0) 70%)}
.sb-leadgen-band .container{position:relative;display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:space-between}
.sb-leadgen-band .lgb-eyebrow{display:inline-block;color:var(--sbgold);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
.sb-leadgen-band h2{color:#fff;font-size:clamp(26px,3.4vw,40px);line-height:1.15;margin:0 0 14px;max-width:560px}
.sb-leadgen-band h2 b{color:var(--sbgold)}
.sb-leadgen-band p{color:rgba(226,233,245,.9);max-width:520px;margin:0 0 22px;font-size:17px;line-height:1.65}
.sb-leadgen-band .lgb-cta{display:inline-block;background:var(--sbgold);color:#16243C!important;font-weight:700;letter-spacing:.06em;padding:14px 26px;border-radius:999px;text-decoration:none;transition:transform .35s var(--sbease),box-shadow .35s var(--sbease)}
.sb-leadgen-band .lgb-cta:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(242,205,94,.35)}
.sb-leadgen-band .lgb-badge{position:relative;flex:0 0 auto;text-align:center;border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:28px 34px;background:rgba(255,255,255,.05)}
.sb-leadgen-band .lgb-badge .n{display:block;font-size:64px;font-weight:300;font-style:italic;color:var(--sbgold);line-height:1}
.sb-leadgen-band .lgb-badge .l{display:block;color:#fff;font-size:14px;letter-spacing:.08em;margin-top:8px;line-height:1.5}
/* ---------- pagina Lead Generation ---------- */
.lg-intro{font-size:19px;line-height:1.7}
.lg-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin:34px 0}
.lg-step{position:relative;overflow:hidden;background:linear-gradient(160deg,#14233f,#0d1832);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:30px 26px;color:#e8eef8}
.lg-step::before{content:"";position:absolute;width:150px;height:150px;right:-46px;top:-46px;transform:rotate(28deg);border-radius:0 62% 0 62%;background:linear-gradient(135deg,rgba(0,118,198,.35),rgba(0,118,198,0) 72%);pointer-events:none}
.lg-step .n{font-size:40px;font-weight:300;font-style:italic;color:rgba(242,205,94,.65);line-height:1}
.lg-step h3{color:#fff;font-size:20px;margin:10px 0 8px}
.lg-step p{color:rgba(226,233,245,.86);font-size:15px;line-height:1.6;margin:0}
.lg-inc{background:#f3f6fb;border:1px solid #e2e9f4;border-radius:18px;padding:28px 30px;margin:26px 0}
.lg-inc ul{margin:12px 0 0;padding-left:20px;line-height:1.8}
.lg-guar{position:relative;overflow:hidden;background:linear-gradient(150deg,#16243C,#0b1730);border-radius:22px;padding:48px 40px;margin:44px 0;color:#fff}
.lg-guar .sbp-petal.g1{width:300px;height:300px;right:-90px;top:-100px;transform:rotate(26deg);background:linear-gradient(135deg,rgba(242,205,94,.32),rgba(242,205,94,0) 70%)}
.lg-guar .sbp-petal.g2{width:200px;height:200px;left:-60px;bottom:-70px;transform:rotate(-140deg);background:linear-gradient(135deg,rgba(0,118,198,.4),rgba(0,118,198,0) 72%)}
.lg-guar h2{color:#fff;font-size:clamp(24px,3vw,34px);margin:0 0 22px}
.lg-guar h2 b{color:var(--sbgold)}
.lg-guar .gg{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;position:relative}
.lg-guar .gi{border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:22px;background:rgba(255,255,255,.05)}
.lg-guar .gi .big{font-size:44px;font-weight:300;font-style:italic;color:var(--sbgold);line-height:1;display:block;margin-bottom:8px}
.lg-guar .gi p{color:rgba(230,237,248,.92);font-size:15px;line-height:1.6;margin:0}
.lg-partner{display:flex;gap:14px;align-items:flex-start;background:#f3f6fb;border-left:4px solid var(--sbblue);border-radius:0 14px 14px 0;padding:20px 22px;margin:26px 0;font-size:15.5px;line-height:1.65}
.lg-cta-row{text-align:center;margin:40px 0 10px}
.lg-cta-row a{display:inline-block;background:var(--sbblue);color:#fff!important;font-weight:700;letter-spacing:.06em;padding:16px 34px;border-radius:999px;text-decoration:none;transition:transform .35s var(--sbease),box-shadow .35s var(--sbease)}
.lg-cta-row a:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,112,189,.35)}
/* ---------- footer: petalo firma ---------- */
body.sbb .site-footer{position:relative;overflow:hidden}
body.sbb .site-footer::before{content:"";position:absolute;pointer-events:none;width:340px;height:340px;right:-110px;bottom:-130px;border-radius:0 62% 0 62%;background:linear-gradient(135deg,rgba(0,112,189,.22),rgba(0,112,189,0) 72%);transform:rotate(18deg)}
body.sbb .home-service-card p a{color:#7cc4f5!important;text-decoration-color:rgba(124,196,245,.5)}
/* ================= v2: rigore coordinato ================= */
/* cinture anti-sbordo (iOS-safe) */
html,body{overflow-x:clip}
body.sbb img,body.sbb video,body.sbb iframe{max-width:100%}
/* nero fuori palette -> navy brand (regole esplicite + classe del pass JS) */
body.sbb .film-strip,body.sbb .testimonials,body.sbb .reels,body.sbb footer,body.sbb .site-footer,body.sbb .sbp-navy:not(.has-image){
 background:linear-gradient(165deg,#14233f 0%,#0b1730 100%)!important}
body.sbb .testimonials{position:relative;overflow:hidden}
body.sbb .testimonials::before{content:"";position:absolute;pointer-events:none;width:320px;height:320px;right:-100px;top:-110px;transform:rotate(26deg);border-radius:0 62% 0 62%;background:linear-gradient(135deg,rgba(0,118,198,.3),rgba(0,118,198,0) 72%)}
body.sbb .film-strip{position:relative;overflow:hidden}
body.sbb .film-strip::after{content:"";position:absolute;pointer-events:none;width:240px;height:240px;left:-80px;bottom:-90px;transform:rotate(-140deg);border-radius:0 62% 0 62%;background:linear-gradient(135deg,rgba(242,205,94,.2),rgba(242,205,94,0) 70%)}
/* bottoni: pillole coerenti ovunque */
body.sbb .hero-actions a,body.sbb a.btn,body.sbb .btn,body.sbb button[type="submit"],body.sbb input[type="submit"],body.sbb [class*="cta-btn"]{border-radius:999px!important}
/* video nei contenuti: cornice coordinata */
body.sbb article iframe,body.sbb .case-body iframe,body.sbb .settore-body iframe,body.sbb .sb-shorts iframe{border-radius:14px;box-shadow:0 14px 40px rgba(10,22,46,.18);border:0}
/* strip shorts nei casi (resa coordinata qualunque sia il wrapper del tema) */

/* ================= v3 ================= */
/* shorts nei casi: card riempie la cella, crop centrato, cornice coordinata */
body.sbb .short-card{width:100%!important;aspect-ratio:9/16;border-radius:14px;overflow:hidden;box-shadow:0 16px 44px rgba(10,22,46,.30);background:linear-gradient(165deg,#14233f,#0b1730)}
body.sbb .short-card iframe{position:absolute;top:50%!important;left:50%!important;width:100.6%!important;height:200%!important;transform:translate(-50%,-50%)!important;border:0}
body.sbb .shorts-grid{align-items:stretch}
/* hero pagine servizio con immagine (attivata dal mu-plugin quando c'è la featured) */
body.sbb-svc-img .svc-hero{position:relative;background-size:cover;background-position:center;padding-top:72px;padding-bottom:64px}
body.sbb-svc-img .svc-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(9,19,40,.90) 20%,rgba(13,30,60,.66))}
body.sbb-svc-img .svc-hero .container{position:relative}
body.sbb-svc-img .svc-hero h1,body.sbb-svc-img .svc-hero .subtitle,body.sbb-svc-img .svc-hero p,body.sbb-svc-img .svc-hero .crumbs,body.sbb-svc-img .svc-hero .crumbs a{color:#fff!important}
body.sbb-svc-img .svc-hero h1 b{color:#7cc4f5}
body.sbb-svc-img .svc-hero .eyebrow{color:#F2CD5E!important}
body.sbb-svc-img .svc-hero .crumbs a{opacity:.85}
/* header leggibile sulle hero servizio scure: navy pieno, logo e voci bianche */
body.sbb-svc-img .site-header{background:#16243C!important;border-bottom:1px solid rgba(255,255,255,.08)}
body.sbb-svc-img .site-header a,body.sbb-svc-img .site-header button{color:#fff!important}
body.sbb-svc-img .site-header img{filter:brightness(0) invert(1)}
body.sbb-svc-img .svc-hero::before{background:linear-gradient(160deg,rgba(9,19,40,.93) 25%,rgba(13,30,60,.76))}
body.sbb-svc-img #header img,body.sbb-svc-img .site-header img,body.sbb-svc-img .site-header .logo img,body.sbb-svc-img .site-header svg{filter:brightness(0) invert(1)!important}
/* ================= v4: mobile senza aria morta ================= */
@media (max-width:700px){
 body.sbb .manifesto,body.sbb .history-band,body.sbb .home-services,body.sbb .why-us,body.sbb .press-section,
 body.sbb .case-preview,body.sbb .ai-cta,body.sbb .testimonials,body.sbb .bando,body.sbb .reels,body.sbb .clients-section,
 body.sbb .film-strip,body.sbb .svc-features,body.sbb .svc-process,body.sbb .svc-cta,body.sbb .project-story,
 body.sbb .project-body,body.sbb .sector-cta,body.sbb .settore-body,body.sbb .form-section,body.sbb .sbp-navy,
 body.sbb .sb-leadgen-band,body.sbb .news-section{padding-top:52px!important;padding-bottom:52px!important}
 body.sbb .page-head{padding-top:96px!important;padding-bottom:36px!important}
 body.sbb .settore-hero{padding-top:120px!important;padding-bottom:52px!important}
 body.sbb .project-hero{padding-top:110px!important;padding-bottom:44px!important}
 body.sbb .svc-hero,body.sbb-svc-img .svc-hero{padding-top:88px!important;padding-bottom:48px!important}
 body.sbb .hero.hero-v2{padding-top:84px!important;padding-bottom:44px!important}
 body.sbb .site-footer,body.sbb footer{padding-top:52px!important;padding-bottom:28px!important}
 .sb-leadgen-band .container{gap:26px}
 .sb-leadgen-band .lgb-badge{padding:20px 26px}
 .lg-guar{padding:36px 20px;margin:32px 0}
 .lg-inc{padding:22px 18px}
 .lg-steps{gap:16px;margin:26px 0}
 body.sbb .sbb-reel{margin-top:2px}
}
/* immagini dei progetti mai dipendenti dal reveal */
body.sbb .project-cover,body.sbb .project-cover *,body.sbb figure,body.sbb picture{opacity:1!important;transform:none!important}
/* ================= v5: embed dei casi — completa l'aspect-trick rotto ================= */
body.sbb .story-content div[style*="padding-bottom"]{position:relative}
body.sbb .story-content div[style*="padding-bottom"]>iframe{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;border:0;border-radius:12px}
/* i verticali (9:16) non diventano giganti su schermi larghi: colonna elegante centrata */
body.sbb .story-content div[style*="177"]{max-width:340px;margin-left:auto;margin-right:auto}
body.sbb .story-content div[style*="padding-bottom"]{box-shadow:0 14px 40px rgba(10,22,46,.16);border-radius:12px}
/* ================= Lead Generation — hero interno + differenza ================= */
.lg-hero{position:relative;overflow:hidden;background:linear-gradient(150deg,#16243C 0%,#0b1730 100%);border-radius:24px;padding:58px 44px 52px;margin:0 0 26px;color:#fff}
.lg-hero .sbp-petal.lh1{width:340px;height:340px;right:-110px;top:-120px;transform:rotate(26deg);background:linear-gradient(135deg,rgba(0,118,198,.42),rgba(0,118,198,0) 72%)}
.lg-hero .sbp-petal.lh2{width:220px;height:220px;left:-70px;bottom:-80px;transform:rotate(-140deg);background:linear-gradient(135deg,rgba(242,205,94,.28),rgba(242,205,94,0) 70%)}
.lg-kicker{position:relative;display:inline-block;color:#F2CD5E;font-size:12.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
.lg-h1{position:relative;color:#fff;font-size:clamp(30px,4.4vw,50px);line-height:1.1;margin:0 0 18px}
.lg-h1 b{color:#7cc4f5}
.lg-hero-sub{position:relative;color:rgba(226,233,245,.92);font-size:18px;line-height:1.65;max-width:640px;margin:0 0 26px}
.lg-hero-sub b{color:#fff}
.lg-hero-cta{position:relative;display:inline-block;background:#F2CD5E;color:#16243C!important;font-weight:800;letter-spacing:.04em;padding:15px 30px;border-radius:999px;text-decoration:none;transition:transform .35s var(--sbease),box-shadow .35s var(--sbease)}
.lg-hero-cta:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(242,205,94,.4)}
.lg-diff{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 30px}
.lg-diff-col{border-radius:18px;padding:26px 24px}
.lg-diff-col ul{margin:14px 0 0;padding:0;list-style:none}
.lg-diff-col li{position:relative;padding:8px 0 8px 26px;line-height:1.5;border-bottom:1px solid rgba(0,0,0,.06)}
.lg-diff-col li:last-child{border-bottom:0}
.lg-diff-tag{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.lg-other{background:#f3f6fb;border:1px solid #e2e9f4}
.lg-other .lg-diff-tag{color:#8794a8}
.lg-other li{color:#5a6b82}
.lg-other li::before{content:"–";position:absolute;left:6px;color:#aeb9c9;font-weight:700}
.lg-us{background:linear-gradient(160deg,#14233f,#0d1832);border:1px solid rgba(242,205,94,.3)}
.lg-us .lg-diff-tag{color:#F2CD5E}
.lg-us li{color:#e8eef8;border-bottom-color:rgba(255,255,255,.08)}
.lg-us li strong{color:#fff}
.lg-us li::before{content:"→";position:absolute;left:2px;color:#F2CD5E;font-weight:700}
.lg-guar-kicker{position:relative;display:inline-block;color:#F2CD5E;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}
@media (max-width:700px){.lg-diff{grid-template-columns:1fr}.lg-hero{padding:40px 22px 36px}}
/* banner home: nuovo posizionamento — micro-nota di differenza */
.sb-leadgen-band .lgb-note{display:inline-block;margin-top:14px;color:rgba(226,233,245,.62);font-size:13px;font-style:italic}
/* ================= hero-immagine coordinati (post + pagine) ================= */
body.sbb .post-hero.has-image,body.sbb .settore-hero.has-image{position:relative;background-size:cover;background-position:center}
body.sbb .post-hero.has-image::before,body.sbb .settore-hero.has-image::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(9,19,40,.86) 20%,rgba(13,30,60,.66));z-index:0}
body.sbb .post-hero.has-image .container,body.sbb .settore-hero.has-image .container{position:relative;z-index:1}
body.sbb .post-hero.has-image h1,body.sbb .post-hero.has-image a,body.sbb .post-hero.has-image .crumbs,body.sbb .post-hero.has-image .crumbs a{color:#fff!important}
/* Lead Generation: via il titolo-doppione del template, resta il mio hero navy */
body.page-id-1178 .page-head{display:none!important}
body.page-id-1178 .lg-hero{margin-top:26px}
body.page-id-1178 .site-main,body.page-id-1178 main,body.page-id-1178 article{padding-top:14px}
/* copertina comunicati nel corpo, se il tema non usa la featured come hero-bg */
body.sbb .post-cover{margin:0 0 26px;border-radius:16px;overflow:hidden;box-shadow:0 16px 44px rgba(10,22,46,.18)}
body.sbb .post-cover img{width:100%;height:auto;display:block}
/* Lead Gen hero: vince sulla colorazione h1 del tema */
body.sbb .lg-hero .lg-h1,body.sbb .lg-hero .lg-h1 *{color:#fff!important}
body.sbb .lg-hero .lg-h1 b{color:#7cc4f5!important}
body.sbb .lg-hero .lg-hero-sub{color:rgba(226,233,245,.92)!important}
body.sbb .lg-hero .lg-hero-sub b{color:#fff!important}
body.sbb .lg-hero .lg-kicker{color:#F2CD5E!important}
body.sbb .lg-hero .lg-hero-cta{color:#16243C!important}
/* ================= reel verticali nativi nei casi ================= */
.sb-vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,300px));gap:20px;justify-content:center;margin:8px 0 10px}
.sb-vgrid figure{margin:0}
.sb-vgrid video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:16px;display:block;background:#0b1730;box-shadow:0 14px 40px rgba(10,22,46,.2)}
.sb-vgrid figcaption{font-size:13px;color:#556;margin-top:8px;text-align:center}
@media(max-width:700px){.sb-vgrid{grid-template-columns:1fr;max-width:320px;margin-left:auto;margin-right:auto}}
body.sbb .story-content .sb-stats{grid-template-columns:repeat(3,1fr)}
@media(max-width:700px){body.sbb .story-content .sb-stats{grid-template-columns:1fr!important}
 body.sbb .story-content div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}}
/* ================= gallery settore: progetti correlati ================= */
.sbb-rel{margin:44px 0 8px}
.sbb-rel-h{font-size:clamp(24px,3vw,32px);margin:0 0 6px;position:relative;padding-bottom:14px}
.sbb-rel-h::after{content:"";position:absolute;left:0;bottom:0;width:88px;height:4px;border-radius:4px;background:linear-gradient(90deg,#F2CD5E,#0076C6)}
.sbb-rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:22px 0 8px}
.sbb-rel-tile{display:block;border-radius:16px;overflow:hidden;position:relative;text-decoration:none;box-shadow:0 12px 34px rgba(10,22,46,.14);transition:transform .4s var(--sbease),box-shadow .4s var(--sbease)}
.sbb-rel-tile:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(10,22,46,.24)}
.sbb-rel-img{display:block;aspect-ratio:16/10;background-size:cover;background-position:center;transition:transform .6s var(--sbease)}
.sbb-rel-tile:hover .sbb-rel-img{transform:scale(1.05)}
.sbb-rel-tt{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:#fff!important;font-weight:700;font-size:15.5px;line-height:1.35;background:linear-gradient(180deg,rgba(10,20,40,0),rgba(10,20,40,.86))}
.sbb-rel-vh{margin:30px 0 6px;font-size:20px}
.sbb-ifr{position:relative;aspect-ratio:9/16;border-radius:16px;overflow:hidden;box-shadow:0 14px 40px rgba(10,22,46,.2);background:#0b1730}
.sbb-ifr iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sbb-rel-cta{margin:26px 0 0}
.sbb-rel-cta a{display:inline-block;background:#16243C;color:#fff!important;font-weight:700;padding:13px 26px;border-radius:999px;text-decoration:none;transition:transform .35s var(--sbease),box-shadow .35s var(--sbease)}
.sbb-rel-cta a:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(22,36,60,.35)}
/* hero-immagine pagine chiave: overlay navy + testo bianco (come svc) */
body.sbb-head-img .page-head,body.sbb-head-img .settore-hero{position:relative}
body.sbb-head-img .page-head::before,body.sbb-head-img .settore-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(9,19,40,.88) 25%,rgba(13,30,60,.62))}
body.sbb-head-img .page-head>*,body.sbb-head-img .settore-hero>*{position:relative;z-index:1}
body.sbb-head-img .page-head h1,body.sbb-head-img .page-head p,body.sbb-head-img .page-head .crumbs,body.sbb-head-img .page-head .crumbs a,body.sbb-head-img .settore-hero h1,body.sbb-head-img .settore-hero p{color:#fff!important}
body.sbb-head-img #header .logo img,body.sbb-head-img header .logo img{filter:brightness(0) invert(1)}
body.sbb-head-img #header a,body.sbb-head-img #header .menu-item a{color:#fff}
/* ================= fascia credenziali ================= */
.sbb-cred{background:linear-gradient(165deg,#14233f 0%,#0b1730 100%)!important;padding:46px 0!important}
.sbb-cred-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center}
.sbb-cred .ci .n{display:block;font-size:clamp(26px,3.2vw,40px);font-weight:800;font-style:italic;color:#F2CD5E;line-height:1}
.sbb-cred .ci .l{display:block;margin-top:8px;color:#c9d6ea;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.sbb-cred-assoc{margin-top:26px;text-align:center;color:rgba(201,214,234,.55);font-size:12px;letter-spacing:.16em;text-transform:uppercase;border-top:1px solid rgba(255,255,255,.08);padding-top:20px}
@media(max-width:700px){.sbb-cred-grid{grid-template-columns:repeat(2,1fr);gap:22px 10px}}
/* ================= pre-home gate ================= */
html.sbb-gate-open{overflow:hidden}
.sbb-gate{position:fixed;inset:0;z-index:99999;background:rgba(7,14,30,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:18px;animation:gateIn .5s var(--sbease)}
@keyframes gateIn{from{opacity:0}to{opacity:1}}
.sbb-gate.gate-out{opacity:0;transition:opacity .4s}
.sbb-gate-card{position:relative;overflow:hidden;width:min(680px,100%);max-height:92vh;overflow-y:auto;background:linear-gradient(155deg,#16243C,#0b1730);border:1px solid rgba(242,205,94,.22);border-radius:26px;padding:40px 36px 30px;color:#fff;box-shadow:0 40px 120px rgba(0,0,0,.5)}
.sbb-gate-card .sbp-petal.gp1{width:300px;height:300px;right:-100px;top:-110px;transform:rotate(24deg);background:linear-gradient(135deg,rgba(0,118,198,.4),rgba(0,118,198,0) 70%)}
.sbb-gate-card .sbp-petal.gp2{width:200px;height:200px;left:-70px;bottom:-80px;transform:rotate(-135deg);background:linear-gradient(135deg,rgba(242,205,94,.26),rgba(242,205,94,0) 70%)}
.sbb-gate-card .gate-logo{position:relative;width:150px;height:30px;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:18px}
.sbb-gate-card h2{position:relative;color:#fff;font-size:clamp(22px,3vw,30px);margin:0 0 8px}
.sbb-gate-card>p,.sbb-gate-card .sbb-gate-sub{position:relative;color:#b9c7de;margin:0 0 22px;font-size:15px}
.gate-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gate-grid a{display:block;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px 16px 16px;text-decoration:none;transition:transform .3s var(--sbease),background .3s,border-color .3s}
.gate-grid a:hover{transform:translateY(-3px);background:rgba(242,205,94,.1);border-color:rgba(242,205,94,.5)}
.gate-grid .gi{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#F2CD5E,#d9a93a);color:#16243C;font-weight:800;font-size:16px;margin-bottom:10px}
.gate-grid b{display:block;color:#fff;font-size:15.5px;line-height:1.3;margin-bottom:4px}
.gate-grid span:not(.gi){display:block;color:#9fb0ca;font-size:12.5px;line-height:1.45}
.gate-skip{position:relative;display:block;margin:20px auto 0;background:none;border:0;color:#8fa2c0;font-size:13.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.gate-skip:hover{color:#F2CD5E}
@media(max-width:600px){.gate-grid{grid-template-columns:1fr}.sbb-gate-card{padding:28px 20px 22px}}
/* ================= Express: scena moka ================= */
.sbb-moka-scene{height:230vh;position:relative;margin:0 0 20px}
.sbb-moka-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;overflow:hidden;background:linear-gradient(165deg,#f7f9fc,#eef2f8);border-radius:0 0 28px 28px}
.sbb-moka-copy{max-width:340px;padding:0 18px}
.sbb-moka-copy .k{display:inline-block;color:#b28a1f;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}
.sbb-moka-copy h2{font-size:clamp(26px,3.4vw,38px);line-height:1.15;color:#16243C;margin:0 0 12px}
.sbb-moka-copy h2 b{color:#0076C6}
.sbb-moka-copy p{color:#4a5a72;font-size:15.5px;line-height:1.6;margin:0}
.sbb-moka-svg{width:min(420px,88vw);height:auto}
.mk-stream{opacity:0}
@media(max-width:700px){.sbb-moka-scene{height:200vh}.sbb-moka-sticky{flex-direction:column;justify-content:center;gap:6px;padding-top:70px}}
/* moka: pin gestito da JS (sticky inaffidabile con overflow antenati) */
.sbb-moka-scene{position:relative}
.sbb-moka-sticky{width:100%}
/* ================= Restyle carosello casi (film-strip) ================= */
body.sbb .film-strip{position:relative}
body.sbb .film-strip::before,body.sbb .film-strip::after{content:"";position:absolute;top:0;bottom:0;width:110px;z-index:3;pointer-events:none}
body.sbb .film-strip::before{left:0;background:linear-gradient(90deg,#101e38,rgba(16,30,56,0))}
body.sbb .film-strip::after{right:0;background:linear-gradient(270deg,#101e38,rgba(16,30,56,0))}
body.sbb .fs-item{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(5,12,28,.45);transition:transform .45s var(--sbease),box-shadow .45s var(--sbease)}
body.sbb .fs-item:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 22px 48px rgba(5,12,28,.6);z-index:4}
body.sbb .fs-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,42,0) 46%,rgba(10,20,42,.78));opacity:.9;transition:opacity .4s}
body.sbb .fs-item:hover::after{opacity:1}
body.sbb .fs-item img{transition:transform .8s var(--sbease)}
body.sbb .fs-item:hover img{transform:scale(1.06)}
body.sbb .fs-cap{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;color:#fff!important;font-weight:700;font-size:14.5px;line-height:1.35;text-shadow:0 2px 10px rgba(0,0,0,.5)}
body.sbb .fs-cap::before{content:"";display:block;width:26px;height:3px;border-radius:3px;background:linear-gradient(90deg,#F2CD5E,#0076C6);margin-bottom:8px;transform:scaleX(.4);transform-origin:left;transition:transform .45s var(--sbease)}
body.sbb .fs-item:hover .fs-cap::before{transform:scaleX(1)}
/* ================= Restyle archivio casi ================= */
body.sbb .cases-grid .case-tile{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 14px 36px rgba(10,22,46,.14);transition:transform .5s var(--sbease),box-shadow .5s var(--sbease)}
body.sbb .cases-grid .case-tile:hover{transform:translateY(-7px);box-shadow:0 26px 60px rgba(10,22,46,.24)}
body.sbb .cases-grid .case-tile img{transition:transform .9s var(--sbease)}
body.sbb .cases-grid .case-tile:hover img{transform:scale(1.055)}
body.sbb .cases-grid .case-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,42,0) 0%,rgba(10,20,42,.20) 28%,rgba(10,20,42,.62) 58%,rgba(10,20,42,.90) 100%);pointer-events:none}
body.sbb .cases-grid .case-tile .case-tile-body,body.sbb .cases-grid .case-tile figcaption,body.sbb .cases-grid .case-tile h3{position:relative;z-index:2}
/* filtri pill coordinati */
body.sbb .cases-filter a,body.sbb .cases-filter button,body.sbb [class*="filter"] .pill,body.sbb .filter-pill{border:1px solid #d8e2f0;background:#fff;color:#3a4a63;border-radius:999px;transition:all .3s var(--sbease)}
body.sbb .cases-filter a:hover,body.sbb .cases-filter button:hover,body.sbb .filter-pill:hover{border-color:#F2CD5E;color:#16243C;box-shadow:0 6px 18px rgba(242,205,94,.28)}
body.sbb .cases-filter .active,body.sbb .cases-filter [aria-pressed="true"],body.sbb .filter-pill.active{background:linear-gradient(150deg,#16243C,#0d1832)!important;color:#fff!important;border-color:#16243C!important}
/* ================= Chi siamo: sezione premi ================= */
.sbb-awards{margin:56px 0 10px;padding:48px 40px;background:linear-gradient(160deg,#14233f,#0b1730);border-radius:24px;color:#fff;position:relative;overflow:hidden}
.sbb-awards::before{content:"";position:absolute;width:320px;height:320px;right:-100px;top:-110px;border-radius:58% 42% 55% 45%/55% 48% 52% 45%;background:linear-gradient(135deg,rgba(242,205,94,.22),rgba(242,205,94,0) 70%);transform:rotate(24deg)}
.sbb-aw-head{position:relative;max-width:640px;margin-bottom:30px}
.sbb-aw-head .k{display:inline-block;color:#F2CD5E;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}
.sbb-aw-head h2{color:#fff!important;font-size:clamp(26px,3.4vw,38px);margin:0 0 12px}
.sbb-aw-head h2 b{color:#F2CD5E}
.sbb-aw-head p{color:rgba(226,233,245,.85);line-height:1.65;margin:0}
.sbb-aw-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}
.sbb-aw-grid figure{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(4,10,24,.5)}
.sbb-aw-grid img{width:100%;height:340px;object-fit:cover;display:block;transition:transform .8s var(--sbease)}
.sbb-aw-grid figure:hover img{transform:scale(1.045)}
.sbb-aw-grid figcaption{padding:12px 16px;background:rgba(255,255,255,.06);color:rgba(226,233,245,.85);font-size:13px}
.sbb-aw-stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:8px}
.sbb-aw-stats .s{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:18px 14px;text-align:center}
.sbb-aw-stats b{display:block;font-size:32px;font-style:italic;color:#F2CD5E;font-weight:700;line-height:1.1}
.sbb-aw-stats span{font-size:12.5px;color:rgba(226,233,245,.75);letter-spacing:.04em}
@media(max-width:700px){.sbb-awards{padding:36px 20px}.sbb-aw-grid{grid-template-columns:1fr}.sbb-aw-grid img{height:260px}.sbb-aw-stats{grid-template-columns:repeat(2,1fr)}}
/* footer: fascia associazioni */
.sbb-assoc{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;padding:20px 24px;border-top:1px solid rgba(255,255,255,.12);color:rgba(226,233,245,.6);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.sbb-assoc b{color:rgba(226,233,245,.9);font-weight:700}
.sbb-assoc i{font-style:normal;color:#F2CD5E}
/* FAQ accordion */
.sbb-faq{display:flex;flex-direction:column;gap:12px;margin:26px 0}
.sbb-faq details{background:#fff;border:1px solid #e2e9f4;border-radius:14px;padding:0;overflow:hidden;transition:box-shadow .3s var(--sbease)}
.sbb-faq details[open]{box-shadow:0 14px 36px rgba(10,22,46,.12);border-color:#c8d6ea}
.sbb-faq summary{cursor:pointer;list-style:none;padding:18px 48px 18px 20px;font-weight:700;color:#16243C;position:relative;font-size:16.5px}
.sbb-faq summary::-webkit-details-marker{display:none}
.sbb-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:linear-gradient(150deg,#16243C,#0d1832);color:#F2CD5E;display:flex;align-items:center;justify-content:center;font-weight:600;transition:transform .3s var(--sbease)}
.sbb-faq details[open] summary::after{content:"−";transform:translateY(-50%) rotate(180deg)}
.sbb-faq details p{margin:0;padding:0 20px 18px;color:#4a5a72;line-height:1.65}

/* ================= v8: pre-home gate — ottimizzazione mobile ================= */
/* Il gate centrava la card con align-items:center + max-height:92vh sulla card.
   Su iOS Safari 92vh ignora la barra URL: la card superava lo spazio reale e,
   essendo centrata, usciva dallo schermo in alto senza poter essere raggiunta.
   Ora scrolla il contenitore e la card si centra con margin:auto (che in flex
   non taglia mai il contenuto in overflow). */
.sbb-gate{
	align-items:flex-start;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	overscroll-behavior:contain;
	padding:16px;
	padding-top:max(16px,env(safe-area-inset-top));
	padding-bottom:max(16px,env(safe-area-inset-bottom));
}
@supports(height:100dvh){ .sbb-gate{ height:100dvh } }
.sbb-gate-card{
	max-height:none;
	overflow-y:visible;
	margin:auto;
}

@media(max-width:700px){
	.sbb-gate{ padding-left:12px;padding-right:12px }
	.sbb-gate-card{ border-radius:22px;padding:22px 18px 18px }
	.sbb-gate-card .gate-logo{ width:124px;height:25px;margin-bottom:12px }
	.sbb-gate-card h2{ font-size:21px;line-height:1.25;margin:0 0 6px;text-wrap:balance }
	.sbb-gate-card>p,.sbb-gate-card .sbb-gate-sub{ font-size:14px;line-height:1.45;margin:0 0 16px }
	/* petali ridotti: su schermi stretti rubavano contrasto al testo */
	.sbb-gate-card .sbp-petal.gp1{ width:190px;height:190px;right:-70px;top:-80px }
	.sbb-gate-card .sbp-petal.gp2{ width:130px;height:130px;left:-50px;bottom:-55px }

	/* opzioni compatte: icona a sinistra, testo a destra — 4 voci in un pollice */
	.gate-grid{ gap:9px }
	.gate-grid a{
		display:grid;
		grid-template-columns:38px 1fr;
		column-gap:12px;
		align-items:center;
		padding:13px 14px;
		border-radius:14px;
		min-height:56px;
	}
	.gate-grid .gi{
		grid-row:1 / span 2;
		width:38px;height:38px;
		margin-bottom:0;
		font-size:17px;
		border-radius:11px;
	}
	.gate-grid b{ font-size:15px;line-height:1.25;margin-bottom:2px;align-self:end }
	.gate-grid span:not(.gi){ font-size:12.5px;line-height:1.35;align-self:start }
	.gate-grid a:active{ transform:scale(.985);background:rgba(242,205,94,.12);border-color:rgba(242,205,94,.5) }

	.gate-skip{ margin-top:16px;font-size:14px;padding:10px 8px }
}

/* schermi molto bassi (iPhone SE / mini in orizzontale): ancora più compatto */
@media(max-width:700px) and (max-height:680px){
	.sbb-gate-card{ padding:18px 16px 14px }
	.sbb-gate-card .gate-logo{ margin-bottom:8px }
	.sbb-gate-card h2{ font-size:19px }
	.sbb-gate-card>p,.sbb-gate-card .sbb-gate-sub{ margin-bottom:12px }
	.gate-grid a{ padding:11px 12px;min-height:52px }
	.gate-grid span:not(.gi){ font-size:12px }
}

@media(prefers-reduced-motion:reduce){
	.sbb-gate{ animation:none }
	.gate-grid a{ transition:none }
}

.sbb-gate-card .gate-logo{filter:none;opacity:.96}

/* ================= v9: consenso cookie sempre sopra il gate ================= */
/* Il gate (z-index 99999) copriva il banner (z-index 90) intercettando i click:
   al primo accesso l'utente non poteva ne' accettare ne' rifiutare i cookie. */
#cookieBanner,#cookieModal{z-index:100010!important}
#cookieModal{position:fixed}
@media(max-width:700px){
	#cookieBanner{left:10px;right:10px;bottom:10px;width:auto;max-width:none}
	#cookieBanner .cookie-actions{display:flex;flex-wrap:wrap;gap:8px}
	#cookieBanner .cookie-actions button{flex:1 1 auto;min-height:44px}
}
