/*
Theme Name: Investire in Oro
Description: Tema leggero e mobile-first per investire-in-oro. Nessuna libreria esterna, nessun font scaricato, menu a mega pannelli senza jQuery.
Version: 0.1.0
Requires PHP: 7.4
Text Domain: investire-oro
*/
:root{--ink:#14201c;--paper:#f6f6f1;--white:#fff;--brass:#8f6610;--gold:#d5a42b;--tint:#f1ead2;--line:#d8d3bf;--muted:#56605b;--w:1120px;--r:3px;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.65 var(--sans)}
img,iframe,video{max-width:100%;height:auto}
a{color:var(--brass);text-underline-offset:.15em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.6em 1em;z-index:100}.skip:focus{left:0}
.wrap{max-width:var(--w);margin:0 auto;padding:0 1rem}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.2;color:var(--ink);font-weight:700}
h1{font-size:clamp(1.9rem,4.5vw,2.9rem);margin:.2em 0 .5em}
h2{font-size:clamp(1.4rem,3vw,1.9rem);margin:1.6em 0 .5em}
h3{font-size:1.25rem;margin:1.4em 0 .4em}

/* ---------- header e menu ---------- */
.site-header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:50}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;position:static}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font:700 1.35rem/1 var(--serif);letter-spacing:-.01em}
.brand svg{flex:none}
.brand small{display:block;font:400 .72rem/1.2 var(--sans);color:var(--muted);letter-spacing:0;margin-top:.2rem}
.nav-toggle{display:none;font:inherit;font-weight:600;background:none;border:1px solid var(--ink);border-radius:var(--r);padding:.45em .8em;color:var(--ink)}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav a{text-decoration:none;color:var(--ink)}
.site-nav a:hover{color:var(--brass)}
@media (min-width:901px){
 .site-nav{flex:1}
 .menu-principale{display:flex;justify-content:flex-end;gap:.15rem}
 .menu-principale>li>a{padding:1.35rem .75rem;font-weight:600;font-size:.98rem;border-bottom:3px solid transparent}
 .menu-principale>li:hover>a,.menu-principale>li:focus-within>a,.menu-principale>li.current-menu-ancestor>a,.menu-principale>li.current-menu-item>a{border-bottom-color:var(--gold)}
 .site-nav .sub-toggle{display:none}
 .menu-principale>li>.sub-menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);border-top:3px solid var(--gold);border-bottom:1px solid var(--line);box-shadow:0 18px 30px -20px rgba(20,32,28,.35);padding:1.4rem max(1rem,calc((100vw - var(--w))/2 + 1rem)) 1.6rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.6rem}
 .menu-principale>li:hover>.sub-menu,.menu-principale>li:focus-within>.sub-menu{display:grid}
 .menu-principale>li.semplice{position:relative}
 .menu-principale>li.semplice>.sub-menu{left:0;right:auto;min-width:260px;display:none;padding:.6rem 0;grid-template-columns:1fr;gap:0}
 .menu-principale>li.semplice:hover>.sub-menu,.menu-principale>li.semplice:focus-within>.sub-menu{display:block}
 .menu-principale>li.semplice>.sub-menu a{display:block;padding:.45rem 1.1rem}
}
.col-t{font:700 .82rem/1.3 var(--sans);color:var(--muted);border-bottom:1px solid var(--line);display:block;padding-bottom:.4rem;margin-bottom:.4rem}
.sub-menu .col-titolo .sub-menu a{padding:.28rem 0;display:block;font-size:.97rem}
.site-nav .sub-menu .sub-menu{padding-left:0}
.sub-menu .sub-menu .sub-menu{padding-left:1rem;border-left:2px solid var(--tint);margin:.1rem 0 .3rem}
.sub-menu .sub-menu .sub-menu a{font-size:.9rem;color:var(--muted)}
.site-nav .current-menu-item>a{color:var(--brass);font-weight:600}
@media (max-width:900px){
 .nav-toggle{display:block}
 .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--line);max-height:calc(100vh - 64px);overflow:auto;padding:.4rem 1rem 1rem}
 .nav-open .site-nav{display:block}
 .site-nav li{position:relative}
 .site-nav a{display:block;padding:.6rem 2.6rem .6rem 0;border-bottom:1px solid var(--tint)}
 .site-nav .sub-menu{display:none;padding-left:.8rem}
 .site-nav li.is-open>.sub-menu{display:block}
 .sub-toggle{position:absolute;right:0;top:.2rem;width:2.4rem;height:2.4rem;background:none;border:0;font:inherit;font-size:1.2rem;color:var(--ink);cursor:pointer}
 .sub-toggle:after{content:"+"}.is-open>.sub-toggle:after{content:"–"}
 .site-nav .sub-menu .sub-toggle{display:none}
 .site-nav .sub-menu .sub-menu{display:block;padding-left:.8rem}
 .site-nav .col-t{display:block;padding:.6rem 0 .2rem;font-weight:700;font-size:.88rem;color:var(--muted)}
 .no-js .site-nav{display:block;position:static;max-height:none}.no-js .site-nav .sub-menu{display:block}.no-js .nav-toggle{display:none}
}

/* ---------- briciole, contenuto ---------- */
.crumbs{font-size:.85rem;color:var(--muted);padding:1rem 0 0}
.crumbs a{color:var(--muted)}
.crumbs span+span:before{content:"/";margin:0 .45em;color:var(--line)}
.page-main{padding:1rem 0 3rem}
.entry{max-width:780px;margin:0 auto}
.entry-meta{font-size:.88rem;color:var(--muted);margin:-.2rem 0 1.2rem}
.entry-content{font-size:1.0625rem}
.entry-content>*{max-width:100%}
.entry-content img{border-radius:var(--r)}
.entry-content .alignleft{float:left;margin:.3em 1.2em .8em 0}
.entry-content .alignright{float:right;margin:.3em 0 .8em 1.2em}
.entry-content .aligncenter,.entry-content .wp-caption.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%;margin-bottom:1em}.wp-caption-text{font-size:.85rem;color:var(--muted);text-align:center}
.entry-content:after{content:"";display:block;clear:both}
.entry-content table:not(.iio-tabella){border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:.95rem}
.entry-content table:not(.iio-tabella) th,.entry-content table:not(.iio-tabella) td{border:1px solid var(--line);padding:.5em .7em;text-align:left;vertical-align:top}
.entry-content table:not(.iio-tabella) th{background:var(--tint)}
.entry-content blockquote{margin:1.4em 0;padding:.2em 1.2em;border-left:4px solid var(--gold);background:var(--white)}
.entry-content hr{border:0;border-top:1px solid var(--line);margin:2em 0}
@media (min-width:1000px){.entry-content .iio-tabella-wrap,.entry-content .iio-grafico{width:min(980px,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%)}}
@media (max-width:560px){.entry-content .alignleft,.entry-content .alignright{float:none;display:block;margin:.8em auto}}
.post-nav{display:flex;justify-content:space-between;gap:1rem;margin:2.5rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:.95rem}
.avviso{background:var(--tint);border-left:4px solid var(--gold);padding:.8em 1em;font-size:.92rem;margin:2rem 0 0}

/* ---------- elenchi (blog, categorie, ricerca) ---------- */
.lista{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:1.5rem 0}
.voce{background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.voce img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:0}
.voce div{padding:1rem 1.1rem 1.2rem}
.voce h2,.voce h3{font-size:1.15rem;margin:0 0 .4rem}
.voce h2 a,.voce h3 a{text-decoration:none;color:var(--ink)}.voce h2 a:hover,.voce h3 a:hover{color:var(--brass)}
.voce p{margin:0;font-size:.93rem;color:var(--muted)}
.pagination{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0}
.pagination a,.pagination span{padding:.4em .8em;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;background:var(--white)}
.pagination .current{background:var(--ink);color:#fff;border-color:var(--ink)}
.search-form{display:flex;gap:.5rem;max-width:480px}
.search-form input[type=search]{flex:1;font:inherit;padding:.6em .8em;border:1px solid var(--line);border-radius:var(--r)}
.search-form button{font:inherit;font-weight:600;padding:.6em 1.1em;border:0;background:var(--ink);color:#fff;border-radius:var(--r);cursor:pointer}

/* ---------- home ---------- */
.hero{background:var(--white);border-bottom:1px solid var(--line);padding:2.2rem 0 2.6rem}
.hero .wrap{display:grid;gap:2rem;align-items:center}
@media (min-width:880px){.hero .wrap{grid-template-columns:1.15fr .85fr;gap:3rem}}
.hero h1{margin:0 0 .5rem;max-width:16ch}
.hero .lead{font-size:1.15rem;max-width:46ch;color:#2d3a35;margin:0 0 1.4rem}
.btns{display:flex;flex-wrap:wrap;gap:.7rem}
.btn{display:inline-block;font-weight:600;text-decoration:none;padding:.7em 1.3em;border-radius:var(--r);border:2px solid var(--ink);background:var(--ink);color:#fff}
.btn:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn.sec{background:transparent;color:var(--ink)}.btn.sec:hover{background:var(--tint);border-color:var(--ink);color:var(--ink)}
.ticket{background:var(--paper);border:2px solid var(--ink);border-radius:var(--r);padding:1.1rem 1.2rem 1rem 2.6rem;position:relative}
.ticket:before{content:"";position:absolute;left:0;top:0;bottom:0;width:22px;border-right:2px solid var(--ink);background:repeating-linear-gradient(to bottom,var(--ink) 0 1px,transparent 1px 8px) right/10px 100% no-repeat,repeating-linear-gradient(to bottom,var(--ink) 0 2px,transparent 2px 40px) right/20px 100% no-repeat}
.ticket-riga{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.55rem 0;border-bottom:1px dashed var(--line);text-decoration:none;color:var(--ink)}
.ticket-riga:last-of-type{border-bottom:0}
.ticket-riga span:first-child{font-size:.92rem;color:var(--muted)}
.ticket-riga b{font:700 1.7rem/1.1 var(--serif);font-variant-numeric:tabular-nums}
.ticket-riga:first-child b{font-size:2.5rem;color:var(--brass)}
.ticket-riga:hover span:first-child{color:var(--ink)}
.ticket-nota{font-size:.78rem;color:var(--muted);margin:.5rem 0 0}
.sez{padding:2.6rem 0}
.sez h2{margin-top:0}
.sez-testa{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.indice{display:grid;gap:0 2.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1rem}
.indice a{display:block;padding:.85rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.indice a b{display:block;font:700 1.08rem/1.3 var(--serif)}
.indice a span{font-size:.92rem;color:var(--muted)}
.indice a:hover b{color:var(--brass)}
.guida{display:grid;gap:1.8rem;grid-template-columns:1fr}
@media (min-width:820px){.guida{grid-template-columns:1.2fr 1fr;gap:3rem}}
.guida-grande img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r);display:block}
.guida-grande h3{font-size:1.6rem;margin:.9rem 0 .4rem}
.guida-grande h3 a{color:var(--ink);text-decoration:none}.guida-grande h3 a:hover{color:var(--brass)}
.guida-altre a{display:block;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.guida-altre a:first-child{padding-top:0}
.guida-altre b{display:block;font:700 1.12rem/1.3 var(--serif)}.guida-altre span{font-size:.93rem;color:var(--muted)}
.guida-altre a:hover b{color:var(--brass)}
.banda{background:var(--ink);color:#e9e6da;padding:2.6rem 0}
.banda h2{color:#fff;margin-top:0}
.banda p{max-width:56ch}
.banda a:not(.btn){color:var(--gold)}
.banda .btn{background:var(--gold);border-color:var(--gold);color:var(--ink)}.banda .btn:hover{background:#fff;border-color:#fff}
.banda .btn.sec{background:transparent;color:#fff;border-color:#fff}.banda .btn.sec:hover{background:#fff;color:var(--ink)}
.banda .wrap{display:grid;gap:2rem;align-items:center}
@media (min-width:760px){.banda .wrap{grid-template-columns:1fr 220px}}
.banda img{display:block;margin:0 auto;border-radius:var(--r);box-shadow:0 10px 30px rgba(0,0,0,.45)}

/* ---------- footer ---------- */
.site-footer{background:#0e1613;color:#c8cfca;padding:2.4rem 0 1.4rem;font-size:.93rem}
.site-footer a{color:#e9e6da;text-decoration:none}.site-footer a:hover{color:var(--gold);text-decoration:underline}
.foot-grid{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.site-footer h2{font:700 1rem/1.3 var(--serif);color:#fff;margin:0 0 .6rem}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:.3rem 0}
.foot-nota{border-top:1px solid #2a3732;margin-top:1.8rem;padding-top:1rem;font-size:.82rem;color:#99a39d}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
