/* Azienda Agricola Véro: riproduzione dell'originale (Helix Ultimate + SP Page Builder, Bootstrap 5). Contenitori 540/720/960/1140/1320 con 15 px di margine. */
/* Open Sans statico (stessi file dei Google Fonts usati dall'originale), servito in locale; licenza OFL in assets/fonts. */
@font-face { font-family:"open sans"; font-weight:400; font-display:swap; src:url("/assets/fonts/opensans-400-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF }
@font-face { font-family:"open sans"; font-weight:400; font-display:swap; src:url("/assets/fonts/opensans-400-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }
@font-face { font-family:"open sans"; font-weight:600; font-display:swap; src:url("/assets/fonts/opensans-600-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF }
@font-face { font-family:"open sans"; font-weight:600; font-display:swap; src:url("/assets/fonts/opensans-600-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }
@font-face { font-family:"open sans"; font-weight:700; font-display:swap; src:url("/assets/fonts/opensans-700-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF }
@font-face { font-family:"open sans"; font-weight:700; font-display:swap; src:url("/assets/fonts/opensans-700-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }
:root { --font:"open sans",sans-serif; --testo:#212529; --verde:#295947; --cont:100% }
@media (min-width:576px) { :root { --cont:540px } } @media (min-width:768px) { :root { --cont:720px } }
@media (min-width:992px) { :root { --cont:960px } } @media (min-width:1200px) { :root { --cont:1140px } } @media (min-width:1400px) { :root { --cont:1320px } }
html { scroll-padding-top:90px }
body { font:400 14px/24px var(--font); color:var(--testo); background:#fff }
.contenitore { width:100%; max-width:var(--cont); padding-inline:15px; margin-inline:auto }
strong, b { font-weight:700 }

/* testata (Helix Ultimate: 90 px, logo 52 px, menu a destra; sotto 992 px il menu va nel pannello laterale) */
.testata { position:sticky; top:0; z-index:99; background:#fff; box-shadow:0 0 4px 0 rgb(0 0 0/.1) }
.testata__in { min-height:90px; height:90px; padding-inline:12px; gap:0 }
.logo img { width:auto; height:52px }
.menu ul { gap:0; margin-right:17px } .menu__titolo, .menu-chiudi { display:none }
.menu a { display:block; font:400 12px/90px var(--font); letter-spacing:1px; text-transform:uppercase; color:#000; padding:0 15px }
.menu a:hover { color:var(--verde) }
.menu-toggle { display:none; border:0; background:none; padding:0; width:17px; height:15px; flex-direction:column; justify-content:space-between; cursor:pointer; margin-right:1px; position:relative; top:-1px }
.menu-toggle span { display:block; width:100%; height:2px; background:#252525; border-radius:2px }
@media (min-width:992px) { .logo { margin-left:-3px } }
@media (width < 992px) {
  .menu-toggle { display:flex }
  .menu, .menu.aperto { display:block; position:fixed; inset:0 0 0 auto; top:0; width:320px; max-width:100%; background:#333; color:#fff; padding:30px; box-shadow:none; transform:translateX(100%); visibility:hidden; transition:transform .4s, visibility .4s; z-index:100 }
  .menu.aperto { transform:none; visibility:visible }
  .menu__titolo { display:block; font:400 16px/1 var(--font); text-transform:uppercase; margin:0 0 20px }
  .menu-chiudi { display:grid; place-items:center; position:absolute; top:15px; right:15px; width:25px; height:25px; padding:0; border:1px solid #fff; border-radius:50%; background:none; color:#fff; font-size:16px; line-height:1; cursor:pointer }
  .menu ul { flex-direction:column; margin:0 } .menu a { color:#fff; line-height:1.5; padding:8px 0; font-size:14px; letter-spacing:0 }
}
@media (width < 48rem) { .menu ul { gap:0 } }

/* contenuto (SP Page Builder: sezione 75 px sopra e sotto, blocchi di testo con titoli Bootstrap 5) */
.contenuto { padding-block:75px }
.sezione-testo + .sezione-testo { padding-top:100px }
@media (width < 768px) { .sezione-testo + .sezione-testo { padding-top:50px } }
.testo h1, .testo h2, .testo h3 { color:var(--testo); text-transform:none; line-height:1.2; margin:0 0 8px }
.testo h1 { font-size:calc(22px + 1.5vw); font-weight:700 } .testo h2 { font-size:calc(21.2px + .9vw); font-weight:600 } .testo h3 { font-size:calc(20.8px + .6vw); font-weight:400 }
@media (min-width:1200px) { .testo h1 { font-size:40px } .testo h2 { font-size:32px } .testo h3 { font-size:28px } }
.testo__corpo::after { content:""; display:table; clear:both }
.testo p { margin:0 0 16px } .testo p + p { margin-block-start:0 }
.testo ol { padding-left:32px; margin:0 0 16px } .testo a { color:var(--testo); text-decoration:none } .testo a:hover { color:var(--verde) }

/* piè */
.pie { background:var(--verde); color:#fff; padding:20px 0; font:400 14px/24px var(--font); text-align:center }
.pie .contenitore { padding-inline:12px } .pie a { color:#fff; text-decoration:none } .pie a:hover { color:#cfe3d8 }

/* pagine di policy (privacy-policy, cookie-policy): stessi titoli dei blocchi di testo, elenchi e tabelle */
.policy { max-width:900px } .policy h1 { margin-bottom:12px } .policy h2 { margin:32px 0 10px; font-size:24px } .policy h3 { margin:22px 0 8px; font-size:19px; font-weight:600 }
.policy .agg { color:#666; font-size:13px } .policy ul { padding-left:32px; margin:0 0 16px }
.policy a { color:var(--verde); text-decoration:underline } .policy a:hover { text-decoration:none }
.policy table { width:100%; border-collapse:collapse; margin:0 0 16px; font-size:13px } .policy th, .policy td { border:1px solid #d6dae0; padding:6px 10px; text-align:left; vertical-align:top } .policy th { background:#f3f6f4 }
@media (width < 768px) { .policy table { display:block; overflow-x:auto } }
