/* ============================================================
   GIOCHI DI FIUTO · MODERN UI v20
   Complete visual override. Loaded from header.php.
   ============================================================ */
:root{
 --v20-bg:#f6f5f1;--v20-surface:#fff;--v20-soft:#eeeee8;--v20-ink:#142421;--v20-muted:#66736f;
 --v20-teal:#167f80;--v20-teal-dark:#0d5e60;--v20-rust:#c86648;--v20-gold:#d3aa45;
 --v20-line:rgba(20,36,33,.12);--v20-shadow:0 10px 34px rgba(20,36,33,.07);
 --v20-radius:14px;--v20-font:'Manrope',Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
}
html{background:var(--v20-bg)!important}
body{font-family:var(--v20-font)!important;background:var(--v20-bg)!important;color:var(--v20-ink)!important;line-height:1.62!important;font-size:16px!important}
.container{width:min(1280px,calc(100% - 40px))!important}
main{overflow:clip}

/* Light, contemporary header */
.site-header.gdf-v20-header{position:sticky!important;top:0!important;z-index:200!important;background:rgba(255,255,255,.96)!important;color:var(--v20-ink)!important;border-bottom:1px solid var(--v20-line)!important;box-shadow:0 4px 20px rgba(20,36,33,.035)!important;backdrop-filter:blur(18px)!important}
.gdf-v20-header .header-inner{min-height:76px!important;gap:18px!important}
.gdf-v20-header .brand{width:164px!important;min-width:164px!important}
.gdf-v20-header .brand img{display:block!important;width:164px!important;max-height:58px!important;object-fit:contain!important;filter:none!important;opacity:1!important}
.gdf-v20-header .main-nav{gap:1px!important;margin-left:auto!important}
.gdf-v20-header .main-nav a{color:#263632!important;background:transparent!important;border-radius:8px!important;padding:8px 8px!important;font-size:11.5px!important;font-weight:700!important;line-height:1.1!important;text-decoration:none!important;display:flex!important;align-items:center!important;gap:5px!important;white-space:nowrap!important}
.gdf-v20-header .main-nav a:after{display:none!important}
.gdf-v20-header .main-nav a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
.gdf-v20-header .main-nav a:hover{color:var(--v20-teal-dark)!important;background:#eef7f6!important}
.gdf-v20-header .main-nav a.is-active{color:var(--v20-teal-dark)!important;background:#e8f5f4!important}
.gdf-v20-header .main-nav .nav-search{width:auto!important;height:auto!important;border:1px solid var(--v20-line)!important;margin-left:4px!important}
.gdf-v20-header .main-nav .nav-start{margin-left:5px!important;padding:10px 12px!important;background:var(--v20-teal)!important;color:#fff!important;font-size:11.5px!important;box-shadow:none!important}
.gdf-v20-header .main-nav .nav-start:hover{background:var(--v20-teal-dark)!important;color:#fff!important}
.gdf-v20-header .nav-toggle{color:var(--v20-ink)!important}

/* Compact typography: overrides previous huge editorial titles */
h1,h2,h3,h4{font-family:var(--v20-font)!important;color:var(--v20-ink);text-wrap:balance}
.hero h1,.entity-hero h1,.hero.hero-home h1,.hero.hero-editorial h1,.entity-hero-copy h1{font-size:clamp(2.65rem,5vw,5.25rem)!important;line-height:.98!important;letter-spacing:-.052em!important;margin:.35rem 0 1.15rem!important;max-width:900px!important}
.hero.hero-editorial h1,.entity-hero h1,.entity-hero-copy h1{font-size:clamp(2.4rem,4.4vw,4.5rem)!important}
.section-heading h2,.prose h2,.cta-panel h2,.entity-section h2{font-size:clamp(1.8rem,3vw,3rem)!important;line-height:1.05!important;letter-spacing:-.035em!important}
.card h3,.related-card h3,.library-item h3,.scent-map-card h3{font-size:clamp(1.08rem,1.6vw,1.38rem)!important;line-height:1.2!important;letter-spacing:-.02em!important}
.eyebrow,.section-heading>span,.entity-kicker{font-size:.69rem!important;letter-spacing:.11em!important;font-weight:800!important;color:var(--v20-teal-dark)!important}

/* Global rhythm: materially less white space */
.section{padding-block:clamp(2.8rem,5vw,4.8rem)!important}
.content-shell{padding-block:clamp(2.5rem,4vw,4rem)!important}
.section-heading{margin-bottom:clamp(1.5rem,3vw,2.4rem)!important;max-width:820px!important}
.prose>*+*{margin-top:1.05em!important}
.prose h2{margin-top:1.75em!important}
.prose h3{margin-top:1.5em!important}

/* Home hero: light, cleaner, focused */
.hero.hero-home{min-height:auto!important;padding:clamp(4rem,7vw,6.5rem) 0 clamp(3.3rem,6vw,5.3rem)!important;background:linear-gradient(118deg,#f7f8f4 0%,#eef5f3 63%,#e6f0ee 100%)!important;color:var(--v20-ink)!important;border-bottom:1px solid var(--v20-line)!important}
.hero.hero-home:before{content:''!important;display:block!important;position:absolute!important;inset:0!important;background:radial-gradient(circle at 82% 47%,rgba(22,127,128,.09) 0 2px,transparent 3px),radial-gradient(circle at 82% 47%,transparent 0 72px,rgba(22,127,128,.10) 73px 74px,transparent 75px 126px,rgba(22,127,128,.07) 127px 128px,transparent 129px)!important;opacity:1!important;pointer-events:none!important}
.hero.hero-home:after{content:'';position:absolute;width:410px;height:270px;right:-80px;top:60px;border:2px dotted rgba(22,127,128,.28);border-radius:50%;transform:rotate(-15deg);pointer-events:none}
.hero.hero-home .hero-copy{position:relative;z-index:2;max-width:850px!important}
.hero.hero-home .eyebrow{color:var(--v20-teal-dark)!important}
.hero.hero-home .lead{color:#4d5d58!important;max-width:720px!important;font-size:clamp(1.03rem,1.5vw,1.22rem)!important}
.hero.hero-home .button{box-shadow:none!important}
.hero.hero-home .hero-media,.hero.hero-home .hero-glow,.hero.hero-home .hero-orbit,.hero.hero-home .hero-scent{display:none!important}

/* Internal heroes */
.hero.hero-editorial,.entity-hero{padding:clamp(3.2rem,5vw,5.2rem) 0!important;background:linear-gradient(180deg,#fff 0%,#f5f5f0 100%)!important;color:var(--v20-ink)!important;border-bottom:1px solid var(--v20-line)!important;min-height:0!important}
.hero.hero-editorial:before,.hero.hero-editorial:after{opacity:.38!important}
.hero.hero-editorial .lead,.entity-hero .lead{color:var(--v20-muted)!important;font-size:clamp(1rem,1.4vw,1.18rem)!important;max-width:760px!important}
.hero.hero-editorial .hero-media{display:none!important}

/* Calm portal shortcuts, injected only on home */
.v20-shortcuts{background:#fff;border-bottom:1px solid var(--v20-line)}
.v20-shortcuts-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.v20-shortcut{display:flex;align-items:center;gap:10px;padding:16px 13px;color:var(--v20-ink);text-decoration:none;border-right:1px solid var(--v20-line);font-size:12px;font-weight:750;transition:.18s}
.v20-shortcut:last-child{border-right:0}
.v20-shortcut:hover{background:#f3f8f7;color:var(--v20-teal-dark)}
.v20-shortcut svg,.v20-section-icon svg{width:23px;height:23px;fill:none;stroke:var(--v20-teal);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Cards: real surfaces, compact, consistent */
.cards,.cards-grid,.related-grid,.library-grid,.scent-map-grid{gap:16px!important}
.card,.related-card,.section-card,.library-item,.scent-map-card,.search-panel,.cta-panel,.course-live,.contact-panel,.ecosystem-links{background:#fff!important;border:1px solid var(--v20-line)!important;border-radius:var(--v20-radius)!important;padding:1em!important;box-shadow:var(--v20-shadow)!important}
.card,.related-card,.section-card,.library-item,.scent-map-card{padding:clamp(1.25rem,2vw,1.7rem)!important}
.card:before,.card:after,.section-card:before{display:none!important}
.card:hover,.related-card:hover,.section-card:hover,.library-item:hover,.scent-map-card:hover{transform:translateY(-2px)!important;box-shadow:0 16px 38px rgba(20,36,33,.10)!important;border-color:rgba(22,127,128,.26)!important}
.card p,.related-card p,.library-item p,.scent-map-card p{color:var(--v20-muted)!important;font-size:.94rem!important}
.card-link,.library-link,.scent-map-link,.identity-feature-link{color:var(--v20-teal-dark)!important;font-weight:750!important}
.card-index,.scent-map-number{color:var(--v20-rust)!important;background:#fbefeb!important;border-color:#f1d1c7!important}

/* Tags and controls */
.tag,.chip,.library-tags span,.entity-tags span,.entity-meta span{border-radius:999px!important;background:#f3f5f2!important;border:1px solid var(--v20-line)!important;color:#53625d!important;padding:.42rem .68rem!important}
.button,.search-control button{border-radius:8px!important;background:var(--v20-teal)!important;color:#fff!important;border:1px solid var(--v20-teal)!important;font-weight:750!important;box-shadow:none!important}
.button:hover,.search-control button:hover{background:var(--v20-teal-dark)!important;border-color:var(--v20-teal-dark)!important}
.button.secondary,.button.is-secondary{background:transparent!important;color:var(--v20-teal-dark)!important}
input[type='search'],input[type='text'],select,textarea,.search-control input{background:#fff!important;border:1px solid #cfd7d4!important;border-radius:9px!important;box-shadow:none!important;color:var(--v20-ink)!important}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(22,127,128,.16)!important;border-color:var(--v20-teal)!important}

/* Section identity icon badge */
.v20-section-icon{display:inline-grid;place-items:center;width:44px;height:44px;background:#fff;border:1px solid var(--v20-line);border-radius:12px;box-shadow:0 5px 18px rgba(20,36,33,.05);margin-bottom:1rem}
.v20-section-icon svg{width:25px;height:25px}
.section-mark{border-radius:12px!important;background:#fff!important;border-color:var(--v20-line)!important;box-shadow:none!important}
.section-nav{background:#fff!important;border:1px solid var(--v20-line)!important;border-radius:12px!important;box-shadow:none!important}
.section-nav-links a{border-radius:7px!important}

/* Library and scent map less dense */
.library-item,.scent-map-card{min-height:0!important}
.library-why,.scent-map-distinction{background:#f4f5f1!important;border-radius:9px!important;border:0!important;padding:1rem!important}
.library-shelf-intro,.scent-map-intro{margin-bottom:2rem!important}

/* Entity profiles */
.entity-hero-grid{gap:clamp(2rem,5vw,5rem)!important}
.entity-monogram{width:min(20vw,230px)!important;background:#e5f2f0!important;color:var(--v20-teal-dark)!important;box-shadow:none!important;border:1px solid #cce2de!important}
.entity-layout{gap:clamp(2rem,5vw,5rem)!important;padding-top:clamp(2.5rem,4vw,4rem)!important}
.entity-section{padding-bottom:clamp(2rem,4vw,3.5rem)!important;margin-bottom:clamp(2rem,4vw,3.5rem)!important}
.entity-aside{top:96px!important;border-radius:12px!important;overflow:hidden!important;border:1px solid var(--v20-line)!important;background:var(--v20-line)!important;box-shadow:none!important}
.entity-fact{background:#fff!important;padding:1.1rem 1.2rem!important}
.entity-person-card{background:#fff!important;min-height:150px!important}

/* Search */
.search-experience,.search-shell{padding-block:3rem!important}
.search-box{padding:1.4rem!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--v20-line)!important;box-shadow:var(--v20-shadow)!important}
.search-result a{border-radius:10px!important;background:#fff!important;border:1px solid var(--v20-line)!important}

/* Breadcrumbs */
.breadcrumbs-wrap{background:#fff!important;border-bottom:1px solid var(--v20-line)!important}
.breadcrumbs{padding-block:.72rem!important;font-size:.7rem!important;color:#71807b!important}

/* Footer: dark but restrained */
.site-footer.gdf-v20-footer{background:#102a27!important;color:#eaf1ef!important;margin-top:clamp(3rem,6vw,5.5rem)!important;padding-top:0!important}
.site-footer.gdf-v20-footer:before{display:none!important}
.gdf-v20-footer .footer-top{padding:3.3rem 0 2.4rem!important;gap:4rem!important}
.gdf-v20-footer .footer-brand img{width:180px!important;max-height:none!important;filter:none!important}
.gdf-v20-footer .footer-brand p{color:#b8c7c3!important;font-size:.9rem!important;max-width:390px!important}
.gdf-v20-footer .footer-brand p strong{color:#fff!important}
.gdf-v20-footer .footer-nav h2{color:#7ed0ca!important;font-size:.68rem!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.gdf-v20-footer .footer-nav a{color:#d6e0de!important;font-size:.84rem!important}
.gdf-v20-footer .footer-nav a:hover{color:#fff!important}
.gdf-v20-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.09)!important;padding:1.1rem 0 1.5rem!important;color:#93aaa5!important;font-size:.74rem!important}

/* Remove noisy legacy decorative backgrounds */
.identity-feature-inner:after,.hero-glow,.hero-orbit,.hero-scent{opacity:.18!important}

@media(max-width:1180px){
 .gdf-v20-header .main-nav a{padding:8px 6px!important;font-size:10.8px!important}.gdf-v20-header .main-nav a svg{display:none}.gdf-v20-header .brand{width:145px!important;min-width:145px!important}.gdf-v20-header .brand img{width:145px!important}
}
@media(max-width:980px){
 .gdf-v20-header .nav-toggle{display:flex!important}.gdf-v20-header .main-nav{position:absolute!important;top:calc(100% + 1px)!important;left:0!important;right:0!important;display:none!important;background:#fff!important;border-bottom:1px solid var(--v20-line)!important;padding:12px 20px 20px!important;box-shadow:0 16px 30px rgba(20,36,33,.08)!important;flex-direction:column!important;align-items:stretch!important}.gdf-v20-header .main-nav.is-open,.gdf-v20-header [data-nav-panel][data-open='true']{display:flex!important}.gdf-v20-header .main-nav a{font-size:13px!important;padding:11px 10px!important}.gdf-v20-header .main-nav a svg{display:block!important;width:19px;height:19px}.gdf-v20-header .main-nav .nav-start{margin:4px 0 0!important;justify-content:center!important}
 .v20-shortcuts-grid{grid-template-columns:repeat(3,1fr)}.v20-shortcut:nth-child(3){border-right:0}.v20-shortcut:nth-child(-n+3){border-bottom:1px solid var(--v20-line)}
}
@media(max-width:680px){
 .container{width:min(100% - 28px,1280px)!important}.gdf-v20-header .header-inner{min-height:68px!important}.gdf-v20-header .brand,.gdf-v20-header .brand img{width:137px!important;min-width:137px!important}
 .hero h1,.entity-hero h1,.hero.hero-home h1,.hero.hero-editorial h1,.entity-hero-copy h1{font-size:clamp(2.35rem,12vw,3.55rem)!important}.hero.hero-home{padding:3.3rem 0 3rem!important}.hero.hero-home:after{display:none}
 .section{padding-block:2.7rem!important}.v20-shortcuts-grid{grid-template-columns:repeat(2,1fr)}.v20-shortcut{border-bottom:1px solid var(--v20-line)!important}.v20-shortcut:nth-child(odd){border-right:1px solid var(--v20-line)!important}.v20-shortcut:nth-child(even){border-right:0!important}
 .entity-monogram{width:120px!important}.cards,.cards-grid,.related-grid,.library-grid,.scent-map-grid{gap:12px!important}.gdf-v20-footer .footer-top{padding-top:2.5rem!important;gap:2.5rem!important}
}


/* ============================================================
   GIOCHI DI FIUTO · v20.1 visual corrections
   ============================================================ */

/* HOME: guarantee title contrast even against legacy text-fill rules */
.hero.hero-home h1,
.hero.hero-home h1 *,
.hero-home h1{
  color:#102825!important;
  -webkit-text-fill-color:#102825!important;
  background:none!important;
  background-image:none!important;
  text-shadow:none!important;
}

/* SEARCH: v20 owns the icon; suppress any legacy decorative/search glyph */
.gdf-v20-header .nav-search{
  background-image:none!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
}
.gdf-v20-header .nav-search::before,
.gdf-v20-header .nav-search::after{
  content:none!important;
  display:none!important;
}
.gdf-v20-header .nav-search svg{
  display:block!important;
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
}

/* INTERNAL HERO: compact, padded editorial panel */
.hero.hero-editorial{
  box-sizing:border-box!important;
  width:auto!important;
  min-height:0!important;
  margin:clamp(.8rem,1.8vw,1.35rem) 0 clamp(1.4rem,2.5vw,2.2rem)!important;
  padding:clamp(1.75rem,3.2vw,3rem) clamp(1.35rem,3.4vw,3.2rem)!important;
  border:1px solid rgba(18,64,60,.10)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 92% 18%,rgba(22,127,128,.07),transparent 28%),
    linear-gradient(135deg,#f8faf7 0%,#f0f5f2 100%)!important;
  box-shadow:0 8px 30px rgba(20,36,33,.045)!important;
  grid-template-columns:minmax(0,1fr)!important;
}
.hero.hero-editorial .hero-copy{
  max-width:850px!important;
  padding:0!important;
  margin:0!important;
}
.hero.hero-editorial .hero-symbol{
  display:none!important;
}

/* One semantic label only: the explicit page eyebrow. */
.hero.hero-editorial .hero-section-pill{
  display:none!important;
}
.hero.hero-editorial .hero-kicker-row{
  display:flex!important;
  align-items:center!important;
  gap:.7rem!important;
  margin:0 0 .55rem!important;
  min-height:30px!important;
}
.hero.hero-editorial .hero-kicker-row .eyebrow{
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
}

/* Section icon becomes part of the label, not a detached card. */
.hero.hero-editorial .v20-section-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:29px!important;
  height:29px!important;
  min-width:29px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--v20-teal)!important;
}
.hero.hero-editorial .v20-section-icon svg{
  width:24px!important;
  height:24px!important;
  stroke:currentColor!important;
  stroke-width:1.6!important;
}

/* Internal titles: deliberately calmer than v20. */
.hero.hero-editorial h1{
  font-size:clamp(2.05rem,3.7vw,3.65rem)!important;
  line-height:1.02!important;
  letter-spacing:-.042em!important;
  margin:.2rem 0 .75rem!important;
}
.hero.hero-editorial .lead{
  margin:0!important;
  font-size:clamp(.98rem,1.2vw,1.1rem)!important;
  line-height:1.6!important;
}

/* Tighten transition from hero to first section. */
.hero.hero-editorial + .section,
.hero.hero-editorial + section.section{
  padding-top:clamp(2.1rem,3.5vw,3.2rem)!important;
}

/* Impara/book icon gets a slightly calmer stroke everywhere */
.gdf-v20-header a[href^="/impara/"] svg,
.v20-shortcut[href^="/impara/"] svg{
  stroke-width:1.55!important;
}

@media(max-width:680px){
  .hero.hero-editorial{
    margin:.65rem 0 1.1rem!important;
    padding:1.45rem 1.2rem!important;
    border-radius:14px!important;
  }
  .hero.hero-editorial h1{
    font-size:clamp(1.95rem,10vw,2.8rem)!important;
  }
}

/* ============================================================
   v20.3 RECOVERY GUARDS
   Protect the v20.1 visual system against legacy base.css rules.
   ============================================================ */
.site-header.gdf-v20-header{
  background:rgba(255,255,255,.97)!important;
  color:var(--v20-ink)!important;
}
.site-header.gdf-v20-header .main-nav a{
  color:#263632!important;
}
.site-header.gdf-v20-header .brand img{
  filter:none!important;
  opacity:1!important;
}
.gdf-v20-header .main-nav a svg{
  width:17px!important;
  height:17px!important;
  max-width:17px!important;
  max-height:17px!important;
}
.v20-shortcut .v20-icon,
.v20-section-icon{
  flex:none!important;
}
.v20-shortcut .v20-icon svg{
  width:24px!important;
  height:24px!important;
}
.hero.hero-editorial .v20-section-icon svg{
  width:24px!important;
  height:24px!important;
}
h1,h2,h3,h4,
.hero h1,
.entity-hero h1{
  font-family:var(--v20-font)!important;
}
