/*
Theme Name: Automotiva Srl
Theme URI: https://automotivasrl.it
Author: Automotiva Srl
Author URI: https://automotivasrl.it
Description: Tema WordPress classico per Automotiva Srl, organizzatore di eventi automobilistici (raduni, track day, hospitality, lanci prodotto). Basato su _s / underscores, nessuno step di build richiesto.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: automotivasrl-theme
Tags: custom-colors, custom-menu, featured-images, translation-ready

Automotiva Srl WordPress Theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* =========================================================
   Automotiva Srl — Design tokens & componenti
   Portato quasi 1:1 da mockup/shared.css (v2)
   ========================================================= */

/* Font auto-ospitati (assets/fonts/) invece che caricati da Google Fonts:
   caricare font.googleapis.com/gstatic.com trasmette l'IP dei visitatori
   europei a Google prima di qualunque consenso cookie — un problema GDPR
   indipendente dal banner. Sono font-variabili (un solo file copre tutti
   i pesi 100–900), sottoinsieme "latin" (copre anche gli accenti italiani). */
@font-face{
	font-family:'Archivo';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('assets/fonts/archivo-variable-latin.woff2') format('woff2');
}
@font-face{
	font-family:'Inter';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('assets/fonts/inter-variable-latin.woff2') format('woff2');
}

:root{
  --orange:#F26522;
  --black:#231F20;
  --white:#FFFFFF;
  --cream:#F5F3EF;
  --hairline:#E3DED4;
  --ink-soft:#5A5650;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--black);background:var(--white);line-height:1.6;}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.kicker{font-size:var(--kicker-size,11px);font-weight:var(--kicker-weight,600);letter-spacing:.5px;text-transform:uppercase;color:var(--orange);margin-bottom:14px;display:block;}
h1,h2,h3{font-family:'Archivo',sans-serif;font-weight:900;line-height:1;}
h2{font-weight:var(--h2-weight,900);}
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 32px;border-radius:999px;font-family:'Inter';font-weight:600;font-size:14px;letter-spacing:.2px;transition:all .25s;cursor:pointer;border:none;}
.btn-primary{background:var(--orange);color:var(--white);border:1px solid var(--orange);}
.btn-primary:hover{background:#d9540f;border-color:#d9540f;}
.btn-outline{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.5);}
.btn-outline:hover{border-color:var(--white);}
.btn-outline-dark{background:transparent;color:var(--black);border:1px solid var(--black);}
.btn-outline-dark:hover{background:var(--black);color:var(--white);}
.btn-outline-dark.active,.btn-outline-dark:disabled{opacity:.4;cursor:default;}
.section{padding:96px 48px;}
.section-narrow{max-width:1200px;margin:0 auto;}

/* screen-reader-text (accessibilità WP standard) */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;}
.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#21759b;display:block;font-size:14px;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000;}

/* header */
header{position:fixed;top:0;left:0;right:0;z-index:100;padding:28px 48px;display:flex;justify-content:space-between;align-items:center;transition:background .3s;}
/* Sposta l'header fisso sotto la barra admin di WordPress, ma solo per chi
   è loggato (body.admin-bar — WP aggiunge questa classe solo in quel caso):
   la barra admin è anch'essa position:fixed, quindi il margin-top che WP
   aggiunge al resto della pagina non la fa scalare da sola. */
body.admin-bar header{top:32px;}
@media screen and (max-width:782px){
  body.admin-bar header{top:46px;}
}
header.solid,header.solid-static{background:var(--white);border-bottom:1px solid var(--hairline);}
.logo{display:flex;align-items:center;gap:12px;}
.logo-bars{display:flex;flex-direction:column;gap:3px;transform:skewX(-22deg);}
.logo-bars span{width:30px;height:4px;background:var(--orange);}
.logo-word{font-family:'Archivo';font-weight:900;font-size:16px;letter-spacing:2px;color:var(--white);transition:color .3s;}
header.solid .logo-word,header.solid-static .logo-word{color:var(--black);}
.custom-logo-link{display:flex;align-items:center;}
.custom-logo-link .custom-logo{max-height:32px;width:auto;}
.footer-logo .custom-logo-link .custom-logo{max-height:40px;}
.hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;width:32px;background:transparent;border:none;padding:0;}
.hamburger span{height:2px;background:var(--white);transition:background .3s;}
.hamburger span:nth-child(1){width:100%;background:var(--orange);}
.hamburger span:nth-child(2){width:70%;}
header.solid .hamburger span:nth-child(2),header.solid-static .hamburger span:nth-child(2){background:var(--black);}

/* dropdown menu (hamburger) */
.nav-dropdown{position:fixed;top:0;right:0;height:100vh;width:min(360px,86vw);background:var(--black);z-index:99;transform:translateX(100%);transition:transform .35s ease;padding:120px 40px 40px;overflow-y:auto;}
.nav-dropdown.open{transform:translateX(0);}
.nav-dropdown ul{display:flex;flex-direction:column;gap:8px;}
.nav-dropdown a{display:block;padding:14px 0;font-family:'Archivo';font-weight:700;font-size:20px;color:var(--white);border-bottom:1px solid rgba(255,255,255,.12);}
.nav-dropdown a:hover{color:var(--orange);}
.nav-search{position:relative;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:10px 10px 10px 20px;margin-bottom:32px;transition:border-color .25s;}
.nav-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--black);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:8px;max-height:min(50vh,400px);overflow-y:auto;z-index:2;box-shadow:0 12px 32px rgba(0,0,0,.4);}
/* .nav-search-results (parent class) doubles the specificity here so these
   rules reliably beat the general ".nav-dropdown a" menu-link style
   (display:block, padding:14px 0, font-size:20px, border-bottom) that would
   otherwise leak onto these result links too, since they're <a> tags inside
   the same #nav-dropdown panel — that leak is what caused the overlap. */
.nav-search-results .nav-search-result{display:flex!important;flex-direction:column;gap:2px;padding:12px 14px;border-radius:10px;border-bottom:none;font-size:inherit;transition:background .2s;}
.nav-search-results .nav-search-result:hover{background:rgba(255,255,255,.08);color:inherit;}
.nav-search-results .nav-search-result-type{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--orange);}
.nav-search-results .nav-search-result-title{font-family:'Archivo';font-weight:700;font-size:15px;color:var(--white);}
.nav-search-empty{padding:14px;font-size:13px;color:rgba(255,255,255,.5);}
.nav-search:focus-within{border-color:var(--orange);}
.nav-search-input{flex:1;background:none;border:none;outline:none;color:var(--white);font-family:'Inter';font-size:15px;}
.nav-search-input::placeholder{color:rgba(255,255,255,.5);}
.nav-search-submit{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--orange);border:none;color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.nav-lang-switcher{display:flex;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);}
.nav-lang-switcher a{padding:8px 16px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-family:'Inter';font-weight:600;font-size:13px;color:rgba(255,255,255,.7);transition:all .25s;}
.nav-lang-switcher a:hover{border-color:var(--orange);color:var(--white);}
.nav-lang-switcher a.active{background:var(--orange);border-color:var(--orange);color:var(--white);}
.nav-overlay{position:fixed;inset:0;background:rgba(35,31,32,.5);z-index:98;opacity:0;pointer-events:none;transition:opacity .3s;}
.nav-overlay.open{opacity:1;pointer-events:auto;}
body.nav-open{overflow:hidden;}

/* hero (full, home) */
.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(35,31,32,.35) 0%, rgba(35,31,32,.55) 55%, rgba(35,31,32,.92) 100%);}
.hero-content{position:relative;z-index:2;padding:0 48px 96px;max-width:900px;}
.hero h1{font-size:clamp(34px,6vw,64px);color:var(--white);letter-spacing:-1px;margin-bottom:22px;}
.hero p{font-size:clamp(15px,1.6vw,18px);color:rgba(255,255,255,.85);max-width:560px;margin-bottom:36px;}
.scroll-cue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:2;animation:bounce 2s infinite;}
.scroll-cue svg{stroke:var(--white);}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(10px);}}

/* hero secondaria (pagine interne) */
.hero-sub{position:relative;height:clamp(260px,40vw,420px);display:flex;align-items:flex-end;overflow:hidden;margin-top:0;}
.hero-sub img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-sub::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(35,31,32,.5) 0%, rgba(35,31,32,.75) 60%, rgba(35,31,32,.95) 100%);}
.hero-sub-content{position:relative;z-index:2;padding:0 48px 56px;max-width:900px;}
.hero-sub h1{font-size:clamp(30px,5vw,48px);color:var(--white);letter-spacing:-1px;}
.hero-sub .kicker{color:var(--orange);}

/* about */
.about{background:var(--cream);}
.about-grid{display:grid;grid-template-columns:420px 1fr;gap:64px;align-items:center;}
.about-img{border-radius:12px;overflow:hidden;aspect-ratio:4/5;cursor:pointer;}
.about-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.about-img:hover img{transform:scale(1.06);}
.about h2{font-size:clamp(26px,4vw,var(--h2-size,34px));margin-bottom:24px;letter-spacing:-.5px;}
.about p{max-width:560px;color:var(--ink-soft);font-size:16px;margin-bottom:44px;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--hairline);padding-top:32px;max-width:560px;}
.stat-num{font-family:'Archivo';font-weight:900;font-size:30px;color:var(--orange);letter-spacing:-1px;}
.stat-label{font-size:12px;color:var(--ink-soft);margin-top:6px;}

/* stats grid a 3 colonne larghe (chi siamo) */
.stats-wide{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:100%;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:32px 0;}

/* testo "storia" (chi siamo), the_content() editabile da WordPress */
.storia-body{max-width:720px;margin-bottom:24px;}
.storia-body p{color:var(--ink-soft);font-size:16px;margin-bottom:20px;}

/* events */
.events-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;flex-wrap:wrap;gap:20px;}
.events-head h2{font-size:clamp(26px,4vw,var(--h2-size,34px));letter-spacing:-.5px;}
.events-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;}
.event-card{flex:0 0 320px;scroll-snap-align:start;position:relative;border-radius:12px;overflow:hidden;aspect-ratio:3/4;cursor:pointer;}
.event-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.event-card:hover img{transform:scale(1.08);}
.event-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 40%, rgba(35,31,32,.92) 100%);}
.event-meta{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;}
.event-cat{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--orange);display:block;margin-bottom:8px;}
.event-title{font-family:'Archivo';font-weight:800;font-size:20px;color:var(--white);transition:color .3s;margin-bottom:6px;}
.event-card:hover .event-title{color:var(--orange);}
.event-cta{font-size:12px;color:rgba(255,255,255,.7);opacity:0;transform:translateY(6px);transition:all .3s;}
.event-card:hover .event-cta{opacity:1;transform:translateY(0);}

/* eventi archivio: griglia + filtri */
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.events-grid .event-card{flex:none;width:100%;aspect-ratio:4/5;}
.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px;}
.filter-pill{padding:10px 20px;border-radius:999px;border:1px solid var(--hairline);font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;}
.filter-pill.active{background:var(--black);border-color:var(--black);color:var(--white);}
.pagination{display:flex;gap:12px;justify-content:center;margin-top:56px;flex-wrap:wrap;}
.pagination .page-numbers{width:38px;height:38px;border:1px solid var(--hairline);border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;}
.pagination .page-numbers.current{background:var(--orange);border-color:var(--orange);color:var(--white);}
.pagination .page-numbers.dots{border:none;}

/* risultati ricerca */
.search-results-list{display:flex;flex-direction:column;}
.search-result{display:block;padding:32px 0;border-top:1px solid var(--hairline);}
.search-results-list .search-result:last-child{border-bottom:1px solid var(--hairline);}
.search-result-type{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--orange);display:block;margin-bottom:8px;}
.search-result h2{font-size:22px;letter-spacing:-.3px;margin-bottom:8px;transition:color .25s;}
.search-result:hover h2{color:var(--orange);}
.search-result p{color:var(--ink-soft);font-size:15px;max-width:640px;}

/* form di ricerca a pagina intera (fallback 404 / nessun risultato) */
.page-search{display:flex;gap:12px;max-width:480px;margin:0 auto;}
.page-search-input{flex:1;border:1px solid var(--hairline);border-radius:999px;padding:13px 20px;font-family:'Inter';font-size:14px;background:var(--cream);}

/* singolo evento */
.event-detail-grid{display:grid;grid-template-columns:1fr 360px;gap:64px;}
.event-detail-meta{border:1px solid var(--hairline);border-radius:12px;padding:32px;align-self:start;position:sticky;top:120px;}
.event-detail-meta .field-row{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--hairline);font-size:14px;gap:12px;}
.event-detail-meta .field-row:first-child{border-top:none;}
.event-detail-meta .meta-servizi{padding:20px 0;border-top:1px solid var(--hairline);}
.event-detail-meta .meta-servizi .kicker{margin-bottom:10px;}
.event-detail-meta .meta-servizi ul{list-style:none;}
.event-detail-meta .meta-servizi li{font-size:14px;color:var(--black);padding:6px 0 6px 16px;position:relative;}
.event-detail-meta .meta-servizi li::before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;background:var(--orange);border-radius:50%;}
.event-detail-meta .btn{width:100%;justify-content:center;margin-top:24px;}
.event-body p{color:var(--ink-soft);margin-bottom:20px;max-width:640px;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0;}
.gallery-grid img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;}

/* Blocco Galleria nativo di WordPress (usato nel contenuto evento: la
   Galleria ACF è Pro-only, quindi il core Gallery block è l'alternativa
   gratuita) — stessa estetica di .gallery-grid: sempre 3 colonne, crop 4:3,
   niente ombre, angoli 12px, indipendentemente dal numero di colonne scelto
   nell'editor (sovrascriviamo lo stile inline di WordPress con !important). */
.event-body .wp-block-gallery{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:16px !important;margin:40px 0;}
.event-body .wp-block-gallery .wp-block-image{margin:0;width:auto !important;border-radius:12px;overflow:hidden;aspect-ratio:4/3;}
.event-body .wp-block-gallery .wp-block-image img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0;box-shadow:none;transition:transform .4s;cursor:pointer;}
.event-body .wp-block-gallery .wp-block-image:hover img{transform:scale(1.06);}
.event-body .wp-block-gallery figcaption{color:var(--ink-soft);font-size:13px;}
.partner-text{color:var(--ink-soft);font-size:15px;margin-top:8px;}
@media (max-width:860px){
  .event-body .wp-block-gallery{grid-template-columns:1fr !important;}
}

/* philosophy / valori */
.philosophy{background:var(--black);color:var(--white);}
.phil-row{display:flex;gap:40px;border-top:1px solid rgba(255,255,255,.15);padding:40px 0;align-items:baseline;}
.phil-row:last-child{border-bottom:1px solid rgba(255,255,255,.15);}
.phil-num{font-family:'Archivo';font-weight:900;font-size:15px;color:var(--orange);min-width:40px;}
.phil-title{font-family:'Archivo';font-weight:800;font-size:22px;min-width:260px;}
.phil-text{color:rgba(255,255,255,.6);font-size:15px;max-width:520px;}

/* team grid (chi siamo) */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.team-card{cursor:pointer;}
.team-photo{aspect-ratio:1;border-radius:12px;overflow:hidden;margin-bottom:16px;background:var(--cream);}
.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.team-card:hover .team-photo img{transform:scale(1.06);}
.team-card .name{font-family:'Archivo';font-weight:700;font-size:15px;}
.team-card .role{font-size:12px;color:var(--ink-soft);margin-top:4px;}

/* CTA banda nera */
.cta-band{background:var(--black);color:var(--white);text-align:center;padding:80px 48px;}
.cta-band h2{font-size:clamp(26px,4vw,var(--h2-size,34px));margin-bottom:28px;max-width:640px;margin-left:auto;margin-right:auto;}

/* marquee */
.marquee-wrap{padding:40px 48px 56px;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);overflow:hidden;}
.marquee-label{display:block;font-size:var(--kicker-size,11px);font-weight:var(--kicker-weight,600);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:20px;}
.marquee-track{display:flex;width:max-content;}
.marquee-set{display:flex;gap:80px;padding-right:80px;flex-shrink:0;}
.marquee-track span,.marquee-track a{font-family:'Archivo';font-weight:800;font-size:22px;color:var(--ink-soft);white-space:nowrap;letter-spacing:.5px;transition:color .25s;}
.marquee-track a:hover{color:var(--orange);}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.contact h2{font-size:clamp(26px,4vw,var(--h2-size,34px));margin-bottom:24px;letter-spacing:-.5px;}
.contact-info p{color:var(--ink-soft);margin-bottom:28px;max-width:420px;}
.contact-line{display:flex;gap:12px;padding:16px 0;border-top:1px solid var(--hairline);font-size:14px;}
.contact-line strong{min-width:90px;color:var(--black);}
.field{margin-bottom:20px;}
.field label{display:block;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--hairline);border-radius:8px;padding:13px 16px;font-family:'Inter';font-size:14px;background:var(--cream);}
.field textarea{resize:vertical;min-height:100px;}
.form-notice{border-radius:8px;padding:14px 18px;font-size:14px;margin-bottom:20px;}
.form-notice.success{background:#e8f5e9;color:#256029;border:1px solid #a5d6a7;}
.form-notice.error{background:#fdecea;color:#8b2e21;border:1px solid #f3b3ab;}

/* footer */
footer{background:var(--black);color:rgba(255,255,255,.55);padding:56px 48px 32px;}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1200px;margin:0 auto;padding-bottom:40px;}
.footer-logo .logo-word{color:var(--white);}
.footer-cols p{margin-top:16px;font-size:14px;max-width:280px;}
.social-row{display:flex;gap:12px;margin-top:24px;}
.social-row a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--white);transition:background .25s,border-color .25s,transform .25s;}
.social-row a:hover{background:var(--orange);border-color:var(--orange);transform:translateY(-2px);}
.social-row a img{border-radius:2px;object-fit:cover;}
.footer-cols h4{font-family:'Archivo';font-weight:700;font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:var(--white);margin-bottom:18px;}
.footer-cols ul{list-style:none;}
.footer-cols li{margin-bottom:12px;font-size:14px;}
.footer-cols li a{transition:color .25s;}
.footer-cols li a:hover{color:var(--orange);}
.footer-links-col{text-align:right;}
.footer-cols>div:nth-child(2){text-align:center;}
.footer-legal-links{justify-self:center;}
.footer-bottom{max-width:1200px;margin:0 auto;border-top:1px solid rgba(255,255,255,.15);padding-top:24px;font-size:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 48px;align-items:center;}
.footer-legal-links{display:flex;gap:20px;}
.footer-legal-links a{color:rgba(255,255,255,.55);transition:color .25s;}
.footer-legal-links a:hover{color:var(--orange);}
.footer-bottom .credit{color:rgba(255,255,255,.4);transition:color .25s;justify-self:end;}
.footer-bottom .credit:hover{color:var(--orange);}

@media (max-width:860px){
  header{padding:18px 20px;}
  .section{padding:56px 20px;}
  .hero-content{padding:0 20px 56px;}
  .hero-sub-content{padding:0 20px 40px;}
  .about-grid,.contact-grid,.event-detail-grid{grid-template-columns:1fr;gap:32px;}
  .about-img{aspect-ratio:16/9;}
  .stats,.stats-wide{grid-template-columns:repeat(3,1fr);gap:16px;}
  .phil-row{flex-direction:column;gap:8px;}
  .phil-title{min-width:0;}
  .footer-cols{grid-template-columns:1fr;gap:32px;}
  .footer-bottom{grid-template-columns:1fr;gap:16px;}
  .footer-bottom .credit{justify-self:start;}
  .footer-links-col{text-align:left;}
  .footer-cols>div:nth-child(2){text-align:left;}
  .footer-legal-links{justify-self:start;}
  .events-grid,.team-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:1fr;}
  .event-detail-meta{position:static;}
}

/* Nasconde il pulsante flottante "Gestisci consenso" di Complianz (non
   trovato un toggle nativo nelle impostazioni del plugin) — non tocca il
   meccanismo di salvataggio del consenso, solo questo pulsante di richiamo. */
.cmplz-manage-consent{display:none!important;}
