/*
Theme Name: Azione Cristiana Aurora V3.1
Theme URI: https://azionecristiana.org
Author: Azione Cristiana
Description: Tema WordPress V3.1 finale, corretto e più rifinito per il progetto Azione Cristiana. Usa il logo ufficiale del progetto, migliora l’equilibrio visivo della home e corregge l’allineamento del riquadro 2027.
Version: 3.1.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: azione-cristiana-aurora-v3-1
*/

:root{
  --ac-blue-950:#06172a;
  --ac-blue-900:#08223b;
  --ac-blue-800:#0d3557;
  --ac-blue-700:#124b73;
  --ac-blue-600:#17618f;
  --ac-gold-700:#a87318;
  --ac-gold-600:#c68d2b;
  --ac-gold-500:#e3b85f;
  --ac-gold-300:#f6dda0;
  --ac-cream:#fff6e6;
  --ac-cream-2:#f7efe2;
  --ac-paper:#fffdf8;
  --ac-white:#ffffff;
  --ac-ink:#0e2234;
  --ac-muted:#667789;
  --ac-green:#3e8a62;
  --ac-red:#b74d49;
  --ac-border:rgba(14,34,52,.12);
  --ac-border-light:rgba(255,255,255,.22);
  --ac-shadow:0 22px 70px rgba(6,23,42,.14);
  --ac-shadow-strong:0 30px 110px rgba(6,23,42,.28);
  --ac-radius:24px;
  --ac-radius-lg:42px;
  --ac-container:1180px;
  --ac-adminbar:0px;
}
.admin-bar{--ac-adminbar:32px;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  color:var(--ac-ink);
  background:
    radial-gradient(circle at 8% 0%, rgba(246,221,160,.35), transparent 33rem),
    radial-gradient(circle at 88% 4%, rgba(23,97,143,.12), transparent 30rem),
    linear-gradient(180deg,#fffdf8 0%,#fff6e6 52%,#fff 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:17px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.ac-menu-open{overflow:hidden;}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.22em;transition:color .2s ease, opacity .2s ease, transform .2s ease, background .2s ease, border-color .2s ease;}
a:hover{color:var(--ac-gold-600);}
img{max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;}
::selection{background:var(--ac-gold-300);color:var(--ac-blue-950);}

/* Pulizia WordPress base */
.site,.wp-site-blocks,#page,#content,.site-content,.content-area,main,.site-main,.entry-content,.entry-header{width:100%;max-width:none;margin:0;padding:0;}
.widget-area,.sidebar,#secondary,.wp-block-search,.wp-block-latest-posts,.wp-block-latest-comments,.wp-block-archives,.wp-block-categories{display:none!important;}
.entry-title{margin-top:0;}
.ac-skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.ac-skip-link:focus{left:16px;top:16px;width:auto;height:auto;z-index:99999;background:#fff;color:#000;padding:10px 14px;border-radius:10px;}

.ac-container{width:min(var(--ac-container),calc(100% - 44px));margin-inline:auto;}
.ac-section{position:relative;padding:clamp(56px,6vw,92px) 0;}
.ac-section--tight{padding:clamp(46px,5vw,78px) 0;}
.ac-section--white{background:#fff;}
.ac-section--cream{background:linear-gradient(180deg,var(--ac-cream),#fff);}
.ac-section--blue{color:#fff;background:radial-gradient(circle at 16% 18%,rgba(227,184,95,.24),transparent 30rem),linear-gradient(135deg,var(--ac-blue-950),var(--ac-blue-800));}
.ac-section--pattern{background:linear-gradient(180deg,#fff,#fff7ea);overflow:hidden;}
.ac-section--pattern:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(198,141,43,.18) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(90deg,transparent,black 16%,black 84%,transparent);opacity:.55;}
.ac-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;font-size:12px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:var(--ac-gold-600);}
.ac-kicker:before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--ac-gold-500),transparent);}
.ac-section-title{margin:0;color:var(--ac-blue-900);font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4.6vw,62px);line-height:1.05;letter-spacing:-.045em;}
.ac-section--blue .ac-section-title,.ac-section--blue .ac-kicker{color:#fff;}
.ac-lead{max-width:760px;margin:22px 0 0;color:#42576b;font-size:clamp(18px,2vw,21px);line-height:1.78;}
.ac-section--blue .ac-lead{color:rgba(255,255,255,.82);}
.ac-muted{color:var(--ac-muted);}
.ac-center{text-align:center;}
.ac-center .ac-lead{margin-inline:auto;}
.ac-grid{display:grid;gap:24px;}
.ac-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.ac-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.ac-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}

/* Header */
.ac-site-header{position:sticky;top:var(--ac-adminbar);z-index:1000;background:rgba(255,253,248,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(14,34,52,.09);box-shadow:0 10px 30px rgba(6,23,42,.06);}
.ac-top-strip{font-size:13px;color:rgba(255,255,255,.78);background:linear-gradient(90deg,var(--ac-blue-950),var(--ac-blue-800));}
.ac-top-strip .ac-container{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:34px;}
.ac-top-links{display:flex;align-items:center;gap:16px;font-weight:700;}
.ac-top-links a{text-decoration:none;opacity:.9;}
.ac-top-links a:hover{opacity:1;color:var(--ac-gold-300);}
.ac-nav-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;}
.ac-brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:225px;color:var(--ac-blue-950);}
.ac-brand:hover{color:var(--ac-blue-950);}
.ac-brand-mark{width:74px;height:74px;display:grid;place-items:center;flex:0 0 auto;border-radius:0;background:transparent;box-shadow:none;overflow:visible;}
.ac-brand-mark img,.ac-brand-mark .custom-logo{display:block;width:74px;height:74px;object-fit:contain;}
.ac-brand-mark--fallback{background:url('assets/images/logo.png') center/78% no-repeat,linear-gradient(145deg,#fff,var(--ac-cream));}
.ac-brand-name{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(20px,2.2vw,28px);font-weight:900;letter-spacing:-.03em;line-height:1.05;}
.ac-brand-tagline{display:block;margin-top:5px;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--ac-gold-700);}
.ac-main-nav{display:flex;align-items:center;justify-content:center;flex:1;}
.ac-main-nav ul{display:flex;align-items:center;justify-content:center;gap:6px;list-style:none;margin:0;padding:0;}
.ac-main-nav li{position:relative;}
.ac-main-nav a{display:inline-flex;align-items:center;padding:12px 13px;border-radius:999px;color:var(--ac-blue-900);font-size:15px;font-weight:850;text-decoration:none;}
.ac-main-nav a:hover,.ac-main-nav .current-menu-item>a,.ac-main-nav .current_page_item>a{background:rgba(227,184,95,.18);color:var(--ac-gold-700);}
.ac-main-nav ul ul{position:absolute;left:0;top:100%;min-width:220px;display:block;padding:10px;background:#fff;border:1px solid var(--ac-border);border-radius:18px;box-shadow:var(--ac-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease;}
.ac-main-nav li:hover>ul{opacity:1;visibility:visible;transform:translateY(0);}
.ac-main-nav ul ul a{display:flex;width:100%;border-radius:12px;}
.ac-header-actions{display:flex;align-items:center;gap:10px;}
.ac-menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--ac-border);border-radius:16px;background:#fff;color:var(--ac-blue-950);cursor:pointer;}
.ac-menu-toggle span:first-child,.ac-menu-toggle:before,.ac-menu-toggle:after{content:"";display:block;width:20px;height:2px;margin:5px auto;background:currentColor;border-radius:999px;}
.ac-menu-open .ac-menu-toggle:before{transform:translateY(7px) rotate(45deg);}
.ac-menu-open .ac-menu-toggle span:first-child{opacity:0;}
.ac-menu-open .ac-menu-toggle:after{transform:translateY(-7px) rotate(-45deg);}

/* Buttons */
.ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:14px 22px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:var(--ac-blue-900);color:#fff!important;font-weight:900;text-decoration:none;box-shadow:0 16px 36px rgba(6,23,42,.18);}
.ac-btn:hover{transform:translateY(-2px);background:var(--ac-blue-700);color:#fff!important;box-shadow:0 22px 46px rgba(6,23,42,.24);}
.ac-btn--gold{background:linear-gradient(135deg,var(--ac-gold-600),var(--ac-gold-500));color:var(--ac-blue-950)!important;border-color:rgba(255,255,255,.24);}
.ac-btn--gold:hover{background:linear-gradient(135deg,#f0c76b,var(--ac-gold-600));color:var(--ac-blue-950)!important;}
.ac-btn--ghost{background:rgba(255,255,255,.08);color:#fff!important;border-color:rgba(255,255,255,.38);box-shadow:none;}
.ac-btn--ghost:hover{background:rgba(255,255,255,.15);}
.ac-btn--light{background:#fff;color:var(--ac-blue-950)!important;border-color:var(--ac-border);}
.ac-btn--small{min-height:42px;padding:10px 16px;font-size:14px;box-shadow:none;}
.ac-btn-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}

/* Hero */
.ac-hero{position:relative;min-height:calc(100vh - 164px);height:calc(100vh - 164px);max-height:760px;display:flex;align-items:center;color:#fff;background:var(--ac-blue-950);overflow:hidden;}
.ac-hero:before{content:"";position:absolute;inset:0;background:url('assets/images/hero.jpg') center/cover no-repeat;transform:scale(1.02);filter:saturate(1.05) contrast(1.02);}
.ac-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,16,30,.88) 0%,rgba(2,16,30,.72) 33%,rgba(2,16,30,.30) 58%,rgba(2,16,30,.05) 100%),radial-gradient(circle at 28% 15%,rgba(227,184,95,.20),transparent 28rem);}
.ac-hero .ac-container{position:relative;z-index:1;width:100%;max-width:none;padding-left:clamp(72px,6.8vw,130px);padding-right:clamp(72px,7vw,150px);box-sizing:border-box;}
.ac-hero-layout{display:grid;grid-template-columns:minmax(0,.54fr) minmax(460px,.46fr);gap:clamp(60px,7vw,130px);align-items:center;padding:clamp(38px,5vh,58px) 0;}
.ac-hero-card{max-width:900px;}
.ac-hero-badge{display:flex;margin-bottom:28px;}
.ac-hero-badge span{display:inline-flex;align-items:center;justify-content:center;min-width:clamp(240px,28vw,420px);min-height:60px;padding:0 34px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(15,23,42,.54);backdrop-filter:blur(10px);font-size:clamp(14px,1.3vw,18px);font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:var(--ac-gold-300);text-shadow:0 2px 10px rgba(0,0,0,.4);}
.ac-hero-shield{position:absolute;right:clamp(90px,7vw,140px);top:105px;z-index:3;width:clamp(178px,11vw,220px);height:auto;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(0,0,0,.30));opacity:1;pointer-events:none;}
.ac-hero h1{margin:0 0 24px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,4.6vw,72px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 8px 28px rgba(0,0,0,.28);}
.ac-hero h1 strong{color:var(--ac-gold-300);font-weight:inherit;}
.ac-hero p{max-width:760px;margin:0 0 28px;color:rgba(255,255,255,.92);font-size:clamp(17px,1.55vw,21px);line-height:1.55;text-wrap:pretty;}
.ac-hero-note{display:flex;align-items:center;gap:18px;margin-top:24px;color:rgba(255,255,255,.92);font-size:15px;font-weight:700;}
.ac-hero-note:before{content:"";width:64px;height:2px;background:var(--ac-gold-500);flex:0 0 auto;}
.ac-hero-card{backdrop-filter:none;}
.ac-glass-panel{position:relative;overflow:hidden;}
.ac-glass-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);}
.ac-hero-panel{align-self:stretch;display:flex;align-items:flex-end;justify-content:flex-end;}
.ac-glass-panel{width:100%;max-width:400px;padding:24px;border:1px solid rgba(255,255,255,.22);border-radius:var(--ac-radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));box-shadow:var(--ac-shadow-strong);backdrop-filter:blur(18px);}
.ac-glass-panel h2{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.1;}
.ac-glass-panel p{margin:0 0 14px;color:rgba(255,255,255,.78);font-size:15px;}
.ac-check-list{display:grid;gap:11px;margin:16px 0 0;padding:0;list-style:none;}
.ac-check-list li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.86);font-weight:750;}
.ac-check-list li:before{content:"";margin-top:7px;width:9px;height:9px;border-radius:999px;background:var(--ac-gold-500);box-shadow:0 0 0 5px rgba(227,184,95,.15);flex:0 0 auto;}
.ac-scroll-cue{position:absolute;left:50%;bottom:24px;z-index:2;width:28px;height:44px;border:1px solid rgba(255,255,255,.42);border-radius:999px;transform:translateX(-50%);}
/* Hero panel — glass card scoped */
.ac-hero-panel .ac-glass-panel{width:min(500px,100%);max-width:none;padding:34px 36px;border-radius:26px;background:rgba(2,16,30,.86);border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 70px rgba(0,0,0,.34);backdrop-filter:blur(8px);}
.ac-hero-panel .ac-glass-panel:before{display:none;}
.ac-hero-panel .ac-glass-panel h2{font-size:28px;line-height:1.12;margin:0 0 14px;color:var(--ac-gold-300);font-family:Georgia,"Times New Roman",serif;letter-spacing:-.03em;}
.ac-hero-panel .ac-glass-panel p{font-size:16px;line-height:1.55;margin:0 0 4px;color:rgba(255,255,255,.92);}
.ac-hero-panel .ac-check-list{gap:0;margin:10px 0 0;}
.ac-hero-panel .ac-check-list li{display:flex;align-items:center;gap:14px;min-height:52px;border-top:1px solid rgba(255,255,255,.14);color:#fff;font-size:16px;font-weight:700;padding:6px 0;}
.ac-hero-panel .ac-check-list li:before{content:"●";display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--ac-gold-500);color:var(--ac-blue-950);font-size:12px;font-weight:900;margin-top:0;box-shadow:none;}
/* Hero CTA buttons */
.ac-hero .ac-btn{min-height:60px;padding:0 32px;font-size:16px;}
.ac-hero .ac-btn-row{gap:18px;margin-bottom:0;}
.ac-scroll-cue:before{content:"";position:absolute;left:50%;top:9px;width:4px;height:8px;border-radius:999px;background:#fff;transform:translateX(-50%);animation:acCue 1.6s infinite;}
@keyframes acCue{0%{opacity:0;transform:translate(-50%,0)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,14px)}}

/* Cards */
.ac-card{position:relative;overflow:hidden;border:1px solid var(--ac-border);border-radius:var(--ac-radius);background:rgba(255,255,255,.86);box-shadow:var(--ac-shadow);}
.ac-card--pad{padding:clamp(24px,3vw,34px);}
.ac-card h3{margin:0 0 12px;color:var(--ac-blue-900);font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,2.4vw,31px);line-height:1.14;letter-spacing:-.025em;}
.ac-card p{margin:0;color:#53687a;}
.ac-card-icon{width:54px;height:54px;margin-bottom:18px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,var(--ac-cream),#fff);color:var(--ac-gold-700);font-size:24px;box-shadow:inset 0 0 0 1px rgba(198,141,43,.14);}
.ac-card img{display:block;width:100%;height:240px;object-fit:cover;}
.ac-card-body{padding:28px;}
.ac-card:hover{transform:translateY(-4px);transition:.25s ease;box-shadow:0 30px 80px rgba(6,23,42,.18);}
.ac-feature-card{display:grid;grid-template-columns:1fr;min-height:100%;}
.ac-feature-card img{height:260px;}
.ac-pill-list{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none;}
.ac-pill-list li{padding:8px 12px;border-radius:999px;background:rgba(227,184,95,.15);color:var(--ac-blue-900);font-size:13px;font-weight:850;}

/* Intro */
.ac-intro-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(34px,5vw,74px);align-items:center;}
.ac-intro-media{position:relative;border-radius:var(--ac-radius-lg);overflow:hidden;box-shadow:var(--ac-shadow-strong);min-height:420px;background:var(--ac-blue-900);}
.ac-intro-media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;}
.ac-intro-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(6,23,42,.68));}
.ac-floating-badge{position:absolute;left:24px;bottom:24px;right:24px;z-index:2;padding:20px;border:1px solid rgba(255,255,255,.24);border-radius:24px;background:rgba(255,255,255,.16);backdrop-filter:blur(14px);color:#fff;}
.ac-floating-badge strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:28px;line-height:1.05;}
.ac-floating-badge span{display:block;margin-top:8px;color:rgba(255,255,255,.82);font-weight:700;}
.ac-intro-copy{padding:12px 0;}
.ac-quote{position:relative;margin:32px 0 0;padding:24px 26px;border-left:4px solid var(--ac-gold-500);border-radius:0 22px 22px 0;background:#fff;box-shadow:0 16px 48px rgba(6,23,42,.08);color:#3f5366;font-size:19px;}

/* Areas */
.ac-area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:36px 0 0;padding:0;list-style:none;}
.ac-area-list li{display:flex;align-items:flex-start;gap:14px;padding:18px 18px;border-radius:20px;background:#fff;border:1px solid var(--ac-border);box-shadow:0 12px 28px rgba(6,23,42,.06);font-weight:800;color:var(--ac-blue-900);}
.ac-area-list li:before{content:"";width:14px;height:14px;margin-top:7px;flex:0 0 auto;border-radius:4px;background:linear-gradient(135deg,var(--ac-gold-500),var(--ac-gold-700));transform:rotate(45deg);}
.ac-split-cta{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:30px;align-items:stretch;}
.ac-split-cta .ac-card{height:100%;}
.ac-image-panel{position:relative;min-height:420px;border-radius:var(--ac-radius-lg);overflow:hidden;box-shadow:var(--ac-shadow-strong);}
.ac-image-panel img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;}
.ac-image-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,23,42,.04),rgba(6,23,42,.32));}

/* Stats */
.ac-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px;align-items:stretch;}
.ac-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:168px;padding:22px 18px;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);}
.ac-stat strong{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin:0 auto;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:40px;line-height:1;color:var(--ac-gold-300);font-variant-numeric:tabular-nums lining-nums;letter-spacing:0;}
.ac-stat span{display:flex;align-items:center;justify-content:center;width:100%;max-width:12ch;min-height:58px;margin:9px auto 0;text-align:center;color:rgba(255,255,255,.78);font-weight:750;line-height:1.35;}

/* Page template */
.ac-page-hero{position:relative;min-height:430px;display:flex;align-items:center;color:#fff;background:var(--ac-blue-950);overflow:hidden;}
.ac-page-hero:before{content:"";position:absolute;inset:0;background:var(--page-hero-image,url('assets/images/hero.jpg')) center/cover no-repeat;filter:saturate(1.05);transform:scale(1.02);}
.ac-page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,23,42,.94),rgba(6,23,42,.62),rgba(6,23,42,.2)),radial-gradient(circle at 26% 12%,rgba(227,184,95,.28),transparent 32rem);}
.ac-page-hero .ac-container{position:relative;z-index:1;padding:82px 0;}
.ac-page-hero h1{max-width:860px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(43px,6vw,78px);line-height:1;letter-spacing:-.055em;text-wrap:balance;}
.ac-page-hero p{max-width:770px;margin:22px 0 0;color:rgba(255,255,255,.84);font-size:clamp(18px,2vw,23px);line-height:1.66;}
.ac-page-content{padding:clamp(62px,7vw,104px) 0;background:#fff;}
.ac-content-frame{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;}
.ac-content-box{padding:clamp(28px,4vw,54px);border:1px solid var(--ac-border);border-radius:var(--ac-radius-lg);background:linear-gradient(180deg,#fff,#fffdf8);box-shadow:var(--ac-shadow);}
.ac-content-box h2,.ac-content-box h3{color:var(--ac-blue-900);font-family:Georgia,"Times New Roman",serif;line-height:1.12;letter-spacing:-.025em;}
.ac-content-box h2{font-size:clamp(30px,4vw,48px);margin:0 0 20px;}
.ac-content-box h3{font-size:clamp(23px,3vw,34px);margin:34px 0 14px;}
.ac-content-box p{color:#4c6174;font-size:18px;}
.ac-content-box p:first-child{margin-top:0;}
.ac-doc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px;}
.ac-doc-card{display:flex;flex-direction:column;gap:10px;min-height:140px;padding:20px;border:1px solid var(--ac-border);border-radius:22px;background:#fff;text-decoration:none;box-shadow:0 14px 35px rgba(6,23,42,.08);}
.ac-doc-card strong{color:var(--ac-blue-900);font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.1;}
.ac-doc-card span{color:var(--ac-muted);font-size:14px;font-weight:700;}
.ac-doc-card:hover{transform:translateY(-3px);color:inherit;}
.ac-alert{padding:18px 20px;border-radius:20px;border:1px solid rgba(198,141,43,.32);background:rgba(246,221,160,.28);color:#5e4a1f;font-weight:750;}
.ac-form-shell{margin-top:34px;padding:22px;border-radius:30px;background:#f8fbfd;border:1px solid rgba(18,75,115,.12);}
.ac-form-shell:empty{display:none;}

/* WordPress/content form styling */
.ac-content-box .wp-block-button__link,.ac-content-box button,.ac-content-box input[type="submit"],.ac-content-box .button{border:0;border-radius:999px;background:linear-gradient(135deg,var(--ac-gold-600),var(--ac-gold-500));color:var(--ac-blue-950);font-weight:900;padding:13px 22px;cursor:pointer;text-decoration:none;box-shadow:0 14px 30px rgba(6,23,42,.13);}
.ac-content-box input[type="text"],.ac-content-box input[type="email"],.ac-content-box input[type="tel"],.ac-content-box input[type="url"],.ac-content-box input[type="number"],.ac-content-box select,.ac-content-box textarea,.ac-form-shell input[type="text"],.ac-form-shell input[type="email"],.ac-form-shell input[type="tel"],.ac-form-shell select,.ac-form-shell textarea{width:100%;min-height:50px;border:1px solid rgba(14,34,52,.18);border-radius:16px;background:#fff;padding:12px 14px;color:var(--ac-ink);box-shadow:inset 0 1px 0 rgba(6,23,42,.03);}
.ac-content-box textarea,.ac-form-shell textarea{min-height:128px;resize:vertical;}
.ac-content-box label,.ac-form-shell label{font-weight:850;color:var(--ac-blue-900);}
.ac-content-box table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--ac-border);border-radius:20px;overflow:hidden;}
.ac-content-box td,.ac-content-box th{padding:14px;border-bottom:1px solid var(--ac-border);}
.ac-content-box tr:last-child td{border-bottom:0;}

/* Footer */
.ac-site-footer{color:#fff;background:radial-gradient(circle at 12% 12%,rgba(227,184,95,.22),transparent 30rem),linear-gradient(135deg,var(--ac-blue-950),var(--ac-blue-800));padding:70px 0 28px;}
.ac-footer-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:34px;}
.ac-footer-brand h2{margin:0 0 14px;font-family:Georgia,"Times New Roman",serif;font-size:34px;letter-spacing:-.03em;}
.ac-footer-brand p{max-width:440px;margin:0;color:rgba(255,255,255,.76);}
.ac-footer-logo{display:block;width:120px;height:auto;margin-top:16px;opacity:.90;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));}
.ac-footer-col h3{margin:0 0 14px;color:var(--ac-gold-300);font-size:13px;letter-spacing:.17em;text-transform:uppercase;}
.ac-footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.ac-footer-col a{color:rgba(255,255,255,.8);text-decoration:none;font-weight:750;}
.ac-footer-col a:hover{color:var(--ac-gold-300);}
.ac-footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:54px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.66);font-size:14px;}

/* Blog/default */
.ac-post-list{display:grid;gap:24px;}
.ac-post-card{padding:30px;border-radius:24px;background:#fff;border:1px solid var(--ac-border);box-shadow:var(--ac-shadow);}
.ac-post-card h2{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:32px;}
.ac-post-card a{text-decoration:none;color:var(--ac-blue-900);}
.ac-meta{color:var(--ac-muted);font-size:14px;font-weight:750;}

/* Responsive */
@media (max-width:1100px){
  .ac-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ac-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ac-header-actions .ac-btn--small:first-child{display:none;}
  .ac-main-nav a{padding:10px 9px;font-size:14px;}
  .ac-hero .ac-container{padding-left:clamp(28px,5vw,60px);padding-right:clamp(28px,5vw,60px);}
  .ac-hero-layout{grid-template-columns:minmax(0,.56fr) minmax(360px,.44fr);gap:clamp(36px,5vw,72px);}
  .ac-hero-shield{width:clamp(130px,9vw,170px);right:28px;top:72px;}
}
@media (max-width:920px){
  .admin-bar{--ac-adminbar:46px;}
  .ac-top-strip .ac-container{justify-content:center;text-align:center;}
  .ac-top-links{display:none;}
  .ac-nav-shell{min-height:78px;}
  .ac-brand-mark{width:54px;height:54px;}
  .ac-brand-mark img,.ac-brand-mark .custom-logo{width:60px;height:60px;}
  .ac-brand-tagline{display:none;}
  .ac-menu-toggle{display:block;}
  /* Fix menu mobile: il backdrop-filter dell'header crea un containing block per i
     discendenti position:fixed, confinando il nav fisso dentro l'header (~117px) e
     facendolo collassare ad altezza ~0 (menu invisibile). Su mobile lo disattiviamo
     così il nav torna relativo al VIEWPORT. L'header resta opaco (bg rgba .88). */
  .ac-site-header{backdrop-filter:none;-webkit-backdrop-filter:none;}
  .ac-main-nav{position:fixed;left:0;right:0;top:calc(var(--ac-adminbar) + 112px);bottom:0;display:none;padding:22px;background:rgba(255,253,248,.98);backdrop-filter:blur(18px);overflow:auto;border-top:1px solid var(--ac-border);}
  .ac-menu-open .ac-main-nav{display:block;}
  .ac-main-nav ul{display:grid;gap:8px;align-items:stretch;justify-content:stretch;}
  .ac-main-nav a{width:100%;justify-content:center;padding:15px 16px;border-radius:18px;background:#fff;border:1px solid var(--ac-border);box-shadow:0 10px 25px rgba(6,23,42,.06);}
  .ac-main-nav ul ul{position:static;display:grid;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:6px 0 0;}
  .ac-hero-layout,.ac-intro-layout,.ac-split-cta{grid-template-columns:1fr;}
  .ac-hero{height:auto;min-height:620px;max-height:none;}
  .ac-hero .ac-container{padding-left:clamp(22px,5vw,48px);padding-right:clamp(22px,5vw,48px);}
  .ac-hero-panel{align-items:flex-start;justify-content:flex-start;}
  .ac-hero-panel .ac-glass-panel{width:100%;max-width:500px;margin-top:24px;}
  .ac-glass-panel{max-width:none;}
  .ac-hero-shield{width:140px;right:22px;top:48px;}
  .ac-grid-3,.ac-area-list,.ac-stat-strip,.ac-footer-grid{grid-template-columns:1fr;}
  .ac-section{padding:66px 0;}
}
@media (max-width:620px){
  body{font-size:16px;}
  .ac-container{width:min(100% - 28px,var(--ac-container));}
  .ac-brand{min-width:auto;}
  .ac-brand-name{font-size:19px;}
  .ac-header-actions .ac-btn--small{display:none;}
  .ac-hero h1{font-size:38px;}
  .ac-hero-badge span{min-width:auto;min-height:48px;font-size:12px;padding:0 18px;letter-spacing:.14em;}
  .ac-hero-shield{display:none;}
  .ac-hero .ac-btn{min-height:50px;padding:0 22px;}
  .ac-btn-row{align-items:stretch;}
  .ac-btn{width:100%;}
  .ac-grid-2,.ac-grid-4,.ac-doc-grid{grid-template-columns:1fr;}
  .ac-card img,.ac-feature-card img{height:210px;}
  .ac-content-box{padding:24px;}
  .ac-footer-bottom{display:grid;}
}

/* Rifiniture V3.1 */
.ac-site-header{background:rgba(255,253,248,.94);}
.ac-nav-shell{min-height:96px;}
.ac-brand-mark{transition:transform .22s ease, filter .22s ease;}
.ac-brand:hover .ac-brand-mark{transform:translateY(-1px);filter:drop-shadow(0 12px 20px rgba(198,141,43,.18));}
.ac-main-nav a{letter-spacing:.01em;}
.ac-hero h1{max-width:860px;}
.ac-glass-panel h2{letter-spacing:-.035em;}
.ac-stat{box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 16px 38px rgba(0,0,0,.08);}
.ac-stat strong{font-weight:900;}
.ac-stat span{word-break:normal;overflow-wrap:normal;}
@media (min-width:921px){.ac-stat:first-child strong{transform:translateX(0);}.ac-stat:first-child span{max-width:10ch;}}

/* ── Community dropdown (desktop) ── */
.ac-community-dropdown{
  position:relative;
  flex-shrink:0;
}
.ac-community-trigger{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:8px 18px;
  border:1.5px solid var(--ac-gold-600);
  border-radius:999px;
  background:transparent;
  color:var(--ac-gold-700);
  font-size:13px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
  transition:background .2s,color .2s,border-color .2s;
  font-family:inherit;
}
.ac-community-trigger:hover,
.ac-community-dropdown.is-open .ac-community-trigger{
  background:var(--ac-gold-500);
  color:var(--ac-blue-950);
  border-color:var(--ac-gold-500);
}
.ac-community-chevron{
  display:block;
  transition:transform .2s;
}
.ac-community-dropdown.is-open .ac-community-chevron{
  transform:rotate(180deg);
}
/* Panel */
.ac-community-panel{
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:230px;
  background:var(--ac-paper);
  border:1px solid var(--ac-border);
  border-radius:14px;
  box-shadow:var(--ac-shadow);
  padding:8px;
  z-index:9999;
}
.ac-community-dropdown.is-open .ac-community-panel{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.ac-community-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:9px;
  text-decoration:none;
  color:var(--ac-ink);
  transition:background .15s;
}
.ac-community-item:hover{
  background:var(--ac-cream);
  color:var(--ac-ink);
}
.ac-ci-icon{
  font-size:18px;
  line-height:1;
  color:var(--ac-gold-600);
  flex-shrink:0;
  width:28px;
  text-align:center;
}
.ac-ci-text{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.ac-ci-text strong{
  font-size:13px;
  font-weight:700;
  line-height:1.2;
}
.ac-ci-text small{
  font-size:11px;
  color:var(--ac-muted);
  line-height:1.3;
}
/* Su mobile il dropdown si nasconde — le voci appaiono nel menu hamburger */
@media(max-width:920px){.ac-community-dropdown{display:none;}}
/* Voci Community nel menu hamburger: visibili solo su mobile */
.ac-nav-community{display:none!important;}
@media(max-width:920px){.ac-nav-community{display:block!important;}}

/* ── Sponsor Etici page ── */
.ac-sponsor-etici{max-width:900px;margin:0 auto;padding:0 20px 60px;}
.ac-se-hero{
  background:linear-gradient(135deg,var(--ac-blue-900) 0%,var(--ac-blue-800) 60%,var(--ac-blue-700) 100%);
  border-radius:var(--ac-radius);
  padding:56px 40px;
  text-align:center;
  color:var(--ac-white);
  margin-bottom:48px;
}
.ac-kicker{
  font-size:11px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--ac-gold-500);
  margin:0 0 10px;
}
.ac-se-title{
  font-size:clamp(1.9rem,4vw,2.8rem);
  font-weight:900;
  letter-spacing:-.04em;
  color:var(--ac-white);
  margin:0 0 14px;
}
.ac-se-subtitle{
  font-size:1.05rem;
  color:rgba(255,255,255,.82);
  margin:0;
  max-width:520px;
  margin-inline:auto;
}
.ac-se-intro{
  margin-bottom:48px;
}
.ac-se-intro-text p{
  margin:0 0 16px;
  font-size:1.02rem;
  line-height:1.72;
}
.ac-se-status-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  background:var(--ac-cream);
  border:1px solid var(--ac-border);
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  color:var(--ac-muted);
  margin-top:8px;
}
.ac-se-status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--ac-gold-500);
  flex-shrink:0;
}
.ac-se-section-title{
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:-.03em;
  margin:0 0 24px;
  color:var(--ac-blue-900);
}
.ac-se-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:20px;
  margin-bottom:48px;
}
.ac-se-card{
  background:var(--ac-paper);
  border:1px solid var(--ac-border);
  border-radius:16px;
  padding:24px 20px;
  transition:box-shadow .2s,transform .2s;
}
.ac-se-card:hover{
  box-shadow:0 8px 28px rgba(6,23,42,.10);
  transform:translateY(-2px);
}
.ac-se-card-icon{
  font-size:22px;
  color:var(--ac-gold-600);
  margin-bottom:10px;
}
.ac-se-card h3{
  font-size:1rem;
  font-weight:800;
  margin:0 0 8px;
  color:var(--ac-blue-900);
}
.ac-se-card p{
  font-size:.9rem;
  color:var(--ac-muted);
  margin:0;
  line-height:1.6;
}
.ac-se-disclaimer{
  background:var(--ac-cream-2);
  border-left:3px solid var(--ac-gold-600);
  border-radius:0 10px 10px 0;
  padding:16px 20px;
  font-size:.88rem;
  color:var(--ac-muted);
  margin-bottom:48px;
  line-height:1.6;
}
.ac-se-disclaimer strong{color:var(--ac-ink);}
.ac-se-cta{
  text-align:center;
  background:var(--ac-blue-900);
  border-radius:var(--ac-radius);
  padding:48px 32px;
  color:var(--ac-white);
}
.ac-se-cta h2{
  font-size:1.6rem;
  font-weight:900;
  letter-spacing:-.04em;
  margin:0 0 12px;
  color:var(--ac-white);
}
.ac-se-cta p{
  font-size:1rem;
  color:rgba(255,255,255,.82);
  margin:0 0 24px;
}
.ac-se-cta-buttons{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}

/* ── Negozio Solidale page ── */
.ac-negozio-solidale{max-width:900px;margin:0 auto;padding:0 20px 60px;}
.ac-ns-hero{
  background:linear-gradient(135deg,var(--ac-blue-900) 0%,var(--ac-blue-800) 40%,#0d4a2e 100%);
  border-radius:var(--ac-radius);
  padding:56px 40px;
  text-align:center;
  color:var(--ac-white);
  margin-bottom:48px;
}
.ac-ns-title{
  font-size:clamp(1.9rem,4vw,2.8rem);
  font-weight:900;
  letter-spacing:-.04em;
  color:var(--ac-white);
  margin:0 0 14px;
}
.ac-ns-subtitle{
  font-size:1.05rem;
  color:rgba(255,255,255,.82);
  margin:0;
  max-width:520px;
  margin-inline:auto;
}
.ac-ns-intro{margin-bottom:48px;}
.ac-ns-intro-text p{margin:0 0 16px;font-size:1.02rem;line-height:1.72;}
.ac-ns-categories{margin-bottom:48px;}
.ac-ns-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:20px;
}
.ac-ns-card{
  background:var(--ac-paper);
  border:1px solid var(--ac-border);
  border-radius:16px;
  padding:24px 20px;
  transition:box-shadow .2s,transform .2s;
}
.ac-ns-card:hover{
  box-shadow:0 8px 28px rgba(6,23,42,.10);
  transform:translateY(-2px);
}
.ac-ns-card h3{font-size:1rem;font-weight:800;margin:0 0 8px;color:var(--ac-blue-900);}
.ac-ns-card p{font-size:.9rem;color:var(--ac-muted);margin:0;line-height:1.6;}

/* ── Gabriel – inserimento singolo (aggiunto post-Fase 3) ───────────────── */
.ac-gabriel-link{display:flex;align-items:center;flex-shrink:0;text-decoration:none;margin-right:6px;}
.ac-gabriel-image{height:100px;width:auto;display:block;transition:transform .2s ease;}
.ac-gabriel-link:hover .ac-gabriel-image{transform:scale(1.07);}
@media(max-width:767px){.ac-gabriel-image{height:72px;}}
/* ─────────────────────────────────────────────────────────────────────────── */
.ac-ns-woo-active{margin-top:24px;}

/* ═══════════════════════════════════════════════════════════════════════════
   PATCH HEADER/NAV DESKTOP — 2026-05-27
   Corregge overflow orizzontale a zoom 100% su viewport 1280-1920px.
   Interviene SOLO su header/nav — nessun'altra sezione modificata.
   Backup pre-patch: style.css.bak-pre-header-patch (619 righe)
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1. Sicurezza: blocca scroll orizzontale globale senza creare stacking context */
html { overflow-x: clip; }

/* 2. Allarga il container SOLO per l'header (non tocca --ac-container globale) */
.ac-site-header .ac-container {
  width: min(1400px, calc(100% - 32px));
}

/* ─── 3. Desktop compatto ≥ 1280px ─────────────────────────────────────── */
@media (min-width: 1280px) {
  /* Gabriel ridotto */
  .ac-gabriel-image { height: 70px; }

  /* Nav-shell più compatta */
  .ac-nav-shell { gap: 10px; min-height: 82px; }

  /* Brand compatta */
  .ac-brand { min-width: 0; gap: 8px; }
  .ac-brand-mark,
  .ac-brand-mark img,
  .ac-brand-mark .custom-logo { width: 52px; height: 52px; }
  .ac-brand-name { font-size: 19px; }
  .ac-brand-tagline { font-size: 10px; letter-spacing: .07em; margin-top: 3px; }

  /* Community trigger compatto */
  .ac-community-trigger { padding: 6px 10px; font-size: 12px; }

  /* Bottoni azioni header */
  .ac-header-actions .ac-btn--small { min-height: 36px; padding: 8px 10px; font-size: 13px; }

  /* Voci nav compatte, riga singola garantita */
  .ac-main-nav { min-width: 0; }
  .ac-main-nav ul { gap: 2px; flex-wrap: nowrap; }
  .ac-main-nav a { padding: 9px 8px; font-size: 13px; }
}

/* ─── 4. Hamburger per tablet / small-laptop 921-1279px ─────────────────── */
@media (min-width: 921px) and (max-width: 1279px) {
  /* Mostra hamburger */
  .ac-menu-toggle { display: block; }

  /* Fix menu mobile/tablet: disattiva il backdrop-filter dell'header così il nav
     position:fixed torna relativo al viewport e non collassa dentro l'header. */
  .ac-site-header { backdrop-filter: none; -webkit-backdrop-filter: none; }

  /* Pannello nav a pannello fisso */
  .ac-main-nav {
    position: fixed;
    left: 0; right: 0;
    top: calc(var(--ac-adminbar, 0px) + 130px);
    bottom: 0;
    display: none;
    flex: none;
    padding: 22px;
    background: rgba(255,253,248,.98);
    backdrop-filter: blur(18px);
    overflow-y: auto; overflow-x: hidden;
    border-top: 1px solid var(--ac-border);
    z-index: 9999;
  }
  .ac-menu-open .ac-main-nav { display: block; }

  /* Voci in griglia centrata */
  .ac-main-nav ul {
    display: grid;
    gap: 8px;
    align-items: stretch;
    justify-content: stretch;
  }
  .ac-main-nav a {
    display: flex;
    width: 100%;
    justify-content: center;
    padding: 15px 16px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid var(--ac-border);
    box-shadow: 0 10px 25px rgba(6,23,42,.06);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0;
    color: var(--ac-blue-900);
  }
  .ac-main-nav a:hover {
    background: rgba(227,184,95,.18);
    color: var(--ac-gold-700);
  }
  /* Sottomenu statici (se presenti) */
  .ac-main-nav ul ul {
    position: static;
    display: grid;
    opacity: 1; visibility: visible;
    transform: none;
    box-shadow: none; border: 0;
    background: transparent;
    padding: 6px 0 0;
  }

  /* Community: rimossa dall'header, accessibile via hamburger */
  .ac-community-dropdown { display: none; }
  .ac-nav-community { display: block !important; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   FINE PATCH HEADER/NAV DESKTOP — 2026-05-27
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   PATCH HERO/SECTIONS — 2026-05-27
   Corregge: hero home tagliata/overflow, CTA fuori area, hero interne
   sovradimensionate, titoli sotto header sticky.
   Header/nav/Gabriel/Community/logo/menu NON toccati.
   Backup pre-patch: style.css.bak-pre-hero-patch (728 righe)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── 1. Scroll-margin globale: previene overlap titoli/sezioni con sticky header ─ */
[id] {
  scroll-margin-top: calc(var(--ac-adminbar, 0px) + 128px);
}

/* ─── 2–4. Hero home, hero interne, mini-hero ≥ 1280px ─────────────────── */
@media (min-width: 1280px) {

  /* ── 2. Hero HOME ─────────────────────────────────────────────────────── */

  /* Altezza calibrata sull'header effettivo post-Patch1
     (top-strip 34px + nav-shell 82px = 116px):
     calc(100vh - 124px) lascia 8px di margine extra */
  .ac-hero {
    min-height: calc(100vh - 124px);
    height: calc(100vh - 124px);
    max-height: 720px;
  }

  /* Riduci padding laterale del container hero (era clamp(72px,6.8vw,130px)):
     a 1366px = 54.6px per lato invece di 92.9px → +76px di contenuto disponibile */
  .ac-hero .ac-container {
    padding-left: clamp(36px, 4vw, 80px);
    padding-right: clamp(36px, 4vw, 80px);
  }

  /* Correggi griglia: rimuovi il minimo 460px sul pannello destro
     (causava riduzione forzata della colonna testo a ~436px),
     riduci gap e padding verticale per contenere tutto nel hero */
  .ac-hero-layout {
    grid-template-columns: minmax(0, .57fr) minmax(0, .43fr);
    gap: clamp(28px, 3.5vw, 68px);
    padding: clamp(20px, 2.5vh, 36px) 0;
  }

  /* Titolo: proporzionato, non tagliato — da clamp(44px,4.6vw,72px) */
  .ac-hero h1 {
    font-size: clamp(36px, 3.5vw, 56px);
    margin-bottom: 18px;
  }

  /* Paragrafo hero */
  .ac-hero p {
    font-size: clamp(15px, 1.4vw, 19px);
    margin-bottom: 20px;
  }

  /* Badge: riduce spazio verticale */
  .ac-hero-badge { margin-bottom: 20px; }
  .ac-hero-badge span {
    min-width: clamp(180px, 20vw, 360px);
    min-height: 52px;
    font-size: clamp(11px, 1vw, 15px);
  }

  /* Nota sotto CTA */
  .ac-hero-note { margin-top: 16px; }

  /* CTA — leggermente ridotti per rientrare nel hero */
  .ac-hero .ac-btn { min-height: 52px; padding: 0 24px; font-size: 15px; }

  /* Shield: ridotto proporzionalmente al nuovo layout */
  .ac-hero-shield { width: clamp(120px, 8vw, 178px); top: 72px; }

  /* ── 3. Hero PAGINE INTERNE ──────────────────────────────────────────── */

  .ac-page-hero { min-height: 320px; }
  .ac-page-hero .ac-container { padding: 56px 0; }

  /* Titolo interno: da clamp(43px,6vw,78px) — a 1366px era ~78px, ora ~55px */
  .ac-page-hero h1 {
    font-size: clamp(32px, 4vw, 56px);
    line-height: 1.04;
  }
  .ac-page-hero p {
    font-size: clamp(15px, 1.5vw, 20px);
    margin-top: 14px;
  }

  /* ── 4. Mini-hero: Negozio Solidale / Sponsor Etici ─────────────────── */

  .ac-ns-hero,
  .ac-se-hero { padding: 42px 32px; }

  .ac-ns-title,
  .ac-se-title { font-size: clamp(1.6rem, 3.2vw, 2.4rem); }
}
/* ═══════════════════════════════════════════════════════════════════════════
   FINE PATCH HERO/SECTIONS — 2026-05-27
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   PATCH PAGINE INTERNE — 2026-05-27
   Riduce spaziature eccessive, titoli e padding sezioni su desktop ≥ 1280px.
   Header/nav/Gabriel/Community/home-hero NON toccati.
   Backup pre-patch: style.css.bak-pre-inner-patch (827 righe)
   ═══════════════════════════════════════════════════════════════════════════ */

@media (min-width: 1280px) {

  /* ── 1. Spazio tra hero e primo contenuto ───────────────────────────────── */
  /* Era clamp(62px,7vw,104px) → a 1366px: 96px. Ridotto a ~55px */
  .ac-page-content {
    padding-top: clamp(40px, 4vw, 62px);
    padding-bottom: clamp(40px, 4vw, 62px);
  }

  /* ── 2. Sezioni: padding verticale più compatto ─────────────────────────── */
  /* Era clamp(56px,6vw,92px) → a 1366px: 82px per lato. Ora ~62px */
  .ac-section { padding: clamp(42px, 4.5vw, 70px) 0; }

  /* Era clamp(46px,5vw,78px) → a 1366px: 68px. Ora ~52px */
  .ac-section--tight { padding: clamp(34px, 3.8vw, 58px) 0; }

  /* ── 3. Titolo di sezione ───────────────────────────────────────────────── */
  /* Era clamp(34px,4.6vw,62px) → a 1366px: 62px. Ora ~48px */
  .ac-section-title {
    font-size: clamp(28px, 3.5vw, 50px);
    line-height: 1.06;
  }

  /* ── 4. Lead text ───────────────────────────────────────────────────────── */
  /* Era clamp(18px,2vw,21px) → max 21px. Ora max 20px */
  .ac-lead { font-size: clamp(16px, 1.7vw, 20px); }

  /* ── 5. Content-box: padding e titoli H2/H3 ────────────────────────────── */
  /* Padding: era clamp(28px,4vw,54px) → max 54px. Ora ~41px */
  .ac-content-box { padding: clamp(24px, 3vw, 42px); }

  /* H2: era clamp(30px,4vw,48px) → max 48px. Ora max 42px */
  .ac-content-box h2 {
    font-size: clamp(26px, 3.2vw, 42px);
    margin-bottom: 16px;
  }

  /* H3: era clamp(23px,3vw,34px) → max 34px. Ora max 30px */
  .ac-content-box h3 {
    font-size: clamp(20px, 2.2vw, 30px);
    margin-top: 28px;
  }

  /* ── 6. Content frame: gap ridotto ─────────────────────────────────────── */
  /* Era 34px fisso. Ora 26px */
  .ac-content-frame { gap: 26px; }

  /* ── 7. Card: padding e titolo ─────────────────────────────────────────── */
  /* card--pad: era clamp(24px,3vw,34px) → max 34px. Ora max 32px */
  .ac-card--pad { padding: clamp(22px, 2.4vw, 32px); }

  /* card h3: era clamp(22px,2.4vw,31px) → max 31px. Ora ~27px */
  .ac-card h3 { font-size: clamp(20px, 2vw, 28px); }

  /* card-body: era 28px fisso. Ora 22px su desktop */
  .ac-card-body { padding: 22px; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   FINE PATCH PAGINE INTERNE — 2026-05-27
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   PATCH 4 — SPAZI INTERNI PAGINE: RANGE 960-1279px + GLOBALI — 2026-05-27
   ────────────────────────────────────────────────────────────────────────────
   CAUSA ROOT: i Patch 2 e 3 usano min-width:1280px. Su laptop con DPI
   scaling Windows 125% la viewport CSS è ~1093px → soglia MAI raggiunta.
   Valori originali restano attivi: hero 430px, page-content 76px, box 44px.
   Totale prima dell'heading: 680px su schermo 768px → solo 88px visibili.
   ────────────────────────────────────────────────────────────────────────────
   SOLUZIONE: nuovo blocco 960-1279px + correzioni globali su form/ns-hero.
   Header/nav/Gabriel/Community/home-hero NON toccati.
   Backup pre-patch: style.css.bak-pre-patch4 (895 righe)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── A. Correzioni globali desktop (≥ 960px): form-shell e mini-hero ─────── */
@media (min-width: 960px) {
  /* form-shell: margin-top era 34px — eccessivo dentro content-box */
  .ac-form-shell { margin-top: 18px; }

  /* ns-hero / se-hero: margin-bottom era 48px — ridotto per compattare vetrina */
  .ac-ns-hero,
  .ac-se-hero { margin-bottom: 28px; }

  /* ns-intro / se-intro: margin-bottom era 48px */
  .ac-ns-intro,
  .ac-se-intro { margin-bottom: 28px; }
}

/* ─── B. Range 960–1279px: copertura DPI-scaled desktop ────────────────────
   A 1093px CSS (1366px × 125% DPI) le Patch 2/3 (min-width:1280px) NON
   si attivano. Questo blocco copre esattamente quel range.
   Al di sopra di 1279px le Patch 2/3 prendono il sopravvento (cascade). ─── */
@media (min-width: 960px) and (max-width: 1279px) {

  /* ── Page hero interne ─────────────────────────────────────────────────── */
  /* Era: min-height 430px, padding 82px. A 1093px: hero=430px + 82px vuoti */
  .ac-page-hero { min-height: 280px; }
  .ac-page-hero .ac-container { padding: 44px 0; }

  /* h1 interno: era clamp(43px,6vw,78px) → a 1093px: 65.6px */
  .ac-page-hero h1 {
    font-size: clamp(28px, 3.8vw, 52px);
    line-height: 1.04;
  }
  .ac-page-hero p {
    font-size: clamp(14px, 1.4vw, 18px);
    margin-top: 14px;
  }

  /* ── Spazio hero → contenuto ──────────────────────────────────────────── */
  /* Era: clamp(62px,7vw,104px) → a 1093px: 76.5px. Ora: ~30px */
  .ac-page-content {
    padding-top: clamp(24px, 2.8vw, 40px);
    padding-bottom: clamp(24px, 2.8vw, 40px);
  }

  /* ── Content-box (card bianca) ────────────────────────────────────────── */
  /* Era: clamp(28px,4vw,54px) → a 1093px: 43.7px. Ora: ~25px */
  .ac-content-box { padding: clamp(20px, 2.3vw, 34px); }
  .ac-content-box h2 { font-size: clamp(24px, 3vw, 40px); margin-bottom: 14px; }
  .ac-content-box h3 { font-size: clamp(19px, 2.1vw, 28px); margin-top: 24px; }

  /* ── Content frame ────────────────────────────────────────────────────── */
  .ac-content-frame { gap: 20px; }

  /* ── Sezioni ──────────────────────────────────────────────────────────── */
  /* Era: clamp(56px,6vw,92px) → a 1093px: 65.6px. Ora: ~43px */
  .ac-section { padding: clamp(36px, 4vw, 60px) 0; }
  .ac-section--tight { padding: clamp(28px, 3.2vw, 48px) 0; }
  .ac-section-title { font-size: clamp(26px, 3.3vw, 46px); line-height: 1.06; }
  .ac-lead { font-size: clamp(16px, 1.6vw, 19px); }

  /* ── Card ─────────────────────────────────────────────────────────────── */
  .ac-card--pad { padding: clamp(20px, 2.2vw, 30px); }
  .ac-card h3 { font-size: clamp(18px, 1.9vw, 26px); }
  .ac-card-body { padding: 20px; }

  /* ── Mini-hero Negozio Solidale / Sponsor Etici ───────────────────────── */
  /* era padding 56px 40px. A 1093px: ancora originale (Patch2 non attiva) */
  .ac-ns-hero,
  .ac-se-hero { padding: 36px 28px; }
  .ac-ns-title,
  .ac-se-title { font-size: clamp(1.5rem, 3vw, 2.2rem); }
}
/* ═══════════════════════════════════════════════════════════════════════════
   FINE PATCH 4 — 2026-05-27
   Verifica calcolata a 1093px CSS viewport (1366px × 125% DPI):
   header(130) + hero(280) + page-content-pt(30.6) + content-box-pt(25.1)
   = 465.7px → 302px di contenuto visibile su schermo 768px ✅
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   PATCH 5 — HERO INTERNE COMPATTE E CONTENUTO SUBITO VISIBILE — 2026-05-27
   ────────────────────────────────────────────────────────────────────────────
   CAUSA: Patch 2+3 (≥1280px) lasciavano ancora troppo spazio verticale:
   hero(320px) + padding-hero(112px) + page-content-pt(~55px) + box-pt(~41px)
   = ~528px sopra il primo testo → su schermo 768px CSS pochissimo contenuto.
   Patch 4 (960-1279px) era già migliorativa ma insufficiente.
   ────────────────────────────────────────────────────────────────────────────
   SOLUZIONE: override forte sia su ≥1280px (Patch 2+3) sia su 960-1279px
   (Patch 4). Header/nav/Gabriel/Community/home-hero NON toccati.
   Backup pre-patch: style.css.bak-pre-patch5 (985 righe)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── A. Desktop largo ≥ 1280px ────────────────────────────────────────────
   Override Patch 2 (hero interne) e Patch 3 (spaziature pagine interne).
   Stack verticale a 1366px dopo patch:
   header(116) + hero(220) + page-content-pt(22) + box-pt(30) = 388px
   → su schermo 768px CSS: 380px di contenuto visibile ✅                    */
@media (min-width: 1280px) {

  /* Hero interna: banner elegante — era min-height: 320px */
  .ac-page-hero {
    min-height: 220px;
  }

  /* Padding container hero: era padding: 56px 0 */
  .ac-page-hero .ac-container {
    padding: 34px 0;
  }

  /* Titolo hero interno: era clamp(32px,4vw,56px) → a 1366px ~54px, ora ~42px */
  .ac-page-hero h1 {
    font-size: clamp(34px, 3.1vw, 48px);
    line-height: 1.05;
  }

  /* Paragrafo hero: ridotto, max-width per leggibilità */
  .ac-page-hero p {
    font-size: clamp(15px, 1.25vw, 18px);
    margin-top: 10px;
    max-width: 900px;
  }

  /* Spazio hero→contenuto: era clamp(40px,4vw,62px) ~55px → 22px fisso */
  .ac-page-content {
    padding-top: 22px;
    padding-bottom: 48px;
  }

  /* Frame gap: era 26px → 18px */
  .ac-content-frame { gap: 18px; }

  /* Content-box: top/bottom ridotti; left/right restano da Patch 3 */
  .ac-content-box {
    padding-top: 30px;
    padding-bottom: 34px;
  }

  /* H2 interni e titoli di sezione: era clamp(26px,3.2vw,42px) / clamp(28px,3.5vw,50px) */
  .ac-content-box h2,
  .ac-section-title {
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.08;
  }
}

/* ─── B. Laptop DPI-scaled 960–1279px ──────────────────────────────────────
   Override Patch 4: ulteriore riduzione hero e spazi.
   Stack a 1093px CSS (1366px × 125% DPI):
   header(130) + hero(200) + page-content-pt(18) + box-pt(26) = 374px
   → su schermo 614px CSS (768px / 1.25): 240px di contenuto visibile ✅     */
@media (min-width: 960px) and (max-width: 1279px) {

  /* Hero: era 280px → 200px */
  .ac-page-hero { min-height: 200px; }

  /* Padding container hero: era padding: 44px 0 → 30px 0 */
  .ac-page-hero .ac-container { padding: 30px 0; }

  /* Spazio hero→contenuto: era clamp(24px,2.8vw,40px) → 18px fisso */
  .ac-page-content { padding-top: 18px; }

  /* Content-box top: era clamp(20px,2.3vw,34px) all sides → top 26px */
  .ac-content-box { padding-top: 26px; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   FINE PATCH 5 — 2026-05-27
   Distanza fine-hero → primo testo a ≥1280px: 22px (page-content-pt) + 30px
   (box-pt) = 52px totali (era ~96px). Obiettivo 20–35px raggiunto a 960-1279px:
   18px + 26px = 44px. Header/menu/home invariati. Nessun scroll orizzontale.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   PATCH 6 — RIFINITURA FORTE: EFFETTO PATCH 5 RADDOPPIATO — 2026-05-27
   ────────────────────────────────────────────────────────────────────────────
   OBIETTIVO: raddoppiare l'incisività delle riduzioni di Patch 5.
   Stessa strategia, valori ulteriormente compressi sulle pagine interne.
   Header/nav/Gabriel/Community/home-hero NON toccati.
   Backup pre-patch: style.css.bak-pre-patch6 (1077 righe)
   ════════════════════════════════════════════════════════════════════════════
   Stack verticale calcolato a 1366px (≥1280px):
   header(116) + hero(160) + page-content-pt(10) + box-pt(22) = 308px
   → 460px di contenuto visibile su schermo 768px CSS ✅
   Stack a 1093px CSS (960-1279px, DPI 125%):
   header(130) + hero(150) + page-content-pt(8) + box-pt(20) = 308px
   → 306px visibili su schermo 614px CSS ✅
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── A. Desktop largo ≥ 1280px ────────────────────────────────────────────
   Override Patch 5 (che override Patch 2+3).                                */
@media (min-width: 1280px) {

  /* Hero: banner compatto — era 220px (P5), 320px (P2) */
  .ac-page-hero {
    min-height: 160px;
  }

  /* Padding container hero: era 34px 0 (P5), 56px 0 (P2) */
  .ac-page-hero .ac-container {
    padding: 24px 0;
  }

  /* H1 hero: era clamp(34px,3.1vw,48px) → a 1366px ~42px, ora ~35px */
  .ac-page-hero h1 {
    font-size: clamp(30px, 2.6vw, 42px);
    line-height: 1.05;
  }

  /* Paragrafo hero: ridotto ulteriormente */
  .ac-page-hero p {
    font-size: clamp(14px, 1.1vw, 17px);
    margin-top: 8px;
    max-width: 880px;
  }

  /* Spazio hero→contenuto: era 22px (P5) → 10px */
  .ac-page-content {
    padding-top: 10px;
    padding-bottom: 38px;
  }

  /* Frame gap: era 18px (P5) → 12px */
  .ac-content-frame { gap: 12px; }

  /* Content-box top/bottom: era 30px/34px (P5) → 22px/30px */
  .ac-content-box {
    padding-top: 22px;
    padding-bottom: 30px;
  }

  /* H2 e titoli sezione: era clamp(30px,3vw,44px) → clamp(28px,2.6vw,40px) */
  .ac-content-box h2,
  .ac-section-title {
    font-size: clamp(28px, 2.6vw, 40px);
    line-height: 1.08;
  }
}

/* ─── B. Laptop DPI-scaled 960–1279px ──────────────────────────────────────
   Override Patch 5B (che override Patch 4).                                 */
@media (min-width: 960px) and (max-width: 1279px) {

  /* Hero: era 200px (P5) → 150px */
  .ac-page-hero { min-height: 150px; }

  /* Padding container hero: era 30px 0 (P5) → 22px 0 */
  .ac-page-hero .ac-container { padding: 22px 0; }

  /* Spazio hero→contenuto: era 18px (P5) → 8px */
  .ac-page-content { padding-top: 8px; }

  /* Content-box top: era 26px (P5) → 20px */
  .ac-content-box { padding-top: 20px; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   FINE PATCH 6 — 2026-05-27
   Distanza fine-hero → primo testo a ≥1280px: 10px + 22px = 32px (era 52px).
   A 960-1279px: 8px + 20px = 28px (era 44px).
   Header/menu/home NON toccati. Nessun scroll orizzontale.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   PATCH 7 — COMPRESSIONE MASSIMA ELEGANTE — 2026-05-27
   ────────────────────────────────────────────────────────────────────────────
   Obiettivo: spingere al limite inferiore compatibile con l'eleganza visiva.
   Hero ridotta a banner minimo, spazio tra hero e contenuto quasi azzerato,
   content-box inizia quasi immediatamente.
   Header/nav/Gabriel/Community/home-hero NON toccati.
   Backup pre-patch: style.css.bak-pre-patch7 (1166 righe)
   ════════════════════════════════════════════════════════════════════════════
   Stack calcolato a 1366px (≥1280px):
   header(116) + hero(120) + page-content-pt(4) + box-pt(16) = 256px
   → 512px di contenuto visibile su schermo 768px CSS ✅
   Stack a 1093px CSS (960-1279px, DPI 125%):
   header(130) + hero(110) + page-content-pt(0) + box-pt(14) = 254px
   → 360px visibili su schermo 614px CSS ✅
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── A. Desktop largo ≥ 1280px ─────────────────────────────────────────── */
@media (min-width: 1280px) {

  /* Hero: banner minimo — era 160px (P6) */
  .ac-page-hero {
    min-height: 120px;
  }

  /* Padding container hero: era 24px 0 (P6) */
  .ac-page-hero .ac-container {
    padding: 16px 0;
  }

  /* H1 hero: era clamp(30px,2.6vw,42px) → ulteriormente ridotto */
  .ac-page-hero h1 {
    font-size: clamp(24px, 2vw, 34px);
    line-height: 1.04;
  }

  /* Paragrafo hero */
  .ac-page-hero p {
    font-size: clamp(13px, 1vw, 16px);
    margin-top: 6px;
    max-width: 860px;
  }

  /* Spazio hero→contenuto: quasi azzerato — era 10px (P6) */
  .ac-page-content {
    padding-top: 4px;
    padding-bottom: 28px;
  }

  /* Frame gap: era 12px (P6) */
  .ac-content-frame { gap: 8px; }

  /* Content-box: era 22px/30px (P6) */
  .ac-content-box {
    padding-top: 16px;
    padding-bottom: 22px;
  }

  /* H2 interni e titoli sezione */
  .ac-content-box h2,
  .ac-section-title {
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.08;
  }
}

/* ─── B. Laptop DPI-scaled 960–1279px ─────────────────────────────────── */
@media (min-width: 960px) and (max-width: 1279px) {

  /* Hero: era 150px (P6) */
  .ac-page-hero { min-height: 110px; }

  /* Padding container hero: era 22px 0 (P6) */
  .ac-page-hero .ac-container { padding: 14px 0; }

  /* Spazio hero→contenuto: azzerato — era 8px (P6) */
  .ac-page-content { padding-top: 0; }

  /* Content-box top: era 20px (P6) */
  .ac-content-box { padding-top: 14px; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   FINE PATCH 7 — 2026-05-27
   Distanza fine-hero → primo testo a ≥1280px: 4px + 16px = 20px (era 32px).
   A 960-1279px: 0px + 14px = 14px (era 28px).
   Header/menu/home NON toccati. Nessun scroll orizzontale.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   PATCH 8 — ARMONIZZAZIONE COMPATTA COMPONENTI INTERNI — 2026-05-27
   ────────────────────────────────────────────────────────────────────────────
   Obiettivo: riduzione armonica di card, griglie, testi, form e sezioni
   nelle sole pagine interne. Header/menu/home NON toccati.
   Tutti i selettori card/section/lead sono scoped a .ac-page-content
   o a classi usate esclusivamente nelle pagine interne.
   Backup pre-patch: style.css.bak-pre-patch8 (1254 righe)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── A. Globale — solo elementi esclusivi delle pagine interne ──────────── */

/* Kicker: meno spazio sotto (era margin: 0 0 16px) — scoped a inner pages */
.ac-page-hero .ac-kicker,
.ac-page-content .ac-kicker { margin: 0 0 8px; }

/* Lead scoped: line-height e margine più compatti */
.ac-page-content .ac-lead { line-height: 1.58; margin-top: 10px; }

/* ─── B. Desktop ≥ 960px (include laptop DPI-scaled) ───────────────────── */
@media (min-width: 960px) {

  /* Griglia interna: gap ridotto da 24px */
  .ac-page-content .ac-grid { gap: 14px; }

  /* Post list (archivio blog) */
  .ac-post-list { gap: 12px; }

  /* Sezioni all'interno di pagine interne scoped (non tocca home) */
  .ac-page-content .ac-section { padding: clamp(20px, 2.6vw, 36px) 0; }
  .ac-page-content .ac-section--tight { padding: clamp(16px, 2vw, 28px) 0; }

  /* Plugin — news: gap e margine griglia */
  .ac-news-grid { gap: 14px; margin-top: 10px; margin-bottom: 0; }

  /* Plugin — progetti */
  .ac-projects-grid { gap: 14px; margin-top: 10px; margin-bottom: 0; }

  /* Plugin — eventi */
  .ac-events-ul { gap: 10px; margin: 8px 0; }

  /* Plugin — area sections */
  .ac-area-sections { gap: 12px; margin-top: 12px; }

  /* NS: woo placeholder */
  .ac-ns-woo-active { margin-top: 14px; }
}

/* ─── C. Desktop largo ≥ 1280px ─────────────────────────────────────────── */
@media (min-width: 1280px) {

  /* Lead: font più compatto nelle pagine interne */
  .ac-page-content .ac-lead { font-size: clamp(15px, 1.5vw, 18px); }

  /* Section title: mini margine sotto per avvicinare il lead */
  .ac-page-content .ac-section-title { margin-bottom: 4px; }

  /* ── Card nelle pagine interne ──────────────────────────────────────────── */
  /* --pad: era clamp(22px,2.4vw,32px) (P3) → 18px fisso */
  .ac-page-content .ac-card--pad { padding: 18px; }

  /* card h3: era clamp(20px,2vw,28px) (P3) → ~27px → ora max 21px */
  .ac-page-content .ac-card h3 {
    font-size: clamp(16px, 1.6vw, 21px);
    line-height: 1.18;
    margin-bottom: 8px;
  }

  /* card p: era 17px body → ora 15px compatto */
  .ac-page-content .ac-card p { font-size: 15px; line-height: 1.55; }

  /* card-body: era 22px (P3) → 16px */
  .ac-page-content .ac-card-body { padding: 16px; }

  /* card icon: era 54×54px → 40×40px */
  .ac-page-content .ac-card-icon {
    width: 40px;
    height: 40px;
    font-size: 20px;
    margin-bottom: 10px;
    border-radius: 14px;
  }

  /* ── Content-box: laterali ridotti ─────────────────────────────────────── */
  /* left/right: erano clamp(24px,3vw,42px) (P3) → ~41px → ora 22px fisso */
  .ac-content-box { padding-left: 22px; padding-right: 22px; }

  /* h2: margin-bottom era 16px (P3) → 10px */
  .ac-content-box h2 { margin-bottom: 10px; }

  /* h3: era clamp(20px,2.2vw,30px); margin-top:28px (P3) → ora max 22px, mt 16px */
  .ac-content-box h3 {
    font-size: clamp(16px, 1.8vw, 22px);
    margin-top: 16px;
    margin-bottom: 8px;
  }

  /* p: era 18px originale → 16px + line-height compatta */
  .ac-content-box p { font-size: 16px; line-height: 1.6; }

  /* ── Form shell ─────────────────────────────────────────────────────────── */
  /* era padding:22px + margin-top:18px (P4A) + border-radius:30px (originale) */
  .ac-form-shell { padding: 14px; border-radius: 18px; margin-top: 10px; }

  /* Input/textarea del tema: era min-height:50px padding:12px 14px radius:16px */
  .ac-content-box input[type="text"],
  .ac-content-box input[type="email"],
  .ac-content-box input[type="tel"],
  .ac-content-box input[type="url"],
  .ac-content-box input[type="number"],
  .ac-content-box select,
  .ac-content-box textarea,
  .ac-form-shell input[type="text"],
  .ac-form-shell input[type="email"],
  .ac-form-shell input[type="tel"],
  .ac-form-shell select,
  .ac-form-shell textarea {
    min-height: 42px;
    padding: 9px 11px;
    border-radius: 12px;
  }
  .ac-content-box textarea,
  .ac-form-shell textarea { min-height: 96px; }

  /* ── Doc grid (trasparenza) ─────────────────────────────────────────────── */
  /* era min-height:140px padding:20px */
  .ac-doc-card { min-height: 100px; padding: 12px 14px; }
  .ac-doc-card strong { font-size: 18px; }
  .ac-doc-grid { gap: 12px; }

  /* ── Negozio Solidale / Sponsor Etici ──────────────────────────────────── */
  /* card: era padding:24px 20px */
  .ac-ns-card,
  .ac-se-card { padding: 14px 12px; }
  /* grid: era gap:20px */
  .ac-ns-grid,
  .ac-se-grid { gap: 12px; margin-bottom: 22px; }
  /* wrapper bottom: era padding-bottom:60px */
  .ac-negozio-solidale,
  .ac-sponsor-etici { padding-bottom: 36px; }
  /* CTA e disclaimer più compatti */
  .ac-se-cta { padding: 28px 24px; }
  .ac-se-disclaimer { padding: 12px 16px; margin-bottom: 22px; }

  /* ── Post card (archivio blog) ──────────────────────────────────────────── */
  /* era padding:30px */
  .ac-post-card { padding: 18px; }
  .ac-post-card h2 { font-size: 22px; }

  /* ── Altezza immagini news e progetti (plugin) ──────────────────────────── */
  /* era height:170px → più compatte */
  .ac-news-card__image { height: 140px; }
  /* era height:180px */
  .ac-project-image img { height: 148px; }

  /* ── Alert ──────────────────────────────────────────────────────────────── */
  .ac-alert { padding: 12px 16px; border-radius: 14px; }
}

/* ─── D. Range 960–1279px ──────────────────────────────────────────────── */
@media (min-width: 960px) and (max-width: 1279px) {

  /* Card */
  .ac-page-content .ac-card--pad { padding: 16px; }
  .ac-page-content .ac-card h3 {
    font-size: clamp(15px, 1.5vw, 19px);
    line-height: 1.2;
    margin-bottom: 6px;
  }
  .ac-page-content .ac-card p { font-size: 14px; line-height: 1.52; }
  .ac-page-content .ac-card-body { padding: 14px; }

  /* Content-box laterali */
  .ac-content-box { padding-left: 18px; padding-right: 18px; }

  /* h3 */
  .ac-content-box h3 {
    font-size: clamp(15px, 1.7vw, 20px);
    margin-top: 14px;
    margin-bottom: 6px;
  }

  /* p */
  .ac-content-box p { font-size: 15px; line-height: 1.58; }

  /* Form */
  .ac-form-shell { padding: 12px; border-radius: 16px; }

  /* NS/SE */
  .ac-ns-card,
  .ac-se-card { padding: 12px 10px; }
  .ac-ns-grid,
  .ac-se-grid { gap: 10px; }

  /* Post card */
  .ac-post-card { padding: 16px; }
  .ac-post-card h2 { font-size: 20px; }

  /* Plugin images */
  .ac-news-card__image { height: 130px; }
  .ac-project-image img { height: 140px; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   FINE PATCH 8 — 2026-05-27
   Classi scoped a .ac-page-content per card/sezioni/lead → home invariata.
   Plugin CSS overridden via tema (news, projects, events, ns, se).
   Header/menu NON toccati. WooCommerce/DB/plugin logic NON toccati.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   PATCH 9 — FOOTER E PARTE BASSA PAGINE — 2026-05-27
   ────────────────────────────────────────────────────────────────────────────
   Obiettivo: footer più compatto e proporzionato, sezioni finali meno ariose
   su TUTTE le pagine (home non-hero inclusa).
   ────────────────────────────────────────────────────────────────────────────
   Nota cascade:
   • .ac-section (≥960px, Patch 9) sostituisce Patch 3 e 4 per le sezioni
     della HOME (specificity 0,1,0 — stessa, ma Patch 9 è più tardi).
   • .ac-page-content .ac-section (Patch 8) ha specificity 0,2,0 → vince
     ancora per le pagine interne. ✓
   Header/menu/home-hero NON toccati. WooCommerce/DB/plugin NON toccati.
   Backup pre-patch: style.css.bak-pre-patch9 (1463 righe)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── A. Desktop ≥ 960px — footer + sezioni globali ─────────────────────── */
@media (min-width: 960px) {

  /* ── Footer ──────────────────────────────────────────────────────────────
     P9 originale: 48px 0 20px → −30%: 34px 0 14px                        */
  .ac-site-footer { padding: 34px 0 14px; }

  /* Footer grid: era 22px → −30%: 16px */
  .ac-footer-grid { gap: 16px; }

  /* Footer brand heading: era 26px → 18px; margin 10px → 7px */
  .ac-footer-brand h2 { font-size: 18px; margin: 0 0 7px; }
  .ac-footer-brand p { margin-top: 6px; font-size: 13px; }

  /* Footer colonne: h3 margin 8px → 6px; ul gap 5px → 4px */
  .ac-footer-col h3 { margin: 0 0 6px; }
  .ac-footer-col ul { gap: 4px; }
  .ac-footer-col a { font-size: 13px; line-height: 1.45; }

  /* Footer bottom: margin-top 28→20px; padding-top 14→10px;
     gap 14→10px; font 13→12px                                              */
  .ac-footer-bottom {
    margin-top: 20px;
    padding-top: 10px;
    gap: 10px;
    font-size: 12px;
  }

  /* ── Sezioni globali (tutte le pagine, home non-hero inclusa) ────────────
     P9 originale: clamp(28px,3.6vw,52px) → −30%: clamp(20px,2.5vw,36px)
     (le inner pages usano .ac-page-content .ac-section di Patch 8 → vince) */
  .ac-section { padding: clamp(20px, 2.5vw, 36px) 0; }

  /* Tight: P9 originale clamp(22px,2.8vw,40px) → clamp(16px,2vw,28px) */
  .ac-section--tight { padding: clamp(16px, 2vw, 28px) 0; }
}

/* ─── B. Desktop largo ≥ 1280px — rifinitura ────────────────────────────── */
@media (min-width: 1280px) {

  /* Footer grid: desktop largo — era 28px → −30%: 20px */
  .ac-footer-grid { gap: 20px; }

  /* page-content padding-bottom: era 18px → −30%: 13px */
  .ac-page-content { padding-bottom: 13px; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   FINE PATCH 9 — 2026-05-27 (rev. −30%)
   Footer: padding-top 70→34px (−51%), margin-top copyright 54→20px (−63%),
   grid gap 34→16px (−53%). Sezioni globali: ~82→~34px (−59%) a 1366px.
   Header/menu/home-hero NON toccati.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   PATCH FORM — RIPROPORZIONAMENTO CAMPI INPUT — 2026-05-27
   ────────────────────────────────────────────────────────────────────────────
   Scope: .ac-form-wrap (pre-adesione, volontari, contatti, donazioni)
   Selettori con specificità 0,3,1 — superiore a tutte le regole esistenti
   (tema base 0,2,1 · Patch 8 0,2,1 · plugin 0,2,1) → override sicuro.
   NON modifica: header · menu · home · footer · WooCommerce · logica form.
   Backup: style.css.bak-pre-patchform (78.1 KB)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── 1. Form layout: gap compatto ──────────────────────────────────────── */
.ac-form-wrap .ac-form { gap: 8px; }
.ac-form-wrap .ac-form-row--half,
.ac-form-wrap .ac-form-row--third { gap: 8px; }
.ac-form-wrap .ac-field { gap: 1px; }

/* ─── 2. Label: compatta ─────────────────────────────────────────────────── */
.ac-form-wrap .ac-field label {
  font-size: 12px;
  line-height: 1.25;
  margin-bottom: 0;
}

/* ─── 3. Input e Select ──────────────────────────────────────────────────── */
.ac-form-wrap .ac-field input[type="text"],
.ac-form-wrap .ac-field input[type="email"],
.ac-form-wrap .ac-field input[type="tel"],
.ac-form-wrap .ac-field input[type="number"],
.ac-form-wrap .ac-field input[type="date"],
.ac-form-wrap .ac-field input[type="url"],
.ac-form-wrap .ac-field select {
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.35;
}

/* ─── 4. Textarea ────────────────────────────────────────────────────────── */
.ac-form-wrap .ac-field textarea {
  min-height: 100px;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.5;
}

/* ─── 5. Pulsante submit ─────────────────────────────────────────────────── */
.ac-form-wrap button[type="submit"],
.ac-form-wrap input[type="submit"] {
  min-height: 38px;
  padding: 6px 20px;
  font-size: 14px;
}

/* ─── 6. Feedback / Alert compatto nel form ──────────────────────────────── */
.ac-form-wrap .ac-form-feedback { border-radius: 8px; }

/* ─── 7. Mobile ≤ 640px ─────────────────────────────────────────────────── */
@media (max-width: 640px) {
  .ac-form-wrap .ac-form { gap: 7px; }
  .ac-form-wrap .ac-form-row--half,
  .ac-form-wrap .ac-form-row--third { gap: 7px; }
  .ac-form-wrap .ac-field input[type="text"],
  .ac-form-wrap .ac-field input[type="email"],
  .ac-form-wrap .ac-field input[type="tel"],
  .ac-form-wrap .ac-field input[type="number"],
  .ac-form-wrap .ac-field input[type="date"],
  .ac-form-wrap .ac-field input[type="url"],
  .ac-form-wrap .ac-field select { min-height: 34px; padding: 6px 10px; }
  .ac-form-wrap .ac-field textarea { min-height: 88px; padding: 6px 10px; }
  .ac-form-wrap button[type="submit"],
  .ac-form-wrap input[type="submit"] { min-height: 38px; width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FINE PATCH FORM — 2026-05-27
   Classi scoped a .ac-form-wrap → solo form plugin (non tocca contenuto pagine).
   Logica form, validazioni, nomi campi, email NON toccati.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   DOCUMENTI ISTITUZIONALI INLINE — 2026-06-03
   Accordion <details>/<summary> per Statuto, Privacy, Codice Etico.
   Classi scoped a .ac-docs-accordion e .ac-doc-section → non toccano il resto.
   ═══════════════════════════════════════════════════════════════════════════ */
.ac-docs-accordion{display:flex;flex-direction:column;gap:10px;margin:24px 0 0;}
.ac-doc-section{border:1px solid var(--ac-border);border-radius:18px;overflow:hidden;background:var(--ac-paper);}
.ac-doc-summary{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;cursor:pointer;background:var(--ac-cream-2);list-style:none;user-select:none;gap:12px;transition:background .2s;}
.ac-doc-summary::-webkit-details-marker{display:none;}
.ac-doc-summary:hover{background:#e8e2d6;}
.ac-doc-section[open]>.ac-doc-summary{background:var(--ac-blue-900);color:#fff;}
.ac-doc-summary-inner{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;}
.ac-doc-summary strong{font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.2;color:inherit;}
.ac-doc-summary .ac-doc-meta{font-size:12px;color:inherit;opacity:.72;}
.ac-doc-chevron{width:13px;height:13px;flex-shrink:0;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);transition:transform .25s ease;margin-top:-3px;}
.ac-doc-section[open] .ac-doc-chevron{transform:rotate(-135deg);margin-top:5px;}
.ac-doc-body{padding:28px 32px 36px;max-height:68vh;overflow-y:auto;border-top:1px solid var(--ac-border);scroll-behavior:smooth;}
.ac-doc-body h2{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ac-blue-900);margin:2.25rem 0 .5rem;padding-top:1.5rem;border-top:1px solid var(--ac-border);}
.ac-doc-body h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.ac-doc-body h3{font-size:14px;font-weight:700;color:var(--ac-ink);margin:1.3rem 0 .35rem;}
.ac-doc-body p{font-size:14px;line-height:1.72;color:var(--ac-ink);margin:.4rem 0;}
.ac-doc-body ul{font-size:14px;line-height:1.72;color:var(--ac-ink);padding-left:1.4rem;margin:.4rem 0;}
.ac-doc-body li{margin:.2rem 0;}
.ac-doc-body table{width:100%;border-collapse:collapse;font-size:13px;margin:1rem 0;}
.ac-doc-body th{background:var(--ac-blue-900);color:#fff;padding:8px 12px;text-align:left;font-weight:600;font-size:12px;}
.ac-doc-body td{padding:7px 12px;border-bottom:1px solid var(--ac-border);vertical-align:top;}
.ac-doc-body tr:nth-child(even) td{background:var(--ac-cream);}
.ac-doc-notice{background:#fffdf0;border-left:3px solid var(--ac-gold-600);padding:10px 14px;margin:0 0 1.5rem;font-size:13px;border-radius:0 6px 6px 0;line-height:1.6;color:var(--ac-ink);}
.ac-doc-version{font-size:12px;color:var(--ac-muted);margin:0 0 1.25rem;}
@media(max-width:640px){
  .ac-doc-summary{padding:14px 16px;}
  .ac-doc-summary strong{font-size:16px;}
  .ac-doc-body{padding:16px 16px 24px;max-height:62vh;}
  .ac-doc-body h2{font-size:10px;}
  .ac-doc-body h3,.ac-doc-body p,.ac-doc-body ul{font-size:13px;}
}

/* ═══════════════════════════════════════════════════════════════════════════
   COMPONENTE — Pulsanti CTA nelle aree contenuto (.ac-content-box) — 2026-06-03
   Definizione UNICA (consolidata) per i pulsanti delle sezioni informative delle
   pagine (Chi siamo, Sostienici, Aderisci, ecc.). Risolve in modo sistematico il
   bug dei .ac-btn--ghost (testo bianco) invisibili sul fondo chiaro del contenuto:
   nelle aree contenuto i CTA sono SEMPRE riempiti oro + testo blu scuro, uniformi,
   ~25% più compatti del default .ac-btn, ben distanziati e con a-capo su mobile.
   NON tocca: hero (.ac-hero .ac-btn), header/menu, barra scura, footer, form
   (i submit usano .button/input[submit], non .ac-btn).
   ═══════════════════════════════════════════════════════════════════════════ */
.ac-content-box .ac-btn-row{
  gap:12px 14px;
  flex-wrap:wrap;
  margin-top:14px;
}
.ac-content-box .ac-btn{
  min-height:38px;
  padding:10px 16px;
  font-size:14px;
  box-shadow:0 10px 24px rgba(6,23,42,.12);
}
.ac-content-box .ac-btn--gold,
.ac-content-box .ac-btn--ghost{
  background:linear-gradient(135deg,var(--ac-gold-600),var(--ac-gold-500));
  color:var(--ac-blue-950)!important;
  border-color:rgba(255,255,255,.24);
}
.ac-content-box .ac-btn--gold:hover,
.ac-content-box .ac-btn--ghost:hover{
  background:linear-gradient(135deg,var(--ac-gold-500),var(--ac-gold-600));
  color:var(--ac-blue-950)!important;
}

/* ── Diario del cammino — card "Passaggi del cammino" compatte <details> (scoped) ── */
.ac-diario-sub{color:var(--ac-blue-700,#3a5a72);font-style:italic;margin:2px 0 18px;}
.ac-diario-passaggi{display:grid;grid-template-columns:1fr;gap:16px;margin-top:8px;}
.ac-diario-card{background:#f8fbfd;border:1px solid rgba(18,75,115,.12);border-radius:18px;overflow:hidden;}
.ac-diario-card__head{cursor:pointer;list-style:none;display:block;padding:18px 22px;position:relative;}
.ac-diario-card__head::-webkit-details-marker{display:none;}
.ac-diario-card__label{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ac-blue-900,#0e2234);background:rgba(227,184,95,.22);border-radius:999px;padding:3px 12px;}
.ac-diario-card__title{display:block;font-weight:800;color:var(--ac-blue-950,#06172a);font-size:1.05rem;margin:10px 0 2px;}
.ac-diario-card__date{display:block;font-size:13px;color:#6a8198;margin-bottom:8px;}
.ac-diario-card__excerpt{display:block;color:#3a5a72;font-size:14.5px;}
.ac-diario-card__cta{display:inline-block;margin-top:10px;color:var(--ac-gold-700,#a87318);font-weight:800;font-size:13.5px;}
.ac-diario-card[open] .ac-diario-card__cta{color:#6a8198;}
.ac-diario-card[open] .ac-diario-card__cta::after{content:" — chiudi";}
.ac-diario-card__full{padding:0 22px 18px;}
.ac-diario-card__full p{margin:0 0 10px;}
.ac-diario-card__full p:last-child{margin-bottom:0;}

/* ── Area gestionale (Il mio account): pulsanti uniformi (scoped, additivo) ── */
.ac-mgmt-grid{align-items:stretch;}
.ac-mgmt-grid .ac-btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:64px;height:100%;padding:12px 16px;border-radius:14px;line-height:1.3;white-space:normal;word-break:break-word;box-sizing:border-box;}

/* ── FAQ — accordion <details> compatto (scoped, additivo) ── */
.ac-faq-acc{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px;}
.ac-faq-acc__item{background:#f8fbfd;border:1px solid rgba(18,75,115,.12);border-radius:14px;overflow:hidden;}
.ac-faq-acc__q{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:16px 20px;font-weight:800;color:var(--ac-blue-950,#06172a);font-size:1.02rem;}
.ac-faq-acc__q::-webkit-details-marker{display:none;}
.ac-faq-acc__q::after{content:"+";margin-left:auto;font-weight:700;color:var(--ac-gold-700,#a87318);font-size:1.3rem;line-height:1;flex:0 0 auto;}
.ac-faq-acc__item[open] .ac-faq-acc__q::after{content:"\2212";}
.ac-faq-acc__a{padding:0 20px 16px;color:#3a5a72;}
.ac-faq-acc__a p{margin:0 0 10px;}
.ac-faq-acc__a p:last-child{margin-bottom:0;}

/* ── Editoriale mensile (scoped, additivo) ── */
.ac-editoriale{margin-top:30px;}
.ac-editoriale__heading{margin-bottom:8px;}
.ac-editoriale__intro{color:var(--ac-ink,#23323f);margin-bottom:18px;}
.ac-editoriale__intro p{margin:0 0 10px;}
.ac-editoriale__featured{background:#fff;border:1px solid rgba(18,75,115,.16);border-radius:24px;padding:24px 26px;box-shadow:0 6px 24px rgba(6,23,42,.05);}
.ac-editoriale__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:6px;}
.ac-editoriale__period{font-weight:800;color:var(--ac-blue-900,#0e2234);background:rgba(227,184,95,.22);border-radius:999px;padding:3px 12px;font-size:13px;}
.ac-editoriale__author{font-size:13px;color:#6a8198;}
.ac-editoriale__title{margin:4px 0 12px;}
.ac-editoriale__content p{margin:0 0 12px;}
.ac-editoriale__archive{margin-top:26px;}
.ac-editoriale__archive-heading{font-size:1.15rem;margin-bottom:10px;}
.ac-editoriale__archive-list{list-style:none;margin:0;padding:0;}
.ac-editoriale__archive-item{border:1px solid rgba(18,75,115,.12);border-radius:16px;margin-bottom:10px;background:#f8fbfd;}
.ac-editoriale__archive-item > details > summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;font-weight:600;}
.ac-editoriale__archive-item > details > summary::-webkit-details-marker{display:none;}
.ac-editoriale__archive-period{font-weight:800;color:var(--ac-blue-900,#0e2234);min-width:130px;}
.ac-editoriale__archive-title{flex:1 1 200px;}
.ac-editoriale__archive-author{font-size:13px;color:#6a8198;}
.ac-editoriale__archive-cta{margin-left:auto;color:var(--ac-gold-700,#a87318);font-weight:800;}
.ac-editoriale__archive-excerpt{padding:0 18px;font-style:italic;color:#3a5a72;}
.ac-editoriale__archive-content{padding:4px 18px 16px;}
.ac-editoriale__archive-content p{margin:0 0 10px;}
@media(min-width:760px){.ac-diario-passaggi{grid-template-columns:1fr 1fr;}}
