/* Sito Rodolfo Comerio — stile comune.
   Misure riprese dal sito originale (Divi) a 1440 px di larghezza. */

:root {
  --testo: #55595b;
  --scuro: #334141;
  --petrolio: #658187;
  --oro: #e0b200;
  --link: #658188;       /* i link del sito originale hanno un blu di un punto diverso dai titoli */
  --grigio-riquadro: rgba(193, 203, 209, .35);
  --grigio-piede: rgba(193, 203, 209, .4);
  --ombra-riquadro: -75px 0 0 -25px rgba(101, 129, 135, .46);
  --altezza-testata: 174px;
  --viga: 'Viga', Helvetica, Arial, Lucida, sans-serif;
  --roboto: 'Roboto', Helvetica, Arial, Lucida, sans-serif;
  --lato: 'Lato', Helvetica, Arial, Lucida, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--altezza-testata); }
body {
  margin: 0;
  background: #fff;
  color: var(--testo);
  font: 500 14px/1.7 var(--roboto);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--link); text-decoration: none; }
p, ul { margin: 0; padding: 0 0 1em; }
p:last-child, ul:last-child { padding-bottom: 0; }
strong { font-weight: 700; }
h1, h2, h3, h4 {
  margin: 0;
  padding-bottom: 10px;
  font-family: var(--viga);
  font-weight: 700;
  line-height: 1em;
  color: var(--scuro);
}
h2 { font-size: 30px; color: var(--petrolio); text-transform: uppercase; }
h3 { font-size: 18px; text-transform: uppercase; }
button { font: inherit; color: inherit; }
.nascosto { display: none; }
svg { fill: currentColor; }

/* ---------- struttura ---------- */
.riga { width: 80%; max-width: 1920px; margin: 0 auto; }
.due-colonne { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }

/* ---------- testata ----------
   Stessa costruzione della testata Divi del vecchio sito (#top-header + #main-header), con le sue soglie:
   sopra 1600 px il logo grande Logo.png alto il 90% della fascia; fino a 1600 il logo «esteso»;
   tra 1010 e 1400 menu a 12 px; sotto 1000 la barra in alto si stringe; sotto 981 testata da telefono. */
.testata {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 40px 0 10px;
  background: #fff;
  box-shadow: 0 0 7px rgba(0, 0, 0, .1);
  font-family: var(--lato); line-height: 23px;
}
.barra-info {
  position: absolute; top: 0; left: 0; right: 0; z-index: 2;
  padding: 20px 30px 0;
  color: var(--petrolio);
  font: italic 600 14px/14px var(--roboto);
  letter-spacing: 1px;
  text-align: right;
}
.barra-info-dentro { padding-bottom: 9.7px; } /* 10,5 di Divi meno 0,8 di differenza nelle metriche del Roboto */
.barra-info a { color: var(--petrolio); font-weight: 700; }
/* come le icone Font Awesome a 18 px: larghe quanto il carattere + 1 px di spaziatura, linea di base a 15,75 px */
.barra-info .social i { display: inline-block; vertical-align: -2.25px; height: 18px; width: calc(var(--l) / 512 * 18px + 1px); }
.barra-info .social svg { display: block; width: calc(var(--l) / 512 * 18px); height: 18px; overflow: visible; }
.barra-info .telefono { margin-right: 13px; }
.barra-info .telefono, .barra-info .email { white-space: nowrap; }
.barra-info .telefono::before, .barra-info .email::before {
  content: ''; display: inline-block; width: 14px; height: 14px; vertical-align: -1px;
  background: currentColor; mask: var(--icona) center / 13px 13px no-repeat;
}
.barra-info .telefono::before { position: relative; top: 2px; margin-right: 3px; --icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E"); }
.barra-info .email::before { margin-right: 5px; --icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E"); }

.barra-menu { position: relative; padding: 0 30px; }
.barra-menu::after { content: ''; display: block; clear: both; }
.logo-spazio { position: absolute; top: 0; height: 100%; width: 100%; }
.logo-aiuto { display: inline-block; height: 100%; width: 0; vertical-align: middle; }
.logo img { display: inline-block; vertical-align: middle; width: auto; max-height: 90%; }
.logo picture { display: contents; }

.menu { float: right; position: relative; z-index: 3; margin-top: 20px; padding: 45px 0 0 379px; line-height: 0; }
.menu > ul { float: left; list-style: none; margin: 0; padding: 0; }
.menu li { position: relative; }
.menu > ul > li { display: inline-block; font-size: 14px; padding-right: 22px; }
.menu > ul > li:last-child { padding-right: 0; }
.menu a {
  display: block; position: relative;
  font: 700 14px/1em var(--lato);
  letter-spacing: 1px;
  color: rgba(51, 65, 65, .6);
  transition: opacity .4s;
}
.menu > ul > li > a { padding-bottom: 45px; }
.menu a:hover { opacity: .7; }
.menu .attivo > a { color: var(--scuro); }
.menu .con-sotto > a { padding-right: 20px; }
.menu .con-sotto > a::after {
  content: ''; position: absolute; right: 0; top: 0; width: 16px; height: 16px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.6 5.6l4.4 4.4 4.4-4.4' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.menu .lingua img, .sotto-menu img { display: inline-block; }
.menu .lingua span, .sotto-menu img + span { margin-left: .3em; }
.sotto-menu {
  position: absolute; left: 0; z-index: 10;
  width: 240px; list-style: none; margin: 0; padding: 20px 0;
  background: #e0e3e5;
  border-top: 3px solid #98a3a8;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .1);
  opacity: 0; visibility: hidden;
}
.menu li:hover > .sotto-menu, .menu li:focus-within > .sotto-menu { opacity: 1; visibility: visible; }
/* come Divi con l'animazione «expand»: si apre in 0,4 s da metà altezza, si chiude di colpo */
@media (min-width: 981px) {
  .menu li:hover > .sotto-menu { transform-origin: 0 0; animation: cresci .4s ease-in-out; }
}
@keyframes cresci { from { opacity: 0; transform: scaleY(.5); } to { opacity: 1; transform: scale(1); } }
.menu li > .sotto-menu { padding: 20px 0; } /* altrimenti «ul:last-child» toglie i 20 px sotto */
.sotto-menu li { padding: 0 20px; line-height: 2em; }
.sotto-menu a { padding: 6px 20px; width: 200px; line-height: 2em; color: var(--scuro); }
.sotto-menu a:hover { background-color: rgba(0, 0, 0, .03); opacity: .7; }
.apri-menu { display: none; }

@media (min-width: 1601px) {
  .menu { padding-left: 740px; }
}
/* 06/11/2026: il menu compatto vale anche da 981 a 1009 px e da 1601 a 1680 px. Lì il vecchio sito lasciava il menu
   sopra il logo (a 1000 px partiva a 102 px, col logo fino a 382) e il nuovo lo mandava su due righe */
@media (min-width: 981px) and (max-width: 1400px) {
  .menu { padding-left: 0; }
  .menu > ul > li, .menu > ul > li:last-child { padding-right: 10px; }
  .menu > ul > li > a { font-size: 12px; }
  .logo img { max-height: 70%; }
}
/* fra 981 e 1160 px il menu compatto (708 px in inglese) e il logo intero (349 px) non stanno affiancati: nel vecchio
   sito il menu copriva il logo; qui il logo si riduce quanto serve, con 20 px di distanza dal menu */
@media (min-width: 981px) and (max-width: 1160px) {
  .logo img { max-width: calc(100vw - 806px); height: auto; }
}
@media (min-width: 1601px) and (max-width: 1680px) {
  .menu > ul > li, .menu > ul > li:last-child { padding-right: 10px; }
  .menu > ul > li > a { font-size: 12px; }
}
@media (max-width: 999px) {
  .barra-info { padding-top: 10.5px; }
}
/* modulo di contatto: come nel vecchio le due colonne ci sono solo da 1000 px in su; sotto, tutto in colonna
   e il pulsante INVIA a tutta larghezza */
@media (max-width: 999px) {
  .modulo-contatti .modulo-riga { display: block; height: auto; }
  .modulo-contatti .modulo-riga > label { display: block; margin-top: 0; }
  .modulo-contatti .modulo-riga input[type=text] { width: 100%; }
  .modulo-contatti .modulo-invia { width: 100%; }
  form.modulo-contatti p:has(.modulo-invia) { height: 71.8px; }
}
@media (min-width: 981px) and (max-width: 999px) {
  /* come Divi in questa fascia: la fascia del menu scende sotto la barra in alto e il contenuto parte a 142 */
  .testata { padding: 0; top: 39px; }
  .barra-info { top: -39px; }
  .menu { margin-top: 0; }
  body main { padding-top: 142px; }
}

/* come nel sito originale: il contenuto parte a 100 px e i primi 74 restano sotto la testata fissa.
   main fa da contenitore: 1cqw = 1% della larghezza delle sezioni, la base delle percentuali di Divi
   (righe 80cqw, imbottiture delle colonne 2,855% della riga = 2,284cqw, righe interne 5,82% della colonna = 2,328cqw) */
main { padding-top: 100px; container-type: inline-size; }

/* ---------- elementi comuni ---------- */
.riquadro { background: var(--grigio-riquadro); }
.riquadro-ombra { box-shadow: var(--ombra-riquadro); }
.testo-chiaro { font-weight: 300; line-height: 1.4; text-align: justify; }
.testo-chiaro p { padding-bottom: 1em; }
.testo-chiaro p:last-child { padding-bottom: 0; }
.citazione {
  margin: 1.5vw 0; padding: 0 0 0 20px;
  border-left: 5px solid var(--oro);
  color: var(--oro);
  font-weight: 700; font-style: italic; line-height: 1.4; text-transform: uppercase;
}
.pulsante {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 10px;
  background: var(--petrolio);
  color: #fff;
  font: 800 16px/1.7 var(--lato);
  letter-spacing: 3px;
  text-transform: uppercase;
  transition: background .3s;
}
.pulsante:hover { background: #557077; }

/* elenco con quadratino (i «blurb» del sito originale) */
.elenco-quadri { list-style: none; padding: 0; }
.elenco-quadri li {
  position: relative;
  max-width: 550px; margin-inline: auto;
  padding-left: 47px;
  line-height: 1.4;
  text-align: justify;
}
.elenco-quadri li::before {
  content: ''; position: absolute; left: 12px; top: 5px;
  width: 8px; height: 8px;
  background: var(--petrolio);
}
.elenco-quadri.maiuscolo li { font-weight: 600; text-transform: uppercase; }

/* ---------- slider della home ---------- */
.slider { position: relative; container-type: inline-size; overflow: hidden; background: #334141; }
/* Slider Revolution del vecchio sito: griglia 1240×700; sotto i 1240 px di larghezza 1024×768, sotto i 480 px 480×720;
   tutto scalato in proporzione alla larghezza (mai ingrandito). --gw/--gh = griglia, --g = un pixel della griglia */
.slider { --gw: 1240; --gh: 700; }
.slider::before { content: ''; display: block; height: calc(var(--gh) * min(1px, 100cqw / var(--gw))); }
@container (max-width: 1239.98px) { .slider::before, .slide { --gw: 1024; --gh: 768; } }
@container (max-width: 479.98px) { .slider::before, .slide { --gw: 480; --gh: 720; } }
.slide {
  position: absolute; inset: 0;
  background: var(--sfondo) center / cover no-repeat;
  opacity: 0; transition: opacity .3s;
}
.slide::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(30deg, rgba(51, 65, 65, .6) 0%, rgba(51, 65, 65, .5) 100%);
}
.slide.attiva { opacity: 1; z-index: 1; }
.slide p {
  --g: min(1px, 100cqw / var(--gw));
  position: absolute;
  left: calc((100cqw - var(--gw) * var(--g)) / 2 + var(--x, 0) * var(--g));
  margin: 0; padding: 0;
  overflow: hidden;
  font: 400 calc(50 * var(--g))/calc(50 * var(--g)) var(--viga);
  color: #fff;
  white-space: nowrap;
}
/* posizioni dei testi come negli strati del vecchio slider (in pixel della griglia) */
.slide-alto { top: calc(var(--y, 100) * var(--g)); }
.slide-basso { bottom: calc(100 * var(--g)); }
.slide:nth-child(1) .slide-alto, .slide:nth-child(3) .slide-alto { --y: 99; }
.slide:nth-child(2) .slide-basso, .slide:nth-child(5) .slide-basso { --x: 2; }
.slide:nth-child(5) .slide-alto { --x: 1; }
/* sotto i 480 px: testi a 30 px dal bordo e a 150 dall'alto o dal basso, più piccoli */
@container (max-width: 479.98px) {
  .slide p { --x: 30 !important; font-size: calc(30 * var(--g)); }
  .slide:nth-child(5) .slide-alto { --x: 31 !important; }
  .slide:nth-child(1) p, .slide:nth-child(2) p { font-size: calc(25 * var(--g)); }
  .slide-alto { top: calc(150 * var(--g)); }
  .slide-basso { bottom: calc(150 * var(--g)); line-height: calc(30 * var(--g)); }
}
.slide p > span { display: block; }
.slide.attiva p > span { animation: entra 2s cubic-bezier(.23, 1, .32, 1) both; }
@keyframes entra { from { transform: translateX(-100%); } }
.slider-punti {
  position: absolute; z-index: 5; right: 60px; bottom: 90px;
  display: flex; gap: 5px;
}
.slider-punti button {
  width: 16px; height: 16px; padding: 0; border: 0; border-radius: 50%;
  background: transparent; box-shadow: inset 0 0 0 2px #fff; cursor: pointer;
  transition: box-shadow .3s;
}
.slider-punti button[aria-current="true"], .slider-punti button:hover { box-shadow: inset 0 0 0 8px #fff; }

/* ---------- galleria a scorrimento ----------
   come la galleria «slider» di Divi: dissolvenza incrociata di 700 ms (sito.js), frecce del carattere ETmodules a 48 px
   che entrano da 22 px fuori in 0,2 s al passaggio del mouse, pallini scuri (modulo «chiaro») */
.galleria { position: relative; overflow: hidden; display: grid; }
.galleria img { grid-area: 1 / 1; width: 100%; aspect-ratio: 424 / 343; object-fit: cover; display: none; }
.galleria img.attiva, .galleria img.uscente { display: block; }
.galleria button {
  position: absolute; top: 50%; margin-top: -24px; z-index: 100;
  width: 48px; height: 48px; padding: 0; border: 0; background: none;
  color: var(--testo); cursor: pointer;
  opacity: 0; transition: .2s ease-in-out;
}
.galleria button svg { display: block; width: 100%; height: 100%; }
.galleria-prec { left: -22px; }
.galleria-succ { right: -22px; }
.galleria:hover .galleria-prec { left: 22px; opacity: 1; }
.galleria:hover .galleria-succ { right: 22px; opacity: 1; }
.galleria-punti {
  position: absolute; left: 0; right: 0; bottom: 36.4px; z-index: 10;
  display: flex; justify-content: center; gap: 10px;
}
.galleria-punti button {
  position: static; margin: 0; opacity: .5; transition: none;
  width: 7px; height: 7px; border-radius: 7px;
  background: rgba(0, 0, 0, .3);
}
.galleria-punti button[aria-current="true"] { background: #333; opacity: 1; }

/* ---------- home ---------- */
.home-fornitore { margin-top: 74px; min-height: 615px; }
/* nelle sezioni «specialty» di Divi la colonna più corta sta a metà altezza dell'altra */
.home-fornitore .due-colonne, .home-missione .due-colonne, .azienda-sede .due-colonne { align-items: center; }
.home-fornitore .col-immagine { padding: 2.284cqw 0; }
.home-fornitore .riquadro { padding: 48px 40px; }
.home-fornitore .testo-chiaro { margin-top: 1vw; }

.home-limitless { margin-top: -6vw; }
.home-limitless .col-elenco { padding: 2.284cqw 20px 2.284cqw 0; }
.home-limitless h2 { margin-top: 29px; }
.home-limitless .intro { width: 83.4%; min-height: 76px; margin-bottom: 10px; padding: 15px 0 0; }
.home-limitless .elenco-quadri li { margin-top: .5vw; padding-bottom: 3px; min-height: 34px; }
.home-limitless .elenco-quadri li:first-child { margin-top: 0; }
.home-limitless .elenco-quadri li:nth-child(4),
.home-limitless .elenco-quadri li:nth-child(5),
.home-limitless .elenco-quadri li:nth-child(6) { padding-bottom: 0; margin-bottom: -10px; }
.home-limitless .elenco-quadri li:last-child { padding-bottom: 48px; }
.home-limitless .col-galleria { padding-top: 2.328cqw; }
.home-limitless .citazione-larga { padding-right: 114px; text-align: justify; }
.home-limitless .galleria-blocco { display: flow-root; padding: 0 0 45px 40px; } /* come la riga interna Divi: i margini dentro non si fondono con quelli fuori */
.home-limitless .galleria { width: 80%; box-shadow: -60px 0 0 -5px rgba(0, 0, 0, .3); overflow: visible; }
/* come i moduli Divi: i margini del testo (1,5vw) e del pulsante (−0,8vw) si compenetrano */
.home-limitless .galleria-blocco .pulsante { display: table; margin: -.8vw 0 -23px; }

.home-missione { margin-top: 25px; }
.home-missione .col-foto { padding: calc(2.284cqw + 42px) 0 2.284cqw; }
.home-missione .col-foto .citazione { margin: .5vw 0; padding-right: 53px; }

.home-missione .riquadro { padding: 40px; }
.home-missione h2 { margin-bottom: 1px; }
.home-missione .elenco-quadri li { margin-top: 10px; margin-bottom: -4px; min-height: 25px; } /* l'icona del quadratino era alta 25 px */

/* ---------- intestazione delle pagine interne ---------- */
/* come nel vecchio sito la foto è fusa col gradiente in «soft-light» (il velo grigio-petrolio);
   spazi in % e vw come le regole Divi della riga, quindi cambiano con la larghezza */
.banner-riquadro {
  padding: 220px 50px 2%;
  background: var(--foto) center / cover no-repeat, linear-gradient(200deg, rgba(101, 129, 135, .65) 0%, rgba(51, 65, 65, .8) 100%);
  background-blend-mode: soft-light;
  box-shadow: -80px 0 0 -35px #c1cbd1;
}
.banner h1 { font-size: 55px; font-weight: 800; color: #fff; text-transform: uppercase; margin-bottom: 2.75%; }
.briciole { margin-top: -2vw; padding: 0; line-height: 1.7; }
.briciole a { color: var(--link); }
/* 06/11/2026, chiesto da Michele: nel vecchio sito erano grigio su foto scura, quasi illeggibili. Sul banner: bianco */
.banner .briciole, .banner .briciole strong { color: #fff; }
.banner .briciole a { color: rgba(255, 255, 255, .75); }
.banner .briciole a:hover { color: #fff; }

/* ---------- azienda ---------- */
h2.grande { font-size: 35px; }
.azienda-pilastri { margin-top: 182px; }
.azienda-pilastri .due-colonne { align-items: stretch; }
.col-pilastri { padding: 2.284cqw 0; }
.col-pilastri .citazione { padding-right: 100px; text-align: justify; }
.pilastri { list-style: none; padding: 0; }
.pilastri li {
  min-height: 65px; margin: 0 0 15px -10px;
  padding: 16px 55px 0 0;
  background: linear-gradient(125deg, #d8dadd 50%, rgba(0, 0, 0, 0) 88%);
  font-size: 16px; line-height: 16px;
}
/* come i blurb di Divi: sfondo su tutta la riga, contenuto largo al massimo 550 px e centrato */
.pilastri li > span { display: block; position: relative; max-width: 550px; margin: 0 auto; padding-left: 80px; }
.pilastri li > span::before {
  content: ''; position: absolute; left: 32px; top: 1px;
  border-left: 20px solid var(--petrolio);
  border-top: 16px solid transparent; border-bottom: 16px solid transparent;
}
.col-radici { min-height: 567px; padding: calc(7.5vw + 7px) 40px 7px; } /* come la riga interna Divi: alta almeno 567 */
.col-radici .testo-chiaro { margin-top: 1vw; padding-bottom: 17px; }

.storia { width: 95%; margin: 0 auto; padding-top: 130px; }
.storia-schede { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 3%; }
.scheda {
  padding: 8px 10px;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(152, 163, 168, .7);
  color: var(--scuro); font-weight: 300; line-height: 1.4;
}
.scheda > img { width: 100%; margin-bottom: 30px; }
/* imbottiture delle singole schede come nel vecchio (la prima ha anche 10 px di margine, che allunga la riga) */
.scheda:nth-child(1) { padding-bottom: 18px; }
.scheda:nth-child(2) { padding-bottom: 50px; }
.scheda h2, .scheda h3 { color: var(--oro); text-transform: uppercase; }
.scheda h2 { font-size: 23px; }
.scheda h2.h2-24 { font-size: 24px; }
.scheda h3 { font-size: 20px; }
.scheda h3.h3-22 { font-size: 22px; }
.scheda .anno { font-size: 14px; line-height: 19.6px; }
.scheda .anno span { font: 700 18px/19.6px viga, Helvetica, Arial, Lucida, sans-serif; color: var(--oro); }
.scheda p img { display: inline; width: 100%; vertical-align: baseline; }
.scheda p img.centrata { display: block; width: 115px; margin: 0 auto; }

.azienda-sede { padding-top: 130px; }
.col-sede { padding: 44px 50px 86px 0; }
.testo-sede { margin-top: 1vw; }
.testo-sede p { line-height: 1.2; }
.testo-chiaro.testo-sede ul { padding-bottom: 14px; }
.testo-chiaro.testo-sede p:last-child { padding-bottom: 0; }
.testo-chiaro ul, .testo ul, .testo ol { list-style: disc; padding: 0 0 23px 1em; line-height: 26px; }
/* come in Divi: numeri dentro la riga */
.testo ol, .notizia-testo ol { list-style: decimal inside; padding-left: 0; margin: 0; }
/* elenchi dentro elenchi, come in Divi */
.notizia-testo ul ul, .testo ul ul { padding: 2px 0 0 20px; list-style-type: circle; }
.col-foto-sede { padding: 2.284cqw 0; }
.foto-barra-oro { width: 90%; box-shadow: 60px 0 0 -24px var(--oro); }
.col-foto-sede .citazione { padding-right: 100px; text-align: justify; }

/* ---------- applicazioni ---------- */
.app-titolo h2 { color: var(--oro); margin-bottom: calc(2.2cqw - 26px); }
#gomma h2, #rubber h2 { margin-bottom: 4px; } /* il titolo «Gomma» aveva 4 px fissi */ /* 2,75% della riga, meno quanto già dato dagli altri spazi */
.app-titolo h3 { font-size: 30px; color: var(--petrolio); }
.applicazioni { padding: 70px 0 22px; }
.app-titolo:first-child + .app-schede { margin-top: 7px; }
/* divisori: 60 px sopra e sotto, più i 20 px di fine sezione di Divi dove capitavano nel vecchio sito */
.app-divisore:nth-of-type(2) { margin-bottom: 81px; }
.app-divisore:nth-of-type(3), .app-divisore:nth-of-type(4) { margin-top: 80px; margin-bottom: 61px; }
.app-divisore:nth-of-type(5) { margin-top: 80px; margin-bottom: 61px; }
.app-divisore:nth-of-type(n+6) { margin-top: 60px; margin-bottom: 61px; }
.app-schede { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 3%; align-items: start; padding-bottom: 2cqw; }
.app-foto {
  height: 145px; margin-bottom: 6.591%;
  border-radius: 20px;
  background: var(--foto) center / cover no-repeat, linear-gradient(200deg, rgba(101, 129, 135, .65), rgba(101, 129, 135, .65));
  box-shadow: 0 0 15px rgba(152, 163, 168, .7);
}
/* schede «toggle» di Divi: chiuse grigie, aperte bianche col titolo più scuro; si aprono e chiudono in 0,7 s
   (sito.js) e cambiano aspetto solo a fine animazione, come nel vecchio sito */
.app-dettagli { padding: 20px; background: #f4f4f4; border: 1px solid #d9d9d9; overflow-wrap: break-word; } /* come i moduli Divi: le parole troppo lunghe si spezzano */
.app-dettagli.aperta { background: #fff; }
.app-dettagli summary { position: relative; list-style: none; cursor: pointer; padding-right: 50px; }
.app-dettagli summary::-webkit-details-marker { display: none; }
.app-dettagli h5 { margin: 0; font: 700 16px/1 var(--viga); color: #666; text-transform: uppercase; }
.app-dettagli.aperta h5 { color: #333; }
/* icona: il carattere ETmodules a 30 px (cerchio di 28 px), 7 px oltre il bordo destro del titolo, centrata in altezza */
.app-dettagli summary::after {
  content: ''; position: absolute; right: -7px; top: 50%; margin-top: -15px;
  width: 30px; height: 30px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Ccircle cx='15.9' cy='15.75' r='14.05' fill='%23e0b200'/%3E%3Crect x='7.5' y='14.85' width='16.8' height='1.8' fill='white'/%3E%3Crect x='15' y='7.35' width='1.8' height='16.8' fill='white'/%3E%3C/svg%3E") center / 100% no-repeat;
}
.app-dettagli.aperta summary::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Ccircle cx='15.9' cy='15.75' r='14.05' fill='%23e0b200'/%3E%3Crect x='7.5' y='14.85' width='16.8' height='1.8' fill='white'/%3E%3C/svg%3E"); }
.app-testo { padding-top: 20px; font-weight: 300; text-align: justify; }
.app-testo p:last-child { text-align: left; }
.app-testo a { color: var(--petrolio); }
.app-divisore { margin: 60px 0 80px; border: 0; border-top: 1px solid #f18700; height: 23px; }

/* ---------- tecnologie (/en/technologies/, ricostruita il 06/11/2026): come applicazioni, ma titoli H3 da 25 px,
   foto senza velo, righe di schede a -14,4 px dal titolo con 30 px sotto (le prime due: 7 px sopra, niente sotto) ---------- */
.tecnologie { padding: 0 0 calc(12cqw + 1px); } /* la sezione vuota prima del piè di pagina: 4% + (2% + 1 + 2%) + 4% */
.tec-titolo { padding: 130px 0 2cqw; }
.tec-titolo.tec-primo { padding-top: 40px; }
.tec-titolo.tec-gomma { padding-top: 141px; } /* un modulo vuoto con 11 px sotto */
.tec-titolo h3 { font-size: 25px; margin: 0; }
.tec-titolo.tec-su h3 { margin-top: -1cqw; } /* dalla 22ª riga il modulo del titolo ha -1% sopra */
.tecnologie .app-schede { margin-top: -1cqw; padding-bottom: 30px; }
.tecnologie .app-schede.tec-prime { margin-top: 7px; padding-bottom: 0; }
.tecnologie .app-foto { background: var(--foto) center / cover no-repeat; }
.app-dettagli.tec-minuscole h5 { text-transform: none; } /* «transformnone» di Divi: «Ø 70x150 mm» resta com'è scritto */
.app-dettagli.tec-paragrafi-stretti p { padding-bottom: 0; } /* «nopaddingp» di Divi */

/* ---------- customer care ---------- */
.assistenza { padding: 30px 0; }
.col-assistenza { padding: 2.284cqw 20px 2.284cqw 0; }
.assistenza-testo { padding-bottom: 20px; }
.assistenza-testo p:last-child { padding-bottom: 1em; }
/* come il modulo pulsante di Divi: un blocco largo quanto il pulsante */
.apri-contatti { display: block; width: fit-content; cursor: pointer; border: 0; }
/* righe da 14 px con dentro link da 20 px, come nel vecchio sito (la riga si allarga di qualche pixel) */
.recapiti-grandi { margin-top: 30px; font-size: 14px; line-height: 23.8px; }
.recapiti-grandi a { font-size: 20px; }
.recapiti-grandi svg { width: 18px; height: 18px; vertical-align: -3px; }
.recapiti-grandi a:first-child svg { margin-right: 2px; }
.col-servizi { padding: 47px 0 2.328cqw 40px; }
.col-servizi .citazione { margin: 0; }
.servizi-intro { margin-top: 1vw; padding-bottom: 20px; }
.servizi li { padding-bottom: 19px; text-align: left; }
.servizi li:nth-child(2), .servizi li:nth-child(4) { text-align: justify; }

/* ---------- contatti ---------- */
.contatti-sede { padding-bottom: 4cqw; }
.contatti-colonne { display: grid; grid-template-columns: minmax(0, 418fr) minmax(0, 659fr); column-gap: 5.5%; align-items: start; }
.scheda-contatto {
  margin-bottom: 7.491%; padding: 30px;
  border-radius: 20px; box-shadow: 0 0 15px rgba(152, 163, 168, .7);
  color: var(--scuro); font-weight: 600; line-height: 1.4;
}
.scheda-contatto:last-child { margin-bottom: 0; }
.scheda-contatto h3 { font-size: 20px; color: var(--oro); }
.scheda-contatto a { color: var(--scuro); text-decoration: underline; }
.pagina-contatti .banner { padding-bottom: 55px; }
.mappa-google { height: 400px; display: flex; align-items: center; justify-content: center; }
.mappa-google iframe { width: 100%; height: 100%; border: 0; display: block; }
/* come il riquadro del vecchio sito: la mappa si carica solo col consenso ai cookie di marketing (banner o clic qui) */
.mappa-carica {
  width: 300px; padding: 10px; border: 1.6px outset #000; border-radius: 0;
  background: rgba(0, 0, 0, .5); color: #fff; font: 400 14px/23px var(--roboto); cursor: pointer;
}
.contatti-modulo .riga, .contatti-rete .riga { padding: 2cqw 0; }
.contatti-modulo .riga { padding-bottom: calc(2cqw + 10px); }
.contatti-modulo h2, .contatti-rete h2 { margin-bottom: 2.2cqw; }
.contatti-rete { padding-bottom: 4cqw; }
/* come il vecchio: contenitore largo al massimo 1180 px (i pallini sono in % di questo), 7 px sotto la foto */
.rete { position: relative; max-width: 1180px; margin-bottom: 2.2cqw; padding-bottom: 7px; }
.rete img { border-radius: 25px; }
.rete-punto {
  position: absolute; width: 7px; height: 7px; padding: 0; border: 0; cursor: pointer;
  background: url(/immagini/2021/04/pallino-comerio.png) center / contain no-repeat;
  transition: width .15s, height .15s;
}
.rete-punto:hover, .rete-punto:focus-visible { width: 12px; height: 12px; }

/* ---------- modulo di contatto ---------- */
.modulo-contatti { color: var(--testo); }
/* misure del modulo Contact Form 7 del vecchio sito: due colonne di metà larghezza, righe da 47 px */
.modulo-riga { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); height: calc(33.2px + 1vw); }
.modulo-riga > label { margin-top: -18px; }
.modulo-contatti input[type=text], .modulo-contatti input[type=tel], .modulo-contatti input[type=email], .modulo-contatti textarea {
  display: block; width: 100%; height: 32.8px; margin-bottom: 1vw; padding: 2px 2px 10px;
  border: 0; border-bottom: 2px solid rgba(183, 183, 183, .2); border-radius: 0;
  background: transparent; color: #4e4e4e; font: 500 16px/normal var(--roboto);
  outline: none;
}
.modulo-riga input[type=text] { width: calc(100% - 20px); }
.modulo-contatti textarea { height: 100px; padding: 4px 4px 10px; resize: vertical; }
.modulo-contatti ::placeholder { color: #6e6e6e; }
.modulo-contatti input:focus, .modulo-contatti textarea:focus { border-bottom-color: var(--petrolio); }
.modulo-riga label { font-size: 14px; line-height: 23.8px; }
.modulo-contatti select { display: block; width: 100%; height: 26.4px; padding: 2px; border: 1px solid #bbb; border-radius: 0; background: #fff; color: #4e4e4e; font: 16px var(--roboto); }
.modulo-contatti p { padding: 0 0 14px; }
.modulo-contatti p:has(textarea) { padding-bottom: 21.2px; }
.modulo-contatti p:has(.modulo-invia) { height: 32px; padding: 0; }
.modulo-privacy { padding-bottom: 15px !important; font-size: 16px; line-height: 23.8px; letter-spacing: .5px; color: #b7b7b7; }
.modulo-privacy label { margin-left: 16px; }
.modulo-privacy input { margin: 3px 3px 3px 4px; vertical-align: baseline; }
.modulo-privacy a { color: #b7b7b7; text-decoration: underline; }
.modulo-invia {
  display: block; margin-left: auto; width: 20%; height: 40.8px; padding: 10px 0;
  border: 1px solid var(--petrolio); background: rgba(239, 239, 239, .3); color: var(--petrolio);
  font: 500 16px/normal var(--roboto); letter-spacing: 4px; cursor: pointer;
}
.modulo-invia:disabled { opacity: .5; cursor: default; }
.modulo-esito { margin-top: 12px !important; color: var(--petrolio); font-weight: 600; }
.modulo-esito.errore { color: #b3261e; }
.modulo-trappola { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.finestra-contatti {
  width: 80%; max-width: 1140px; max-height: calc(100vh - 40px);
  margin: auto; padding: 50px;
  border: 0; border-radius: 8px; background: #fff;
  box-shadow: 0 0 20px #00141c;
}
.finestra-contatti::backdrop { background: rgba(247, 246, 243, .6); }
.finestra-contatti h2 { font-size: 35px; margin-bottom: 2.75%; }
.finestra-chiudi {
  position: absolute; top: 14px; right: 14px; width: 30px; height: 30px; padding: 0; border: 0; cursor: pointer;
  background: var(--petrolio);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Ccircle cx='15' cy='15' r='13' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M10 10l10 10M20 10L10 20' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- news ed eventi: elenco ---------- */
.pagina-elenco-notizie .banner { margin-top: 3vw; padding-bottom: 55px; }
.pagina-elenco-notizie .banner-riquadro { padding-top: 250px; background-blend-mode: darken; }
.notizia-voce p:not(.notizia-meta) { color: #666; }
.notizie-elenco { padding: calc(4cqw + 2cqw) 0; }
/* nel sito inglese sotto l'elenco c'era una riga vuota in più */
html[lang=en] .notizie-elenco { padding-bottom: calc(10cqw + 1px); } /* scala con la larghezza come nel vecchio */
.notizia-voce { margin-bottom: 60px; }
.notizia-voce h2 { font-size: 27px; }
.notizia-voce h2 a { color: var(--petrolio); }
.notizia-meta { margin-bottom: 6px; padding: 0; color: #666; }
.notizia-meta a { color: #666; }
.notizia-voce p:not(.notizia-meta) { padding-bottom: 0; }
.leggi-tutto { display: block; width: max-content; font-size: 17px; line-height: 23.8px; text-transform: uppercase; text-decoration: underline; }
.paginazione { display: flex; justify-content: space-between; }
.notizie-vuoto { padding: 0 0 60px; }

/* ---------- news ed eventi: articolo ---------- */
.notizia-pagina {
  position: relative;
  display: grid; grid-template-columns: 79.125% 20.875%;
  padding: 100px 0 23px;
}
.notizia-pagina::before { content: ''; position: absolute; top: 0; bottom: 0; right: 20.875%; width: 1px; background: #e2e2e2; }
/* come Divi (#left-area): le parole lunghe si spezzano, così il testo resta accanto alle foto affiancate */
/* come l'articolo di WordPress: 25 px sotto e 27 di margine; le foto affiancate in fondo possono uscire */
.notizia-corpo { padding-right: 6.951%; /* 5,5% del contenitore, come #left-area di Divi */ padding-bottom: 25px; margin-bottom: 27px; min-width: 0; overflow-wrap: break-word; word-wrap: break-word; }
.notizia-pagina.archivio { padding-top: 58px; padding-bottom: 23px; }
.archivio .notizia-corpo { padding-bottom: 0; margin-bottom: 0; }
.archivio .notizia-voce h2 { font-size: 21px; }
.archivio .notizia-meta { color: var(--testo); }
.archivio .notizia-meta a { color: #666; }
.notizia-meta .autore { color: #666; }
.notizia-titolo { font-size: 25px; color: var(--petrolio); text-transform: uppercase; }
.notizia-pagina .notizia-meta { margin-bottom: 6px; padding-bottom: 15px; color: var(--testo); }
.notizia-pagina .notizia-meta a { color: #666; }
.notizia-pagina .notizia-meta .autore { color: #666; }
.notizia-testo { padding-top: 30px; }
.notizia-testo.divi-sezione { padding: 6% 0; } /* sezione Divi dentro l articolo: 4% della sezione + 2% della riga */
.notizia-testo.divi-vuoto { padding-top: 0; }
/* articoli che finiscono con foto affiancate: la pagina finisce 23 px sotto la foto, senza i margini dell'articolo */
.notizia-corpo:has(.fine-flottante) { padding-bottom: 0; margin-bottom: 0; }
.commenti { margin-top: 75px; padding-top: 17px; }
.commenti h3 { color: var(--petrolio); }
.commenti p { padding: 0; }
.commenti .link { color: var(--link); }
.notizia-testo img { margin: 0 0 0; }
/* titoli dentro gli articoli: la scala di Divi (h1 25 px) */
.notizia-testo h1, .notizia-testo h2, .notizia-testo h3, .notizia-testo h4, .notizia-testo h5, .notizia-testo h6 { color: var(--petrolio); text-transform: uppercase; }
.notizia-testo h1 { font-size: 25px; }
.notizia-testo h2 { font-size: 21px; }
.notizia-testo h3 { font-size: 18px; }
.notizia-testo h4 { font-size: 15px; }
.notizia-testo h5 { font-size: 13px; }
.notizia-testo h6 { font-size: 12px; }
.notizia-testo sup { font-size: 14px; line-height: 14px; }
.notizia-testo img { display: inline; }
/* allineamenti di WordPress */
.notizia-testo .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.notizia-testo .alignleft { float: left; margin: 0 14px 7px 0; }
.notizia-testo .alignright { float: right; margin: 0 0 7px 14px; }
/* immagini affiancate: i margini di Divi (solo 15 px di lato) */
.notizia-testo img.alignleft { margin: 0 15px 0 0; }
.notizia-testo img.alignright { margin: 0 0 0 15px; }
/* blocchi immagine di WordPress (Gutenberg) */
.notizia-testo .wp-block-image { margin: 0; }
.notizia-testo .wp-block-image figcaption { margin: 7px 0 14px; }
.notizia-testo .wp-block-image .alignleft { margin: .5em 1em .5em 0; }
.notizia-testo .wp-block-image .alignright { margin: .5em 0 .5em 1em; }
.notizia-testo .wp-block-image img { vertical-align: bottom; }
.notizia-testo figure { margin: 0; }
.notizia-testo figure.alignleft, .notizia-testo figure.alignright { display: table; }
.notizia-testo figcaption { display: table-caption; caption-side: bottom; margin-bottom: 14px; }
.notizia-testo ul, .notizia-testo ol { list-style: disc; padding: 0 0 23px 1em; line-height: 26px; }
.notizia-testo a { color: var(--petrolio); }
.barra-laterale { padding-left: 30px; }
.widget { margin-bottom: 30px; }
.widget h4 { font-size: 15px; color: var(--petrolio); text-transform: uppercase; }
.widget ul { list-style: none; padding: 0; }
.widget li { margin-bottom: 7px; }
.widget li a { color: #666; }
.cerca { display: flex; }
.cerca input {
  flex: 1; min-width: 0; height: 40px; padding: 0 8px;
  border: 1px solid #ddd; border-right: 0; border-radius: 3px 0 0 3px; font: inherit;
}
.cerca button { width: 70px; height: 40px; border: 1px solid #ddd; border-radius: 0 3px 3px 0; background: #ddd; color: #666; cursor: pointer; }

/* ---------- pagine legali ---------- */
.testo-legale .riga { padding: 2cqw 3px; }
.testo h2 { font-size: 21px; color: var(--petrolio); }
.testo h3 { font-size: 18px; color: var(--petrolio); }
.testo a { color: var(--link); }
.testo p:last-child { padding-bottom: 0; }
.testo table { border-collapse: collapse; margin-bottom: 1em; }
.testo td, .testo th { border: 1px solid #ddd; padding: 4px 8px; text-align: left; vertical-align: top; }
.testo details { margin-bottom: 10px; padding: 10px 15px; border: 1px solid #ddd; }
.testo summary { cursor: pointer; font: 700 16px/1.4 var(--viga); color: var(--petrolio); }

/* ---------- documenti di Complianz (privacy e cookie): regole riprese dal vecchio sito ---------- */
.testo-legale.complianz { padding: 4cqw 0; }
.testo-legale.complianz .riga { padding: 2cqw 0; }
#cmplz-document { font-size: 14px; margin-top: 0; max-width: 800px; text-justify: inter-word; }
#cmplz-document a { text-decoration: underline; }
#cmplz-document a[target="_blank"]::after { content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg=="); margin: 0 3px 0 5px; }
#cmplz-document h2, #cmplz-document h3 { font-size: 22px; text-align: left; margin-top: 15px; text-transform: initial; padding-bottom: 10px; margin-bottom: 10px; color: var(--petrolio); }
#cmplz-document h4 { font-size: 18px; text-align: left; margin-top: 15px; margin-bottom: 5px; text-transform: initial; }
#cmplz-document h5 { font-size: 14px; text-align: left; margin-top: 10px; margin-bottom: 5px; text-transform: initial; }
#cmplz-document span h3 { font-size: 14px; border-bottom: 0; }
#cmplz-document p, #cmplz-document li, #cmplz-document td { font-size: 14px; margin-top: 0; }
#cmplz-document ul { list-style: disc; margin-left: 15px; margin-bottom: 15px; padding: 0 0 14px 14px; line-height: 26px; }
#cmplz-document .cmplz-subtitle { font-weight: bold; margin-top: 25px; }
#cmplz-document .cmplz-indent { margin-left: 36px; }
#cmplz-document .cmplz-dropdown { background-color: rgba(239, 239, 239, .25); }
#cmplz-document .cmplz-dropdown p, #cmplz-document .cmplz-dropdown a { font-size: 14px; margin-top: 0; }
#cmplz-document .cmplz-dropdown p, #cmplz-document .cmplz-dropdown h4, #cmplz-document .cmplz-dropdown ul { padding: 0 15px; }
#cmplz-document .cmplz-dropdown summary::marker { content: ""; }
#cmplz-document .cmplz-dropdown summary::-webkit-details-marker { display: none; }
#cmplz-document .cmplz-dropdown summary { display: block; cursor: pointer; background-color: rgba(239, 239, 239, .5); margin: 5px 0; padding: 5px 10px; place-items: center stretch; }
#cmplz-document .cmplz-dropdown summary div { display: grid; grid-template: "heading chevron" / 2fr 25px; gap: 15px; align-items: center; }
#cmplz-document .cmplz-dropdown summary div h3 { grid-area: heading; margin: 0; padding: 0 5px; font-size: 18px; border-bottom: 0; }
#cmplz-document .cmplz-dropdown summary p { text-align: right; padding: 0; margin: 0; font-size: 14px; border-bottom: 0; }
#cmplz-document .cmplz-dropdown summary div::after { grid-area: chevron; cursor: pointer; content: ""; background: url(/immagini/complianz/chevron-down.svg) 0 0 / cover no-repeat; transform: rotate(0deg); transition: .5s; height: 18px; width: 18px; margin: 3px; }
#cmplz-document .cmplz-dropdown[open] { padding-bottom: 1px; }
#cmplz-document .cmplz-dropdown[open] summary div::after { transform: rotate(180deg); }
#cmplz-document .cmplz-dropdown h4 { font-size: 15px; margin: 5px 0; }
#cmplz-document .cmplz-dropdown h5 { margin: 0; }
#cmplz-document .cmplz-dropdown summary div input[data-category="functional"] { visibility: hidden; }
#cmplz-document .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div { grid-template: "heading paragraph label checkbox chevron" / 2fr auto 0 auto 25px; }
#cmplz-document .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div p { grid-area: paragraph; }
#cmplz-document .cmplz-dropdown .cmplz-service-description,
#cmplz-document .cmplz-dropdown .cmplz-sharing-data { display: inline-block; width: calc(50% - 35px); vertical-align: top; padding: 0 15px 15px; }
#cmplz-document .cmplz-dropdown .cookies-per-purpose { display: grid; border: 1px solid #dadada; gap: 1px; background-color: #dadada; margin-bottom: 10px; }
#cmplz-document .cmplz-dropdown .cookies-per-purpose div { background-color: #fff; padding: 15px; }
#cmplz-document .cmplz-hidden, #cmplz-document .screen-reader-text, #cmplz-document .cmplz-label, #cmplz-manage-consent-container-nojavascript { display: none; }
/* «7.1 Manage your consent settings»: le categorie come le mostrava il vecchio sito (qui non salvano niente: il sito non usa cookie) */
#cmplz-manage-consent-container { display: block; }
#cmplz-document .cmplz-categories { display: block; margin-top: 10px; }
#cmplz-document .cmplz-category { background: rgba(239, 239, 239, .25); margin: 0 0 5px; }
#cmplz-document .cmplz-category:last-child { margin-bottom: 0; }
#cmplz-document .cmplz-category.cmplz-preferences { display: none; }
#cmplz-document .cmplz-category summary { display: block; list-style: none; cursor: pointer; }
#cmplz-document .cmplz-category summary::-webkit-details-marker { display: none; }
#cmplz-document .cmplz-category-header { display: grid; grid-template-columns: 1fr auto 25px; column-gap: 10px; align-items: center; padding: 5px 10px; background: rgba(239, 239, 239, .5); }
#cmplz-document .cmplz-always-active { font-size: 12px; line-height: 23.8px; color: green; }
#cmplz-document .cmplz-always-active .cmplz-banner-checkbox { display: none; }
#cmplz-document .cmplz-banner-checkbox { display: flex; align-items: center; }
#cmplz-document .cmplz-banner-checkbox input { margin: 3px 3px 3px 4px; }
#cmplz-document .cmplz-icon { display: flex; align-items: center; width: 25px; height: 25px; }
#cmplz-document .cmplz-icon svg { display: block; height: 18px; fill: currentColor; }
#cmplz-document .cmplz-description { padding: 10px; }
@media only screen and (min-width: 600px) {
  #cmplz-document .cmplz-dropdown.cmplz-dropdown-cookiepolicy .cookies-per-purpose { grid-column: span 2; grid-template: "purpose purpose purpose" "header1 header2 header3"; }
  #cmplz-document .cookies-per-purpose .purpose { grid-area: purpose; }
  #cmplz-document .cookies-per-purpose .name-header { grid-area: header1; background-color: #f7f7f7 !important; }
  #cmplz-document .cookies-per-purpose .retention-header { grid-area: header2; background-color: #f7f7f7 !important; }
  #cmplz-document .cookies-per-purpose .function-header { grid-area: header3; background-color: #f7f7f7 !important; }
}
@media only screen and (max-width: 600px) {
  #cmplz-document .cmplz-dropdown .cmplz-service-description, #cmplz-document .cmplz-dropdown .cmplz-sharing-data { width: 100%; }
  #cmplz-document .cmplz-dropdown.cmplz-dropdown-cookiepolicy .cookies-per-purpose { grid-template-columns: 100px 1fr; }
  #cmplz-document .cookies-per-purpose .purpose { grid-column: span 2; }
}

/* cookie policy inglese: titoli da 30 px, testo senza rientro, tabella dei cookie a quattro colonne */
.pagina-cookie-en .testo-legale .riga { padding-left: 0; padding-right: 0; }
.pagina-cookie-en .testo h2 { font-size: 30px; }
.pagina-cookie-en .testo-legale { padding: 4cqw 0; }
.tabella-cookie { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(26px, auto); padding: 0 1px; overflow-wrap: break-word; } /* colonne uguali, righe che vanno a capo come nella tabella originale */
/* come il vecchio: testo largo la riga meno 2 px a sinistra, e un paragrafo vuoto in fondo (vedi la pagina) */
.pagina-informativa .testo-legale .riga, .pagina-legale:not(.pagina-cookie-en) .testo-legale .riga { padding: 2cqw 0 2cqw 2px; }
.pagina-legale .testo ul { padding-bottom: 14px; }
.complianz-en #cmplz-document ul { padding-bottom: 23px; }
/* nel vecchio sito le due pagine Complianz inglesi non avevano contenitore: il testo partiva dal bordo sinistro */
.complianz-en .testo-legale.complianz, .complianz-en .testo-legale.complianz .riga { width: auto; margin: 0; padding: 0; }
/* elenchi numerati: niente margini del browser */
.testo ol { margin: 0; padding-bottom: 14px; }

/* privacy e cookie inglesi: tre colonne (1/4, 1/4, 1/2) */
.piede-ridotto .piede-colonne { grid-template-columns: 20.875% 20.875% 47.25%; }

/* ---------- piè di pagina ---------- */
.piede { margin-top: 44px; padding: 40px 0 38px; background: var(--grigio-piede); }
.piede-colonne { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 5.5%; align-items: start; }
.piede p { line-height: 1.4; }
.piede-colonne > div:first-child p { line-height: 1.7; }
.piede h3 { color: var(--scuro); }
.apri-segnalazioni {
  padding: 1px 6px; border: 0; background: none; cursor: pointer;
  font: 600 13.3333px/normal var(--roboto); color: var(--petrolio);
}
.apri-segnalazioni img { display: inline; width: 25px; vertical-align: baseline; }
.piede-cert { float: left; }
.piede-legale { margin-top: 4vw; text-align: right; line-height: 1.4; color: var(--petrolio); font-style: italic; }

/* ---------- finestra segnalazioni ---------- */
.segnalazioni {
  width: 80%; max-width: 1140px; max-height: calc(100vh - 100px);
  margin: 70px auto auto; padding: 18px;
  border: 0; background: #e6eaed; color: var(--testo);
  box-shadow: 1px 1px 3px rgba(2, 2, 2, .23);
}
.segnalazioni::backdrop { background: rgba(255, 255, 255, .33); }
.segnalazioni-testo { padding: 2% 2% 1em; }
.segnalazioni-testo ul { padding-left: 1.5em; }
.segnalazioni-conferma { display: block; padding: 0 2%; color: var(--testo); }
.segnalazioni-vai {
  display: inline-block; margin: 1.5rem 2% 1rem; padding: 10px 20px;
  background: #aababe; color: var(--testo); font-weight: 600; text-transform: uppercase;
}
.segnalazioni-vai[hidden] { display: inline-block; visibility: hidden; }
.segnalazioni-chiudi {
  position: absolute; right: 0; bottom: 0;
  padding: 8px 14px; border: 0; background: var(--petrolio); color: #fff;
  font-weight: 700; cursor: pointer;
}

/* ---------- torna su ---------- */
.torna-su {
  position: fixed; right: 0; bottom: 125px; z-index: 50;
  display: flex; padding: 5px; border-radius: 5px 0 0 5px;
  background: rgba(0, 0, 0, .4); color: #fff;
  opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;
}
.torna-su svg { width: 30px; height: 30px; }
.torna-su.visibile { opacity: 1; visibility: visible; }

/* ---------- tablet e telefono (come Divi: sotto i 981 px) ---------- */
@media (max-width: 980px) {
  :root { --altezza-testata: 0px; }
  /* testata Divi da telefono: barra in alto e fascia di 80 px larghe l'80%, niente testata fissa */
  .testata { position: relative; padding: 0; box-shadow: none; }
  main { padding-top: 0; margin-top: -1px; }
  .barra-info { position: static; padding: 10.5px 0 0; }
  .barra-info-dentro { width: 80%; margin: 0 auto; }
  .barra-menu { width: 80%; height: 80px; margin: 0 auto; padding: 0; }
  .logo img { max-height: 54%; max-width: 50%; }
  .menu { float: none; position: static; margin: 0; padding: 0; line-height: 23px; }
  .apri-menu {
    display: block; position: absolute; right: 0; top: 24px;
    width: 32px; height: 56px; padding: 0 0 24px; border: 0; background: none; cursor: pointer;
  }
  .apri-menu span {
    display: block; width: 32px; height: 32px; background: #f18700;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M4 7.5h24v3H4zM4 14.5h24v3H4zM4 21.5h24v3H4z'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  .menu > ul {
    display: none; float: none; position: absolute; left: 0; top: 80px; z-index: 9999;
    width: 100%; padding: 5%;
    background: #fff; border-top: 3px solid #f18700; box-shadow: 0 2px 5px rgba(0, 0, 0, .1);
  }
  .menu.aperto > ul { display: block; }
  .menu > ul > li { display: block; padding: 0; }
  .menu a, .menu > ul > li > a, .sotto-menu a {
    width: auto; padding: 10px 5%;
    border-bottom: 1px solid rgba(0, 0, 0, .03);
    font-size: 14px; font-weight: 600; line-height: 23px; letter-spacing: normal;
    color: rgba(51, 65, 65, .6);
  }
  .menu .attivo > a { color: rgba(51, 65, 65, .6); }
  .menu .con-sotto > a { font-weight: 700; padding-right: 5%; }
  .menu .con-sotto > a::after { right: 10px; top: 13px; transition: transform .2s; }
  .menu .con-sotto.visibile > a::after { transform: rotate(180deg); }
  .sotto-menu, .menu li > .sotto-menu { position: static; display: none; width: auto; padding: 0 0 0 10px; opacity: 1; visibility: visible; background: none; border: 0; box-shadow: none; }
  .con-sotto.visibile > .sotto-menu { display: block; }
  .sotto-menu li { padding: 0; }

  .due-colonne { grid-template-columns: minmax(0, 1fr); }
  /* home: regole Divi della pagina per tablet (colonne impilate, niente imbottiture delle colonne) */
  .home-fornitore .col-immagine { padding: 0; }
  .home-limitless .col-elenco { padding: 0 20px 0 0; }
  .home-limitless .intro { width: auto; }
  .home-limitless { margin-top: 0; } /* nel vecchio i −6vw da tablet non spostano il contenuto */
  .home-limitless .elenco-quadri li:last-child { margin-bottom: -4vw; }
  .home-limitless .col-galleria { padding-top: 0; }
  .home-limitless .citazione-larga { padding-right: 0; }
  .home-limitless .galleria-blocco { padding: 0 0 45px; }
  .home-limitless .galleria { width: 100%; margin: 3vw 0; }
  .home-limitless .galleria-blocco .pulsante { margin-top: 3vw; }
  .home-missione .col-foto { padding: 54px 0 0; margin-top: -8vw; }
  .home-missione .col-foto .citazione { margin: 4vw 0; }
  /* piè di pagina: due colonne (47,25% + 5,5%), 30 px fra le righe, testo legale a sinistra */
  .piede-colonne { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 5.5%; row-gap: 30px; }
  .piede-colonne > div:empty { display: none; }
  .piede-legale { margin-top: -1.5vw; text-align: left; }

  .banner-riquadro, .pagina-elenco-notizie .banner-riquadro { padding: 170px 40px 30px; box-shadow: -85px 0 0 -35px #c1cbd1; }
  .banner h1 { margin-bottom: 30px; }
  .briciole { margin-top: -4vw; }
  /* azienda: regole Divi della pagina per tablet */
  .azienda-pilastri { margin-top: 40px; }
  .col-pilastri { padding: 0; }
  .col-pilastri .citazione { margin: 3vw 0; }
  .col-radici { padding: 30px 40px; }
  .storia { padding: 40px 50px 0; }
  .storia-schede { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 5.5%; row-gap: 30px; }
  .azienda-sede { padding-top: 30px; }
  .col-sede { padding: 44px 0 86px; }
  .col-foto-sede { padding: 0; }
  .foto-barra-oro { box-shadow: 75px 0 0 -24px var(--oro); }
  .col-foto-sede .citazione { margin: 3vw 0 0; padding-right: 0; }
  /* applicazioni: schede due per riga (47,25% + 5,5%), 30 px fra le righe e sotto la foto, divisori senza i 60 px */
  .app-schede { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 5.5%; row-gap: 30px; padding-bottom: 30px; }
  .app-foto { margin-bottom: 30px; }
  .app-titolo h2 { margin-bottom: 4px; }
  .app-titolo[style*="2cqw"] { padding-top: 30px !important; }
  #plastica, #plastics { padding-top: 0 !important; }
  .app-divisore { margin: 0 0 20px; }
  .app-divisore:nth-of-type(2) { margin-bottom: 21px; }
  .app-divisore:nth-of-type(3), .app-divisore:nth-of-type(4), .app-divisore:nth-of-type(5) { margin-top: 20px; margin-bottom: 1px; }
  .app-divisore:nth-of-type(n+6) { margin-top: 0; margin-bottom: 1px; }
  .app-divisore:nth-of-type(7) { margin-top: 30px; } /* dopo «Cord metallico» il vecchio lascia 30 px in più */
  /* tecnologie da tablet: titoli 50 sopra e 30 sotto, sezione vuota finale di 161 */
  .tec-titolo, .tec-titolo.tec-primo { padding: 50px 0 30px; }
  .tec-titolo.tec-gomma { padding-top: 61px; }
  .tecnologie { padding-bottom: 161px; }
  .tecnologie .app-schede.tec-scarsa { padding-bottom: 60px; }
  .tecnologie .app-schede.tec-prime.tec-scarsa { padding-bottom: 30px; }
  .col-assistenza { padding: 0 20px 0 0; }
  .col-servizi { padding: 47px 0 30px; }
  .contatti-colonne { grid-template-columns: minmax(0, 1fr); row-gap: 30px; }
  /* righe Divi a 30 px sopra e sotto, sezioni a 50 px, moduli a 30 px l'uno dall'altro */
  .contatti-sede, .contatti-rete { padding-bottom: 50px; }
  .scheda-contatto { margin-bottom: 30px; }
  .contatti-modulo .riga, .contatti-rete .riga, .contatti-modulo .riga:not(#x) { padding: 30px 0; }
  .contatti-modulo h2, .contatti-rete h2, .rete { margin-bottom: 30px; }
  .testo-legale .riga, .pagina-informativa .testo-legale .riga, .pagina-legale:not(.pagina-cookie-en) .testo-legale .riga { padding-top: 30px; padding-bottom: 30px; }
  .pagina-cookie-en .testo-legale { padding: 50px 0; }
  .piede-ridotto .piede-colonne { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .testo-legale.complianz { padding: 50px 0; }
  .testo-legale.complianz .riga { padding: 30px 0; }
  /* notizie (tema Divi): colonna e barra laterale a tutta larghezza, una sotto l'altra, senza linea */
  /* a blocchi e non a griglia: come nel vecchio, una foto affiancata in fondo all'articolo «esce» e la barra laterale le scorre accanto */
  .notizia-pagina, .notizia-pagina.archivio { display: block; padding-bottom: 0; }
  .notizia-testo.divi-sezione { padding: 80px 0; } /* 50 della sezione + 30 della riga */
  .notizia-pagina::before { display: none; }
  .notizia-corpo { padding-right: 0; }
  .barra-laterale { padding: 0 0 28px; }
  .notizia-voce { margin-bottom: 42px; }
  .notizie-elenco { padding: 80px 0; } /* 50 della sezione + 30 della riga */
  html[lang=en] .notizie-elenco { padding-bottom: 140px; }
}

@media (max-width: 767px) {
  /* applicazioni da telefono */
  .applicazioni { padding-top: 40px; }
  /* customer care da telefono */
  .col-servizi { padding-top: 20px; }
  .assistenza .apri-contatti { margin-top: -3vw; }
  /* home da telefono */
  .home-fornitore .riquadro, .home-missione .riquadro { padding: 30px 20px; }
  .home-limitless { margin-top: 0; }
  .home-limitless h2 { margin-top: 130px; }
  .home-limitless .elenco-quadri li:nth-child(n+2) { margin-top: 2vw; }
  .home-limitless .elenco-quadri li:nth-child(5), .home-limitless .elenco-quadri li:nth-child(6), .home-limitless .elenco-quadri li:nth-child(7) { margin-top: 5vw; }
  .home-limitless .elenco-quadri li:last-child { margin-bottom: -5vw; }
  .home-limitless .citazione-larga { margin: 0 0 5vw; }
  .home-limitless .galleria-blocco .citazione { margin: 5vw 0; }
  .home-missione { margin-top: 0; }
  .home-missione .col-foto { padding-top: 0; margin-top: -20px; }
  .home-missione .col-foto .citazione { margin: 5vw 0; padding-right: 0; }
  .pagina-home h2 { font-size: 22px; }
  .banner-riquadro, .pagina-elenco-notizie .banner-riquadro { padding: 150px 30px 30px; box-shadow: -120px 0 0 -65px #c1cbd1; }
  .banner h1 { font-size: 30px; }
  .banner.titolo-40 h1 { font-size: 40px; }
  .briciole { margin-top: -5vw; }
  /* azienda da telefono */
  .azienda-pilastri { margin-top: 30px; padding-top: 30px; }
  .col-pilastri .citazione { margin: 0 0 4vw; }
  .storia { padding: 30px 40px 0; }
  /* come nel vecchio: la scheda sale di 5vw e la colonna, alta quanto il contenuto meno 5vw, ne taglia il fondo */
  .scheda:nth-child(2), .scheda:nth-child(3) { position: relative; top: -5vw; padding-bottom: calc(50px - 5vw); }
  .scheda:nth-child(4) { padding-bottom: 10px; }
  .col-foto-sede .citazione { margin-top: 4vw; }
  .finestra-contatti { width: 94%; padding: 50px 20px 30px; }
  .segnalazioni { width: 94%; }
  .citazione-larga, .col-pilastri .citazione, .col-foto-sede .citazione { padding-right: 0; }
  .pilastri li { padding-bottom: 20px; min-height: 85px; } /* 65 + 20: nel vecchio l altezza minima non comprende l imbottitura */
  /* titoli da telefono: ogni pagina del vecchio aveva le sue dimensioni */
  .col-radici h2, .azienda-sede h2 { font-size: 22px; }
  #plastica h2, #plastics h2, .col-assistenza h2 { font-size: 25px; }
  .app-titolo h3 { font-size: 22px; }
  .app-titolo h3.h3-25 { font-size: 25px; }
  .app-titolo h3.h3-30 { font-size: 30px; }
  .tecnologie { padding-top: 0; }
  .tec-titolo, .tec-titolo.tec-primo { padding-top: 40px; }
  .tec-titolo.tec-primo { padding-bottom: 50px; } /* + i 20 px in fondo alla prima sezione Divi */
  .tecnologie .app-schede.tec-incompleta { padding-bottom: 60px; }
  .tecnologie .app-schede.tec-prime.tec-incompleta { padding-bottom: 30px; }
  .tec-titolo.tec-su { padding-top: 20px; }
  .tec-titolo.tec-gomma { padding-top: 31px; }
  .pagina-archivio .notizia-voce h2 { font-size: 18px; }
}

@media (max-width: 479px) {
  .pagina-archivio .notizia-voce h2 { font-size: 16px; }
  .notizia-voce h2 { padding-bottom: 0; }
  .notizia-pagina .notizia-meta, .archivio .notizia-meta { color: #666; } /* Divi: .et_pb_post .post-meta sotto i 480 px */
  .piede-colonne, .piede-ridotto .piede-colonne { grid-template-columns: minmax(0, 1fr); }
  /* sotto i 480 px Divi mette ogni colonna a tutta larghezza */
  .storia-schede, .app-schede { grid-template-columns: minmax(0, 1fr); }
  .home-limitless .citazione-larga { padding-right: 0; }
}

/* ---- banner dei cookie: CSS di Complianz del vecchio sito (banner-1-optin.css), stessi valori */
.cmplz-cookiebanner, #cmplz-manage-consent {
  --cmplz_banner_width: 526px; --cmplz_text_color: #222; --cmplz_hyperlink_color: #1E73BE;
  --cmplz_button_accept: #1E73BE; --cmplz_button_other_bg: #f9f9f9; --cmplz_button_other_border: #f2f2f2;
}
.cmplz-cookiebanner {
  box-sizing: border-box; position: fixed; right: 10px; bottom: 10px; z-index: 99999; max-height: calc(100vh - 20px);
  display: grid; grid-template-rows: minmax(0, 1fr); grid-gap: 10px; padding: 15px 20px;
  background: #fff; border-radius: 12px; font: 500 14px/23.8px var(--roboto);   /* ereditato dal corpo di Divi */
  box-shadow: rgba(0, 0, 0, .19) 0 10px 20px, rgba(0, 0, 0, .23) 0 6px 6px;
}
.cmplz-cookiebanner:hover { transition-duration: 1s; box-shadow: rgba(0, 0, 0, .3) 0 19px 38px, rgba(0, 0, 0, .22) 0 15px 12px; }
.cmplz-cookiebanner[hidden] { display: none; }
.cmplz-cookiebanner *, .cmplz-cookiebanner *::before, .cmplz-cookiebanner *::after { box-sizing: border-box; }
.cmplz-cookiebanner .cmplz-header { display: grid; grid-template-columns: 100px 1fr 100px; align-items: center; grid-column: span 3; }
.cmplz-cookiebanner .cmplz-title { justify-self: center; grid-column-start: 2; font-size: 15px; font-weight: 500; color: var(--cmplz_text_color); }
.cmplz-cookiebanner .cmplz-close { justify-self: end; grid-column-start: 3; width: 20px; height: 20px; line-height: 20px; font-size: 20px; cursor: pointer; color: var(--cmplz_text_color); }
.cmplz-cookiebanner .cmplz-close svg { width: 20px; height: 20px; display: block; }
.cmplz-cookiebanner .cmplz-divider { margin: 0 -20px; grid-column: span 3; }
.cmplz-cookiebanner .cmplz-body { width: 100%; grid-column: span 3; overflow: hidden auto; max-height: 55vh; }
.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar { width: 5px; background: transparent; }
.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar-thumb { background: var(--cmplz_button_accept); border-radius: 10px; }
.cmplz-cookiebanner .cmplz-message { overflow-wrap: break-word; font-size: 12px; line-height: 18px; color: var(--cmplz_text_color); margin-bottom: 5px; }
.cmplz-cookiebanner .cmplz-categories { display: none; }
.cmplz-cookiebanner .cmplz-categories.cmplz-fade-in { display: block; animation: cmplz-dissolvenza 1s; }
@keyframes cmplz-dissolvenza { from { opacity: 0; } to { opacity: 1; } }
.cmplz-cookiebanner .cmplz-category { background: rgba(239, 239, 239, .5); }
.cmplz-cookiebanner .cmplz-category:not(:last-child) { margin-bottom: 10px; }
.cmplz-cookiebanner .cmplz-category summary { display: block; cursor: pointer; }
.cmplz-cookiebanner .cmplz-category summary::marker, .cmplz-cookiebanner .cmplz-category summary::-webkit-details-marker { display: none; content: ''; }
.cmplz-cookiebanner .cmplz-category-header { display: grid; grid-template-columns: 1fr auto 15px; align-items: center; grid-gap: 10px; padding: 10px; }
.cmplz-cookiebanner .cmplz-category-title { justify-self: start; font-size: 14px; font-weight: 500; color: var(--cmplz_text_color); }
.cmplz-cookiebanner .cmplz-always-active { font-size: 12px; font-weight: 500; color: green; }
.cmplz-cookiebanner .cmplz-icon { grid-column-start: 3; height: 18px; width: 18px; transition: transform .5s ease; }
.cmplz-cookiebanner .cmplz-icon svg { display: block; }
.cmplz-cookiebanner .cmplz-category[open] .cmplz-icon { transform: rotate(180deg); }
.cmplz-cookiebanner .cmplz-description { font-size: 12px; line-height: 18px; color: var(--cmplz_text_color); padding: 10px; }
/* interruttori: arancione = spento, blu = acceso */
.cmplz-cookiebanner .cmplz-banner-checkbox { position: relative; display: flex; align-items: center; }
.cmplz-cookiebanner .cmplz-consent-checkbox { position: absolute; z-index: 1; top: 0; left: 0; width: 40px; height: 20px; margin: -10px 0 0; opacity: 0; cursor: pointer; }
.cmplz-cookiebanner .cmplz-label { position: relative; padding-left: 30px; margin: 0; }
.cmplz-cookiebanner .cmplz-label .screen-reader-text { display: none; }
.cmplz-cookiebanner .cmplz-label::before, .cmplz-cookiebanner .cmplz-label::after { content: ''; display: block; position: absolute; border-radius: 10px; transition: background-color .3s, left .3s; }
.cmplz-cookiebanner .cmplz-label::before { left: 0; top: -7px; width: 28px; height: 15px; background: #F56E28; }
.cmplz-cookiebanner .cmplz-label::after { left: 4px; top: -5px; width: 11px; height: 11px; background: #fff; }
.cmplz-cookiebanner .cmplz-consent-checkbox:checked + .cmplz-label::before { background: #1e73be; }
.cmplz-cookiebanner .cmplz-consent-checkbox:checked + .cmplz-label::after { left: 14px; }
.cmplz-cookiebanner .cmplz-consent-checkbox:focus-visible + .cmplz-label::before { box-shadow: 0 0 0 2px #245fcc; }
.cmplz-cookiebanner .cmplz-buttons { display: flex; gap: 10px; grid-column: span 3; }
.cmplz-cookiebanner .cmplz-btn {
  height: 45px; width: 100%; padding: 10px; margin: 0; white-space: nowrap; border-radius: 6px; cursor: pointer;
  font: 500 15px/20px var(--roboto); text-align: center; text-decoration: none;
  background: var(--cmplz_button_other_bg); border: 1px solid var(--cmplz_button_other_border); color: #333;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: var(--cmplz_button_accept); border-color: var(--cmplz_button_accept); color: #fff; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny { color: #222; }
.cmplz-cookiebanner .cmplz-save-preferences { display: none; }
.cmplz-cookiebanner.cmplz-categories-visible .cmplz-save-preferences { display: block; }
.cmplz-cookiebanner.cmplz-categories-visible .cmplz-view-preferences { display: none; }
.cmplz-cookiebanner .cmplz-links { display: flex; gap: 10px; justify-content: center; grid-column: span 3; }
.cmplz-cookiebanner .cmplz-link { color: var(--cmplz_hyperlink_color); font-size: 12px; text-decoration: underline; }
@media (min-width: 350px) { .cmplz-cookiebanner .cmplz-body { min-width: 300px; } }
@media (min-width: 768px) {
  .cmplz-cookiebanner { min-width: var(--cmplz_banner_width); max-width: 100%; }
  .cmplz-cookiebanner .cmplz-message, .cmplz-cookiebanner .cmplz-categories.cmplz-fade-in { width: calc(var(--cmplz_banner_width) - 42px); }
}
@media (max-width: 768px) {
  .cmplz-cookiebanner { right: auto; left: auto; bottom: 0; width: 100%; }
  .cmplz-cookiebanner .cmplz-buttons { flex-direction: column; }
}
@media (max-width: 425px) {
  .cmplz-cookiebanner .cmplz-header .cmplz-title { display: none; }
  .cmplz-cookiebanner .cmplz-category-header { grid-template-columns: 1fr !important; }
  .cmplz-cookiebanner .cmplz-message { margin-right: 5px; }
}
/* linguetta «Gestisci consenso» in basso a destra dopo la scelta: sale al passaggio del mouse */
#cmplz-manage-consent .cmplz-manage-consent {
  position: fixed; right: 40px; bottom: -35px; z-index: 9998; min-width: 100px; height: 50px; padding: 15px; margin: 0;
  background: #fff; color: var(--cmplz_text_color); border: 0; border-radius: 12px 12px 0 0; cursor: pointer;
  font: 400 13.3333px/normal var(--roboto); box-shadow: rgba(0, 0, 0, .19) 0 10px 20px, rgba(0, 0, 0, .23) 0 6px 6px;
  animation: cmplz-giu .5s forwards;
}
#cmplz-manage-consent .cmplz-manage-consent:hover { animation: cmplz-su .5s forwards; }
#cmplz-manage-consent .cmplz-manage-consent[hidden] { display: none; }
@keyframes cmplz-su { to { bottom: 0; } }
@keyframes cmplz-giu { to { bottom: -35px; } }
@media (max-width: 768px) { #cmplz-manage-consent .cmplz-manage-consent { display: none; } }
