/* Confagricoltura Napoli — sito vetrina */
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/source-sans-3.woff2?v=9ef356ea55) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/source-sans-3-italic.woff2?v=410bdda67c) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600 700;font-display:swap;src:url(../fonts/source-serif-4.woff2?v=e9192c2fe0) format('woff2')}

:root{
  --verde:#00792D;          /* verde del marchio */
  --verde-scuro:#0B4F25;
  --verde-notte:#07341A;
  --verde-chiaro:#E6F2EA;
  --giallo:#FDC613;         /* spiga del marchio */
  --giallo-chiaro:#FFF6D6;
  --crema:#F7F5EE;
  --ink:#1B2A21;
  --ink-soft:#4A5A50;
  --linea:#DCE3DD;
  --bianco:#fff;
  --raggio:14px;
  --ombra:0 10px 30px rgba(7,52,26,.10);
  --max:1180px;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:18px;line-height:1.6;color:var(--ink);background:var(--bianco)}
img{max-width:100%;height:auto;display:block}
a{color:var(--verde);text-underline-offset:3px}
a:hover{color:var(--verde-scuro)}
h1,h2,h3{font-family:var(--serif);line-height:1.15;color:var(--verde-notte);margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.1rem,4.6vw,3.5rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.3rem;font-weight:600}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--giallo);outline-offset:2px}
.salta{position:absolute;left:-999px;top:0;background:var(--giallo);color:var(--ink);padding:.6rem 1rem;z-index:100}
.salta:focus{left:1rem}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
.sezione{padding:88px 0}
.sezione--crema{background:var(--crema)}
.sezione--verde{background:var(--verde-scuro);color:#E8F1EA}
.sezione--verde h2,.sezione--verde h3{color:#fff}
.occhiello{display:inline-block;font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--verde);margin-bottom:.8rem}
.sezione--verde .occhiello{color:var(--giallo)}
.intro{font-size:1.18rem;color:var(--ink-soft);max-width:760px}
.sezione--verde .intro{color:#CFE0D4}

/* ---------- pulsanti ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;padding:.85rem 1.4rem;border-radius:999px;text-decoration:none;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;cursor:pointer;font-family:inherit}
.btn:hover{transform:translateY(-1px)}
.btn--giallo{background:var(--giallo);color:var(--verde-notte)}
.btn--giallo:hover{background:#ffd543;color:var(--verde-notte)}
.btn--verde{background:var(--verde);color:#fff}
.btn--verde:hover{background:var(--verde-scuro);color:#fff}
.btn--bordo{border-color:currentColor;color:#fff}
.btn--bordo:hover{background:#fff;color:var(--verde-notte)}
.btn--bordo-verde{border-color:var(--verde);color:var(--verde)}
.btn--bordo-verde:hover{background:var(--verde);color:#fff}

/* ---------- testata ---------- */
.testata{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--linea)}
.testata .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:78px}
.marchio img{width:200px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.2rem}
.nav a{display:block;padding:.55rem .75rem;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:1rem}
.nav a:hover{background:var(--verde-chiaro);color:var(--verde-scuro)}
.nav a[aria-current="page"]{color:var(--verde);box-shadow:inset 0 -3px 0 var(--giallo)}
.nav .btn{margin-left:.5rem;padding:.6rem 1.1rem}
.nav .btn,.nav .btn:hover{color:#fff;background:var(--verde)}
.nav .btn:hover{background:var(--verde-scuro)}
.nav .btn[aria-current="page"]{color:#fff;background:var(--verde-scuro);box-shadow:none}
.menu-toggle{display:none;background:none;border:0;padding:.5rem;cursor:pointer;color:var(--verde-notte)}
.menu-toggle svg{width:30px;height:30px}

/* ---------- hero home ---------- */
.hero{position:relative;color:#fff;background:var(--verde-notte);overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,52,26,.92) 0%,rgba(7,52,26,.72) 45%,rgba(7,52,26,.15) 100%)}
.hero .wrap{position:relative;z-index:1;padding-top:120px;padding-bottom:130px}
.hero h1{color:#fff;max-width:760px}
.hero p{font-size:1.25rem;max-width:620px;color:#E3EFE6}
.hero .azioni{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.hero .spiga{display:inline-flex;align-items:center;gap:.5rem;background:rgba(253,198,19,.16);border:1px solid rgba(253,198,19,.45);color:var(--giallo);font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px;margin-bottom:1.2rem}

/* testata delle pagine interne */
.pagina-top{background:var(--verde-scuro);color:#E3EFE6;padding:72px 0 64px;position:relative;overflow:hidden}
.pagina-top::before{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(253,198,19,.22),rgba(253,198,19,0) 70%)}
.pagina-top h1{color:#fff;position:relative}
.pagina-top p{font-size:1.2rem;max-width:720px;position:relative;margin:0}
.briciole{font-size:.92rem;margin-bottom:1rem;position:relative}
.briciole a{color:var(--giallo)}

/* ---------- numeri ---------- */
.numeri{background:var(--giallo)}
.numeri .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-top:28px;padding-bottom:28px}
.numero{display:flex;flex-direction:column}
.numero b{font-family:var(--serif);font-size:2.1rem;line-height:1;color:var(--verde-notte)}
.numero span{font-weight:600;color:var(--verde-notte);font-size:.98rem}

/* ---------- blocchi testo + immagine ---------- */
.duo{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.duo--inverso .duo__media{order:-1}
.duo__media{position:relative}
.duo__media img{border-radius:var(--raggio);box-shadow:var(--ombra);aspect-ratio:4/3;object-fit:cover;width:100%}
.duo__media .bollo{position:absolute;left:-18px;bottom:-18px;background:var(--giallo);color:var(--verde-notte);font-weight:700;padding:1rem 1.2rem;border-radius:12px;box-shadow:var(--ombra);max-width:230px;line-height:1.3}
.elenco-check{list-style:none;padding:0;margin:1.2rem 0}
.elenco-check li{position:relative;padding-left:2rem;margin-bottom:.6rem}
.elenco-check li::before{content:"";position:absolute;left:0;top:.35em;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/70% no-repeat}

/* ---------- card servizi ---------- */
.griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:2.4rem}
.griglia--2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--linea);border-radius:var(--raggio);padding:28px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--ombra);transform:translateY(-2px)}
.card h3{margin-bottom:.4em}
.card p{color:var(--ink-soft);margin-bottom:.8em}
.card p:last-child{margin-bottom:0}
.card .icona{width:52px;height:52px;border-radius:12px;background:var(--verde-chiaro);color:var(--verde);display:grid;place-items:center;margin-bottom:1rem}
.card .icona svg{width:28px;height:28px}
.card .link{margin-top:auto;font-weight:700;text-decoration:none}
.card .link::after{content:" →"}
.card--servizio{scroll-margin-top:100px}

/* ---------- progetto ---------- */
.progetto-banner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.progetto-banner img{border-radius:var(--raggio);aspect-ratio:4/3;object-fit:cover;width:100%}
.cup{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);padding:.25rem .6rem;border-radius:6px;color:#fff}
.sezione--crema .cup,.sezione .cup--chiaro{background:var(--verde-chiaro);border-color:#bcd8c4;color:var(--verde-notte)}
.fasi{counter-reset:fase;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:2.4rem}
.fasi--4{grid-template-columns:repeat(4,1fr)}
.fase{background:#fff;border-radius:var(--raggio);padding:28px;border-top:4px solid var(--giallo);box-shadow:var(--ombra)}
.fase::before{counter-increment:fase;content:counter(fase,decimal-leading-zero);font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--verde);display:block;margin-bottom:.4rem}
.fase p{color:var(--ink-soft);margin:0}
.colture{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:2.4rem}
.coltura{position:relative;border-radius:var(--raggio);overflow:hidden;aspect-ratio:4/5;color:#fff;display:flex;align-items:flex-end}
.coltura img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.coltura::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,52,26,.9),rgba(7,52,26,0) 60%)}
.coltura div{position:relative;z-index:1;padding:24px}
.coltura h3{color:#fff;margin:0}
.coltura p{margin:.3rem 0 0;color:#E3EFE6;font-size:1rem}
.aree{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.aree span{background:var(--verde-chiaro);color:var(--verde-notte);font-weight:600;padding:.4rem .9rem;border-radius:999px}
.avviso{background:var(--giallo-chiaro);border-left:5px solid var(--giallo);padding:1.2rem 1.4rem;border-radius:0 var(--raggio) var(--raggio) 0;margin:1.6rem 0}
.avviso p:last-child{margin:0}

/* ---------- persone ---------- */
.vertici{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:2rem}
.persona{background:#fff;border:1px solid var(--linea);border-radius:var(--raggio);padding:22px}
.persona b{display:block;font-family:var(--serif);font-size:1.2rem;color:var(--verde-notte)}
.persona span{color:var(--ink-soft);font-size:.98rem;line-height:1.4;display:block;margin-top:.2rem}
.persona--top{border-top:4px solid var(--giallo)}
.consiglio{columns:3;column-gap:32px;margin-top:1.6rem;padding:0;list-style:none}
.consiglio li{break-inside:avoid;padding:.55rem 0;border-bottom:1px solid var(--linea)}
.consiglio b{display:block}
.consiglio span{color:var(--ink-soft);font-size:.95rem}

/* ---------- sedi ---------- */
.sede-principale{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;background:#fff;border-radius:var(--raggio);box-shadow:var(--ombra);padding:36px;margin-top:2rem}
.recapiti{list-style:none;padding:0;margin:0}
.recapiti li{display:flex;gap:.8rem;align-items:flex-start;padding:.55rem 0;border-bottom:1px solid var(--linea)}
.recapiti li:last-child{border-bottom:0}
.recapiti svg{flex:0 0 22px;width:22px;height:22px;color:var(--verde);margin-top:.2rem}
.recapiti small{display:block;color:var(--ink-soft);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.uffici{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2rem}
.ufficio{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:20px 22px}
.ufficio h3{font-size:1.15rem;margin-bottom:.3rem}
.ufficio p{margin:0 0 .4rem;color:var(--ink-soft);font-size:1rem}
.ufficio a{font-weight:600;text-decoration:none}
.ufficio .mappa{font-size:.92rem;font-weight:600}
.filtro-uffici{max-width:420px;margin-top:1.6rem}

/* ---------- notizie ---------- */
.filtri{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}
.filtri button{font:inherit;font-weight:700;font-size:.95rem;padding:.5rem 1.1rem;border-radius:999px;border:2px solid var(--verde);background:#fff;color:var(--verde);cursor:pointer}
.filtri button[aria-pressed="true"]{background:var(--verde);color:#fff}
.notizie{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:2rem}
.notizie--elenco{grid-template-columns:1fr;gap:28px}
.notizia{background:#fff;border:1px solid var(--linea);border-radius:var(--raggio);overflow:hidden;display:flex;flex-direction:column}
.notizia__img{aspect-ratio:16/9;background:var(--verde-chiaro);overflow:hidden}
.notizia__img img{width:100%;height:100%;object-fit:cover;object-position:center top}
.notizia__img--segnaposto{display:grid;place-items:center;color:var(--verde)}
.notizia__img--segnaposto svg{width:56px;height:56px;opacity:.7}
.notizia__corpo{padding:22px 24px;display:flex;flex-direction:column;flex:1}
.notizia__meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.9rem;color:var(--ink-soft);margin-bottom:.6rem}
.etichetta{font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .6rem;border-radius:6px;background:var(--verde-chiaro);color:var(--verde-scuro)}
.etichetta--evento{background:var(--giallo-chiaro);color:#6b5200}
.notizia h3{font-size:1.25rem;margin-bottom:.5rem}
.notizia p{color:var(--ink-soft);font-size:1rem}
.notizia .dove{font-weight:600;color:var(--ink);font-size:.98rem}
.notizia .link{margin-top:auto;font-weight:700;text-decoration:none}
.notizie--elenco .notizia{flex-direction:row}
.notizie--elenco .notizia__img{flex:0 0 38%;aspect-ratio:auto;min-height:240px;background:var(--crema)}
.notizie--elenco .notizia__img img{object-fit:contain;object-position:center}
.notizie--elenco .notizia__corpo{padding:28px 32px}
.notizie--elenco .notizia p{font-size:1.05rem}
.vuoto{color:var(--ink-soft);font-style:italic}

/* ---------- contatti / form ---------- */
.contatti-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:48px;align-items:start}
.modulo{background:#fff;border-radius:var(--raggio);box-shadow:var(--ombra);padding:36px}
.campo{margin-bottom:1.1rem}
.campo label{display:block;font-weight:700;margin-bottom:.35rem;font-size:.98rem}
.campo label small{font-weight:400;color:var(--ink-soft)}
.campo input,.campo select,.campo textarea{width:100%;font:inherit;font-size:1rem;padding:.75rem .9rem;border:1.5px solid #C9D3CC;border-radius:10px;background:#fff;color:var(--ink)}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--verde);outline:3px solid rgba(0,121,45,.18)}
.campo textarea{min-height:150px;resize:vertical}
.campi-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.consenso{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;color:var(--ink-soft);margin:.4rem 0 1.4rem}
.consenso input{margin-top:.3rem;width:18px;height:18px;accent-color:var(--verde)}
.trappola{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.esito{margin-top:1rem;padding:.9rem 1rem;border-radius:10px;font-weight:600;display:none}
.esito--ok{display:block;background:var(--verde-chiaro);color:var(--verde-scuro)}
.esito--errore{display:block;background:#FDECEC;color:#8A1C1C}

/* ---------- invito ---------- */
.invito{background:var(--verde);color:#fff;border-radius:20px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.invito h2{color:#fff;margin:0 0 .3rem}
.invito p{margin:0;color:#DDEDE2;font-size:1.1rem}

/* ---------- testi lunghi ---------- */
.testo{max-width:780px}
.testo h2{font-size:1.6rem;margin-top:2rem}
.testo h2:first-child{margin-top:0}
.testo ul{padding-left:1.2rem}
.testo li{margin-bottom:.4rem}

/* ---------- piede ---------- */
.piede{background:var(--verde-notte);color:#C5D6CA;font-size:1rem}
.piede a{color:#fff;text-decoration:none}
.piede a:hover{color:var(--giallo)}
.piede__alto{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-top:64px;padding-bottom:48px}
.piede__alto img{width:220px;margin-bottom:1.2rem}
.piede h2{font-family:var(--sans);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--giallo);margin:0 0 1rem}
.piede ul{list-style:none;padding:0;margin:0}
.piede li{margin-bottom:.5rem}
.social{display:flex;gap:.6rem;margin-top:1rem}
.social a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}
.social a:hover{background:var(--giallo);color:var(--verde-notte)}
.social svg{width:20px;height:20px}
.finanziamento{background:#fff;color:var(--ink)}
.finanziamento .wrap{display:flex;align-items:center;gap:28px;padding-top:22px;padding-bottom:22px}
.finanziamento img{width:190px;flex:0 0 auto}
.finanziamento p{margin:0;font-size:.92rem;line-height:1.45;color:var(--ink-soft)}
.finanziamento strong{color:var(--ink)}
.piede__basso{border-top:1px solid rgba(255,255,255,.12)}
.piede__basso .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding-top:18px;padding-bottom:18px;font-size:.9rem}

/* ---------- responsive ---------- */
@media (max-width:1060px){
  .menu-toggle{display:block}
  .nav{position:fixed;inset:78px 0 auto 0;background:#fff;border-bottom:1px solid var(--linea);box-shadow:var(--ombra);display:none;max-height:calc(100vh - 78px);overflow:auto}
  .nav.aperto{display:block}
  .nav ul{flex-direction:column;align-items:stretch;padding:12px 20px 20px;gap:0}
  .nav a{padding:.85rem .5rem;border-bottom:1px solid var(--linea);border-radius:0}
  .nav a[aria-current="page"]{box-shadow:inset 4px 0 0 var(--giallo);padding-left:1rem}
  .nav .btn{margin:1rem 0 0;justify-content:center;border-radius:999px}
  .vertici{grid-template-columns:repeat(2,1fr)}
  .piede__alto{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .sezione{padding:64px 0}
  .duo,.progetto-banner,.contatti-grid,.sede-principale{grid-template-columns:1fr;gap:36px}
  .duo--inverso .duo__media{order:0}
  .griglia,.notizie,.fasi,.colture,.uffici{grid-template-columns:1fr 1fr}
  .numeri .wrap{grid-template-columns:1fr 1fr;row-gap:1.2rem}
  .consiglio{columns:2}
  .notizie--elenco .notizia{flex-direction:column}
  .notizie--elenco .notizia__img{flex:none;aspect-ratio:16/9;min-height:0}
}
@media (max-width:620px){
  body{font-size:17px}
  .wrap{padding:0 16px}
  .marchio img{width:170px}
  .hero .wrap{padding-top:80px;padding-bottom:90px}
  .hero::after{background:linear-gradient(180deg,rgba(7,52,26,.78),rgba(7,52,26,.9))}
  .griglia,.griglia--2,.notizie,.fasi,.colture,.uffici,.vertici,.campi-2{grid-template-columns:1fr}
  .colture .coltura{aspect-ratio:16/10}
  .consiglio{columns:1}
  .modulo,.sede-principale{padding:24px}
  .invito{padding:32px 24px}
  .duo__media .bollo{left:12px;bottom:12px}
  .piede__alto{grid-template-columns:1fr}
  .finanziamento .wrap{flex-direction:column;align-items:flex-start;gap:14px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* referente del servizio (dati del cliente, 29/10/2026) */
.card .referente{margin:.4rem 0 0;font-size:.95rem;color:var(--ink-soft, #4a5a4f)}
.card .referente + .referente{margin-top:.15rem;font-size:.9rem;overflow-wrap:anywhere}
.card .referente ~ .link{margin-top:.6rem}
/* logo del partner tecnico nella pagina del progetto */
.partner-tecnico{display:flex;align-items:center;gap:18px;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--linea)}
.partner-tecnico small{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.partner-tecnico img{display:block;width:210px;height:auto}
