/* Solo ciò che è di Errepielle. Colori e dati stanno in Personalizza. */
body {
  --gn-font-titoli: "Barlow Condensed", "DIN Condensed", "Arial Narrow", sans-serif;
  --gn-font-testo: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
  /* Una colonna sola per testata, pagine e piè di pagina: larga sugli schermi grandi, mai chiusa in un riquadro stretto */
  --gn-larghezza: 1680px;
  --gn-lato: clamp(16px, 4vw, 56px);
  /* Margine dei blocchi a tutta larghezza, allineato alla colonna (in % del blocco che lo usa) */
  --ep-bordo: max(var(--gn-lato), calc((100% - var(--gn-larghezza)) / 2 + var(--gn-lato)));
  --ep-bordo-vw: max(var(--gn-lato), calc((100vw - var(--gn-larghezza)) / 2 + var(--gn-lato)));
  /* campi e pulsanti a spigoli vivi come il resto del sito (lamiera, tabelle, modulo della home) */
  --gn-r-btn: 0;
  --ep-blu-scuro: #123f80;
  --ep-nero: #12161b;
  --ep-grigio: #5d6772;
  font-variant-numeric: tabular-nums;
  caret-color: var(--gn-primario);
  accent-color: var(--gn-primario);
}
a { text-underline-offset: .18em; }
h1, h2, h3, .gn-h1 { font-weight: 700; letter-spacing: 0; line-height: 1; }
.gn-h1 { text-transform: uppercase; font-size: clamp(2.6rem, 6vw, 4.6rem); text-wrap: balance; }
.gn-prosa h2 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); text-transform: uppercase; }
::selection { background: var(--gn-primario); color: #fff; }

/* Testata del sito: logo a sinistra, menu e icone a destra */
.gn-logo-img { max-height: 44px; }
@media (min-width: 1000px) {
  .gn-header-in { gap: 22px; min-height: 84px; }
  .gn-logo { margin-right: auto; }
  .gn-logo-img { max-height: 60px; }
  .gn-nav, html:not(.gn-js) .gn-nav { flex: 0 1 auto; }
  .gn-nav > .gn-menu { justify-content: flex-end; gap: 4px 24px; }
  .gn-nav .gn-menu a { font: 600 1.06rem/1 var(--gn-font-titoli); text-transform: uppercase; letter-spacing: .05em; }
}

/* Testata scura: in home e nelle pagine il menu sta sopra la foto */
.ep-testata-scura .gn-header { position: absolute; inset: 0 0 auto; z-index: 5; background: transparent; border: 0; box-shadow: none; }
.ep-testata-scura .gn-logo-img { filter: brightness(0) invert(1); max-height: 52px; }
.ep-testata-scura .gn-burger, .ep-testata-scura .gn-icona-link { color: #fff; }
.ep-testata-scura .gn-footer { margin-top: 0; }
@media (min-width: 1000px) {
  .ep-testata-scura .gn-header-in { min-height: 102px; }
  .ep-testata-scura .gn-logo-img { max-height: 78px; }
  .ep-testata-scura .gn-menu > li > a { color: #fff; }
  .ep-testata-scura .gn-nav .current-menu-item > a { border-bottom-color: #fff; }
}

/* Apertura della home */
.ep-apertura { position: relative; min-height: 100svh; display: grid; grid-template-rows: 1fr auto; color: #fff; background: var(--ep-nero); isolation: isolate; }
.ep-sfondo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% 40%; z-index: -2; max-width: none; border-radius: 0; }
.ep-frase { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(92px,14vh,112px) var(--ep-bordo) clamp(20px,4vh,64px); }
/* I rotoli colorati a destra, il pavimento grigio a sinistra sotto il titolo. */
.ep-frase .ep-sfondo { object-position: 50% 28%; }
.ep-frase::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(9,13,18,.6), rgba(9,13,18,0) 170px), linear-gradient(0deg, rgba(9,13,18,.55), rgba(9,13,18,0) 45%), linear-gradient(90deg, rgba(9,13,18,.88) 0%, rgba(9,13,18,.6) 34%, rgba(9,13,18,0) 62%); }
/* i numeri che fanno capire la taglia dell'officina, presi dal percorso più sotto */
.ep-numeri { list-style: none; margin: clamp(12px,2.6vh,32px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 12px 0; }
.ep-numeri li { padding: 2px clamp(16px,2vw,32px) 2px 0; margin-right: clamp(16px,2vw,32px); border-right: 1px solid rgba(255,255,255,.28); font-size: .95rem; line-height: 1.35; color: rgba(255,255,255,.82); }
.ep-numeri li:last-child { border-right: 0; margin-right: 0; }
.ep-numeri strong { display: block; font: 700 clamp(1.5rem,2.1vw,2rem)/1.1 var(--gn-font-titoli); text-transform: uppercase; color: #fff; }
/* la barra blu del percorso apre il titolo */
.ep-frase h1::before { content: ""; display: block; width: 96px; height: 6px; margin-bottom: .32em; background: var(--gn-primario); }
.ep-frase h1 { color: #fff; font-size: clamp(2.6rem, min(5.6vw, 8.6vh), 6rem); text-transform: uppercase; max-width: 9.5em; margin: 0; }
.ep-frase p { margin: .6em 0 0; font-size: clamp(1.05rem,1.6vw,1.3rem); max-width: 40em; text-wrap: balance; }
.ep-strade { display: grid; grid-template-columns: 1.25fr 1fr; }
.ep-strada { padding: clamp(16px,min(2.4vw,3.4vh),30px) clamp(16px,4vw,56px); }
.ep-strade .ep-disegno { padding-left: var(--ep-bordo-vw); }
.ep-strade .ep-pronto { padding-right: var(--ep-bordo-vw); }
.ep-strada h2 { margin: 0; font-size: clamp(1.7rem,min(2.8vw,5vh),2.5rem); text-transform: uppercase; }
.ep-disegno { background: var(--gn-primario); color: #fff; }
.ep-disegno h2 { color: #fff; }
/* allegato su una riga, email e pulsante sotto: tre campi in fila tagliavano l'indirizzo e il nome del file */
.ep-disegno .wpcf7 form { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 10px; align-items: end; max-width: 720px; margin: 10px 0 0; }
.ep-disegno .wpcf7 form > label { min-width: 0; }
.ep-disegno .wpcf7 form > label:has(input[type=file]) { grid-column: 1 / -1; }
.ep-disegno .wpcf7 label { color: #fff; }
.ep-disegno .wpcf7 .wpcf7-form-control-wrap { margin-top: 4px; }
.ep-disegno input[type=file] { width: 100%; min-height: 52px; padding: 6px; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.1); color: #fff; font-weight: 500; cursor: pointer; transition: background-color .2s ease-out; }
.ep-disegno input[type=file]:hover { background: rgba(255,255,255,.17); }
.ep-disegno input[type=file]:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.ep-disegno label small, .ep-corpo label small { display: block; margin-top: 2px; font-size: .88rem; font-weight: 400; opacity: .82; }
.ep-disegno input[type=file]::file-selector-button { min-height: 38px; margin-right: 12px; padding: 0 .9em 0 2.1em; border: 0; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123f80' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.4 11.1-9.2 9.2a6 6 0 0 1-8.5-8.5l9.2-9.2a4 4 0 0 1 5.7 5.7l-9.2 9.2a2 2 0 0 1-2.8-2.8l8.5-8.5'/%3E%3C/svg%3E") no-repeat .7em 50% / 1.05em; color: var(--ep-blu-scuro); font: 700 .95rem var(--gn-font-testo); cursor: pointer; }
.ep-disegno input[type=email] { width: 100%; min-height: 48px; border: 0; border-radius: 0; padding: 0 .8em; background: #fff; color: var(--ep-nero); text-overflow: ellipsis; }
/* email suggerita dal browser: resta bianca e col nostro carattere, non azzurra */
.ep-disegno input[type=email]:autofill { box-shadow: inset 0 0 0 100px #fff; -webkit-text-fill-color: var(--ep-nero); font: inherit; }
.ep-disegno .wpcf7 input[type=submit] { min-height: 48px; padding: .65em 1.3em; border: 0; border-radius: 0; background: #fff; color: var(--ep-blu-scuro); }
.ep-disegno .wpcf7 input[type=submit]:hover { background: #dfe9f6; filter: none; transform: none; box-shadow: none; }
.ep-disegno .wpcf7 form > .wpcf7-form-control-wrap, .ep-disegno .wpcf7-response-output { grid-column: 1 / -1; }
.ep-disegno .wpcf7-acceptance a { color: #fff; }
.ep-disegno .wpcf7 .wpcf7-response-output { margin: 0; color: #fff; border-color: #fff; }
.ep-disegno .wpcf7-not-valid-tip { color: #fff; font-weight: 600; }
/* CF7 controlla i campi appena se ne tocca uno (anche la sola privacy): gli avvisi si vedono solo dopo un invio */
.wpcf7 form:not(.invalid) .wpcf7-not-valid-tip { display: none; }
.ep-disegno form:not(.invalid) input.wpcf7-not-valid[type=file] { border-color: rgba(255,255,255,.55); }
/* da computer, con il negozio accanto, l'avviso sta dentro il campo a destra: il modulo non si allunga e il contenitore non scende */
@media (min-width: 1001px) {
  /* da computer i formati stanno accanto all'etichetta: una riga in meno, la privacy si vede senza scorrere */
  .ep-disegno label small { display: inline; margin: 0 0 0 .6em; }
  .ep-disegno .wpcf7-form-control-wrap { position: relative; }
  .ep-disegno .wpcf7-not-valid-tip { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); margin: 0; font-size: .85rem; pointer-events: none; }
  .ep-disegno input[type=email] + .wpcf7-not-valid-tip { color: #b3261e; }
  .ep-disegno form.invalid input.wpcf7-not-valid[type=email] { padding-right: 11em; }
  .ep-disegno [data-name=privacy] .wpcf7-not-valid-tip { top: calc(100% + 4px); right: auto; left: 0; transform: none; }
  /* con un errore l'avviso è già nel campo: il riquadro riassuntivo allungava la fascia */
  .ep-disegno .wpcf7 form.invalid .wpcf7-response-output { display: none; }
}
.ep-disegno .wpcf7-spinner { position: absolute; }
.ep-pronto { background: var(--ep-nero); color: rgba(255,255,255,.85); display: grid; grid-template-columns: auto 1fr; gap: clamp(18px,2.5vw,36px); align-items: center; }
/* il contenitore appoggiato a terra: ombra morbida sotto, come nella foto */
.ep-pronto-foto { position: relative; align-self: center; }
.ep-pronto-foto::after { content: ""; position: absolute; left: 8%; right: 0; bottom: 4px; height: 20px; z-index: -1; background: radial-gradient(closest-side, rgba(0,0,0,.6), rgba(0,0,0,0)); }
.ep-pronto { isolation: isolate; }
.ep-pronto img { display: block; width: auto; height: clamp(160px,12vw,210px); border-radius: 0; }
.ep-pronto h2 { color: #fff; }
.ep-pronto p { margin: .4em 0 .9em; }

/* Percorso della home */
.ep-sezione { padding: clamp(56px,9vw,112px) var(--ep-bordo); }
.ep-titolo { font-size: clamp(2.8rem,6vw,5rem); text-transform: uppercase; margin: 0 0 clamp(28px,4vw,48px); color: var(--ep-nero); }
.ep-percorso { list-style: none; margin: 0; padding: 0; position: relative; }
.ep-percorso::before { content: ""; position: absolute; top: 0; bottom: 0; left: 34px; width: 6px; background: var(--gn-primario); }
.ep-tappa { position: relative; display: grid; grid-template-columns: 74px minmax(0,6fr) minmax(0,6fr); gap: 0 clamp(20px,3vw,44px); align-items: center; padding: clamp(14px,1.8vw,24px) 0; }
.ep-num { width: 74px; height: 74px; display: grid; place-items: center; background: var(--gn-primario); color: #fff; font: 700 2.6rem/1 var(--gn-font-titoli); }
.ep-parole h3 { font-size: clamp(2.1rem,3.6vw,3.2rem); text-transform: uppercase; margin: 0; color: var(--ep-nero); }
.ep-parole p { margin: .6em 0 0; max-width: 32em; font-size: clamp(1.05rem,1.3vw,1.3rem); line-height: 1.5; color: var(--ep-nero); }
.ep-parole dl { margin: 1em 0 0; display: grid; grid-template-columns: auto 1fr; gap: .3em 1.1em; font-weight: 600; font-size: clamp(1rem,1.15vw,1.15rem); }
.ep-parole dt { color: var(--ep-grigio); font-weight: 500; }
.ep-parole dd { margin: 0; }
.ep-foto img { width: 100%; aspect-ratio: 2/1; object-fit: cover; border-radius: 0; }
.ep-tutte { margin: 8px 0 0 calc(74px + clamp(20px,3vw,44px)); font-weight: 700; }

/* Certificati */
.ep-prove { background: var(--ep-blu-scuro); color: #fff; padding: clamp(40px,5vw,64px) var(--ep-bordo); display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 28px 56px; align-items: center; }
.ep-prove h2 { color: #fff; font-size: clamp(2.3rem,4vw,3.6rem); text-transform: uppercase; margin: 0; }
.ep-prove p { margin: 1em 0 0; max-width: 30em; }
.ep-prove ul { list-style: none; margin: 0; padding: 0; font: 700 clamp(1.9rem,3.2vw,2.8rem)/1.15 var(--gn-font-titoli); }
.ep-prove li + li { border-top: 1px solid rgba(255,255,255,.3); margin-top: .45em; padding-top: .45em; }
.ep-prove li span { display: block; margin-top: .2em; font: 400 clamp(1rem,1.2vw,1.15rem)/1.4 var(--gn-font-testo); color: rgba(255,255,255,.85); }
.ep-settori { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 28px 56px; align-items: start; }
.ep-settori .ep-titolo { margin-bottom: .3em; }
.ep-settori p { margin: 0; max-width: 26em; font-size: clamp(1.05rem,1.3vw,1.3rem); color: var(--ep-nero); }
/* i settori sulla stessa linea blu del percorso */
.ep-settori-elenco { list-style: none; margin: 0; padding: 0; border-top: 6px solid var(--gn-primario); }
.ep-settori-elenco li { padding: .45em 0; border-bottom: 1px solid #d5dae0; font: 700 clamp(1.4rem,2.2vw,2rem)/1.1 var(--gn-font-titoli); text-transform: uppercase; color: var(--ep-nero); }

/* Pagine: testata con la foto vera, titolo in basso a sinistra */
.ep-testata { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: clamp(360px, 60vh, 640px); padding: 120px var(--ep-bordo) clamp(32px, 5vw, 64px); background: var(--ep-nero); color: #fff; }
/* in alto un velo in più: il menu bianco resta leggibile anche sulle foto chiare */
.ep-testata::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(9,13,18,.7), rgba(9,13,18,0) 170px), linear-gradient(90deg, rgba(9,13,18,.88), rgba(9,13,18,.55) 55%, rgba(9,13,18,.18)), linear-gradient(0deg, rgba(9,13,18,.55), rgba(9,13,18,0) 55%); }
.ep-testata-piena { min-height: 0; padding-top: clamp(130px, 14vw, 180px); }
.ep-testata h1 { color: #fff; margin: 0; font-size: clamp(2.6rem, 6.4vw, 5.6rem); text-transform: uppercase; max-width: 13em; text-wrap: balance; }
.ep-testata-in p { margin: .9em 0 0; max-width: 36em; font-size: clamp(1.05rem, 1.5vw, 1.3rem); color: rgba(255,255,255,.88); }

/* Pagine: titolo della sezione a sinistra, testo a destra */
.ep-corpo { padding: clamp(48px, 7vw, 104px) var(--ep-bordo); }
.ep-blocco { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 20px clamp(24px, 4vw, 72px); padding-block: clamp(40px, 5vw, 72px); border-top: 1px solid var(--gn-bordo); }
.ep-blocco:first-child { padding-top: 0; border-top: 0; }
.ep-blocco:last-child { padding-bottom: 0; }
.ep-blocco > h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3.2rem); text-transform: uppercase; color: var(--ep-nero); }
.ep-blocco-testo { grid-column: 2; min-width: 0; }
.ep-blocco-aperto > .ep-blocco-testo { grid-column: 1 / -1; }
.ep-blocco-testo > * { max-width: 68ch; }
.ep-blocco-testo > :first-child { margin-top: 0; }
.ep-blocco-testo > :last-child { margin-bottom: 0; }
.ep-blocco-testo > .ep-tabella, .ep-blocco-testo > .ep-reparti, .ep-blocco-testo > ul:has(> li > strong:first-child) { max-width: none; }
.ep-blocco-aperto .ep-blocco-testo > .ep-tabella, .ep-blocco-aperto .ep-blocco-testo > ul:has(> li > strong:first-child) { max-width: 1100px; }
.ep-blocco-testo p { font-size: 1.12rem; line-height: 1.6; }
.ep-blocco-aperto > .ep-blocco-testo > p:first-child { font-size: clamp(1.25rem, 1.9vw, 1.7rem); line-height: 1.45; color: var(--ep-nero); }
/* Azienda: la storia grande a sinistra, il resto accanto: niente mezza pagina vuota */
.ep-corpo-azienda .ep-blocco-aperto > .ep-blocco-testo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 16px clamp(28px, 5vw, 80px); align-items: start; }
.ep-corpo-azienda .ep-blocco-aperto > .ep-blocco-testo > * { max-width: none; margin: 0; }
.ep-corpo-azienda .ep-blocco-aperto > .ep-blocco-testo > p + p { grid-column: 2; grid-row: 1; padding-top: 18px; border-top: 6px solid var(--gn-primario); color: var(--ep-nero); }

/* Certificazioni e sostenibilità: schede grandi una accanto all'altra, la linea blu come nella home */
.ep-corpo.ep-corpo-certificazioni .ep-blocco-testo > ul, .ep-corpo.ep-corpo-sostenibilita .ep-blocco-testo > ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(12px, 1.6vw, 24px); max-width: none; border: 0; margin: 0; }
.ep-corpo.ep-corpo-certificazioni .ep-blocco-testo > ul > li, .ep-corpo.ep-corpo-sostenibilita .ep-blocco-testo > ul > li { display: block; padding: clamp(24px, 3vw, 44px); border: 0; border-top: 6px solid var(--gn-primario); background: #eef1f4; font-size: 1.12rem; line-height: 1.55; color: var(--ep-nero); }
.ep-corpo.ep-corpo-certificazioni .ep-blocco-testo > ul > li > strong, .ep-corpo.ep-corpo-sostenibilita .ep-blocco-testo > ul > li > strong { display: block; margin-bottom: .45em; font-size: clamp(1.9rem, 2.8vw, 2.8rem); line-height: 1; color: var(--ep-nero); }

/* Tabelle: i dati che mancano sono domande per il cliente, si vedono come tali */
.ep-dc { display: inline-block; padding: 2px 10px; border: 1px dashed #b07a00; background: #fff6e0; color: #7a5300; font-size: .85rem; font-weight: 600; white-space: nowrap; }
.ep-trattino { color: #9aa3ad; }

/* Elenchi con l'etichetta in grassetto (reparti, certificati): righe come una scheda tecnica */
.ep-corpo ul:has(> li > strong:first-child) { list-style: none; padding: 0; margin: 0 0 1.5em; border-bottom: 1px solid var(--gn-bordo); }
.ep-corpo li:has(> strong:first-child) { display: grid; grid-template-columns: minmax(10rem, 3fr) minmax(0, 5fr); gap: 6px clamp(16px, 3vw, 40px); align-items: baseline; padding: 20px 0; border-top: 1px solid var(--gn-bordo); font-size: 1.08rem; line-height: 1.5; }
.ep-corpo li > strong:first-child { font: 700 clamp(1.45rem, 2.2vw, 1.9rem)/1.05 var(--gn-font-titoli); text-transform: uppercase; color: var(--ep-blu-scuro); }

/* I tre reparti */
.ep-reparti { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 28px 0 0; }
.ep-reparti figure { margin: 0; }
.ep-reparti img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 0; }
.ep-reparti figcaption { margin-top: 12px; font-size: 1.02rem; line-height: 1.5; color: var(--ep-grigio); }
.ep-reparti figcaption strong { display: block; margin-bottom: 4px; font: 700 1.45rem/1.05 var(--gn-font-titoli); text-transform: uppercase; color: var(--ep-nero); }

/* Contatti: modulo a sinistra, dove siamo a destra su fondo acciaio scuro */
.ep-corpo-contatti .ep-blocco + .ep-blocco { background: var(--ep-nero); color: #fff; padding: clamp(28px, 3vw, 44px); border: 0; }
.ep-corpo-contatti .ep-blocco + .ep-blocco > h2 { color: #fff; }
.ep-corpo-contatti .ep-blocco + .ep-blocco a { color: #fff; }
.ep-corpo-contatti .ep-blocco + .ep-blocco p { color: rgba(255,255,255,.9); }
.ep-corpo .wpcf7 form { max-width: 640px; }
/* allegato come in home: riquadro tratteggiato e pulsante del sito, non quello grigio del browser */
.ep-corpo input[type=file] { width: 100%; min-height: 52px; padding: 6px; border: 1px solid var(--gn-bordo-forte); background: #f4f6f8; font-weight: 500; cursor: pointer; }
.ep-corpo input[type=file]::file-selector-button { min-height: 38px; margin-right: 12px; padding: 0 .9em 0 2.1em; border: 0; background: var(--gn-primario) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.4 11.1-9.2 9.2a6 6 0 0 1-8.5-8.5l9.2-9.2a4 4 0 0 1 5.7 5.7l-9.2 9.2a2 2 0 0 1-2.8-2.8l8.5-8.5'/%3E%3C/svg%3E") no-repeat .7em 50% / 1.05em; color: #fff; font: 700 .95rem var(--gn-font-testo); cursor: pointer; }

/* Fascia finale delle pagine: il disegno si manda da qui */
.ep-chiusura { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 16px clamp(24px, 4vw, 72px); align-items: center; padding: clamp(40px, 6vw, 72px) var(--ep-bordo); background: var(--ep-nero); }
.ep-chiusura h2 { margin: 0; font-size: clamp(2.2rem, 4vw, 3.6rem); text-transform: uppercase; }
.ep-chiusura .wpcf7 form { margin: 0; }
.ep-chiusura .wpcf7 input[type=submit] { background: var(--gn-primario); color: #fff; }
.ep-chiusura .wpcf7 input[type=submit]:hover { background: #2a6dcc; }

/* Piè di pagina scuro, unito alla fascia finale: il blu resta per le azioni */
.gn-footer { background: var(--ep-nero); border-top: 1px solid rgba(255,255,255,.14); --gn-riga-primario: rgba(255,255,255,.14); }
.gn-footer, .gn-footer a, .gn-footer p, .gn-footer li, .gn-footer address, .gn-footer span { color: #fff; }
.gn-footer-h { color: #9fbde6; }

/* Loghi dei fondi europei: su fondo bianco, come nel poster */
.ep-fesr img { display: block; width: 100%; max-width: 560px; height: auto; border-radius: 0; }
.ep-fesr-piede { margin-top: 14px; }
.ep-fesr-piede a { display: block; max-width: 300px; padding: 8px 10px; background: #fff; }
.ep-fesr-piede img { display: block; width: 100%; height: auto; border-radius: 0; }

/* Testata: i link nel sottotitolo (pagine di legge) restano leggibili sul fondo scuro */
.ep-testata a { color: #fff; }
.ep-blocco-testo li { font-size: 1.12rem; line-height: 1.6; }

/* Scheda prodotto senza descrizione lunga: senza le schede i correlati salivano accanto alla foto. Difetto della base 0.3.3. */
.woocommerce div.product .related.products, .woocommerce div.product .upsells.products { clear: both; }
/* Scheda prodotto: descrizione e dati nella colonna della foto, sotto il pulsante */
.woocommerce div.product .summary ul { margin: 0 0 1.2em; padding-left: 1.2em; }
.woocommerce div.product .summary .woocommerce-product-attributes { margin: 0 0 1.2em; }

/* Tabelle nelle pagine */
.ep-tabella { margin: 1.6em 0; overflow-x: visible; }
.ep-blocco-testo > .ep-tabella:first-child { margin-top: 0; }
.ep-tabella table { width: 100%; border-collapse: collapse; border: 2px solid var(--gn-primario); background: #fff; }
.ep-tabella th, .ep-tabella td { padding: 14px 18px; border: 1px solid var(--gn-bordo); text-align: left; vertical-align: top; }
.ep-tabella thead th { background: var(--gn-primario); color: #fff; font: 700 1rem/1.2 var(--gn-font-titoli); text-transform: uppercase; letter-spacing: .05em; border-color: var(--gn-primario); }
.ep-tabella tbody th { font: 700 1.25rem/1.15 var(--gn-font-titoli); text-transform: uppercase; color: var(--ep-blu-scuro); }
.ep-tabella td:last-child { font-weight: 600; white-space: nowrap; }

@media (min-width: 900px) {
  .ep-corpo-contatti { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 96px); align-items: start; }
  .ep-corpo-contatti .ep-blocco { display: block; padding-block: 0; border: 0; }
  .ep-corpo-contatti .ep-blocco + .ep-blocco > h2 { margin-bottom: .6em; }
}

/* sotto i 1000 px il modulo affiancato al negozio lasciava all'email meno di 250 px */
@media (max-width: 1000px) {
  .ep-strade { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .ep-strade, .ep-prove, .ep-blocco, .ep-chiusura { grid-template-columns: 1fr; }
  .ep-blocco-testo { grid-column: 1; }
  .ep-corpo-contatti .ep-blocco + .ep-blocco { margin-top: 40px; }
  .ep-disegno .wpcf7 form { grid-template-columns: minmax(0, 1fr); }
  .ep-pronto img { height: 140px; }
  /* su una colonna la privacy va prima del pulsante */
  .ep-disegno .wpcf7 input[type=submit] { order: 2; }
  .ep-disegno .wpcf7-response-output { order: 3; }
  .ep-frase .ep-sfondo { width: 100%; object-position: 62% 50%; }
  .ep-numeri { grid-template-columns: 1fr 1fr; gap: 14px 16px; }
  .ep-numeri li { border-right: 0; margin-right: 0; padding: 0 0 0 12px; border-left: 2px solid var(--gn-primario); }
  .ep-frase::before { background: linear-gradient(180deg, rgba(9,13,18,.74), rgba(9,13,18,.6)); }
  .ep-testata { min-height: 300px; padding-top: 96px; }
  .ep-testata::before { background: linear-gradient(180deg, rgba(9,13,18,.78), rgba(9,13,18,.45) 45%, rgba(9,13,18,.85)); }
  .ep-reparti { grid-template-columns: 1fr; }
  .ep-reparti img { aspect-ratio: 16 / 10; }
  .ep-corpo li:has(> strong:first-child) { grid-template-columns: 1fr; }
  .ep-percorso::before { left: 24px; }
  .ep-tappa { grid-template-columns: 54px minmax(0,1fr); gap: 14px 18px; align-items: start; padding: 20px 0; }
  .ep-foto img { aspect-ratio: 16/9; }
  .ep-prove, .ep-settori { grid-template-columns: 1fr; }
  .ep-num { width: 54px; height: 54px; font-size: 2rem; }
  .ep-foto { grid-column: 2; }
  .ep-tutte { margin-left: 72px; }
  .ep-tabella thead { display: none; }
  .ep-tabella table, .ep-tabella tbody, .ep-tabella tr, .ep-tabella th, .ep-tabella td { display: block; width: auto; }
  .ep-tabella tr { border-bottom: 2px solid var(--gn-primario); padding: 6px 0; }
  .ep-tabella th, .ep-tabella td { border: 0; padding: 4px 14px; }
  .ep-tabella td:last-child { white-space: normal; }
  .ep-tabella td:empty { display: none; }
  .ep-tabella td[data-titolo]::before { content: attr(data-titolo) ": "; color: var(--ep-grigio); font-weight: 400; }
}

/* schede di certificazioni e sostenibilità: larghe quanto la pagina */
.ep-corpo.ep-corpo-certificazioni .ep-blocco-aperto .ep-blocco-testo > ul, .ep-corpo.ep-corpo-sostenibilita .ep-blocco-aperto .ep-blocco-testo > ul { max-width: none; }
