.media-switch-video{display:block;max-width:100%;height:auto}
.media-switch-bg-video{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;pointer-events:none}
.hero[data-media-slot]{isolation:isolate}
.media-switch-video{width:100%;height:auto;object-fit:cover}

/* ==========================================================================
   Centratura verticale perfetta frecce verso il basso (submenu e lingua)
   ========================================================================== */

/* 1. Frecce sottomenu barra di navigazione */
.nav-item.has-sub::after,
nav.nav .nav-item.has-sub::after,
nav.nav .nav-item.has-sub:after {
  content: "" !important;
  display: inline-block !important;
  width: 5px !important;
  height: 5px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) !important;
  margin-left: 8px !important;
  position: relative !important;
  top: -2px !important;
  vertical-align: middle !important;
  opacity: .85 !important;
  box-sizing: border-box !important;
  transition: transform .22s ease, top .22s ease !important;
}

.nav-item.has-sub.open::after,
nav.nav .nav-item.has-sub.open::after,
nav.nav .nav-item.has-sub.open:after {
  transform: rotate(225deg) !important;
  top: 1px !important;
}

@media(max-width:900px) {
  nav.nav .nav-item.has-sub::after,
  nav.nav .nav-item.has-sub:after {
    margin-left: auto !important;
    margin-right: 4px !important;
  }
}

/* 2. Freccia selettore lingua (#langBtn) e pulsanti utility */
.utility-btn#langBtn,
.utility-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.utility-btn .chev,
.utility-btn#langBtn .chev,
.top .utility-remu .chev,
.chev {
  display: inline-block !important;
  width: 4.5px !important;
  height: 4.5px !important;
  border-right: 1.8px solid currentColor !important;
  border-bottom: 1.8px solid currentColor !important;
  transform: rotate(45deg) !important;
  margin-left: 6px !important;
  position: relative !important;
  top: 0px !important;
  vertical-align: middle !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: inherit !important;
  box-sizing: border-box !important;
  transition: transform .22s ease, top .22s ease !important;
}

.utility-btn.open .chev,
.utility-btn#langBtn.open .chev,
.chev.open {
  transform: rotate(225deg) !important;
  top: 2px !important;
}

/* ==========================================================================
   Stile unificato per moduli rete commerciale / rivenditori (.dealer-form)
   ========================================================================== */
.dealer-form-wrap,
.become-dealer-form-wrap {
  background: #fff !important;
  border: 1px solid #e3e8ec !important;
  box-shadow: 0 18px 55px rgba(16, 35, 50, .09) !important;
  padding: clamp(22px, 3vw, 38px) !important;
  border-radius: 5px !important;
  border-top: 4px solid #c8102e !important;
  box-sizing: border-box !important;
}

.dealer-form-heading {
  display: flex !important;
  gap: 15px !important;
  align-items: center !important;
  margin-bottom: 26px !important;
}

.dealer-form-icon {
  width: 48px !important;
  height: 48px !important;
  display: grid !important;
  place-items: center !important;
  background: #c8102e !important;
  color: #fff !important;
  font-size: 27px !important;
  border-radius: 3px !important;
  flex-shrink: 0 !important;
}

.dealer-form-heading h3 {
  margin: 0 0 5px !important;
  font-size: 25px !important;
  color: #172a39 !important;
}

.dealer-form-heading p {
  margin: 0 !important;
  color: #687681 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.dealer-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.dealer-fields label {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #283947 !important;
  line-height: 1.4 !important;
}

.dealer-fields input,
.dealer-fields select,
.dealer-fields textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  border: 1px solid #d6dde2 !important;
  border-radius: 3px !important;
  background: #fff !important;
  padding: 13px 12px !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #172a39 !important;
  outline: none !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}

.dealer-fields input:focus,
.dealer-fields select:focus,
.dealer-fields textarea:focus {
  border-color: #c8102e !important;
  box-shadow: 0 0 0 3px rgba(200, 16, 46, .12) !important;
}

.dealer-fields textarea {
  resize: vertical !important;
  min-height: 110px !important;
}

.dealer-fields .field-full {
  grid-column: 1 / -1 !important;
}

.optional {
  font-weight: 400 !important;
  color: #79858d !important;
}

.dealer-consent {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
  margin: 22px 0 !important;
  color: #5b6872 !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  cursor: pointer !important;
}

.dealer-consent input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  margin: 2px 0 0 !important;
  accent-color: #c8102e !important;
  cursor: pointer !important;
}

.dealer-consent span {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

.dealer-consent a {
  color: #c8102e !important;
  text-decoration: underline !important;
}

.dealer-submit {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 22px !important;
  background: #c8102e !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 3px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  cursor: pointer !important;
  box-shadow: 0 8px 20px rgba(200, 16, 46, .2) !important;
  transition: background .2s ease, transform .2s ease !important;
}

.dealer-submit:hover {
  background: #a80d26 !important;
  transform: translateY(-1px) !important;
}

.dealer-submit span {
  color: #fff !important;
  font-size: 16px !important;
}

.dealer-submit:disabled {
  opacity: .65 !important;
  cursor: wait !important;
}

.dealer-form-note {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #71808b !important;
  margin: 14px 0 0 !important;
}

.dealer-form-note.is-error {
  color: #a80d26 !important;
  font-weight: 650 !important;
}

.dealer-form-note.is-success {
  color: #246342 !important;
  font-weight: 650 !important;
}

@media(max-width: 650px) {
  .dealer-fields {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  .dealer-fields .field-full {
    grid-column: 1 !important;
  }
  .dealer-form-wrap,
  .become-dealer-form-wrap {
    padding: 20px 16px !important;
  }
}
