/*
Theme Name: IlBuzzo Minimal
Theme URI: https://www.ilbuzzo.net/
Author: IlBuzzo
Description: Tema leggero per Il sito del Buzzo, con modalità scura e archivio software.
Version: 1.1.4
Requires at least: 6.2
Requires PHP: 8.1
Text Domain: ilbuzzo-minimal
*/
:root{color-scheme:light;--bg:#f7fafb;--surface:#fff;--surface2:#edf5f5;--ink:#172a35;--muted:#526671;--line:#dce7e9;--accent:#147f83;--accent-hi:#0d626b;--glow:#d9f3ef;--shadow:0 8px 28px rgba(19,49,58,.06)}
:root[data-theme=dark]{color-scheme:dark;--bg:#101b23;--surface:#192831;--surface2:#20343e;--ink:#eef7f8;--muted:#b7c9cf;--line:#334851;--accent:#65c9c6;--accent-hi:#95e2df;--glow:#1c454b;--shadow:0 10px 35px rgba(0,0,0,.14)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:background-color .2s,color .2s}a{color:var(--accent-hi)}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.2;letter-spacing:-.025em}h1{font-size:clamp(2.5rem,6vw,4.6rem);margin:.45em 0}h2{font-size:clamp(1.7rem,3vw,2.5rem)}h3{font-size:1.2rem}p{margin:.6em 0 1.2em}.wrap{width:min(1100px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:5px;background:var(--surface);padding:8px;z-index:999}.skip-link:focus{left:10px}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:78px;flex-wrap:wrap}.brand{text-decoration:none;font-size:1.2rem;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.brand-dot{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.nav-list{display:flex;gap:1rem;list-style:none;padding:0;margin:0;flex-wrap:wrap}.nav-list a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.94rem}.nav-list a:hover{color:var(--accent)}button.theme-toggle{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:30px;background:var(--surface2);color:var(--ink);padding:.4rem .75rem;cursor:pointer;font:inherit;font-size:.85rem}.hero{padding:clamp(60px,8vw,112px) 0 60px;background:radial-gradient(ellipse at 82% 24%,var(--glow),transparent 39%)}.eyebrow{display:inline-block;color:var(--accent-hi);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em}.hero p{font-size:1.17rem;color:var(--muted);max-width:640px}.hero h1{max-width:750px}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.8rem}.btn{display:inline-block;text-decoration:none;border-radius:10px;padding:.65rem 1.1rem;font-weight:700;background:var(--accent);color:#fff}.btn:hover{background:var(--accent-hi);color:#fff}.btn-outline{background:transparent;color:var(--accent-hi);border:1px solid var(--line)}.btn-outline:hover{color:var(--ink);background:var(--surface2)}section.content-section{padding:48px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}.section-heading h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.35rem;box-shadow:var(--shadow)}.card h3{margin:.3rem 0 .5rem}.card h3 a{text-decoration:none;color:var(--ink)}.card h3 a:hover{color:var(--accent)}.card p{color:var(--muted)}.card .meta,.meta{color:var(--muted);font-size:.82rem}.card .readmore{font-weight:700;text-decoration:none}.no-content{color:var(--muted)}.page-body{padding:50px 0 90px}.reading{max-width:760px}.reading h1{font-size:clamp(2rem,4vw,3.3rem)}.reading img{border-radius:10px}.reading pre{padding:1rem;overflow-x:auto;border-radius:8px;background:var(--surface2)}.reading table{display:block;overflow-x:auto}.reading :is(input,textarea){max-width:100%}.listing .card{margin-bottom:1rem}.site-footer{padding:2rem 0;background:var(--surface);border-top:1px solid var(--line);color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-inner a{color:var(--accent-hi)}.tag{display:inline-block;background:var(--surface2);border-radius:100px;padding:.16rem .7rem;font-size:.75rem;color:var(--muted)}.wp-block-image img{height:auto}@media(max-width:780px){.cards{grid-template-columns:1fr 1fr}.header-inner{padding-block:14px}.nav-list{gap:.7rem}}@media(max-width:550px){.cards{grid-template-columns:1fr}.wrap{width:min(100% - 30px,1100px)}.hero{padding:55px 0}}

/* v0.2 — identità e navigazione leggera */
.header-inner{min-height:94px;flex-wrap:nowrap}
.brand{display:inline-flex;align-items:center;gap:.65rem;min-width:0;flex-shrink:0}
.brand-mark{display:block;width:57px;height:57px;object-fit:contain;flex-shrink:0}
.brand-copy{display:flex;flex-direction:column;gap:.06rem;min-width:0}
.brand-name{font-size:1.15rem;line-height:1.16;white-space:nowrap;letter-spacing:-.035em}
.brand-name span{color:var(--accent-hi)}
.brand-tagline{font-size:.65rem;line-height:1.35;font-weight:500;letter-spacing:.015em;color:var(--muted);white-space:nowrap}
.header-actions{flex-wrap:nowrap;gap:.8rem}
.primary-navigation{min-width:0}
.nav-list{align-items:center;gap:.85rem}
.nav-list .sub-menu{list-style:none;margin:0;padding:.6rem;display:none;position:absolute;top:100%;left:0;min-width:190px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);z-index:20}
.nav-list li{position:relative}
.nav-list li:hover>.sub-menu,.nav-list li:focus-within>.sub-menu{display:block}
.nav-list .sub-menu li a{display:block;padding:.3rem .4rem}
.menu-toggle{display:none;background:var(--surface2);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:.44rem .7rem;font:inherit;cursor:pointer;font-size:.9rem}
@media(max-width:980px){
.header-inner{flex-wrap:wrap;padding-block:13px;row-gap:.5rem}
.header-actions{flex:1;justify-content:flex-end;flex-wrap:wrap}
.menu-toggle{display:inline-flex}
.primary-navigation{display:none;order:3;flex-basis:100%;width:100%}
.primary-navigation.is-open{display:block}
.header-actions:has(.primary-navigation.is-open){width:100%;flex-wrap:wrap}
.nav-list{flex-direction:column;align-items:stretch;padding:8px 0;gap:.3rem}
.nav-list a{display:block;padding:.35rem}
.nav-list .sub-menu{position:static;display:block;padding:.25rem 0 .25rem .8rem;border:0;box-shadow:none;background:transparent}
}
@media(max-width:600px){
.brand-mark{width:43px;height:43px}
.brand-name{font-size:1rem}
.brand-tagline{font-size:.54rem;white-space:normal;max-width:230px}
.header-inner{gap:.55rem}
.header-actions{gap:.4rem}
button.theme-toggle{font-size:.78rem;padding:.4rem .55rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{transition:none}}

/* v0.3 — logo definitivo e proporzioni header */
.header-inner{min-height:112px}
.brand{gap:.8rem}
.brand-mark{width:90px;height:90px;object-fit:contain}
.brand-name{font-size:1.27rem}
.brand-tagline{font-size:.69rem}
@media(max-width:980px){.header-inner{min-height:100px}}
@media(max-width:600px){
 .brand-mark{width:66px;height:66px}
 .brand-name{font-size:1.05rem}
 .brand-tagline{font-size:.55rem;max-width:220px}
 .header-inner{min-height:88px}
}
@media(max-width:380px){.brand-mark{width:56px;height:56px}.brand-tagline{max-width:172px}}

/* v0.4 – archives, downloads, tutorials */
.archive-intro{max-width:740px;color:var(--muted);margin-bottom:1.8rem}.details{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.detail{padding:.3rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--surface2);font-size:.9rem}.download-actions{margin:1.6rem 0}.download-note{color:var(--muted);font-size:.9rem}.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.35rem 1.2rem;margin-bottom:.75rem}.faq-item summary{cursor:pointer;padding:1rem 0;font-weight:700;line-height:1.4}.faq-answer{padding:.3rem 0 1rem;border-top:1px solid var(--line)}.tutorial-grid .card{display:flex;flex-direction:column}.tutorial-grid .card .btn{margin-top:auto;text-align:center}.taxonomy-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}.taxonomy-filter a{border:1px solid var(--line);padding:.3rem .7rem;border-radius:30px;text-decoration:none}.taxonomy-filter a:hover{background:var(--surface2)}.section-kicker{color:var(--accent-hi);font-weight:700}.legacy-warning{border-left:3px solid var(--accent);padding:.8rem 1rem;background:var(--surface2);border-radius:6px;margin:1.1rem 0}.faq-search{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.75rem;width:min(100%,500px);margin:0 0 1.25rem}.site-header .brand-mark{object-fit:contain}

/* v0.5.2 - prevent crowded navigation, open mobile toggle sooner */
.header-inner{column-gap:1.1rem}
.header-actions{flex:1;justify-content:flex-end;min-width:0}
.nav-list{gap:.7rem;flex-wrap:nowrap}
.nav-list a{white-space:nowrap;font-size:.87rem}
.nav-list a[aria-current="page"]{color:var(--accent-hi)}
@media(max-width:1220px){
 .header-inner{flex-wrap:wrap;row-gap:.3rem;padding-block:12px}
 .header-actions{flex-basis:100%;justify-content:space-between}
 .brand{margin-right:auto}
}
@media(max-width:980px){
 .header-actions{flex-basis:auto;min-width:0;flex-wrap:wrap}
 .nav-list{flex-direction:column;align-items:stretch;flex-wrap:wrap}
 .nav-list a{white-space:normal}
}

/* v0.6 – balanced cards, readable excerpts and optional article imagery */
.cards{align-items:stretch}
.card-rich{padding:0;overflow:hidden;display:flex;flex-direction:column}
.card-rich .card-body{display:flex;flex-direction:column;flex:1;padding:1.35rem}
.card-rich .card-body .readmore{margin-top:auto;padding-top:.65rem}
.card-rich .card-image{display:block;width:100%;height:165px;object-fit:contain;border-bottom:1px solid var(--line);background:var(--surface2)}
.card-rich h3{overflow-wrap:anywhere}
.card-rich p{overflow-wrap:anywhere}
@media(max-width:700px){.card-rich .card-image{height:180px}.card-rich .card-body{padding:1.15rem}}
@media(prefers-reduced-motion:reduce){.card-rich{transition:none}}

/* v1.1: descrizioni editoriali dei blocchi homepage */
.section-description{max-width:740px;margin:-.35rem 0 1.5rem;color:var(--muted);line-height:1.7}

/* v1.1.3 - tutorial riprodotti nella cornice WordPress */
.ib-tutorial-frame { display:block; width:100%; max-width:100%; min-height:650px; height:min(85vh,860px); border:1px solid var(--line, #dae7e8); border-radius:14px; background:#f7f9fa; margin:22px 0 36px; }
@media (max-width:700px) { .ib-tutorial-frame { min-height:510px; height:75vh; } }

/* Privacy link: leggibile in entrambe le modalità */
.site-footer a {color:inherit;text-decoration:underline;text-underline-offset:3px;}
.site-footer a:hover,.site-footer a:focus-visible {color:var(--accent,#147f83);}
.footer-separator {padding:0 .45rem;}
