/*
Theme Name: ODT Theme
Description: Tema editoriale per Our Discovery Travel. Richiede il plugin ODT Core.
Version: 1.5.6
Requires PHP: 7.4
Text Domain: odt
*/
:root{--bg:#faf8f4;--ink:#16130f;--mute:#6b665d;--line:#e3ded4;--green:#0e3b25;--leaf:#129820;--fox:#f2661b;--dark:#0f1a14;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,Charter,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--w:1180px;--pad:clamp(1.1rem,4vw,2.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}a{color:inherit}
h1,h2,h3{font-family:var(--serif);line-height:1.12;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,6vw,4rem)}h2{font-size:clamp(1.6rem,3.6vw,2.4rem)}h3{font-size:1.25rem}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--pad)}.narrow{max-width:720px;margin:0 auto;padding:0 var(--pad)}
.sec{padding:clamp(3rem,8vw,6rem) 0}.sec.alt{background:#f1ede4}.sec.dark{background:var(--dark);color:#f4efe6}
.kicker{font:600 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fox);margin:0 0 .9rem}
.lead{font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.5;color:var(--mute);max-width:46ch}
.sec.dark .lead{color:#c9c3b6}.mute{color:var(--mute)}
.btn,.btn:visited{color:#fff}.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font:600 .8rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:1.05rem 1.6rem;border:2px solid var(--ink);border-radius:0;cursor:pointer;transition:.2s}
.btn:hover{background:var(--fox);border-color:var(--fox)}.btn.ghost{background:transparent;color:inherit;border-color:currentColor}.btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}.head h2{margin:0}
.more{font:600 .8rem var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--fox);padding-bottom:.2rem;white-space:nowrap}
/* header */
.site-h{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--line)}
.site-h .wrap{display:flex;align-items:center;gap:1.5rem;height:68px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font:700 .95rem var(--serif);letter-spacing:.02em}.brand img{width:38px;height:auto}
.nav{margin-left:auto}.nav ul{display:flex;gap:1.35rem;list-style:none;margin:0;padding:0}
.nav a{font:600 .74rem var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav .current-menu-item>a,.nav .on>a,.nav .has-sub.on>.sub-t{border-color:var(--fox)}
.nav>ul>li>a,.sub-t{white-space:nowrap}
.sub-t{font:600 .74rem var(--sans);letter-spacing:.1em;text-transform:uppercase;background:none;border:0;border-bottom:2px solid transparent;padding:.4rem 0;cursor:pointer;color:inherit}
.sub-t:after{content:"";display:inline-block;margin-left:.45rem;border:4px solid transparent;border-top-color:currentColor;border-bottom:0;vertical-align:middle}
.has-sub{position:relative}.nav .sub{display:none}
.nav .sub a{display:block;border:0;padding:.6rem 1.1rem;white-space:nowrap}.nav .sub a:hover,.nav .sub .on a{background:#f1ede4;color:var(--fox)}
@media(min-width:1061px){.nav .sub{position:absolute;top:100%;left:-1rem;min-width:210px;background:var(--bg);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.08);padding:.4rem 0;margin-top:1rem;flex-direction:column;gap:0}
.nav .sub:before{content:"";position:absolute;left:0;right:0;top:-1rem;height:1rem}
.has-sub:hover>.sub,.has-sub:focus-within>.sub,.has-sub.open>.sub{display:flex}}
.yt{background:var(--fox);color:#fff!important;padding:.6rem .95rem!important;border:0!important}
.burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:0}
.burger span,.burger span:before,.burger span:after{display:block;width:24px;height:2px;background:var(--ink);content:"";position:relative;transition:.2s;margin:0 auto}
.burger span:before{top:-7px;position:absolute;left:0}.burger span:after{top:7px;position:absolute;left:0}.burger span{position:relative}
@media(max-width:1060px){.burger{display:block}.nav{position:fixed;top:68px;left:0;right:0;bottom:0;z-index:99;background:var(--bg);padding:1.5rem var(--pad) 3rem;display:none;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0}
.nav.open{display:block}.nav ul{flex-direction:column;gap:0}.nav a{display:block;font-size:1.05rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.sub-t{display:block;width:100%;text-align:left;font-size:1.05rem;padding:1rem 0;border-bottom:1px solid var(--line);letter-spacing:.1em}.sub-t:after{float:right;margin-top:.5rem}
.nav .has-sub.open>.sub{display:block;padding-left:1rem}.nav .sub a{font-size:.98rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.nav .sub a:hover,.nav .sub .on a{background:none}.yt{display:inline-block!important;margin-top:1rem}}
/* hero */
.hero{position:relative;color:#fff;background:var(--dark) center/cover;min-height:min(88vh,780px);display:flex;align-items:flex-end}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.72))}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .wrap{position:relative;padding-bottom:clamp(2.5rem,7vw,5rem);padding-top:6rem}
.hero .brandline{font:600 .8rem var(--sans);letter-spacing:.22em;text-transform:uppercase;margin-bottom:1.2rem;color:#fff}
.hero h1{max-width:18ch;font-size:clamp(2rem,6vw,4.3rem)}.hero .lead{color:#eee}
.phero{padding:clamp(3rem,8vw,5.5rem) 0 2rem}.phero h1{max-width:20ch}
/* grid + card */
.grid{display:grid;gap:clamp(1.2rem,2.5vw,2rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.grid.two{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}
.card{display:flex;flex-direction:column;text-decoration:none;color:inherit;height:100%}
.card .im{aspect-ratio:16/10;background:#e8e3d8 center/cover;overflow:hidden;position:relative}.card .im img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .im img{transform:scale(1.04)}.card.tall .im{aspect-ratio:4/5}
.card .meta{font:600 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:.9rem 0 .3rem}
.card h3{font-size:1.25rem;margin:0 0 .4rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card p{margin:0;color:var(--mute);font-size:.97rem}
.card .ex{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .im{flex:none}.card .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ece7dc}.card .ph img{width:64px;height:auto;opacity:.45;object-fit:contain}
.card .im>img:first-child{position:absolute;inset:0}.card .meta{min-height:1.2em}
.card .dur{position:absolute;right:.6rem;bottom:.6rem;background:rgba(0,0,0,.75);color:#fff;font:600 .7rem var(--sans);padding:.25rem .5rem}
.feat{display:grid;gap:2rem;align-items:center}@media(min-width:860px){.feat{grid-template-columns:1.4fr 1fr}}
.feat .im{aspect-ratio:16/9;background:#222 center/cover}.feat .im img{width:100%;height:100%;object-fit:cover}
/* pills */
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem;padding:0;list-style:none}
.pills a{display:block;border:1px solid var(--line);padding:.5rem .95rem;text-decoration:none;font:600 .75rem var(--sans);letter-spacing:.06em;text-transform:uppercase;background:#fff}
.pills a:hover,.pills .on a{background:var(--ink);color:#fff;border-color:var(--ink)}
/* video facade */
.yt-f{position:relative;aspect-ratio:16/9;background:#000;cursor:pointer;display:block;width:100%;border:0;padding:0;overflow:hidden}
.yt-f img{width:100%;height:100%;object-fit:cover;opacity:.85}.yt-f iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-f .play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px;border-radius:50%;background:var(--fox);box-shadow:0 6px 24px rgba(0,0,0,.4)}
.yt-f .play:after{content:"";position:absolute;left:30px;top:22px;border-left:24px solid #fff;border-top:16px solid transparent;border-bottom:16px solid transparent}
.yt-f.vert{aspect-ratio:9/16;max-width:320px}
/* stats */
.stats{display:grid;gap:2.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));margin-top:2.5rem}
.stat b{display:block;white-space:nowrap;font:700 clamp(2.2rem,4.2vw,3.2rem)/1 var(--serif);color:var(--fox)}.stat b small{font-size:.45em;font-weight:600;letter-spacing:.04em;margin-left:.1em}.stat span{display:block;margin-top:.5rem;color:#c9c3b6}
/* prose */
.prose{font-size:1.1rem;line-height:1.75}.prose p,.prose ul,.prose ol{margin:0 0 1.3em}.prose img{margin:2rem 0;height:auto}.prose h2,.prose h3{margin-top:1.8em}
.prose a:not(.btn):not(.wp-block-button__link){color:var(--green);text-decoration-thickness:1px;text-underline-offset:3px}
.wp-block-button__link,.prose .wp-block-button__link{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font:600 .8rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:1.05rem 1.6rem;border:2px solid var(--ink);border-radius:0}
.wp-block-button__link:hover{background:var(--fox);border-color:var(--fox);color:#fff}
.is-style-outline .wp-block-button__link{background:transparent;color:var(--ink)}.is-style-outline .wp-block-button__link:hover{background:var(--ink);color:#fff}
.sec.dark .btn.ghost,.cta-band .btn.ghost,.hero .btn.ghost{color:#fff}.sec.dark .btn.ghost:hover,.cta-band .btn.ghost:hover,.hero .btn.ghost:hover{color:var(--ink)}.prose blockquote{border-left:3px solid var(--fox);margin:2rem 0;padding-left:1.4rem;font:italic 1.3rem/1.5 var(--serif)}
.prose .wp-block-image figcaption{font-size:.85rem;color:var(--mute)}
.facts{display:grid;gap:1rem 2rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts dt{font:600 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.facts dd{margin:.2rem 0 0;font-weight:600}
.gallery{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.list{padding:0;margin:0;list-style:none}.list li{padding:.7rem 0;border-bottom:1px solid var(--line)}
.cols{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.box{background:#fff;border:1px solid var(--line);padding:1.8rem}.box h3{font-size:1.4rem}
.team{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.team .im{aspect-ratio:4/5;background:#e8e3d8 center/cover}.team .im img{width:100%;height:100%;object-fit:cover}
.press{display:grid;gap:0}.press>a,.press>div{display:grid;gap:.4rem 1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--line);text-decoration:none}
@media(min-width:760px){.press>a,.press>div{grid-template-columns:180px 1fr}}.press strong{font:700 1.1rem var(--serif)}.press .m{font:600 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--fox)}
.cta-band{background:var(--green);color:#fff;text-align:center;padding:clamp(3rem,7vw,5rem) 0}.cta-band h2{max-width:20ch;margin:0 auto 1rem}
/* form */
.odt-form label{display:block;font:600 .8rem var(--sans);letter-spacing:.04em;margin-bottom:.3rem}
.odt-form input[type=text],.odt-form input[type=email],.odt-form select,.odt-form textarea,.nl input[type=email]{width:100%;padding:.9rem;border:1px solid #bdb6a8;background:#fff;font:inherit;border-radius:0}
.odt-form .row2{display:grid;gap:0 1rem}@media(min-width:600px){.odt-form .row2{grid-template-columns:1fr 1fr}}
.odt-form .check label{font-weight:400;display:flex;gap:.6rem}.hp{position:absolute;left:-9999px}
.notice{padding:1rem 1.2rem;margin:0 0 1.5rem;border-left:4px solid}.notice.ok{background:#e9f5e9;border-color:var(--leaf)}.notice.err{background:#fdecea;border-color:#c0392b}
.odt-nl{max-width:560px}.nl-msg{margin:.5rem 0 0}
/* footer */
.site-f{background:var(--dark);color:#cfc9bc;padding:4rem 0 2rem;font-size:.95rem}.site-f a{text-decoration:none}.site-f a:hover{color:var(--fox)}
.site-f .top{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.site-f img{width:64px;margin-bottom:1rem}
.site-f h4{color:#fff;font:600 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem}.site-f ul{list-style:none;margin:0;padding:0}.site-f li{margin:.4rem 0}
.site-f .bot{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #2a3a30;display:flex;flex-wrap:wrap;gap:1rem 2rem;font-size:.82rem}
.pag{display:flex;gap:.5rem;justify-content:center;margin-top:3rem}.pag .page-numbers{padding:.6rem .95rem;border:1px solid var(--line);text-decoration:none;background:#fff}.pag .current{background:var(--ink);color:#fff}
.empty{padding:2rem;border:1px dashed #bdb6a8;color:var(--mute)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.7rem;z-index:99}.skip:focus{left:0}

/* mappa */
.odt-map{margin-top:2rem}.map-stage{position:relative;background:#e9e4d9;overflow:hidden;aspect-ratio:1000/400}
.map-stage svg{display:block;width:100%;height:100%}.map-stage .land{fill:#cfc8b8;opacity:0;animation:landin 1.2s .1s forwards}
@keyframes landin{to{opacity:1}}
.pin{cursor:pointer;outline:none}.pin .dot{fill:var(--fox);stroke:#fff;stroke-width:2}.pin .ring{fill:none;stroke:var(--fox);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
.pin .core{opacity:0;animation:pop .5s forwards}@keyframes pop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(3.2);opacity:0}}
.pin:hover .dot,.pin:focus .dot,.pin.on .dot{fill:var(--green)}.pin.on .ring{stroke:var(--green)}
.map-panel{background:#fff;border:1px solid var(--line);border-top:0;padding:1.2rem 1.4rem;min-height:5rem}
.map-panel h3{margin:0 0 .6rem}.map-panel ul{list-style:none;margin:0;padding:0;max-height:240px;overflow:auto}.map-panel li{padding:.45rem 0;border-bottom:1px solid var(--line)}
.map-panel .t{font:600 .68rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--fox);margin-right:.5rem}
@media(max-width:600px){.map-stage{aspect-ratio:1000/520}}
@media(prefers-reduced-motion:reduce){.pin .ring{animation:none}.map-stage .land{animation:none;opacity:1}.pin .core{animation:none;opacity:1}}

/* missioni a scorrimento */
.rail{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.rail::-webkit-scrollbar{display:none}
.rail-item{flex:0 0 min(84%,380px);scroll-snap-align:start}
.rail-ctl{display:flex;align-items:center;gap:.5rem}.rail-ctl button{width:44px;height:44px;border:1px solid var(--ink);background:transparent;font-size:1.1rem;cursor:pointer}.rail-ctl button:hover{background:var(--ink);color:#fff}.rail-ctl .more{margin-left:1rem}
@media(max-width:600px){.rail-ctl button{display:none}.rail-ctl .more{margin-left:0}}
/* collabora */
.pick{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.pick-i{display:flex;flex-direction:column;gap:.7rem;padding:1.6rem;border:1px solid var(--line);background:#fff;text-decoration:none;transition:.2s}.pick-i:hover{border-color:var(--fox);transform:translateY(-2px)}
.pick-i strong{font:700 1.2rem/1.25 var(--serif)}.pick-i .go{font:600 .75rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:auto}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.chips li{border:1px solid var(--ink);padding:.55rem .95rem;font:600 .82rem var(--sans);background:#fff}
section[id]{scroll-margin-top:84px}
/* rete ODT */
.net{display:grid;gap:0 2.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));margin-top:.8rem}.net-i{border-top:1px solid var(--line);padding:1rem 0}.net-i h3{margin:0 0 .3rem;font-size:1.15rem}.net-i p{margin:.2rem 0}.net-i .meta{font:600 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}

/* filtri articoli */
.filters{display:flex;flex-wrap:wrap;gap:1rem 1.2rem;align-items:end;margin:0 0 2rem}.filters label{display:flex;flex-direction:column;gap:.3rem;font:600 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.filters select{min-width:170px;padding:.7rem .9rem;border:1px solid #bdb6a8;background:#fff;font:400 .95rem var(--sans);color:var(--ink);border-radius:0;text-transform:none;letter-spacing:0}
/* parlano di noi (scorrimento) */
.pcard{display:flex;flex-direction:column;gap:.6rem;height:100%;min-height:210px;padding:1.4rem;border:1px solid var(--line);background:#fff;text-decoration:none;color:inherit}
.pcard:hover{border-color:var(--ink)}.pcard .m{font:600 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--fox)}
.pcard strong{font:700 1.15rem/1.3 var(--serif)}.pcard .ex{color:var(--mute);font-size:.93rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pcard .go{margin-top:auto;font:600 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
/* rete ODT */
.org-grid{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}.org[hidden]{display:none}
.org{position:relative;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.org:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.09)}
.org-im{position:relative;aspect-ratio:4/3;background:#e8e3d8 center/cover}.org-im.ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1c5a38,#0e3b25)}
.org-im .ini{font:700 3.2rem var(--serif);color:rgba(255,255,255,.88);letter-spacing:.04em}
.org-c{position:absolute;left:.8rem;top:.8rem;background:rgba(15,26,20,.82);color:#fff;font:600 .66rem var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:.35rem .6rem}
.org-logo{position:absolute;right:.8rem;bottom:-1.4rem;width:56px;height:56px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid var(--line);padding:6px}
.org-b{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.3rem;flex:1}.org-b h3{font-size:1.25rem;margin:0}.org-b .meta{margin:0;font:600 .7rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.org-b .ex{margin:.2rem 0 0;color:var(--mute);font-size:.94rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.stretch{text-decoration:none}.stretch:after{content:"";position:absolute;inset:0;z-index:1}.org-site{position:relative;z-index:2;margin-top:auto;padding-top:.7rem;font:600 .78rem var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--green)}
/* sponsor */
.spons-grid{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr))}
.spons{position:relative;background:#fff;border:1px solid var(--line);padding:1.6rem}.spons h3{margin:1rem 0 .3rem}
.spons-logo{display:flex;align-items:center;justify-content:center;height:130px;background:#faf8f4;border:1px solid var(--line);padding:1rem;text-decoration:none;font:700 1.2rem var(--serif)}
.spons-logo img{max-height:100%;width:auto;max-width:100%;object-fit:contain}.spons-logo.big{height:170px;max-width:360px;margin-bottom:1.5rem}
.spons-done{list-style:none;margin:0;padding:0}.spons-done li{display:flex;gap:.8rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--line);font-size:.92rem;line-height:1.35}
.spons-done .th{flex:none;width:56px;height:42px;background:#e8e3d8 center/cover}.spons-done em{display:block;font:600 .62rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--fox);font-style:normal}
.sp-row{display:flex;flex-wrap:wrap;gap:1rem}.sp-logo{display:flex;align-items:center;justify-content:center;min-width:150px;height:84px;padding:.8rem 1.2rem;background:#fff;border:1px solid var(--line);text-decoration:none;font:700 1rem var(--serif)}.sp-logo img{max-height:100%;width:auto;max-width:170px;object-fit:contain}
.pick-i[data-tipo]{cursor:pointer}

/* mappe: controlli, rete, hub */
.map-ctl{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin-bottom:.8rem}
.map-reg,.map-zoom{display:flex;gap:.35rem;flex-wrap:wrap}
.map-ctl button{border:1px solid var(--ink);background:#fff;color:var(--ink);font:600 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:.55rem .8rem;cursor:pointer;min-height:40px}
.map-ctl button:hover{background:var(--ink);color:#fff}.map-zoom button{width:40px;font-size:1.1rem;padding:0}
.map-stage svg{touch-action:pan-y;cursor:grab}.map-stage svg:active{cursor:grabbing}
.map-stage .pin text{pointer-events:none}
/* storie a scorrimento */
.rail.tall .rail-item{flex:0 0 min(70%,250px)}
/* sito e social */
.soc{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:.8rem 0 0}.soc a{font:600 .8rem var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--green);text-decoration:none;border-bottom:1px solid currentColor}
.soc.compact{position:relative;z-index:2;margin:auto 0 0;padding-top:.7rem}.soc.compact a{font-size:.7rem}.sec.dark .soc a{color:#fff}
/* sponsor ricchi */
.spons-list{display:grid;gap:1.6rem}.spons-big{position:relative;display:grid;gap:1.4rem;padding:1.6rem;background:#fff;border:1px solid var(--line)}
@media(min-width:820px){.spons-big{grid-template-columns:260px 1fr;align-items:start;padding:2rem}}
.spons-big h2{font-size:1.9rem;margin:0 0 .5rem}.spons-thumbs{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.5rem 1.2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.spons-thumbs li{display:flex;gap:.8rem;align-items:center;font-size:.92rem;line-height:1.35}.spons-thumbs .th{flex:none;width:64px;height:46px;background:#e8e3d8 center/cover}.spons-thumbs em{display:block;font:600 .62rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--fox);font-style:normal}
.spons-hero{display:grid;gap:2rem;align-items:center}@media(min-width:820px){.spons-hero{grid-template-columns:300px 1fr}}.spons-hero .spons-logo.big{background:#fff;margin:0;height:200px;max-width:none}

/* "Cos'è ODT" con foto */
.about{display:grid;gap:2.5rem;align-items:center}@media(min-width:860px){.about{grid-template-columns:1.1fr 1fr}}
.about-im img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* stato e contributi */
.badge{display:inline-block;margin:0 0 .6rem;padding:.3rem .65rem;background:#e9e4d9;color:var(--mute);font:600 .66rem var(--sans);letter-spacing:.12em;text-transform:uppercase}
.badge.on{background:var(--green);color:#fff}
.contrib{display:grid;gap:0;margin-top:1.4rem;background:#fff;border:1px solid var(--line)}.contrib-row{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1rem 1.3rem;border-bottom:1px solid var(--line)}.contrib-row:last-child{border-bottom:0}
.contrib-row a{text-decoration:none}.contrib-amt{font:700 1.5rem var(--serif);color:var(--green);white-space:nowrap}
@media(max-width:560px){.contrib-row{flex-direction:column;align-items:flex-start;gap:.3rem}}
