/* Integrazioni al CSS originale del template (template.min.css + custom.min.css):
   solo ciò che prima facevano moduli o plugin di Joomla. */

/* selettore lingua (prima mod_falang) */
.mod-languages .lang-inline { list-style:none; margin:8px 0 0; padding:0; display:inline-flex; gap:8px; font-size:12px; }
.mod-languages .lang-inline a { color:#bbb; text-decoration:none; }
.mod-languages .lang-active a { color:#3ea535; font-weight:700; }

/* pagina di servizio /it/controllo/ */
table.check { border-collapse:collapse; width:100%; font-size:13px; }
table.check th, table.check td { border-bottom:1px solid #ddd; padding:6px 8px; text-align:left; }
td.ok { color:green; } td.no { color:#c00; font-weight:600; }

/* Home: le due immagini grandi affiancate (prima template "splitpage") */
.home-split { display:flex; flex-wrap:wrap; }
.home-split-item { position:relative; flex:1 1 50%; min-height:75vh; display:flex; align-items:center; justify-content:center;
  background-size:cover; background-position:center; text-decoration:none; }
.home-split-item + .home-split-item { border-left:3px solid #fff; }
.home-split-item::before { content:""; position:absolute; inset:0; background:rgba(0,0,0,.45); transition:background .5s; }
.home-split-item:hover::before { background:rgba(0,0,0,0); }
.home-split-item span { position:relative; color:#fff; font-weight:700; font-size:3.2em; line-height:1.15; text-align:center;
  text-transform:uppercase; text-shadow:2px 2px #333; padding:0 20px; transition:color .5s; }
.home-split-item:hover span, .home-split-item:focus span { color:#49a828; text-decoration:none; }
@media (max-width:991px) {
  .home-split-item { flex-basis:100%; min-height:45vh; }
  .home-split-item + .home-split-item { border-left:0; border-top:3px solid #fff; }
  .home-split-item span { font-size:2em; }
}

/* Footer: loghi */
.loghi-footer img { max-width:100%; height:auto; margin-top:20px; }
.loghi-footer .col-md-3:first-child img { margin-top:0; }

/* Elenco semplice di pagine (sezioni senza testo proprio) */
.elenco-pagine { margin:20px 0 40px; }

/* ------------------------------------------------------------------ */
/* News: griglia con miniature (elenchi news, tag, articoli tecnici, home) */
.news-elenco-titolo { color:#3ea535; text-transform:uppercase; margin:10px 0 25px; }
.news-griglia { display:grid; grid-template-columns:repeat(3, 1fr); gap:30px; margin-bottom:30px; }
.news-griglia-4 { grid-template-columns:repeat(4, 1fr); gap:20px; }
@media (max-width:991px) { .news-griglia, .news-griglia-4 { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:600px) { .news-griglia, .news-griglia-4 { grid-template-columns:1fr; } }
.news-scheda { background:#fff; border:1px solid #e5e5e5; display:flex; flex-direction:column; transition:box-shadow .2s; }
.news-scheda:hover { box-shadow:0 4px 14px rgba(0,0,0,.12); }
.news-scheda-img { display:block; aspect-ratio:3/2; overflow:hidden; background:#f2f2f2; }
.news-scheda-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.news-scheda:hover .news-scheda-img img { transform:scale(1.04); }
.news-scheda-img.senza-immagine img { object-fit:contain; padding:20% 15%; }
.news-scheda-testo { padding:14px 16px 16px; display:flex; flex-direction:column; flex:1; }
.news-scheda-testo h2 { font-size:17px; line-height:1.3; margin:4px 0 8px; text-transform:none; }
.news-scheda-testo h2 a { color:#222; text-decoration:none; }
.news-scheda-testo h2 a:hover { color:#3ea535; }
.news-scheda-testo p { font-size:13px; color:#555; margin:0 0 10px; }
.news-data { font-size:12px; color:#3ea535; text-transform:uppercase; letter-spacing:.03em; margin:0; }
.news-leggi { margin-top:auto; font-size:12px; text-transform:uppercase; color:#3ea535; }
.news-paginazione { display:flex; justify-content:space-between; align-items:center; margin:10px 0 40px; }

/* "In evidenza" in home */
.in-evidenza { background:#eee; padding:30px 0 40px; }
.in-evidenza > .container > h2 { color:#3ea535; text-transform:uppercase; margin:0 0 20px; }

/* Singola news */
.news-pagina { max-width:820px; margin:10px auto 40px; }
.news-titolo { margin:6px 0 20px; }
.news-immagine { width:100%; height:auto; margin-bottom:20px; }
.news-testo img { max-width:100%; height:auto; }
.news-indietro { margin-top:30px; }

/* Righe "row-fluid" (Bootstrap 2, usate nei contenuti ex Joomla):
   ogni riga chiude le sue colonne, come faceva il CSS di Joomla */
.row-fluid::before,
.row-fluid::after { content: " "; display: table; }
.row-fluid::after { clear: both; }

.current a{
  text-decoration: none;
  border-bottom: 3px solid #49a828;
  color: #49a828;
  padding-bottom: 3px;
}

/* Video YouTube incorporati: larghi quanto la colonna, proporzione 16:9 */
.video-container iframe,
iframe[src*="youtube"] {
  display: block;
  width: 100%;
  max-width: 960px;
  height: auto;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
}
/* Modulo contatti */
.form-contatti { max-width:640px; margin:10px auto 50px; }
.form-contatti h2 { color:#3ea535; text-align:center; text-transform:uppercase; margin-bottom:20px; }
.form-campo { margin-bottom:16px; }
.form-campo label { display:block; font-weight:400; margin-bottom:5px; }
.form-campo input[type=text], .form-campo input[type=email], .form-campo textarea {
  width:100%; padding:9px 11px; border:1px solid #ccc; border-radius:3px; font:inherit; }
.form-campo input:focus, .form-campo textarea:focus { outline:none; border-color:#3ea535; box-shadow:0 0 0 2px rgba(62,165,53,.2); }
.form-privacy label { font-weight:300; }
.form-privacy input { margin-right:6px; }
.form-contatti .btn { background:#3ea535; color:#fff; border:0; padding:10px 24px; }
.form-contatti .btn:hover { background:#348c2c; }
.form-nota { font-size:12px; color:#777; margin-top:10px; }
.form-trappola { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-esito { padding:12px 15px; margin-bottom:20px; border-radius:3px; }
.form-esito-errore { background:#fbebeb; color:#a12020; border:1px solid #f0c4c4; }

/* Pagina Contatti su due colonne: indirizzo a sinistra, modulo a destra */
.pagina-contatti { margin-top:20px; margin-bottom:40px; }
.contatti-indirizzo .row-fluid,
.contatti-indirizzo [class*="col-"] { width:auto; float:none; padding:0; margin:0; }
.contatti-indirizzo, .contatti-indirizzo .center, .contatti-indirizzo h2 { text-align:left; }
.contatti-indirizzo h2, .pagina-contatti .form-contatti h2 { margin-top:0; }
.contatti-indirizzo p { margin-bottom:14px; }
.pagina-contatti .form-contatti { max-width:none; margin:0 0 20px; }
.pagina-contatti .form-contatti h2 { text-align:left; }
@media (min-width:992px) {
  .contatti-indirizzo { border-right:1px solid #e5e5e5; padding-right:30px; }
  .pagina-contatti .col-md-8 { padding-left:40px; }
}
@media (max-width:991px) {
  .contatti-indirizzo { border-bottom:1px solid #e5e5e5; padding-bottom:20px; margin-bottom:30px; }
}

/* Pagina Contatti su due colonne: indirizzo a sinistra, modulo a destra */
.pagina-contatti { margin-top:20px; margin-bottom:40px; }
.contatti-indirizzo .row-fluid,
.contatti-indirizzo [class*="col-"] { width:auto; float:none; padding:0; margin:0; }
.contatti-indirizzo, .contatti-indirizzo .center, .contatti-indirizzo h2 { text-align:left; }
.contatti-indirizzo h2, .pagina-contatti .form-contatti h2 { margin-top:0; }
.contatti-indirizzo p { margin-bottom:14px; }
.pagina-contatti .form-contatti { max-width:none; margin:0 0 20px; }
.pagina-contatti .form-contatti h2 { text-align:left; }
@media (min-width:992px) {
  .contatti-indirizzo { border-right:1px solid #e5e5e5; padding-right:30px; }
  .pagina-contatti .col-md-8 { padding-left:40px; }
}
@media (max-width:991px) {
  .contatti-indirizzo { border-bottom:1px solid #e5e5e5; padding-bottom:20px; margin-bottom:30px; }
}

/* Pagina smaltimento imballi (/u/packaging/) */
.pagina-imballi { margin:10px auto 50px; }
.imballi-lingua { text-align:right; margin:0 0 10px; }
.imballi-intro { max-width:760px; margin:10px auto 25px; }
.imballi-scelta { margin-bottom:30px; }
.imballi-scelta label { display:block; color:#49a828; font-size:1.3em; font-weight:700; margin-bottom:10px; }
.imballi-scelta select { min-width:320px; max-width:100%; padding:8px 10px; font:inherit; border:1px solid #ccc; border-radius:3px; }
.imballi-gamma-titolo { color:#49a828; text-transform:uppercase; border-bottom:2px solid #49a828; padding-bottom:6px; margin-top:30px; }
.imballi-prodotto { text-transform:uppercase; margin:30px 0 10px; }
.imballi-tabella th { color:#49a828; font-weight:700; font-size:.9em; text-transform:uppercase; vertical-align:bottom !important; }
.imballi-codifica { white-space:nowrap; font-weight:600; }

/* ---------- Selettore attraversamenti (FIRESELECTOR) ---------- */
.selettore-filtri { display:flex; flex-wrap:wrap; gap:15px 20px; align-items:flex-end; margin:25px 0 10px; padding:15px; background:#f5f5f5; }
.selettore-filtro { display:flex; flex-direction:column; min-width:200px; }
.selettore-filtro label { font-weight:bold; margin-bottom:4px; }
.selettore-filtro select { height:34px; max-width:100%; }
.selettore-conteggio { color:#777; margin:5px 0 10px; }
.selettore-vuoto { padding:15px; margin-bottom:15px; background:#fcf8e3; border:1px solid #faebcc; }
.selettore-tabella { font-size:13px; }
.selettore-tabella th { white-space:nowrap; }
.selettore-tabella td { vertical-align:middle !important; }
.selettore-tabella tr[hidden] { display:none; }
.selettore-img { width:160px; }
.selettore-img img { max-width:150px; height:auto; }
.selettore-tabella .maiuscolo { text-transform:uppercase; }
.selettore-codice, .selettore-ei { white-space:nowrap; }
.selettore-cert a .glyphicon { margin-right:3px; }
.selettore-richiedi { display:inline-block; margin-top:4px; white-space:nowrap; }
.selettore-tabella .center { text-align:center; }
.selettore-tabella .center .icona { font-size:20px; }
.selettore-tabella .icona { vertical-align:-2px; }
@media (max-width:767px) { .selettore-filtro { min-width:100%; } .selettore-img { width:90px; } .selettore-img img { max-width:80px; } }
