@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&display=swap');

:root {
  --iveco-blue: #1554ff;
  --monetti-blue: #1554ff;
  --black: #000;
  --white: #fff;
  --light: #f4f6fa;
  --muted: #68707d;
  --border: #e5e8ee;
}

html { scroll-behavior: smooth; }
body {
  font-family: "Roboto", Arial, sans-serif;
  color: #16181c;
  background: #fff;
  line-height: 1.65;
}
h1,h2,h3,h4,h5,h6 {
  font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
  font-weight: 400;
  line-height: 1.08;
}
h1 { font-size: clamp(3.35rem, 8vw, 7rem); }
h2 { font-size: clamp(2.6rem, 6vw, 5.625rem); }
h3 { font-size: clamp(2rem, 4vw, 4rem); }
h4 { font-size: clamp(1.6rem, 3vw, 3rem); }
a { color: var(--iveco-blue); text-decoration: none; }
a:hover { color: #003bd6; }

.luminosa {
  filter: brightness(180%);
}

.my-link-img img {
  filter: brightness(0) invert(1) sepia(0%) saturate(0%) hue-rotate(0deg); /* bianco */
  transition: filter 0.3s ease;
}

/* Cambia il colore convertendo l'immagine in pixel colorati tramite filtri */
.my-link-img:hover img {
  /* Esempio per trasformare un'icona nera in blu/azzurro */
  /*filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(186deg) brightness(101%) contrast(101%); */
  /* blu iveco */
  filter: brightness(0) saturate(100%) invert(22%) sepia(99%) saturate(4321%) hue-rotate(228deg) brightness(107%) contrast(108%);
}

.my-link-img-head img {
  filter: brightness(0) invert(1) sepia(0%) saturate(0%) hue-rotate(0deg); /* bianco */
  transition: filter 0.3s ease;
}

/* Cambia il colore convertendo l'immagine in pixel colorati tramite filtri */
.my-link-img-head:hover img {
  /* Esempio per trasformare un'icona nera in blu/azzurro */
  /*filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(186deg) brightness(101%) contrast(101%); */
  /* blu link barra in alto */
  filter: brightness(0) saturate(100%) invert(69%) sepia(72%) saturate(1725%) hue-rotate(191deg) brightness(101%) contrast(101%);
}

img[src$="iveco-logo-new.svg"] {
    filter: brightness(0) invert(1) sepia(0%) saturate(0%) hue-rotate(0deg); /* bianco */
	width:25%;
	
}

img[src$="whatsapp.svg"] {
   /* filter: invert(1);  */
}
.luminosaFoot {
  filter: brightness(140%);
}

.topbar {
  background: #15171b;
  color: #fff;
  font-size: .82rem;
}
.topbar a { color:#fff; }
.topbar a:hover { color:#8eb0ff; }

.main-navbar {
  background:#050608;
  min-height:73px;
}
/*.main-navbar .navbar-brand img { max-height:52px; width:auto; }*/
.main-navbar .navbar-brand img { max-height:65px; width:auto; }
.main-navbar .navbar-nav .nav-link {
  color:#fff;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.045em;
  padding:.7rem .75rem;
}
.main-navbar .navbar-nav .nav-link:hover,
.main-navbar .navbar-nav .nav-link:focus,
.main-navbar .navbar-nav .show > .nav-link { color:#fff; }
.main-navbar .navbar-toggler { border:0; padding:.45rem; }
.main-navbar .navbar-toggler:focus { box-shadow:none; }
.main-navbar .dropdown-menu {
  border:0;
  border-radius:0;
  box-shadow:0 18px 45px rgba(0,0,0,.2);
}
.main-navbar .dropdown-menu a { color:#111; }
.mega-menu { min-width:620px; padding:1.35rem; }
.mega-menu .mega-title { font-family:"Gill Sans", "Gill Sans MT", Calibri, sans-serif; font-size:1.25rem; }
.mega-menu .mega-list a { display:block; padding:.25rem 0; }
.mega-menu .mega-image { height:145px; width:100%; object-fit:cover; }

@media (min-width: 992px) {
  .main-navbar .dropdown:hover > .dropdown-menu { display:block; margin-top:0; }
}
@media (max-width: 991.98px) {
  .main-navbar { min-height:58px; }
  .main-navbar .navbar-brand img { max-height:42px; }
  .mega-menu { min-width:0; }
}

.btn-iveco {
  --bs-btn-color:#fff;
  --bs-btn-bg:var(--iveco-blue);
  --bs-btn-border-color:var(--iveco-blue);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:#003bd6;
  --bs-btn-hover-border-color:#003bd6;
  border-radius:0;
  padding:.8rem 1.25rem;
  font-weight:600;
  letter-spacing:.02em;
}
.btn-outline-iveco {
  color:var(--iveco-blue);
  border:1px solid var(--iveco-blue);
  border-radius:0;
  padding:.75rem 1.15rem;
  font-weight:600;
}
.btn-outline-iveco:hover { background:var(--iveco-blue); color:#fff; }

.hero {
  position:relative;
  min-height:clamp(520px, 70vh, 820px);
  background:transparent;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
}
.hero::after {
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.25) 55%, rgba(0,0,0,.05));
}
.hero .container { position:relative; z-index:2; }
.hero h1 { max-width:950px; margin-bottom:1.2rem; }
.hero .lead { max-width:700px; font-size:clamp(1.05rem,2vw,1.35rem); }
.hero-slide { min-height:clamp(520px,70vh,820px); background:center/cover no-repeat; }

.section { padding:clamp(4rem,8vw,7.5rem) 0; }
.section-sm { padding:4rem 0; }
.section-title { margin-bottom:2.5rem; }
.section-title .eyebrow {
  display:block; color:var(--iveco-blue); font-size:.8rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; margin-bottom:.8rem;
}
.section-title p { max-width:700px; color:var(--muted); font-size:1.1rem; }

.service-card {
  height:100%;
  background:#fff;
  border:1px solid var(--border);
  padding:2rem;
  transition:transform .2s ease, box-shadow .2s ease;
}
.service-card:hover { transform:translateY(-5px); box-shadow:0 15px 35px rgba(0,0,0,.1); }
.service-icon {
  width:58px; height:58px; display:grid; place-items:center;
  background:var(--iveco-blue); color:#fff; font-size:1.45rem; margin-bottom:1.4rem;
}
.service-card h3 { font-size:2rem; margin-bottom:.8rem; }

.news-card {
  height:100%; background:#fff; border:1px solid var(--border); overflow:hidden;
}
.news-card img { width:100%; aspect-ratio:960/612; object-fit:cover; }
.news-card-body { padding:1.4rem; }
.news-date { color:var(--iveco-blue); font-size:.8rem; font-weight:700; text-transform:uppercase; }
.news-card h3 { font-size:1.65rem; margin:.45rem 0 .65rem; }
.news-card p { color:var(--muted); }

.partner-section { background:var(--iveco-blue); color:#fff; }
.partner-card {
  height:100%; min-height:290px; position:relative; overflow:hidden; background:#0b2d96;
}
.partner-card img { width:100%; height:100%; min-height:290px; object-fit:cover; opacity:.6; }
.partner-card .partner-content {
  position:absolute; inset:auto 1.5rem 1.5rem; z-index:2;
}
.partner-card h3 { font-size:2rem; margin:0 0 .6rem; }
.partner-card a { color:#fff; text-decoration:underline; }

.banner {
  min-height:500px; background:center/cover no-repeat; position:relative; display:flex; align-items:center; color:#fff;
}
.banner::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.48); }
.banner .container { position:relative; z-index:2; }

.page-hero {
  min-height:420px; background:center/cover no-repeat; display:flex; align-items:end; color:#fff; position:relative;
}
.page-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.15)); }
.page-hero .container { position:relative; z-index:2; padding-bottom:3rem; }
.page-hero h1 { font-size:clamp(3rem,7vw,6rem); margin:0; }

.usp { background:#f4f6fa; }
.usp-card { height:100%; padding:1.8rem; border-top:3px solid var(--iveco-blue); background:#fff; }
.usp-number { color:var(--iveco-blue); font-size:1.1rem; font-weight:700; }
.usp-card h3 { font-size:1.55rem; margin:.5rem 0; }

.image-card { position:relative; overflow:hidden; height:100%; background:#111; }
.image-card img { width:100%; aspect-ratio:1048/800; object-fit:cover; transition:transform .4s; }
.image-card:hover img { transform:scale(1.03); }
.image-card .caption { padding:1.25rem; color:#fff; background:#111; }
.image-card .caption h3 { font-size:1.65rem; margin:0 0 .4rem; }

.dark-section { background:#050608; color:#fff; }
.dark-section .text-muted { color:#aeb4bf !important; }

.contact-box { background:#f4f6fa; }
.contact-info-item { display:flex; gap:1rem; margin-bottom:1.5rem; }
.contact-info-icon {
  flex:0 0 44px; height:44px; background:var(--iveco-blue); color:#fff;
  display:grid; place-items:center;
}
.form-control, .form-select { border-radius:0; min-height:50px; border-color:#d7dce5; }
.form-control:focus, .form-select:focus { border-color:var(--iveco-blue); box-shadow:0 0 0 .2rem rgba(21,84,255,.12); }
textarea.form-control { min-height:170px; }

.site-footer { background:#000; color:#fff; }
.site-footer a { color:#cfd5df; }
.site-footer a:hover { color:#fff; }
/* .site-footer .footer-logo { max-height:54px; width:auto; } */
.site-footer .footer-logo { max-height:75px; width:auto; }
.site-footer h4 { font-size:1.1rem; font-weight:600; margin-bottom:1rem; }
.site-footer ul { list-style:none; padding:0; margin:0; }
.site-footer li { margin:.45rem 0; }
.site-footer .footer-bottom { border-top:1px solid #292c32; color:#9299a4; font-size:.78rem; }

.cookie-link { color:#fff; }

/* vecchia versione della classe */
/*
.back-top {
  position:fixed; right:20px; bottom:20px; z-index:1000;
  width:44px; height:44px; display:grid; place-items:center;
  background:var(--iveco-blue); color:#fff;
}
*/

/* nuova versione della classe back-top */
.back-top {
  position: fixed; 
  right: 20px; 
  bottom: 20px; 
  z-index: 9999;
  width: 44px; 
  height: 44px; 
  display: grid; 
  place-items: center;
  background: var(--iveco-blue); 
  color: #fff;
  text-decoration: none; /* Rimuove la sottolineatura del link */
  border-radius: 4px;    /* Opzionale: arrotonda leggermente gli angoli se piace */
  border: 2px solid #FFFFFF; /* var(--iveco-blue); */
  box-sizing: border-box;

  /* Gestione della comparsa fluida */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  
}
.back-top:hover {
	background:#FFFFFF;
	border-color: var(--iveco-blue); /* Ora funzionerà correttamente! */
	color: var(--iveco-blue);  
}

/* Classe che verrà attivata dallo script quando si scrolla */
.back-top.show {
  opacity: 1;
  visibility: visible;
}
/* Ottimizzazione specifica per Mobile (schermi fino a 768px) */
@media (max-width: 767.98px) {
  .back-top {
    right: 25px;  /* Leggermente più distanziato dal bordo destro */
    bottom: 35px; /* Alza il pulsante per evitare le barre di navigazione o le gesture di swipe */
  }
}
/* fine nuova versione back-top */

.gallery-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.gallery-filter .btn { border-radius:0; margin:.2rem; }

.news-detail img { width:100%; max-height:680px; object-fit:cover; }
.news-detail .content { font-size:1.08rem; }

@media (max-width: 767.98px) {
  .topbar .topbar-right { margin-top:.25rem; }
  .hero, .hero-slide { min-height:620px; }
  .page-hero { min-height:360px; }
  .section { padding:4rem 0; }
  .service-card, .usp-card { padding:1.4rem; }
}


.video-section { background:#fff; }
.video-wrapper { background:#000; overflow:hidden; box-shadow:0 18px 45px rgba(0,0,0,.12); }
.video-wrapper video { display:block; max-height:520px; object-fit:cover; }

.gallery-modal .modal-content { background:#000; border:0; border-radius:0; position:relative; min-height:200px; }
.gallery-lightbox-image { display:block; width:100%; max-height:82vh; object-fit:contain; background:#000; }
.gallery-close, .gallery-prev, .gallery-next { position:absolute; z-index:3; border:0; background:rgba(0,0,0,.55); color:#fff; width:46px; height:46px; font-size:30px; line-height:1; }
.gallery-close { top:12px; right:12px; font-size:34px; }
.gallery-prev { left:12px; top:50%; transform:translateY(-50%); }
.gallery-next { right:12px; top:50%; transform:translateY(-50%); }
.gallery-close:hover, .gallery-prev:hover, .gallery-next:hover { background:rgba(21,84,255,.9); }
.gallery-lightbox-caption { color:#fff; text-align:center; padding:.75rem 1rem; font-size:.95rem; }
@media (max-width:767.98px) {
  .gallery-lightbox-image { max-height:75vh; }
  .gallery-prev, .gallery-next { width:40px; height:40px; font-size:24px; }
}

/* Lightbox gallery */
.gallery-lightbox-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: rgba(0,0,0,.88);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}
.gallery-lightbox-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.gallery-lightbox-inner {
  position: relative;
  width: min(1200px, 100%);
  max-height: 94vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.gallery-lightbox-image {
  display: block;
  max-width: 100%;
  max-height: calc(94vh - 60px);
  width: auto;
  height: auto;
  object-fit: contain;
  background: #000;
}
.gallery-close, .gallery-prev, .gallery-next {
  position: absolute;
  z-index: 3;
  border: 0;
  background: rgba(0,0,0,.65);
  color: #fff;
  width: 48px;
  height: 48px;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
.gallery-close { top: 10px; right: 10px; font-size: 34px; }
.gallery-prev { left: 10px; top: 50%; transform: translateY(-50%); }
.gallery-next { right: 10px; top: 50%; transform: translateY(-50%); }
.gallery-close:hover, .gallery-prev:hover, .gallery-next:hover { background: rgba(21,84,255,.95); }
.gallery-lightbox-caption {
  width: 100%;
  color: #fff;
  text-align: center;
  padding: .7rem 3.5rem .2rem;
  font-size: .95rem;
}
body.gallery-lightbox-open { overflow: hidden; }
@media (max-width: 767.98px) {
  .gallery-lightbox-overlay { padding: 1rem; }
  .gallery-lightbox-image { max-height: calc(90vh - 50px); }
  .gallery-prev, .gallery-next { width: 40px; height: 40px; font-size: 24px; }
  .gallery-close { width: 42px; height: 42px; }
}

/* === Restyling finale Monetti === */
:root {
  --iveco-blue: #1554FF;
  --accent-blue: #1554FF;
}

/* Titoli: Gill Sans (quando disponibile sul sistema) */
h1, h2, h3, h4, h5, h6,
.mega-menu .mega-title {
  font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
  font-weight: 400;
}
h1, h2, h3 { font-weight: 300; }
body, p, li, td, th, .form-control, .form-select, .btn, .navbar-nav, .dropdown-menu {
  font-family: "Roboto", Arial, sans-serif;
}

/* Header co-branding */
.main-navbar .container { position: relative; }
.dealer-brand { flex: 0 0 auto; }
.iveco-brand {
  display: flex;
  align-items: center;
  margin-left: .75rem;
  padding: .25rem 0;
  flex: 0 0 auto;
}
.iveco-brand img {
  display: block;
  width: auto;
  max-width: 145px;
  max-height: 42px;
  object-fit: contain;
}

/* Megamenu: dissolvenza desktop */
@media (min-width: 992px) {
  .main-navbar .dropdown-menu {
    display: block;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
  }
  .main-navbar .dropdown:hover > .dropdown-menu,
  .main-navbar .dropdown:focus-within > .dropdown-menu,
  .main-navbar .dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}

/* Hero desktop 16:9 */
@media (min-width: 992px) {
  .hero-slide {
    aspect-ratio: 16 / 9;
    min-height: 0;
    height: min(56.25vw, 810px);
  }
  .hero {
    min-height: 100%;
  }
}

/* Card servizi: Blue Energy */
.service-card {
  background: #1554FF;
  border-color: #1554FF;
  color: #fff;
}
.service-card p { color: rgba(255,255,255,.88); }
.service-card h3 { color: #fff; }
.service-card a { color: #fff; text-decoration: underline; }
.service-card a:hover { color: #fff; opacity: .82; }
.service-icon {
  background: rgba(0,0,0,.18);
  color: #fff;
}
.service-card:hover { box-shadow: 0 15px 35px rgba(21,84,255,.28); }

/* Pulsante Torna su sopra il footer */
.back-top-wrap {
  background: #fff;
  text-align: center;
  padding: 1rem 0 1.1rem;
  border-top: 1px solid #e5e8ee;
}
.back-top-wrap a {
  color: #1554FF;
  font-family: "Roboto", Arial, sans-serif;
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
}
.back-top-wrap a:hover { text-decoration: underline; }

/* Footer nero e co-branding */
.site-footer { background: #000000; }
.footer-brand-logos {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.footer-brand-logos img {
  display: block;
  width: auto;
/*  max-height: 52px; */
  max-height: 123px;
/*  max-width: 170px; */
  max-width: 480px;
  object-fit: contain;
}

/* Coolicons */
.ci-Clock, .ci-Phone, .ci-Settings, .ci-Settings_Future, .ci-Car_Auto, .ci-Mail, .ci-Compass, .ci-Chevron_Up {
  line-height: 1;
  vertical-align: middle;
}

/* Il vecchio pulsante fixed non viene più usato */
/*.back-top { display: none !important; }*/

@media (max-width: 991.98px) {
  .iveco-brand { margin-left: auto; margin-right: .5rem; }
  .iveco-brand img { max-width: 105px; max-height: 34px; }
  .main-navbar .navbar-toggler { margin-left: 0; }
}

/* Ordine dei due loghi e del menu */
.dealer-brand { order: 1; }
.main-navbar .navbar-collapse { order: 2; }
.iveco-brand { order: 3; }
.main-navbar .navbar-toggler { order: 4; }
@media (max-width: 991.98px) {
  .main-navbar .navbar-collapse { order: 4; width: 100%; }
  .iveco-brand { order: 2; }
  .main-navbar .navbar-toggler { order: 3; }
}

====================================================================
	Volunter Section
====================================================================

***/

.volunter-section{
	position:relative;
	padding:95px 0px 100px;
}

.volunter-member{
	position:relative;
	margin-bottom:30px;
}

.volunter-member .inner-box{
	position:relative;
	background-color:#f6f6f6;
}

.volunter-member .inner-box .image-column{
	position:relative;
}

.volunter-member .inner-box .image-column .image{
	position:relative;
}

.volunter-member .inner-box .image-column .image .overlay-box{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	display:block;
	opacity:0;
	transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
	background-color:rgba(0,0,0,0.50);
}

.volunter-member .inner-box .image-column .image .overlay-box .social-icon-one{
	top:50%;
	margin-top:-17px;
}

.volunter-member .inner-box:hover .image-column .image .overlay-box{
	opacity:1;
}

.volunter-member .inner-box .image-column .image img{
	width:100%;
	display:block;
}

.volunter-member .inner-box .content-column{
	position:relative;
}

.volunter-member .inner-box .content-column .inner-column{
	position:relative;
	padding:40px 20px 25px 10px;
}

.volunter-member .inner-box .content-column .inner-column h3{
	position:relative;
	color:#2f2f2f;
	font-weight:700;
	font-size:18px;
	text-transform:uppercase;
}

.volunter-member .inner-box .content-column .inner-column .designation{
	position:relative;
	color:#9cc327;
	font-size:14px;
	font-weight:600;
	margin-bottom:20px;
}

.volunter-member .inner-box .content-column .inner-column .text{
	position:relative;
	color:#444444;
	font-size:15px;
	line-height:1.8em;
}

.volunter-member.style-two .inner-box{
	background-color:#ffffff;
}

/*** 
