body {
  background: #f5f5f5;
}

body.blockowerflow {
  overflow: hidden;
}

body * {
  position: relative;
}

img {
  max-width: 100%;
}

body .btn {
  border-radius: 1px
}

.radius-20 {
  border-radius: 20px;
}

.badge-png {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 100%;
  object-fit: contain;
  z-index: 1;
}

.accordion-button::after {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: auto;
  content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: 1.25rem;
  transition: transform .2s ease-in-out;
  display: inline-block;
  right: 0;
  position: absolute;
}

.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transform: rotate(-180deg);
}

.accordion-button {
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding-left: 0;
  position: relative;
  font-size: 1.0rem;
}

.accordion-item {
  border-bottom: 1px solid #e9ecef;
  padding-bottom: 10px;
  padding-top: 10px;
}

.accordion-body {
  margin-top: 10px;
}

.visually-hidden {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.z-10 {
  z-index: 10;
}

.stretched-link:focus::after {
  box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .25);
}

@media (min-width: 992px) {
  .col-lg-7item {
    flex: 0 0 auto;
    width: 14.28571428571429%;
  }

  .col-lg-5item {
    flex: 0 0 auto;
    width: 20%;
  }

  .col-lg-8item {
    flex: 0 0 auto;
    width: 12.5%;
  }

  .w-lg-auto {
    width: auto !important;
  }

  .w-lg-75 {
    width: 75% !important;
  }
}

.ombrafull {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
}

.row-no-margin {
  margin-left: 0px;
  margin-right: 0px;
}

.btn-outline-whatsapp {
  border-color: #128C7E;
  color: #128C7E;
}

.btn-outline-whatsapp:hover {
  background: #128C7E;
  color: #fff;
}

.btn-whatsapp {
  background: #128C7E;
  color: #fff;
}

.btn-whatsapp:hover {
  background: #128C7E;
  color: #fff;
}

.btn-whatsapp-light {
  background: #25D366;
  color: #fff;
}

.btn-whatsapp-light:hover {
  background: #25D366;
  color: #fff;
}

.ancorafull {
  color: inherit;
  text-decoration: none;
}

.ancorafull:hover {
  color: inherit;
  text-decoration: none;
}

.cursor-pointer {
  cursor: pointer;
}

.center-verticaled {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

.add-comparatore,
.remove-comparatore {
  cursor: pointer;
}

.mw-50 {
  max-width: 50%;
}

.hover-effect:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.fb-bg {
  background: #4267B2;
}

.tw-bg {
  background: #1DA1F2;
}

.yt-bg {
  background: #FF0000;
}

.ig-bg {
  background: #E1306C;
}

.font-weight-semibold {
  font-weight: 600;
}

.bg-black {
  background: #242424;
}

.inherit-a {
  color: inherit;
  text-decoration: none;
}

.inherit-a:hover {
  color: inherit;
}

.loader-full-page {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999999;
  background: rgba(0, 0, 0, 0.8);
}

.loader-full-page .spinners {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.privacy-checkbox,
.marketing-checkbox {
  width: 15px;
  height: 15px;
}

.container-full-frame-yb {
  width: 100%;
  height: 100%;
}

.full-frame-yb {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.grecaptcha-badge {
  display: none !important;
}

.fw-bold {
  font-weight: bold;
}

figure {
  max-width: 100%;
}

.sedicinoni {
  padding-top: 56.25%;
  background-position: center;
  background-size: cover;
}

.quattroterzi {
  padding-top: 75%;
  background-position: center;
  background-size: cover;
}

.ck-content strong {
  font-weight: 700 !important;
}

.ck-content iframe {
  max-width: 100%;
}

.border-2 {
  border-width: 2px !important;
}

.mw-75 {
  max-width: 90%;
}

.fs-1 {
  font-size: 2.5rem;
}

.fs-2 {
  font-size: 2rem;
}

.fs-3 {
  font-size: 1.75rem;
}

.fs-4 {
  font-size: 1.5rem;
}

.fs-5 {
  font-size: 1.25rem;
}

.fs-6 {
  font-size: 1rem;
}

#showavviso {
  display: none;
}

.avviso-right-bottom {
  right: 15px;
  bottom: 15px;
  z-index: 2147483645;
  width: 400px;
  max-width: 90%;
}

@media (max-width:767px) {
  .avviso-right-bottom {
    bottom: 65px;
  }
}

.avviso .closeavviso {
  top: -1px;
  right: -1px;
  z-index: 9;
}

#showpopup {
  display: none;
}

.popup-centered {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2147483645;
  width: 600px;
  max-width: 90%;
}

.popup .closepopup {
  top: -1px;
  right: -1px;
  z-index: 9;
}

@media print {

  #cconsent-bar {
    display: none !important;
  }

}

.fst-italic {
  font-style: italic;
}

#kk166442 {
  display: none;
}

.bg-nero {
  background-color: #000 !important;
}

.gap-15 {
  gap: 15px;
}

@media screen and (min-width: 992px) {
  .shadow-lg-0 {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.05) !important;
  }

  .border-lg {
    border: 1px solid #dee2e6;
  }
}

.text-max-1-rows {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.text-max-2-rows {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.text-max-3-rows {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rounded-13 {
  border-radius: 13px !important;
}

.pallinoColore {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  display: inline-block;
  margin-left: 5px;
  border: 1px solid #969696;
}

.selectColore {
  margin-left: 5px;
  border-radius: 50px;
  border: 1px solid #7D869C;
  padding: 5px;
}

.remove-comparatore:active,
.add-comparatore:active {
  filter: drop-shadow(0px 0px 2px #ed3838);
}

.pagina10 .content a {
  word-break: break-word;
}

#modalcontatto {
  z-index: 999999;
}

.gap-5 {
  gap: 3rem;
}

.object-cover {
  object-fit: cover;
}

.prezzo-scatto {
  display: inline-block;
  padding: 10px 10px 5px 10px;
  line-height: 25px;
  margin-bottom: 5px;
  border-radius: 5px;
  border: 3px solid transparent;
  background:
    linear-gradient(#EFEFEF, #EFEFEF) padding-box,
    linear-gradient(90deg, #F1791E 0%, #A70339 100%) border-box;
}

.prezzo-scatto .prezzofinale {
  background: linear-gradient(90deg, #F1791E 0%, #A70339 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.prezzo-scatto .prezzoda {
  color: #F1791E;
  font-weight: bold;
}

.icon-scatto {
  display: none !important;
}

.prezzo-scatto .icon-scatto {
  display: block !important;
  position: absolute;
  top: -10px;
  right: -10px;
  background: #A70339;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #fff;
}

.prezzo-scatto .icon-scatto svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.prezzo-scatto-scheda {
  border: 3px solid transparent;
  background:
    linear-gradient(#EFEFEF, #EFEFEF) padding-box,
    linear-gradient(90deg, #F1791E 0%, #A70339 100%) border-box !important;
}

.prezzo-scatto-scheda .icon-scatto {
  display: block !important;
  position: absolute;
  top: -15px;
  right: -15px;
  background: #A70339;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #fff;
  z-index: 2;
}

.prezzo-scatto-scheda .icon-scatto svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.prezzo-scatto-scheda .prezzofinale {
  background: linear-gradient(90deg, #F1791E 0%, #A70339 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.prezzo-scatto-scheda .prezzoda {
  color: #F1791E;
  font-weight: bold;
}

.text-scatto {
  display: none !important;
}

.prezzoSpecialeGiac {
  position: absolute;
  bottom: 15px;
  left: 15px;
  z-index: 2;
}

.prezzo-scatto-scheda .text-scatto {
  display: block !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #fff;
  background: linear-gradient(90deg, #F1791E 0%, #A70339 100%);
  padding: 5px 10px;
  z-index: 1;
  text-align: center;
}

.prezzo-scatto-scheda {
  padding-top: 40px !important;
}

/* sopra a 1600px */
@media (min-width: 1600px) {
  .prezzo-scatto-scheda {
    padding-top: 25px !important;
  }

  .prezzo-scatto-scheda .text-scatto {
    top: 160px;
    right: 0;
    left: auto;
    padding: 10px 15px;
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
    width: auto;
  }
}

/* sotto a 992px */
@media (max-width: 992px) {
  .prezzo-scatto .icon-scatto {
    width: 25px;
    height: 25px;
  }

  .prezzo-scatto .icon-scatto svg {
    width: 14px !important;
    height: 14px !important;
  }

  .lista .prezzoSpecialeGiac {
    width: 90px;
  }


  .scheda .prezzoSpecialeGiac {
    width: 130px;
  }
}

/* Popover info prezzo su hover (solo desktop) - vedi public.js */
.ahe-price-popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
  width: max-content;
  max-width: 320px;
  padding: 14px 16px;
  background: #fff;
  color: #333;
  border-radius: 10px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, .18);
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity .15s ease, transform .15s ease;
  pointer-events: none;
}

.ahe-price-popover.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.ahe-price-popover .ahe-price-popover-body {
  font-size: 12px;
  line-height: 1.45;
  font-style: normal;
  font-weight: 400;
}

.ahe-price-popover .ahe-price-popover-body .h5,
.ahe-price-popover .ahe-price-popover-body h5 {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.3;
}

.ahe-price-popover .ahe-price-popover-body p {
  margin-bottom: 0;
}

.ahe-price-popover .ahe-price-popover-arrow {
  position: absolute;
  bottom: -6px;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  background: #fff;
  transform: rotate(45deg);
  box-shadow: 3px 3px 6px rgba(0, 0, 0, .06);
}

.ahe-price-popover.ahe-price-popover--below .ahe-price-popover-arrow {
  bottom: auto;
  top: -6px;
  box-shadow: -2px -2px 6px rgba(0, 0, 0, .06);
}#vg-header {
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 50;
}

#vg-header .vg-container {
    display: flex;
    align-items: center;
    gap: 28px;
}

/* #vg-header .vg-header-menu {
    background-color: #F0F0F0;
} */

#vg-header .vg-nav {
    display: flex;
    gap: 26px;
    margin-left: 14px;
}

#vg-header .vg-nav a {
    font-size: 15px;
    font-weight: 500;
    color: #3a4650;
}

#vg-header .vg-nav a:hover {
    color: var(--vg-blue);
}

#vg-header .vg-header-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 22px;
}

#vg-header .vg-counter {
    display: flex;
    align-items: center;
    gap: 10px;
}

#vg-header .vg-counter-num {
    font-size: 37px;
    font-weight: 700;
    color: var(--vg-blu);
    line-height: 1;
}

#vg-header .vg-counter-txt {
    font-size: 14px;
    font-weight: 700;
    color: var(--vg-blu);
    line-height: 1.2;
    display: flex;
    flex-direction: column;
}

#vg-header .vg-counter-txt small {
    font-size: 12px;
    font-weight: 500;
    color: var(--vg-blue);
}

#vg-header .vg-burger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: 0;
    padding: 6px;
    margin-left: auto;
}

#vg-header .vg-burger span {
    width: 24px;
    height: 2px;
    background: #3a4650;
    border-radius: 2px;
    transition: transform .25s ease, opacity .25s ease;
}

/* burger -> X quando il menu è aperto */
#vg-header .vg-burger[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

#vg-header .vg-burger[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}

#vg-header .vg-burger[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 992px) {

    #vg-header .vg-counter {
        display: none;
    }

    #vg-header .vg-burger {
        display: flex;
    }

    #vg-header .vg-header-right {
        margin-left: auto;
    }

}

@media (max-width: 640px) {

    .vg-header-right .vg-btn-outline {
        font-size: 11px;
        padding: 8px 12px;
    }
}

/* @media (min-width: 992px) {
    #vg-header .vg-header-menu.collapse:not(.show) {
        display: block !important;
    }
} */.footer13 {
    background: #1f2a33;
    color: #c4ccd3;
    padding: 48px 0 22px;
    margin-top: 0;
}

.footer13 .vg-footer-grid {
    display: grid;
    grid-template-columns: 3fr 1fr 1fr;
    gap: 32px;
}

.footer13 .vg-logo-main,
.footer13 .vg-logo-sub {
    color: #fff;
}

.footer13 .vg-footer-claim {
    font-size: 14px;
    color: #fff;
    max-width: 320px;
    margin: 0 0 16px;
}

.footer13 .vg-footer-contacts {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 13px;
}

.footer13 .vg-footer-contacts li {
    margin-bottom: 8px;
}

.footer13 .vg-footer-contacts a {
    color: #c4ccd3;
}

.footer13 .vg-footer-contacts a:hover {
    color: #fff;
}

.footer13 .vg-footer-social {
    display: flex;
    gap: 12px;
}

.footer13 .vg-footer-social a {
    display: inline-flex;
    align-items: center;
    width: 34px;
    height: 34px;
}

.footer13 .vg-footer-social svg {
    width: 18px;
    height: 18px;
}

.footer13 .vg-footer-news {
    padding: 11px 20px;
}

.footer13 .vg-footer-title {
    display: block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #fff;
    margin-bottom: 14px;
}

.footer13 .vg-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer13 .vg-footer-col li {
    margin-bottom: 9px;
}

.footer13 .vg-footer-col a {
    font-size: 13px;
    color: #fff;
}

.footer13 .vg-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    border-top: 1px solid rgba(255, 255, 255, 1);
    margin-top: 32px;
    padding-top: 18px;
    font-size: 12px;
    color: #fff;
}

.footer13 .vg-footer-bottom a {
    color: #fff;
}

.footer13 .vg-footer-bottom a:hover {
    color: #fff;
}

.footer13 .vg-footer-brand-text {
    display: flex;
    column-gap: 32px;
    align-items: flex-end;
    margin-bottom: 20px;
}

@media (max-width: 992px) {

    .footer13 .vg-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {

    .footer13 .vg-footer-grid {
        grid-template-columns: 1fr;
    }
}.form_noleggio1.vg-section--lead {
    background: #223343;
    color: #fff;
}

.form_noleggio1 .vg-lead {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 56px;
    align-items: center;
}

.form_noleggio1 .vg-lead-side {
    text-align: center;
}

.form_noleggio1 .vg-lead-photo {
    position: relative;
    max-width: 100%;
    margin: 0 auto 26px;
}

.form_noleggio1 .vg-lead-photo img {
    border-radius: 50%;
    aspect-ratio: 1;
    object-fit: cover;
    max-width: 500px;
    max-height: 500px;
    width: 100%;
}

.form_noleggio1 .vg-lead-badge {
    position: absolute;
    right: 4px;
    bottom: 8px;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #14171a;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-style: italic;
}

.form_noleggio1 .vg-lead-claim {
    font-size: 15px;
    line-height: 1.5;
    color: #fff;
    margin: 0 auto 25px;
}

.form_noleggio1 .vg-lead-wa {
    background: #48D466;
    color: #fff;
    width: 100%;
    max-width: 280px;
    padding: 14px;
    font-size: 14px;
}

.form_noleggio1 .vg-lead-wa:hover {
    background: #3FC35A;
    color: #fff;
}

.form_noleggio1 .vg-lead-or {
    font-size: 13px;
    color: #fff;
    margin: 20px 0 0;
}

.form_noleggio1 .vg-lead-or a {
    color: var(--vg-blue);
}

.form_noleggio1 .vg-lead-form h2 {
    font-size: 25px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 22px;
}

.form_noleggio1 .vg-lead-form label {
    display: block;
    margin-bottom: 5px;
}

.form_noleggio1 .vg-lead-form input[type="checkbox"]+label {
    margin-bottom: 0;
    font-size: 14px;
}

.form_noleggio1 .vg-lead-form input:not([type="checkbox"]),
.form_noleggio1 .vg-lead-form textarea {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 4px;
    background: #fff;
    color: #2b3742;
    font-size: 14px;
    padding: 12px 14px;
    outline: none;
}

.form_noleggio1 .vg-lead-form textarea {
    resize: vertical;
}

.form_noleggio1 .vg-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 12px;
    line-height: 1.4;
    color: #9aa6af;
}

.form_noleggio1 .vg-check input {
    width: auto;
    margin: 2px 0 0;
    flex: 0 0 auto;
}

.form_noleggio1 .vg-lead-submit {
    width: 100%;
    padding: 14px;
    font-size: 14px;
    margin-top: 6px;
}

.form_noleggio1 .vg-lead-note {
    font-size: 11px;
    line-height: 1.5;
    color: #7c8893;
    margin: 14px 0 0;
}

@media (max-width: 992px) {

    .form_noleggio1 .vg-lead {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}/* =========================================================
   SLIDER 12 - annunci in evidenza (VaiGo)
   Fascia blu a tutta larghezza: a sinistra l'offerta, a destra il render della serie
   ========================================================= */
.vg-slider12 {
    background-image: url('/assets/img/custom/17/slider-bg-mob.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.vg-slider12 .vg-slider {
    padding: 40px 0 22px;
}

.vg-slider12 .vg-slide {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "info foto"
        "cta foto";
    align-items: center;
    column-gap: 20px;
    min-height: 330px;
}

.vg-slider12 .vg-slide-info {
    grid-area: info;
    width: 100%;
    max-width: 310px;
    margin-inline: auto;
    color: #fff;
}

.vg-slider12 .vg-slide-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: 2.3em;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 4px;
}

.vg-slider12 .vg-slide-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 14px;
}

.vg-slider12 .vg-slide-price strong {
    font-size: 46px;
    font-weight: 700;
    line-height: 1;
    color: var(--vg-price);
}

.vg-slider12 .vg-slide-price small {
    font-size: 15px;
}

.vg-slider12 .vg-slide-dati {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
    font-size: 15px;
    line-height: 1.9;
}

.vg-slider12 .vg-slide-cta {
    grid-area: cta;
    width: 100%;
    max-width: 310px;
    margin-inline: auto;
    padding: 15px;
    font-size: 13px;
}

.vg-slider12 .vg-slide-foto {
    grid-area: foto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
}

.vg-slider12 .vg-slide-foto img {
    max-height: 100%;
    width: auto;
}

/* gli indicatori scorrono sotto lo slide invece di stare sopra la foto */
.vg-slider12 .vg-slider-dots {
    position: static;
    justify-content: center;
    margin: 24px 0 0;
}

.vg-slider12 .vg-slider-dots [data-bs-target] {
    width: 34px;
    height: 4px;
    margin: 0 4px;
    border: 0;
    border-radius: 2px;
    background: rgba(255, 255, 255, .35);
    opacity: 1;
    text-indent: 0;
    transition: background .2s;
}

.vg-slider12 .vg-slider-dots [data-bs-target].active {
    background: var(--vg-blue);
}

@media (min-width: 992px) {
    .vg-slider12 {
        background-image: url('/assets/img/custom/17/slider-bg.png');
    }

    .vg-slider12 .vg-slider {
        padding: 40px 0 100px;
    }
}

@media (max-width: 991.98px) {
    .vg-slider12 .vg-slide {
        grid-template-columns: 1fr;
        grid-template-areas:
            "info"
            "foto"
            "cta";
        text-align: center;
        gap: 26px;
        min-height: 0;
    }

    /* lo stacco lo fa il gap della griglia */
    .vg-slider12 .vg-slide-dati {
        margin-bottom: 0;
    }

    .vg-slider12 .vg-slide-price {
        justify-content: center;
    }

    .vg-slider12 .vg-slide-title {
        font-size: 20px;
        margin-bottom: 8px;
    }

    .vg-slider12 .vg-slide-price strong {
        font-size: 40px;
    }

    .vg-slider12 .vg-slide-info {
        max-width: 420px;
    }

    .vg-slider12 .vg-slide-cta {
        max-width: 420px;
    }

    .vg-slider12 .vg-slide-foto {
        height: 220px;
    }

    /* su mobile gli indicatori tornano tondi */
    .vg-slider12 .vg-slider-dots [data-bs-target] {
        width: 9px;
        height: 9px;
        margin: 0 5px;
        border-radius: 50%;
    }
}/* =========================================================
   VaiGo — Lista noleggio a lungo termine (listanoleggio-1)
   ========================================================= */

/* ---- hero / titolo pagina ---- */
.listanoleggio1 .ln-hero {
    background: var(--vg-blu);
    color: #fff;
    padding: 26px 0;
}

.listanoleggio1 .ln-hero h1 {
    font-size: 22px;
    font-weight: 600;
    margin: 0;
}

.listanoleggio1 .ln-hero h1 strong {
    font-weight: 700;
}

/* =========================================================
   BARRA FILTRI
   ========================================================= */
.listanoleggio1 .ln-filters-sec {
    padding: 28px 0 6px;
}

.listanoleggio1 .ln-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px 26px;
}

/* select compatte (override del .vg-select globale, troppo grande) */
.listanoleggio1 .ln-select select {
    font-size: 14px;
    font-weight: 500;
    padding: 4px 30px 6px 4px;
    color: var(--vg-blu);
    background-size: 14px;
}

.listanoleggio1 .ln-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--vg-blu);
    cursor: pointer;
    margin: 0;
}

.listanoleggio1 .ln-check input {
    width: 18px;
    height: 18px;
    accent-color: var(--vg-red);
    cursor: pointer;
}

/* ---- riga filtri attivi + ordinamento ---- */
.listanoleggio1 .ln-subfilters {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 20px;
}

.listanoleggio1 .ln-active {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.listanoleggio1 .ln-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--vg-red);
    color: var(--vg-red);
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    padding: 5px 14px;
}

.listanoleggio1 .ln-chip-x {
    border: 0;
    background: none;
    color: var(--vg-red);
    font-size: 16px;
    line-height: 1;
    padding: 0;
    cursor: pointer;
}

.listanoleggio1 .ln-clear {
    font-size: 13px;
    color: #45525d;
}

.listanoleggio1 .ln-clear:hover {
    color: var(--vg-red);
}

.listanoleggio1 .ln-sort select {
    font-size: 14px;
    color: var(--vg-blu);
}

/* ---- filtri in offcanvas fino a 992px ---- */
.listanoleggio1 .ln-filters-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--vg-blu);
    border-radius: 24px;
    background: #fff;
    color: var(--vg-blu);
    font-size: 14px;
    font-weight: 600;
    padding: 8px 18px;
    cursor: pointer;
}

/* numero di filtri attivi, cosi si vede anche a pannello chiuso */
.listanoleggio1 .ln-filters-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--vg-red);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    padding: 0 5px;
}

/* nel pannello i filtri stanno incolonnati, uno per riga e a tutta larghezza */
@media (max-width: 991.98px) {

    /* prima riga: bottone dei filtri a sinistra e ordinamento a destra.
       I chip vanno a capo da soli, cosi restano leggibili */
    .listanoleggio1 .ln-subfilters .ln-filters-toggle {
        order: 1;
    }

    .listanoleggio1 .ln-subfilters .ln-sort {
        order: 2;
    }

    .listanoleggio1 .ln-subfilters .ln-active {
        order: 3;
        flex-basis: 100%;
    }

    .listanoleggio1 .ln-offcanvas .offcanvas-body {
        padding-top: 24px;
    }

    .listanoleggio1 .ln-offcanvas .ln-filters {
        flex-direction: column;
        align-items: stretch;
        gap: 22px;
    }

    .listanoleggio1 .ln-offcanvas .ln-select select {
        width: 100%;
    }
}

@media (min-width: 992px) {

    /* da qui in su l'offcanvas torna contenuto normale: Bootstrap mette il body a
       display:flex, lo rimetto a blocco cosi la barra resta identica a prima */
    .listanoleggio1 .ln-offcanvas .offcanvas-body {
        display: block;
    }
}

/* =========================================================
   RISULTATI
   ========================================================= */
.listanoleggio1 .ln-results {
    padding: 24px 0 calc(56px + 3rem);
}

/* =========================================================
   CARD PROMOZIONALE
   ========================================================= */
.listanoleggio1 .ln-promo {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--vg-red);
    border-radius: 10px;
    padding: 30px 24px 26px;
    color: #fff;
    overflow: hidden;
}

/* "?" decorativo di sfondo */
.listanoleggio1 .ln-promo::before {
    content: "";
    background-image: url("/assets/img/custom/17/question-icon.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    width: 100%;
    height: 96%;
    position: absolute;
    opacity: .25;
}

.listanoleggio1 .ln-promo-title {
    position: relative;
    z-index: 1;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.25;
    margin: auto 0 0;
}

.listanoleggio1 .ln-promo-media {
    position: relative;
    z-index: 1;
    margin: 24px 0 auto;
    width: 100%;
}

.listanoleggio1 .ln-promo-media img {
    max-width: 80%;
    height: auto;
}

.listanoleggio1 .ln-promo-btn {
    position: relative;
    z-index: 1;
    width: 100%;
    background: var(--vg-blue);
    color: #fff;
    padding: 13px 18px;
}

.listanoleggio1 .ln-promo-btn:hover {
    background: var(--vg-blue-d);
    color: #fff;
}

/* =========================================================
   INFINITE SCROLL
   ========================================================= */
.listanoleggio1 .ln-sentinella {
    width: 100%;
    height: 1px;
}

.listanoleggio1 .ln-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 0;
}

.listanoleggio1 .ln-loader.d-none {
    display: none;
}

.listanoleggio1 .ln-loader .spinner-border {
    color: var(--vg-red);
}

.listanoleggio1 .vg-hero-card-light {
    background: linear-gradient(135deg, #ECECEC 0%, #CCDFF6 100%);
    color: var(--vg-blu);
    border-radius: 10px;
    padding: 30px 20px;
    /* width: 820px; */
    max-width: 100%;
    margin: 0 0 40px;
    /* box-shadow: 0 20px 50px rgba(0, 0, 0, .25); */
}

.listanoleggio1 .vg-hero-card-light h2,
.listanoleggio1 .modal h2 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.18;
    margin: 0;
}

.listanoleggio1 .vg-hero-card-light h3,
.listanoleggio1 .modal h3 {
    font-size: 15px;
    line-height: 1.18;
    margin: 0;
}

.listanoleggio1 .vg-hero-card-light p,
.listanoleggio1 .modal p {
    font-size: 12px;
    margin: 0;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 640px) {
    .listanoleggio1 .ln-hero h1 {
        font-size: 17px;
    }

    .listanoleggio1 .ln-filters {
        gap: 14px 18px;
    }
}/* ---- sticky bar ---- */
.schedanoleggio1 .vg-stickybar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    background: var(--vg-blu);
    box-shadow: 0 2px 14px rgba(0, 0, 0, .25);
    transform: translateY(-100%);
    opacity: 0;
    visibility: hidden;
    transition: transform .3s ease, opacity .3s ease, visibility .3s ease;
}

.schedanoleggio1 .vg-stickybar.is-visible {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

/* header nascosto mentre la sticky bar è visibile */
.schedanoleggio1 header {
    transition: transform .3s ease;
}

.schedanoleggio1.vg-stickybar-open header {
    transform: translateY(-100%);
}

.schedanoleggio1 .vg-stickybar-inner {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 14px 0;
}

.schedanoleggio1 .vg-stickybar-logo {
    flex: 0 0 auto;
    height: 30px;
    width: auto;
    filter: brightness(0) invert(1);
}

.schedanoleggio1 .vg-stickybar-info {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
    min-width: 0;
}

.schedanoleggio1 .vg-stickybar-model {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.schedanoleggio1 .vg-stickybar-version {
    font-size: 13px;
    color: rgba(255, 255, 255, .7);
}

.schedanoleggio1 .vg-stickybar-price {
    margin-left: auto;
    text-align: right;
    line-height: 1.1;
    display: flex;
    flex-direction: column;
}

.schedanoleggio1 .vg-stickybar-price strong {
    font-size: 26px;
    font-weight: 800;
    color: #fff;
}

.schedanoleggio1 .vg-stickybar-price small {
    font-size: 12px;
    color: rgba(255, 255, 255, .7);
}

.schedanoleggio1 .vg-stickybar-cta {
    flex: 0 0 auto;
    padding: 12px 28px;
    font-size: 13px;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .schedanoleggio1 .vg-stickybar-inner {
        gap: 12px;
        padding: 10px 0;
    }

    .schedanoleggio1 .vg-stickybar-logo {
        display: none;
    }

    .schedanoleggio1 .vg-stickybar-model {
        font-size: 15px;
    }

    .schedanoleggio1 .vg-stickybar-version {
        display: none;
    }

    .schedanoleggio1 .vg-stickybar-price strong {
        font-size: 20px;
    }

    .schedanoleggio1 .vg-stickybar-cta {
        padding: 10px 16px;
        font-size: 12px;
    }
}

/* ---- gallery ---- */
.schedanoleggio1 .vg-sched-top {
    padding-top: 40px;
}

.schedanoleggio1 .vg-gallery {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.schedanoleggio1 .vg-gallery-main {
    position: relative;
    flex: 0 0 auto;
    border-radius: 12px;
    overflow: hidden;
    background: #f4f6f8;
}

.schedanoleggio1 .vg-gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.schedanoleggio1 .vg-gallery-count {
    position: absolute;
    right: 12px;
    bottom: 12px;
    background: rgba(20, 23, 26, .65);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
}

/* striscia di miniature sotto la foto: se sono tante scorre in orizzontale invece
   di allargare il contenitore e sfondare la pagina */
.schedanoleggio1 .vg-gallery-thumbs {
    display: flex;
    gap: 14px;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
}

.schedanoleggio1 .vg-gallery-thumbs img {
    flex: 0 0 110px;
    width: 110px;
    border-radius: 10px;
    object-fit: cover;
    aspect-ratio: 3/2;
    background: #f4f6f8;
    scroll-snap-align: start;
}

.schedanoleggio1 .vg-gallery-main img {
    cursor: zoom-in;
}

.schedanoleggio1 .vg-gallery-thumbs img {
    cursor: pointer;
    transition: opacity .15s, box-shadow .15s;
}

.schedanoleggio1 .vg-gallery-thumbs img:hover {
    opacity: .8;
    box-shadow: 0 4px 12px rgba(30, 45, 60, .18);
}

/* ---- lightbox ---- */
.schedanoleggio1 .vg-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(12, 16, 20, .92);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 70px;
    /* lo swipe orizzontale lo gestisce il js, il pinch per zoomare la foto resta al browser */
    touch-action: pan-y pinch-zoom;
}

.schedanoleggio1 .vg-lightbox[hidden] {
    display: none;
}

.schedanoleggio1 .vg-lightbox-img {
    max-width: 100%;
    max-height: 100%;
    border-radius: 8px;
    object-fit: contain;
}

.schedanoleggio1 .vg-lightbox-close,
.schedanoleggio1 .vg-lightbox-nav {
    position: absolute;
    border: 0;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    cursor: pointer;
    border-radius: 50%;
    line-height: 1;
    transition: background .15s;
}

.schedanoleggio1 .vg-lightbox-close:hover,
.schedanoleggio1 .vg-lightbox-nav:hover {
    background: rgba(255, 255, 255, .28);
}

.schedanoleggio1 .vg-lightbox-close {
    top: 18px;
    right: 18px;
    width: 44px;
    height: 44px;
    font-size: 30px;
}

.schedanoleggio1 .vg-lightbox-nav {
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    font-size: 38px;
}

.schedanoleggio1 .vg-lightbox-prev {
    left: 16px;
}

.schedanoleggio1 .vg-lightbox-next {
    right: 16px;
}

.schedanoleggio1 .vg-lightbox-count {
    position: absolute;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    background: rgba(255, 255, 255, .12);
    padding: 6px 14px;
    border-radius: 20px;
}

@media (max-width: 640px) {
    .schedanoleggio1 .vg-lightbox {
        padding: 60px 12px;
    }

    .schedanoleggio1 .vg-lightbox-nav {
        width: 42px;
        height: 42px;
        font-size: 30px;
    }
}

.schedanoleggio1 .vg-gallery-note {
    font-size: 12px;
    color: var(--vg-blu);
    margin: 14px 0 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.schedanoleggio1 .vg-gallery-note a {
    color: var(--vg-blue);
}

.schedanoleggio1 .vg-video {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-top: 14px;
    border-radius: 12px;
    overflow: hidden;
    background: #f4f6f8;
}

.schedanoleggio1 .vg-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ---- pricebox ---- */
.schedanoleggio1 .vg-pricebox {
    border-radius: 20px;
    overflow: hidden;
    top: 175px;
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
}

.schedanoleggio1 .vg-pricebox-tabs {
    display: flex;
}

.schedanoleggio1 .vg-pricebox-tab {
    flex: 1;
    text-align: center;
    padding: 11px 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.schedanoleggio1 .vg-pricebox-tab--pronta {
    background: var(--vg-red);
}

.schedanoleggio1 .vg-pricebox-tab--consegna {
    background: var(--vg-muted);
}

.schedanoleggio1 .vg-pricebox-tab--aziende {
    background: var(--vg-celeste);
}

.schedanoleggio1 .vg-pricebox-tab--privati {
    background: var(--vg-blu);
}

.schedanoleggio1 .vg-pricebox-body {
    padding: 22px 20px;
}

.schedanoleggio1 .vg-pricebox-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--vg-blu);
    margin: 0;
}

.schedanoleggio1 .vg-pricebox-version {
    font-size: 13px;
    color: var(--vg-blu);
    margin: 2px 0 14px;
}

.schedanoleggio1 .vg-pricebox-pricerow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 20px;
}

.schedanoleggio1 .vg-pricebox-price {
    line-height: 1;
    margin: 0;
}

.schedanoleggio1 .vg-pricebox-price strong {
    font-size: 40px;
    font-weight: 800;
    color: var(--vg-price);
}

.schedanoleggio1 .vg-pricebox-price small {
    font-size: 15px;
    color: #6b7884;
    font-weight: 600;
}

/* ---- IVA toggle switch ---- */
.schedanoleggio1 .vg-iva-switch {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    cursor: pointer;
    user-select: none;
}

.schedanoleggio1 .vg-iva-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.schedanoleggio1 .vg-iva-slider {
    position: relative;
    flex: 0 0 auto;
    width: 42px;
    height: 24px;
    border-radius: 24px;
    background: #c3ccd4;
    transition: background .2s;
}

.schedanoleggio1 .vg-iva-slider::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
    transition: transform .2s;
}

.schedanoleggio1 .vg-iva-switch input:checked+.vg-iva-slider {
    background: var(--vg-blu);
}

.schedanoleggio1 .vg-iva-switch input:checked+.vg-iva-slider::before {
    transform: translateX(18px);
}

.schedanoleggio1 .vg-iva-switch input:focus-visible+.vg-iva-slider {
    box-shadow: 0 0 0 3px rgba(47, 143, 255, .35);
}

.schedanoleggio1 .vg-iva-label {
    font-size: 13px;
    color: #6b7884;
    white-space: nowrap;
}

.schedanoleggio1 .vg-pricebox-field {
    margin-bottom: 16px;
}

.schedanoleggio1 .vg-pricebox-field-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--vg-blu);
    margin-bottom: 8px;
}

/* ---- custom radio pills (anticipo / durata / percorrenza) ---- */
.schedanoleggio1 .vg-choices {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.schedanoleggio1 .vg-choice {
    margin: 0;
    cursor: pointer;
}

.schedanoleggio1 .vg-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.schedanoleggio1 .vg-choice-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 78px;
    padding: 12px 16px;
    border: 1px solid var(--vg-line);
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    color: var(--vg-blu);
    background: #fff;
    transition: border-color .15s, color .15s, box-shadow .15s;
}

.schedanoleggio1 .vg-choice:hover .vg-choice-box {
    border-color: var(--vg-blue);
}

.schedanoleggio1 .vg-choice input:checked+.vg-choice-box {
    border-color: var(--vg-blue);
    color: var(--vg-blue);
    box-shadow: inset 0 0 0 1px var(--vg-blue);
}

.schedanoleggio1 .vg-choice input:focus-visible+.vg-choice-box {
    box-shadow: 0 0 0 3px rgba(47, 143, 255, .3);
}

/* combinazione non disponibile con le altre scelte attive: resta selezionabile,
   ma le altre scelte verranno adeguate */
.schedanoleggio1 .vg-choice--off .vg-choice-box {
    opacity: .45;
}

.schedanoleggio1 .vg-pricebox-cta {
    width: 100%;
    padding: 14px;
    font-size: 13px;
    margin-top: 6px;
}

.schedanoleggio1 .vg-pricebox-or {
    text-align: center;
    font-size: 12px;
    color: #6b7884;
    margin: 12px 0 0;
}

.schedanoleggio1 .vg-pricebox-or a {
    color: var(--vg-blue);
    font-weight: 600;
}

/* ---- altre versioni ---- */
.schedanoleggio1 .vg-altre,
.schedanoleggio1 .vg-specs-sec {
    margin-top: calc(56px + 3rem);
}

.schedanoleggio1 .vg-altre-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--vg-blu);
    margin: 0 0 22px;
}

.schedanoleggio1 .vg-grid--3 {
    grid-template-columns: repeat(3, 1fr);
}

.schedanoleggio1 .vg-altre-card {
    background: #F0F0F0;
    border-radius: 10px;
    padding: 20px 18px;
    display: flex;
    flex-direction: column;
}

.schedanoleggio1 .vg-altre-badge {
    align-self: flex-start;
    background: var(--vg-blu);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 50px;
    padding: 4px 12px;
    margin-bottom: 12px;
}

.schedanoleggio1 .vg-altre-card h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--vg-blu);
    margin: 0 0 8px;
}

.schedanoleggio1 .vg-altre-text {
    font-size: 12px;
    line-height: 1.45;
    color: var(--vg-blu);
    margin: 0 0 16px;
}

.schedanoleggio1 .vg-altre-durata {
    font-size: 14px;
    color: #8C8C8C;
    margin: 0 0 16px;
}

.schedanoleggio1 .vg-altre-price {
    margin: auto 0 2px;
    line-height: 1;
}

.schedanoleggio1 .vg-altre-price strong {
    font-size: 28px;
    font-weight: 800;
    color: var(--vg-blu);
}

.schedanoleggio1 .vg-altre-exp {
    font-size: 12px;
    color: #6b7884;
    margin: 0 0 14px;
}

.schedanoleggio1 .vg-altre-actions {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.schedanoleggio1 .vg-altre-cta {
    flex: 1 1 auto;
}

.schedanoleggio1 .vg-altre-info {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    padding: 0;
    border: 1px solid var(--vg-line);
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
}

.schedanoleggio1 .vg-altre-info:hover {
    border-color: var(--vg-blue);
    box-shadow: 0 4px 12px rgba(30, 45, 60, .1);
}

.schedanoleggio1 .vg-altre-info img {
    width: 20px;
    height: 20px;
}

/* ---- cta band ---- */
.schedanoleggio1 .vg-ctaband {
    background: #F0F0F0;
    padding: 46px 0;
}

.schedanoleggio1 .vg-ctaband h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--vg-blu);
    margin: 0 0 22px;
}

/* ---- vantaggi (5) ---- */
.schedanoleggio1 .vg-section.vg-vantaggi {
    padding: calc(56px + 3rem) 0;
}

.schedanoleggio1 .vg-vantaggi5 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 34px 22px;
}

.schedanoleggio1 .vg-vantaggi5 .vg-vantaggi-item {
    flex: 1 1 160px;
    max-width: 210px;
}

/* ---- block heads (specifiche / approfondimenti) ---- */
.schedanoleggio1 .vg-block-head {
    margin-bottom: 34px;
}

.schedanoleggio1 .vg-block-head h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--vg-red);
    margin: 0;
}

.schedanoleggio1 .vg-block-head p {
    font-size: 14px;
    color: var(--vg-blu);
    margin: 4px 0 0;
}

/* ---- video ---- */
.schedanoleggio1 .vg-video-sec {
    background: #F0F0F0;
    padding: 46px 0;
}

.schedanoleggio1 .vg-video {
    position: relative;
    display: block;
    border-radius: 12px;
    overflow: hidden;
}

.schedanoleggio1 .vg-video img {
    width: 100%;
    display: block;
}

.schedanoleggio1 .vg-video-tag {
    position: absolute;
    left: 16px;
    top: 16px;
    background: var(--vg-blue);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 6px;
}

.schedanoleggio1 .vg-video-play {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: var(--vg-red);
    display: flex;
    align-items: center;
    justify-content: center;
}

.schedanoleggio1 .vg-video-play svg {
    width: 26px;
    height: 26px;
    margin-left: 3px;
}

.schedanoleggio1 .vg-video-head {
    font-size: 24px;
    font-weight: 700;
    color: var(--vg-red);
    margin: 0 0 14px;
}

.schedanoleggio1 .vg-video-text {
    color: var(--vg-blu);
    margin: 0 0 14px;
    line-height: 1;
}

.schedanoleggio1 .vg-video-list {
    list-style: none;
    padding: 0;
    margin: 18px 0 24px;
}

.schedanoleggio1 .vg-video-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 8px;
    font-size: 14px;
    color: var(--vg-blu);
    font-weight: 600;
}

.schedanoleggio1 .vg-video-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--vg-blu);
}

/* ---- specifiche e servizi inclusi ---- */
.schedanoleggio1 .vg-specs,
.schedanoleggio1 .vg-services {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.schedanoleggio1 .vg-spec,
.schedanoleggio1 .vg-service {
    background: #F0F0F0;
    border-radius: 5px;
    padding: 18px 20px;
    font-size: 14px;
    font-weight: 600;
    color: var(--vg-blu);
    display: flex;
    align-items: center;
    justify-content: center;
}

.schedanoleggio1 .vg-spec {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.schedanoleggio1 .vg-spec span {
    font-size: 13px;
    color: var(--vg-blu);
}

.schedanoleggio1 .vg-spec strong {
    font-size: 14px;
    font-weight: 700;
    color: var(--vg-red);
}

@media (max-width: 992px) {

    .schedanoleggio1 .vg-specs,
    .schedanoleggio1 .vg-services {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {

    .schedanoleggio1 .vg-specs,
    .schedanoleggio1 .vg-services {
        grid-template-columns: 1fr;
    }
}

/* ---- faq ---- */
.schedanoleggio1 .vg-faq-sec {
    background: #F0F0F0;
}

.schedanoleggio1 .vg-faq {
    max-width: 860px;
    margin: 0 auto;
}

.schedanoleggio1 .vg-faq-item {
    border-bottom: 1px solid #8896AB;
}

.schedanoleggio1 .vg-faq-q {
    width: 100%;
    background: none;
    border: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    text-align: left;
    padding: 18px 4px;
    font-size: 15px;
    font-weight: 500;
    color: var(--vg-blu);
}

.schedanoleggio1 .vg-faq-q i {
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    position: relative;
    transition: transform .25s;
}

.schedanoleggio1 .vg-faq-q i::before,
.schedanoleggio1 .vg-faq-q i::after {
    content: "";
    position: absolute;
    background: var(--vg-blue);
}

.schedanoleggio1 .vg-faq-q i::before {
    left: 0;
    top: 5px;
    width: 12px;
    height: 2px;
}

.schedanoleggio1 .vg-faq-q i::after {
    left: 5px;
    top: 0;
    width: 2px;
    height: 12px;
    transition: opacity .25s;
}

.schedanoleggio1 .vg-faq-q[aria-expanded="true"] i::after {
    opacity: 0;
}

.schedanoleggio1 .vg-faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
}

.schedanoleggio1 .vg-faq-a p {
    font-size: 14px;
    line-height: 1.6;
    color: #5a6b78;
    margin: 0 4px 18px;
}

@media (max-width: 992px) {
    .schedanoleggio1 .vg-grid--3 {
        grid-template-columns: 1fr;
    }

    .schedanoleggio1 .vg-pricebox {
        position: static;
        margin-top: 8px;
    }
}/* =========================================================
   VaiGo — Area Fleet Manager (area_fleet_manager-1)
   ========================================================= */

/* ---- button variant: outline chiaro su fondo scuro ---- */
.areafleetmanager1 .vg-btn-outline-light {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .8);
}

.areafleetmanager1 .vg-btn-outline-light:hover {
    background: #fff;
    color: var(--vg-blu);
}

/* ---- section head ---- */
.areafleetmanager1 .afm-head {
    text-align: center;
    margin: 0 auto 40px;
}

.areafleetmanager1 .afm-head h2 {
    font-size: 26px;
    font-weight: 700;
    color: var(--vg-red);
    margin: 0 0 10px;
}

.areafleetmanager1 .afm-head p {
    font-size: 15px;
    color: var(--vg-blu);
    margin: 0;
}

/* ---- gruppo bottoni centrato ---- */
.areafleetmanager1 .afm-cta {
    padding-top: 0;
}

.areafleetmanager1 .afm-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-top: 40px;
}

/* =========================================================
   HERO
   ========================================================= */
.areafleetmanager1 .afm-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, var(--vg-blu) 0%, #265388 100%);
    color: #fff;
}

.areafleetmanager1 .afm-hero-inner {
    display: flex;
    align-items: center;
    gap: 40px;
    min-height: 420px;
    padding: 56px 0;
}

.areafleetmanager1 .afm-hero-text {
    flex: 1 1 50%;
}

.areafleetmanager1 .afm-hero-text h1 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 16px;
}

.areafleetmanager1 .afm-hero-text>p {
    font-size: 18px;
    color: rgba(255, 255, 255, .85);
    margin: 0 0 28px;
}

.areafleetmanager1 .afm-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.areafleetmanager1 .afm-hero-media {
    position: relative;
    flex: 1 1 50%;
    min-height: 360px;
}

.areafleetmanager1 .afm-hero-fig {
    position: relative;
    z-index: 1;
    margin: 0;
    text-align: center;
}

.areafleetmanager1 .afm-hero-fig--top {
    width: 80%;
    margin-left: auto;
}

/* =========================================================
   CATEGORIE
   ========================================================= */
.areafleetmanager1 .afm-cats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.areafleetmanager1 .afm-cat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 10px;
    color: var(--vg-blu);
    transition: transform .2s;
}

.areafleetmanager1 .afm-cat-card:hover {
    transform: translateY(-4px);
}

.areafleetmanager1 .afm-cat-card img {
    height: 110px;
    width: auto;
    object-fit: contain;
}

.areafleetmanager1 .afm-cat-label {
    text-align: center;
    font-size: 16px;
    line-height: 1.3;
    color: var(--vg-blu);
}

.areafleetmanager1 .afm-cat-label strong {
    color: var(--vg-red);
    font-weight: 700;
    text-transform: uppercase;
}

/* =========================================================
   BAND (sezioni scure)
   ========================================================= */
.areafleetmanager1 .afm-band {
    background: var(--vg-blu);
    color: #fff;
    padding: 75px 0;
}

.areafleetmanager1 .afm-band-inner {
    display: flex;
    align-items: center;
    gap: 50px;
}

.areafleetmanager1 .afm-band-media {
    position: relative;
    flex: 1 1 50%;
    text-align: center;
}

.areafleetmanager1 .afm-band-media img {
    position: relative;
    z-index: 1;
    max-width: 100%;
    max-height: 300px;
}

.areafleetmanager1 .afm-band-text {
    flex: 1 1 50%;
}

.areafleetmanager1 .afm-band-text h2 {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 18px;
}

.areafleetmanager1 .afm-band-text>p {
    font-size: 16px;
    color: rgba(255, 255, 255, .85);
    margin: 0 0 24px;
}

.areafleetmanager1 .afm-band-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

.areafleetmanager1 .afm-badge {
    display: inline-flex;
    align-items: center;
    background: var(--vg-red);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-radius: 6px;
    padding: 11px 18px;
}

/* =========================================================
   SOLUZIONI (profili circolari)
   ========================================================= */
.areafleetmanager1 .afm-soluzioni {
    padding: calc(56px + 3rem) 0;
}

.areafleetmanager1 .afm-profiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 65px;
    max-width: 850px;
    margin: 0 auto;
}

.areafleetmanager1 .afm-profile {
    text-align: center;
}

.areafleetmanager1 .afm-profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.areafleetmanager1 .afm-profile-label {
    font-size: 16px;
    line-height: 1.3;
    color: var(--vg-blu);
}

.areafleetmanager1 .afm-profile-label strong {
    color: var(--vg-red);
    font-weight: 700;
    text-transform: uppercase;
}

/* =========================================================
   ALLESTIMENTI (gallery)
   ========================================================= */
.areafleetmanager1 .afm-allestimenti {
    padding: calc(56px + 3rem) 0;
}

.areafleetmanager1 .afm-allest-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.areafleetmanager1 .afm-allest-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.areafleetmanager1 .afm-allest-item img {
    max-height: 150px;
    width: auto;
    object-fit: contain;
}

/* =========================================================
   BRAND
   ========================================================= */
.areafleetmanager1 .afm-brands {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 750px;
    margin: 0 auto;
}

.areafleetmanager1 .afm-brands .vg-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e6ea;
    border-radius: 8px;
    padding: 22px 16px;
    background: #fff;
    transition: box-shadow .2s, border-color .2s;
}

.areafleetmanager1 .afm-brands .vg-brand:hover {
    box-shadow: 0 10px 22px rgba(30, 45, 60, .08);
    border-color: #d2d8df;
}

.areafleetmanager1 .afm-brands .vg-brand img {
    max-height: 60px;
    width: auto;
    object-fit: contain;
}

/* =========================================================
   BOOKING (videochiamata)
   ========================================================= */
.areafleetmanager1 .afm-booking {
    display: flex;
    justify-content: center;
}

.areafleetmanager1 .afm-booking-cal {
    width: 100%;
    max-width: 460px;
    background: #fff;
    border: 1px solid var(--vg-line);
    border-radius: 14px;
    padding: 26px;
    box-shadow: 0 14px 34px rgba(30, 45, 60, .10);
    text-align: center;
}

.areafleetmanager1 .afm-booking-cal-head {
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: left;
    margin-bottom: 22px;
}

.areafleetmanager1 .afm-booking-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--vg-red);
}

.areafleetmanager1 .afm-booking-cal-head small {
    display: block;
    font-size: 12px;
    color: #6b7884;
}

.areafleetmanager1 .afm-booking-cal-head strong {
    font-size: 17px;
    color: var(--vg-blu);
}

.areafleetmanager1 .afm-booking-or {
    font-size: 13px;
    color: #6b7884;
    margin: 14px 0 0;
}

.areafleetmanager1 .afm-booking-or a {
    color: var(--vg-blue);
    font-weight: 600;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 992px) {

    .areafleetmanager1 .afm-hero-inner,
    .areafleetmanager1 .afm-band-inner {
        flex-direction: column;
        text-align: center;
    }

    .areafleetmanager1 .afm-hero-actions,
    .areafleetmanager1 .afm-band-actions {
        justify-content: center;
    }

    .areafleetmanager1 .afm-brands {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 640px) {
    .areafleetmanager1 .afm-hero-text h1 {
        font-size: 28px;
    }

    .areafleetmanager1 .afm-cats,
    .areafleetmanager1 .afm-profiles,
    .areafleetmanager1 .afm-allest-grid {
        grid-template-columns: 1fr;
    }

    .areafleetmanager1 .afm-brands {
        grid-template-columns: repeat(2, 1fr);
    }

    .areafleetmanager1 .afm-band-text h2,
    .areafleetmanager1 .afm-head h2 {
        font-size: 20px;
    }
}/* =========================================================
   VaiGo — Chi siamo / Scopri Leonori VaiGo Rent (chisiamo-2)
   ========================================================= */

/* ---- hero / titolo pagina ---- */
.chisiamo2 .cs-hero {
    background: var(--vg-blu);
    color: #fff;
    padding: 26px 0;
}

.chisiamo2 .cs-hero h1 {
    font-size: 22px;
    font-weight: 700;
    margin: 0;
}

/* ---- layout a due colonne ---- */
.chisiamo2 .cs-row {
    display: flex;
    align-items: center;
    gap: 60px;
}

.chisiamo2 .cs-col {
    flex: 1 1 50%;
    min-width: 0;
}

/* ---- testi ---- */
.chisiamo2 .cs-title {
    font-size: 30px;
    font-weight: 700;
    color: var(--vg-red);
    margin: 0 0 6px;
}

.chisiamo2 .cs-subtitle {
    font-size: 19px;
    font-weight: 600;
    color: var(--vg-blu);
    margin: 0 0 26px;
}

.chisiamo2 .cs-col-text p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--vg-blu);
    margin: 0 0 16px;
}

.chisiamo2 .cs-col-text p strong {
    color: var(--vg-blu);
    font-weight: 700;
}

/* ---- liste numerate ---- */
.chisiamo2 .cs-list {
    list-style: none;
    counter-reset: cs;
    margin: 0 0 16px;
    padding: 0;
}

.chisiamo2 .cs-list li {
    counter-increment: cs;
    position: relative;
    padding-left: 28px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--vg-blu);
    margin-bottom: 14px;
}

.chisiamo2 .cs-list li::before {
    content: counter(cs) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    color: var(--vg-red);
}

.chisiamo2 .cs-list li strong {
    font-weight: 700;
}

/* ---- cta ---- */
.chisiamo2 .cs-cta {
    margin-top: 10px;
    padding: 14px 30px;
    font-size: 13px;
}

/* =========================================================
   IMMAGINI "BLOB" con accento colorato
   ========================================================= */
.chisiamo2 .cs-blob {
    position: relative;
    margin: 0 auto;
    max-width: 440px;
}

.chisiamo2 .cs-blob img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 46% 54% 52% 48% / 52% 46% 54% 48%;
}

/* =========================================================
   SFONDI ALTERNATI
   ========================================================= */
.chisiamo2 .cs-vantaggi {
    background: #F0F0F0;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 992px) {
    .chisiamo2 .cs-row {
        flex-direction: column;
        gap: 36px;
    }

    .chisiamo2 .cs-col {
        flex: 1 1 100%;
        width: 100%;
    }

    /* immagine sempre sopra al testo su mobile */
    .chisiamo2 .cs-col-media {
        order: -1;
    }

    .chisiamo2 .cs-blob {
        max-width: 360px;
    }
}

@media (max-width: 640px) {
    .chisiamo2 .cs-title {
        font-size: 24px;
    }

    .chisiamo2 .cs-subtitle {
        font-size: 16px;
    }

    .chisiamo2 .cs-hero h1 {
        font-size: 18px;
    }
}/* =========================================================
   VaiGo — Prenota videochiamata (prenota_videochiamata-1)
   ========================================================= */

/* ---- hero / titolo pagina ---- */
.prenotavideochiamata1 .pv-hero {
    background: var(--vg-blu);
    color: #fff;
    padding: 26px 0;
}

.prenotavideochiamata1 .pv-hero h1 {
    font-size: 22px;
    font-weight: 700;
    margin: 0;
}

/* ---- layout a due colonne ---- */
.prenotavideochiamata1 .pv-row {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

.prenotavideochiamata1 .pv-col-text {
    flex: 0 1 40%;
    min-width: 0;
}

.prenotavideochiamata1 .pv-col-widget {
    flex: 1 1 60%;
    min-width: 0;
}

/* ---- testi ---- */
.prenotavideochiamata1 .pv-title {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--vg-red);
    margin: 0 0 14px;
}

.prenotavideochiamata1 .pv-subtitle {
    font-size: 20px;
    font-weight: 600;
    color: var(--vg-blu);
    margin: 0 0 26px;
}

.prenotavideochiamata1 .pv-col-text p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--vg-blu);
    margin: 0 0 18px;
}

.prenotavideochiamata1 .pv-highlight {
    color: var(--vg-red) !important;
    font-weight: 700;
}

/* ---- elenco puntato ---- */
.prenotavideochiamata1 .pv-list {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
}

.prenotavideochiamata1 .pv-list li {
    position: relative;
    padding-left: 22px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--vg-blu);
    margin-bottom: 10px;
}

.prenotavideochiamata1 .pv-list li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--vg-blu);
}

/* ---- widget HubSpot ---- */
.prenotavideochiamata1 .meetings-iframe-container {
    width: 100%;
    min-height: 660px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(30, 45, 60, .12);
}

.prenotavideochiamata1 .meetings-iframe-container iframe {
    width: 100% !important;
    min-height: 660px;
    border: 0;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 992px) {
    .prenotavideochiamata1 .pv-row {
        flex-direction: column;
        gap: 36px;
    }

    .prenotavideochiamata1 .pv-col-text,
    .prenotavideochiamata1 .pv-col-widget {
        flex: 1 1 100%;
        width: 100%;
    }
}

@media (max-width: 640px) {
    .prenotavideochiamata1 .pv-title {
        font-size: 28px;
    }

    .prenotavideochiamata1 .pv-subtitle {
        font-size: 16px;
    }

    .prenotavideochiamata1 .pv-hero h1 {
        font-size: 18px;
    }
}/* =========================================================
   QUALIFICA LEAD - secondo step del form contatto (VaiGo)
   ========================================================= */
.vg-qualifica .ql-section {
    padding: 48px 0 72px;
}

.vg-qualifica .ql-card {
    max-width: 620px;
    margin-inline: auto;
    background: linear-gradient(135deg, #ECECEC 0%, #CCDFF6 100%);
    border-radius: 10px;
    padding: 40px;
}

.vg-qualifica .ql-eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--vg-blue);
    margin: 0 0 8px;
}

.vg-qualifica .ql-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--vg-blu);
    margin: 0 0 10px;
}

.vg-qualifica .ql-sub {
    font-size: 15px;
    color: var(--vg-dark);
    margin: 0 0 28px;
}

.vg-qualifica .ql-errore {
    background: #fff;
    border-left: 3px solid var(--vg-red);
    border-radius: 4px;
    padding: 12px 14px;
    font-size: 14px;
    color: var(--vg-red);
    margin: 0 0 22px;
}

.vg-qualifica .ql-domanda {
    border: 0;
    margin: 0 0 24px;
    padding: 0;
}

.vg-qualifica .ql-domanda legend {
    float: none;
    font-size: 15px;
    font-weight: 600;
    color: var(--vg-blu);
    margin-bottom: 12px;
}

.vg-qualifica .ql-domanda.is-invalid legend {
    color: var(--vg-red);
}

.vg-qualifica .ql-scelte {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.vg-qualifica .ql-scelta {
    flex: 1 1 180px;
    background: #fff;
    border: 1px solid var(--vg-line);
    border-radius: 6px;
    cursor: pointer;
    padding: 14px 16px;
    font-size: 14px;
    color: var(--vg-blu);
    transition: border-color .2s, color .2s;
}

.vg-qualifica .ql-scelta input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.vg-qualifica .ql-scelta:has(input:checked) {
    border-color: var(--vg-blue);
    color: var(--vg-blue);
    font-weight: 600;
}

.vg-qualifica .ql-submit {
    width: 100%;
    padding: 16px;
    font-size: 13px;
    margin-top: 4px;
}

.vg-qualifica .ql-nota {
    font-size: 13px;
    color: var(--vg-muted);
    text-align: center;
    margin: 18px 0 0;
}

@media (max-width: 640px) {
    .vg-qualifica .ql-card {
        padding: 26px 20px;
    }

    .vg-qualifica .ql-title {
        font-size: 22px;
    }

    .vg-qualifica .ql-scelta {
        flex: 1 1 100%;
    }
}
/* =========================================================
   VaiGo — Area Fleet Manager (area_fleet_manager-1)
   ========================================================= */

/* ---- button variant: outline chiaro su fondo scuro ---- */
.veicoliallestiti1 .vg-btn-outline-light {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .8);
}

.veicoliallestiti1 .vg-btn-outline-light:hover {
    background: #fff;
    color: var(--vg-blu);
}

/* ---- section head ---- */
.veicoliallestiti1 .va-head {
    margin: 0 auto 40px;
}

.veicoliallestiti1 .va-head h2 {
    font-size: 26px;
    font-weight: 700;
    color: var(--vg-red);
    margin: 0 0 10px;
}

.veicoliallestiti1 .va-profile h3 {
    font-size: 20px;
    font-weight: 700;
}

.veicoliallestiti1 .va-head p {
    font-size: 15px;
    color: var(--vg-blu);
    margin: 0;
    max-width: 760px;
}

/* ---- gruppo bottoni centrato ---- */
.veicoliallestiti1 .va-cta {
    padding-top: 0;
}

.veicoliallestiti1 .va-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-top: 40px;
}

/* =========================================================
   HERO
   ========================================================= */
.veicoliallestiti1 .va-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, var(--vg-blu) 0%, #265388 100%);
    color: #fff;
}

.veicoliallestiti1 .va-hero-inner {
    display: flex;
    align-items: center;
    gap: 40px;
    min-height: 420px;
    padding: 56px 0;
}

.veicoliallestiti1 .va-hero-text {
    flex: 1 1 50%;
}

.veicoliallestiti1 .va-hero-text h1 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 16px;
}

.veicoliallestiti1 .va-hero-text>p {
    font-size: 18px;
    color: rgba(255, 255, 255, .85);
    margin: 0 0 28px;
}

.veicoliallestiti1 .va-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.veicoliallestiti1 .va-hero-media {
    position: relative;
    flex: 1 1 50%;
    min-height: 360px;
}

.veicoliallestiti1 .va-hero-fig {
    position: relative;
    z-index: 1;
    margin: 0;
    text-align: center;
}

.veicoliallestiti1 .va-hero-fig--top {
    width: 80%;
    margin-left: auto;
}

/* =========================================================
   CATEGORIE
   ========================================================= */
.veicoliallestiti1 .va-cats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.veicoliallestiti1 .va-cat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 10px;
    color: var(--vg-blu);
    transition: transform .2s;
}

.veicoliallestiti1 .va-cat-card:hover {
    transform: translateY(-4px);
}

.veicoliallestiti1 .va-cat-card img {
    height: 110px;
    width: auto;
    object-fit: contain;
}

.veicoliallestiti1 .va-cat-label {
    text-align: center;
    font-size: 16px;
    line-height: 1.3;
    color: var(--vg-blu);
}

.veicoliallestiti1 .va-cat-label strong {
    color: var(--vg-red);
    font-weight: 700;
    text-transform: uppercase;
}

/* =========================================================
   BAND (sezioni scure)
   ========================================================= */
.veicoliallestiti1 .va-band {
    background: var(--vg-blu);
    color: #fff;
    padding: 75px 0;
}

.veicoliallestiti1 .va-band-inner {
    display: flex;
    align-items: center;
    gap: 50px;
}

.veicoliallestiti1 .va-band-media {
    position: relative;
    flex: 1 1 50%;
    text-align: end;
}

.veicoliallestiti1 .va-band-media img {
    position: relative;
    z-index: 1;
    max-width: 100%;
    max-height: 300px;
}

.veicoliallestiti1 .va-band-text {
    flex: 1 1 50%;
}

.veicoliallestiti1 .va-band-text h2 {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 18px;
}

.veicoliallestiti1 .va-band-text>p {
    font-size: 16px;
    color: rgba(255, 255, 255, .85);
    margin: 0 0 24px;
}

.veicoliallestiti1 .va-band-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

.veicoliallestiti1 .va-badge {
    display: inline-flex;
    align-items: center;
    background: var(--vg-red);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-radius: 6px;
    padding: 11px 18px;
}

/* =========================================================
   SOLUZIONI (profili circolari)
   ========================================================= */
.veicoliallestiti1 .va-soluzioni {
    padding: calc(56px + 3rem) 0;
}

.veicoliallestiti1 .va-profiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 65px;
    margin: 0 auto;
}

.veicoliallestiti1 .va-profile {
    font-size: 14px;
}

.veicoliallestiti1 .va-profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.veicoliallestiti1 .va-profile-label {
    font-size: 16px;
    line-height: 1.3;
    color: var(--vg-blu);
}

.veicoliallestiti1 .va-profile-label strong {
    color: var(--vg-red);
    font-weight: 700;
    text-transform: uppercase;
}

/* =========================================================
   ALLESTIMENTI (gallery)
   ========================================================= */
.veicoliallestiti1 .va-allestimenti {
    padding: calc(56px + 3rem) 0;
}

.veicoliallestiti1 .va-allest-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
}

.veicoliallestiti1 .va-allest-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.veicoliallestiti1 .va-allest-grid-item {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 15px;
}

.veicoliallestiti1 .va-allest-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 10px;
}

.veicoliallestiti1 .va-allest-item img {
    max-height: 150px;
    width: auto;
    object-fit: contain;
}

.veicoliallestiti1 .va-allest-item .va-allest-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--vg-blu);
    text-align: center;
}

/* =========================================================
   BRAND
   ========================================================= */
.veicoliallestiti1 .va-brands {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 750px;
    margin: 0 auto;
}

.veicoliallestiti1 .va-brands .vg-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e6ea;
    border-radius: 8px;
    padding: 22px 16px;
    background: #fff;
    transition: box-shadow .2s, border-color .2s;
}

.veicoliallestiti1 .va-brands .vg-brand:hover {
    box-shadow: 0 10px 22px rgba(30, 45, 60, .08);
    border-color: #d2d8df;
}

.veicoliallestiti1 .va-brands .vg-brand img {
    max-height: 60px;
    width: auto;
    object-fit: contain;
}

/* =========================================================
   BOOKING (videochiamata)
   ========================================================= */
.veicoliallestiti1 .va-booking {
    display: flex;
    justify-content: center;
}

.veicoliallestiti1 .va-booking-cal {
    width: 100%;
    max-width: 460px;
    background: #fff;
    border: 1px solid var(--vg-line);
    border-radius: 14px;
    padding: 26px;
    box-shadow: 0 14px 34px rgba(30, 45, 60, .10);
    text-align: center;
}

.veicoliallestiti1 .va-booking-cal-head {
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: left;
    margin-bottom: 22px;
}

.veicoliallestiti1 .va-booking-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--vg-red);
}

.veicoliallestiti1 .va-booking-cal-head small {
    display: block;
    font-size: 12px;
    color: #6b7884;
}

.veicoliallestiti1 .va-booking-cal-head strong {
    font-size: 17px;
    color: var(--vg-blu);
}

.veicoliallestiti1 .va-booking-or {
    font-size: 13px;
    color: #6b7884;
    margin: 14px 0 0;
}

.veicoliallestiti1 .va-booking-or a {
    color: var(--vg-blue);
    font-weight: 600;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 992px) {

    .veicoliallestiti1 .va-hero-inner,
    .veicoliallestiti1 .va-band-inner {
        flex-direction: column;
        text-align: center;
    }

    .veicoliallestiti1 .va-hero-actions,
    .veicoliallestiti1 .va-band-actions {
        justify-content: center;
    }

    .veicoliallestiti1 .va-brands {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 640px) {
    .veicoliallestiti1 .va-hero-text h1 {
        font-size: 28px;
    }

    .veicoliallestiti1 .va-cats,
    .veicoliallestiti1 .va-profiles,
    .veicoliallestiti1 .va-allest-grid,
    .veicoliallestiti1 .va-allest-grid-2 {
        grid-template-columns: 1fr;
    }

    .veicoliallestiti1 .va-brands {
        grid-template-columns: repeat(2, 1fr);
    }

    .veicoliallestiti1 .va-band-text h2,
    .veicoliallestiti1 .va-head h2 {
        font-size: 20px;
    }

    .veicoliallestiti1 .va-profile h3 {
        font-size: 18px;
    }
}/* =========================================================
   THANK YOU - variante VaiGo
   ========================================================= */
.vg-thankyou {
    background: #F2F5F9;
}

.vg-thankyou .ty-section {
    padding-bottom: 72px;
}

/* stessa fascia blu dello slider in home e della pagina di qualifica */
.vg-thankyou .ty-hero {
    background: #0c2748 radial-gradient(58% 130% at 62% 40%, #3d84e6 0%, #1c4f96 52%, #0c2748 100%);
    color: #fff;
    padding: 52px 0 110px;
    text-align: center;
}

.vg-thankyou .ty-spunta {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #2FB37A;
    margin-bottom: 20px;
}

.vg-thankyou .ty-spunta::after {
    content: "";
    position: absolute;
    left: 19px;
    top: 13px;
    width: 12px;
    height: 22px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.vg-thankyou .ty-title {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 12px;
}

.vg-thankyou .ty-sub {
    font-size: 16px;
    color: rgba(255, 255, 255, .85);
    max-width: 480px;
    margin: 0 auto;
}

/* la card sale sopra la fascia blu */
.vg-thankyou .ty-card {
    max-width: 620px;
    margin: -70px auto 0;
    background: #fff;
    border-radius: 12px;
    padding: 32px 40px;
    text-align: center;
    box-shadow: 0 18px 44px rgba(12, 39, 72, .16);
}

.vg-thankyou .ty-card-titolo {
    font-size: 16px;
    font-weight: 600;
    color: var(--vg-blu);
    margin: 0 0 18px;
}

.vg-thankyou .ty-azioni {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.vg-thankyou .ty-azioni .vg-btn {
    padding: 15px 26px;
}

.vg-thankyou .ty-link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 26px;
    border-top: 1px solid #E4E9F0;
    margin-top: 26px;
    padding-top: 22px;
}

.vg-thankyou .ty-link a {
    font-size: 14px;
    color: var(--vg-blue);
}

.vg-thankyou .ty-link a:hover {
    color: var(--vg-blue-d);
}

@media (max-width: 640px) {
    .vg-thankyou .ty-hero {
        padding: 40px 0 96px;
    }

    .vg-thankyou .ty-title {
        font-size: 25px;
    }

    .vg-thankyou .ty-sub {
        font-size: 15px;
    }

    .vg-thankyou .ty-card {
        padding: 26px 20px;
        margin-top: -64px;
    }

    .vg-thankyou .ty-azioni .vg-btn {
        width: 100%;
    }
}
/* =========================================================
   VaiGo Leonori Rent — azienda id 9
   Homepage custom styles
   ========================================================= */

body,
body * {
    font-family: 'Alexandria', -apple-system, "Segoe UI", Roboto, sans-serif;
}

body {
    background: #fff;
    color: #2b3742;
}

body a {
    text-decoration: none;
}

:root {
    --vg-blue: #2F8FFF;
    --vg-blue-d: #1f6fe0;
    --vg-red: #E9474C;
    --vg-navy: #263747;
    --vg-dark: #2a3742;
    --vg-price: #E8484D;
    --vg-line: #8896AB;
    --vg-muted: #8a949e;
    --vg-blu: #213343;
    --vg-celeste: #2ebdee;
}

.stretched-link {
    position: initial;
}

.flex-1 {
    flex: 1;
}

@media (min-width: 992px) {
    .col-lg-20 {
        flex: 0 0 auto;
        width: 20%;
    }

    .col-lg-80 {
        flex: 0 0 auto;
        width: 80%;
    }
}

/* ---------- buttons ---------- */
.vg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 12px 22px;
    line-height: 1;
    transition: background .2s, color .2s, border-color .2s;
}

.vg-btn-primary {
    background: var(--vg-blue);
    color: #fff;
}

.vg-btn-primary:hover {
    background: var(--vg-blue-d);
    color: #fff;
}

.vg-btn-dark {
    background: var(--vg-dark);
    color: #fff;
}

.vg-btn-dark:hover {
    background: #1c2630;
    color: #fff;
}

.vg-btn-outline {
    color: var(--vg-blue);
    border: 1px solid var(--vg-blue);
}

.vg-btn-outline:hover {
    background: var(--vg-blue);
    color: #fff;
}

.vg-btn-blu {
    background: var(--vg-blu);
    color: #fff;
}

.vg-btn-blu:hover {
    background: #1c2630;
    color: #fff;
}

/* ---------- logo ---------- */
.vg-logo {
    display: inline-flex;
    flex-direction: column;
    line-height: 1;
}

.vg-logo-main {
    font-style: italic;
    font-weight: 800;
    font-size: 30px;
    letter-spacing: -.02em;
    color: #14171a;
    position: relative;
}

.vg-logo-main::before {
    content: "";
    position: absolute;
    left: -2px;
    right: -6px;
    top: -6px;
    height: 7px;
    border-top: 3px solid var(--vg-red);
    border-radius: 50%;
    transform: rotate(-3deg);
}

.vg-logo-go {
    color: var(--vg-red);
}

.vg-logo-sub {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #14171a;
    margin-top: 3px;
}

.vg-logo-sub strong {
    color: var(--vg-red);
}

/* =========================================================
   HERO
   ========================================================= */
.vg-home .vg-hero {
    position: relative;
    padding-bottom: 20px;
}

.vg-home .vg-hero-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    color: var(--vg-blu);
    margin: 34px 0;
}

/* ---------- ricerca rapida sotto lo slider ---------- */
.vg-home .vg-hero-filtri {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px 34px;
    background: linear-gradient(135deg, #ECECEC 0%, #CCDFF6 100%);
    border-radius: 10px;
    padding: 24px 28px;
    margin-top: 16px;
}

/* senza min-width le colonne si allargano per contenere la striscia delle categorie */
.vg-home .vg-hero-filtri>* {
    min-width: 0;
}

.vg-home .vg-hero-filtri-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--vg-blu);
    margin-bottom: 12px;
}

.vg-home .vg-hero-tipo-btns {
    display: grid;
    gap: 10px;
}

.vg-home .vg-tipo-btn {
    background: #fff;
    border: 1px solid var(--vg-line);
    border-radius: 6px;
    cursor: pointer;
    padding: 13px 18px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    line-height: 1;
    color: var(--vg-blu);
    transition: border-color .2s, color .2s;
}

.vg-home .vg-tipo-btn.is-active {
    border-color: var(--vg-blue);
    color: var(--vg-blue);
}

.vg-home .vg-hero-cats {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
}

.vg-home .vg-hero-cat {
    /* le categorie stanno tutte su una riga sola, qualunque sia il loro numero:
       si dividono lo spazio in parti uguali, con un tetto per quando sono poche */
    flex: 1 1 0;
    min-width: 0;
    max-width: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 92px;
    background: #fff;
    border: 1px solid var(--vg-line);
    border-radius: 6px;
    cursor: pointer;
    padding: 12px 8px;
    text-align: center;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    line-height: 1.2;
    color: var(--vg-blu);
    transition: border-color .2s, color .2s;
}

.vg-home .vg-hero-cat img {
    height: 26px;
    width: auto;
}

.vg-home .vg-hero-cat input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.vg-home .vg-hero-cat:has(input:checked) {
    border-color: var(--vg-blue);
    color: var(--vg-blue);
}

/* l'icona segue il colore del riquadro selezionato */
.vg-home .vg-hero-cat:has(input:checked) img {
    filter: invert(52%) sepia(72%) saturate(2600%) hue-rotate(196deg) brightness(102%) contrast(101%);
}

.vg-home .vg-hero-filtri-cta {
    align-self: end;
    padding-bottom: 24px;
}

/* =========================================================
   SECTIONS
   ========================================================= */
.vg-section {
    padding: 56px 0 calc(56px + 3rem) 0;
}

.vg-section-head {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin-bottom: 36px;
}

.vg-section-head h2 {
    font-size: 25px;
    font-weight: 700;
    margin: 0;
    color: var(--vg-red);
}

/* styled select / dropdown */
.vg-select {
    position: relative;
}

.vg-select select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("/assets/img/custom/17/arrow-down-icon.svg");
    background-repeat: no-repeat;
    background-position: right center;
    background-color: transparent;
    border: 0;
    font-size: 25px;
    font-weight: 400;
    color: var(--vg-blu);
    cursor: pointer;
    padding: 0 43px 0 10px;
    border-bottom: 1px solid var(--vg-line);
    outline: none;
}

.vg-select.white select {
    color: #fff;
}

.vg-select.white select option {
    color: var(--vg-blu);
}

/* grids */
.vg-grid {
    display: grid;
    gap: 22px;
}

.vg-grid--4 {
    grid-template-columns: repeat(4, 1fr);
}

.vg-grid--6 {
    grid-template-columns: repeat(6, 1fr);
}

.vg-section-cta {
    text-align: center;
    margin-top: 36px;
}

/* ---------- product card ---------- */
.vg-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--vg-line);
    border-radius: 10px;
    padding: 18px 16px 0;
    text-align: center;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto .75fr auto 1fr auto auto;
    transition: box-shadow .2s, transform .2s;
}

.vg-card-head {
    grid-row: 1;
}

.vg-card-badge {
    grid-row: 2;
}

.vg-car-img {
    grid-row: 3;
}

.vg-card-trim {
    grid-row: 4;
}

.vg-card-fuel {
    grid-row: 5;
}

.vg-card-price {
    grid-row: 6;
}

.vg-card-foot {
    grid-row: 8;
    align-self: end;
}

.vg-card:hover {
    box-shadow: 0 14px 30px rgba(30, 45, 60, .12);
    transform: translateY(-3px);
}

.vg-card-head {
    line-height: 1.1;
    margin-bottom: 6px;
}

.vg-card-brand {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: #2b3742;
}

.vg-card-model {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: var(--vg-blue);
}

.vg-car-img {
    width: 78%;
    max-width: 200px;
    height: auto;
    margin: 6px auto 8px;
    display: block;
}

/* foto reale dell'annuncio: stesso ingombro del segnaposto */
.vg-car-img--foto {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: 6px;
    margin: 6px 0 8px;
}

.vg-card-badge {
    display: block;
    margin: 8px -16px 10px;
    padding: 6px 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    text-align: center;
    color: #fff;
}

.vg-card-badge--pronta {
    background: var(--vg-red);
}

.vg-card-badge--consegna {
    background: var(--vg-blu);
}

.vg-card-trim {
    font-weight: 600;
    color: #3a4650;
    margin: 4px 0 2px;
}

.vg-card-fuel {
    font-size: 12px;
    color: #223343;
    margin: 0 0 8px;
}

.vg-card-price {
    margin: 0 0 14px;
    line-height: 1;
}

.vg-card-price strong {
    font-size: 40px;
    font-weight: 800;
    color: var(--vg-price);
    display: block;
}

.vg-card-price small {
    font-size: 12px;
    color: #223343;
}

.vg-card-foot {
    margin: 0 -16px;
    padding: 11px 8px;
    font-size: 11px;
    color: #223343;
    font-weight: 500;
    background: #F0F0F0;
    border-top: 1px solid var(--vg-line);
}

/* ---------- category cards ---------- */
.vg-cat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #fff;
    border: 1px solid var(--vg-line);
    border-radius: 8px;
    padding: 22px 10px;
    color: #2b3742;
    transition: box-shadow .2s, border-color .2s;
}

.vg-cat:hover {
    box-shadow: 0 10px 22px rgba(30, 45, 60, .10);
    border-color: #d2d8df;
}

.vg-cat .vg-car-img {
    width: 64px;
    margin: 0;
}

.vg-cat span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #45525d;
    text-align: center;
}

/* ---------- highlight (red) section ---------- */
.vg-section--highlight {
    background: #223343;
    padding: calc(56px + 3rem) 0;
}

.vg-section--highlight .vg-select select {
    color: #fff;
    background-image: url("/assets/img/custom/17/arrow-down-white-icon.svg");
}

.vg-section--highlight .vg-select select option {
    color: var(--vg-blu);
}

.vg-section--highlight .vg-select::after {
    color: #fff;
}

/* ---------- brand loghi ---------- */
.vg-section--brands {
    padding: calc(56px + 3rem) 0;
}

.vg-brands {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
    align-items: stretch;
}

.vg-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e6ea;
    border-radius: 8px;
    padding: 18px 14px;
    background: #fff;
    transition: box-shadow .2s, border-color .2s;
}

.vg-brand:hover {
    box-shadow: 0 10px 22px rgba(30, 45, 60, .08);
    border-color: #d2d8df;
}

.vg-brand img {
    max-height: 100px;
    width: auto;
    object-fit: contain;
}

/* ---------- vantaggi del noleggio ---------- */
.vg-vantaggi-grid {
    gap: 34px 22px;
}

.vg-vantaggi-item {
    text-align: center;
}

.vg-vantaggi-ico {
    display: inline-flex;
    color: var(--vg-red);
    margin-bottom: 12px;
}

.vg-vantaggi-ico svg {
    width: 40px;
    height: 40px;
}

.vg-vantaggi-item h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--vg-blu);
    margin: 0 0 8px;
}

.vg-vantaggi-item p {
    font-size: 13px;
    line-height: 1.5;
    color: var(--vg-blu);
    margin: 0;
    max-width: 230px;
    margin-inline: auto;
}

/* ---------- leonori spa (stats) ---------- */
.vg-section--stats {
    background: #F0F0F0;
    padding: calc(56px + 3rem) 0;
}

.vg-stats-head {
    text-align: center;
    margin-bottom: 50px;
}

.vg-stats-head h2 {
    font-size: 30px;
    font-weight: 800;
    color: var(--vg-red);
    margin: 0 0 10px;
    letter-spacing: .02em;
}

.vg-stats-head h2 span {
    font-weight: 600;
}

.vg-stats-head p {
    font-size: 15px;
    color: var(--vg-blu);
    margin: 0 auto;
    font-weight: 500;
}

.vg-stats {
    text-align: center;
}

.vg-stat-ico {
    display: inline-flex;
    color: var(--vg-red);
    margin-bottom: 12px;
}

.vg-stat-ico svg {
    width: 38px;
    height: 38px;
}

.vg-stat strong {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: var(--vg-blu);
}

.vg-stat>span {
    display: block;
    font-size: 13px;
    color: var(--vg-blu);
}

.vg-required {
    color: var(--vg-red);
    margin-left: 2px;
}

a.line-effect {
    width: fit-content;
    display: block;
}

a.line-effect::after {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background: #fff;
    transition: all .3s ease;
    position: absolute;
    left: 50%;
}

a.line-effect:hover::after {
    width: 100%;
    left: 0;
}

.vg-section-note {
    font-size: 11px;
    line-height: 1.5;
    color: #7c8893;
    margin: 14px 0 0;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 992px) {
    .vg-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .vg-grid--6 {
        grid-template-columns: repeat(3, 1fr);
    }

    .vg-home .vg-brands {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 640px) {
    .vg-grid--4 {
        grid-template-columns: 1fr;
    }

    .vg-grid--6 {
        grid-template-columns: repeat(2, 1fr);
    }

    .vg-brands {
        grid-template-columns: repeat(2, 1fr);
    }

    .vg-section-head h2 {
        font-size: 18px;
        text-align: center;
    }

    .vg-select select {
        font-size: 18px;
    }

    .vg-logo img {
        max-width: 80px;
    }
}

/* carrozzerie: se gli elementi non riempiono la griglia, centrarli invece di lasciarli allineati a sinistra */
.vg-cats {
    --vg-cats-cols: 6;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.vg-cats .vg-cat {
    flex: 0 1 calc((100% - (var(--vg-cats-cols) - 1) * 22px) / var(--vg-cats-cols));
}

@media (max-width: 992px) {
    .vg-cats {
        --vg-cats-cols: 3 !important;
    }
}

@media (max-width: 640px) {
    .vg-cats {
        --vg-cats-cols: 2 !important;
    }
}

@media (min-width: 992px) {
    .vg-home .vg-hero {
        margin-bottom: 100px;
    }

    .vg-container-filtri {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 50%);
    }
}

@media (max-width: 991.98px) {

    /* la fascia dei filtri va da bordo a bordo, come nel resto della pagina su mobile */
    .vg-home .vg-hero-filtri {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        border-radius: 0;
        margin: 0 calc(var(--bs-gutter-x) * -.5);
        padding: 24px calc(var(--bs-gutter-x) * .5) 28px;
    }

    .vg-home .vg-hero-tipo-btns {
        grid-template-columns: 1fr 1fr;
    }

    .vg-home .vg-tipo-btn {
        padding: 13px 10px;
        font-size: 11px;
    }

    /* le categorie non entrano in riga: diventano una striscia che scorre */
    .vg-home .vg-hero-cats {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        margin-inline: calc(var(--bs-gutter-x) * -.5);
        padding-inline: calc(var(--bs-gutter-x) * .5);
    }

    .vg-home .vg-hero-cats::-webkit-scrollbar {
        display: none;
    }

    .vg-home .vg-hero-cat {
        flex: 0 0 132px;
    }

    .vg-home .vg-hero-filtri-cta {
        padding-bottom: 0;
    }

    .vg-home .vg-hero-filtri-cta .vg-btn {
        width: 100%;
        padding: 15px;
    }
}

@media (max-width: 640px) {
    .vg-home .vg-hero-title {
        font-size: 18px;
        margin: 24px 0;
    }
}