.elementor-115 .elementor-element.elementor-element-a190e3a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-115 .elementor-element.elementor-element-8f91475{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-115 .elementor-element.elementor-element-78699c4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-115 .elementor-element.elementor-element-6a852c8{padding:0px 0px 0px 0px;}.elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-field-type-html{padding-bottom:0px;}.elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-115 .elementor-element.elementor-element-fdd8572 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-button[type="submit"]{color:#ffffff;}.elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-115 .elementor-element.elementor-element-fdd8572 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-115 .elementor-element.elementor-element-fdd8572 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-115 .elementor-element.elementor-element-fdd8572 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-115 .elementor-element.elementor-element-fdd8572 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-115 .elementor-element.elementor-element-fdd8572{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}:root{--page-title-display:none;}/* Start custom CSS *//* ==========================================================
   AUTOSTELLA STORE — PAGINA CONTATTI
   CSS completo aggiornato
   Versione 1.1 — 23/07/2026
   ========================================================== */

.as-contact-anchor {
  scroll-margin-top: calc(var(--as-header-h) + 30px);
}

/* ==========================================================
   CONTATTI RAPIDI
   ========================================================== */

.as-contact-quick {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--as-line);
  border-left: 1px solid var(--as-line);
}

.as-contact-quick__item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 210px;
  padding: clamp(28px, 4vw, 46px);
  color: var(--as-ink) !important;
  border-right: 1px solid var(--as-line);
  border-bottom: 1px solid var(--as-line);
  background: var(--as-white);
  transition:
    color 0.3s var(--as-ease),
    background-color 0.3s var(--as-ease);
}

.as-contact-quick__item::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 62px;
  height: 5px;
  background: var(--as-red);
  transition: width 0.35s var(--as-ease);
}

.as-contact-quick__item:hover {
  color: #fff !important;
  background: var(--as-ink);
}

.as-contact-quick__item:hover::before {
  width: 100%;
}

.as-contact-quick__label {
  margin-bottom: auto;
  color: var(--as-red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.as-contact-quick__item strong {
  display: block;
  margin: 48px 0 10px;
  color: inherit;
  font-family: var(--as-display);
  font-size: clamp(29px, 3.2vw, 44px);
  font-weight: 800;
  line-height: 0.95;
  text-transform: uppercase;
}

.as-contact-quick__item span:last-child {
  color: inherit;
  font-size: 14px;
  opacity: 0.7;
}

/* ==========================================================
   SEDI
   ========================================================== */

.as-contact-locations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(26px, 4vw, 56px);
}

.as-contact-location {
  overflow: hidden;
  border: 1px solid var(--as-line);
  background: var(--as-white);
  transition:
    transform 0.3s var(--as-ease),
    box-shadow 0.3s var(--as-ease);
}

.as-contact-location:hover {
  transform: translateY(-7px);
  box-shadow: var(--as-shadow);
}

.as-contact-location__body {
  position: relative;
  padding: clamp(30px, 5vw, 54px);
}

.as-contact-location__body::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 78px;
  height: 6px;
  background: var(--as-red);
}

.as-contact-location h3 {
  margin: 0;
  color: var(--as-ink);
  font-family: var(--as-display);
  font-size: clamp(39px, 4.5vw, 64px);
  font-weight: 800;
  line-height: 0.9;
  text-transform: uppercase;
}

.as-contact-location__details {
  display: grid;
  gap: 14px;
  margin-top: 32px;
}

.as-contact-location__row {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--as-line);
}

.as-contact-location__row:last-child {
  border-bottom: 0;
}

.as-contact-location__row strong {
  color: var(--as-ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.as-contact-location__row span,
.as-contact-location__row a {
  color: var(--as-text) !important;
  overflow-wrap: anywhere;
}

.as-contact-location__row a:hover {
  color: var(--as-red) !important;
}

.as-contact-location__map {
  height: 390px;
  border-top: 1px solid var(--as-line);
  background: var(--as-soft);
}

.as-contact-location__map iframe {
  display: block;
  width: 100%;
  height: 390px;
  border: 0;
  filter: grayscale(0.22) contrast(0.98);
}

/* ==========================================================
   SEZIONE MODULO
   ========================================================== */

.as-contact-form-band {
  padding-block: var(--as-section);
  background: var(--as-soft);
}

.as-contact-form-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  align-items: start;
  gap: clamp(42px, 8vw, 110px);
}

.as-contact-form-copy {
  position: sticky;
  top: calc(var(--as-header-h) + 40px);
}

.as-contact-form-copy__details {
  display: grid;
  gap: 18px;
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid var(--as-line);
}

.as-contact-form-copy__details a {
  color: var(--as-ink) !important;
  font-weight: 700;
}

.as-contact-form-copy__details a:hover {
  color: var(--as-red) !important;
}

.as-contact-form-copy__note {
  margin-top: 28px;
  padding: 22px;
  border-left: 5px solid var(--as-red);
  background: var(--as-white);
  color: var(--as-muted);
  font-size: 14px;
  line-height: 1.6;
}

/* ==========================================================
   FORM ELEMENTOR PRO
   Correzione completa campi, select, privacy e pulsante
   ========================================================== */

.as-contact-form {
  position: relative;
  width: 100%;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid var(--as-line);
  background: var(--as-white);
  box-shadow: var(--as-shadow);
}

.as-contact-form::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  height: 6px;
  background: var(--as-red);
}

/* Spaziatura generale */
.as-contact-form .elementor-form-fields-wrapper {
  row-gap: 0;
}

.as-contact-form .elementor-field-group {
  margin-bottom: 18px !important;
}

.as-contact-form .elementor-field-group:last-child {
  margin-bottom: 0 !important;
}

/* Etichette normali */
.as-contact-form .elementor-field-label {
  display: block;
  margin-bottom: 8px !important;
  color: var(--as-ink) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.11em !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
}

.as-contact-form .required {
  color: var(--as-red) !important;
}

/* Campi testuali: esclude checkbox, radio e pulsanti */
.as-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.as-contact-form textarea,
.as-contact-form select {
  width: 100% !important;
  min-height: 56px !important;
  padding: 15px 16px !important;
  border: 1px solid var(--as-line) !important;
  border-radius: 0 !important;
  background-color: var(--as-white) !important;
  color: var(--as-ink) !important;
  font-family: var(--as-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  outline: none !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.as-contact-form textarea {
  min-height: 170px !important;
  resize: vertical;
}

.as-contact-form input::placeholder,
.as-contact-form textarea::placeholder {
  color: #8a8a84 !important;
  opacity: 1;
}

/* Focus */
.as-contact-form input:not([type="checkbox"]):not([type="radio"]):focus,
.as-contact-form textarea:focus,
.as-contact-form select:focus {
  border-color: var(--as-ink) !important;
  background-color: #fff !important;
  box-shadow: 0 0 0 3px rgba(229, 66, 44, 0.12) !important;
}

/* Select “Di cosa hai bisogno?” */
.as-contact-form select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  padding-right: 54px !important;
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--as-ink) 50%),
    linear-gradient(135deg, var(--as-ink) 50%, transparent 50%),
    linear-gradient(to right, var(--as-line), var(--as-line)) !important;
  background-position:
    calc(100% - 22px) 50%,
    calc(100% - 16px) 50%,
    calc(100% - 44px) 50% !important;
  background-size:
    6px 6px,
    6px 6px,
    1px 28px !important;
  background-repeat: no-repeat !important;
}

.as-contact-form select::-ms-expand {
  display: none;
}

.as-contact-form select option {
  color: var(--as-ink);
  background: #fff;
}

/* Elimina eventuali pseudo-elementi o frecce Elementor duplicate */
.as-contact-form .elementor-field-type-select .select-caret-down-wrapper {
  display: none !important;
}

/* ==========================================================
   PRIVACY / CHECKBOX
   ========================================================== */

.as-contact-form .elementor-field-type-acceptance {
  margin-top: 2px;
}

.as-contact-form .elementor-field-type-acceptance .elementor-field-subgroup {
  display: block;
  width: 100%;
}

.as-contact-form .elementor-field-type-acceptance .elementor-field-option {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
}

/* Reset della regola globale che rendeva enorme il checkbox */
.as-contact-form input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  flex: 0 0 20px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: 1px solid var(--as-line-strong) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
  position: relative;
  outline: none !important;
}

.as-contact-form input[type="checkbox"]:hover {
  border-color: var(--as-ink) !important;
}

.as-contact-form input[type="checkbox"]:focus-visible {
  border-color: var(--as-red) !important;
  box-shadow: 0 0 0 3px rgba(229, 66, 44, 0.14) !important;
}

.as-contact-form input[type="checkbox"]:checked {
  border-color: var(--as-red) !important;
  background-color: var(--as-red) !important;
}

.as-contact-form input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}

/* Testo Privacy: non deve ereditare lo stile uppercase dei label */
.as-contact-form .elementor-field-type-acceptance label,
.as-contact-form .elementor-field-type-acceptance .elementor-field-option label {
  display: block;
  margin: 0 !important;
  color: var(--as-text) !important;
  font-family: var(--as-body) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.55 !important;
  text-transform: none !important;
  cursor: pointer;
}

.as-contact-form .elementor-field-type-acceptance label a {
  color: var(--as-ink) !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--as-red);
  text-underline-offset: 3px;
}

.as-contact-form .elementor-field-type-acceptance label a:hover {
  color: var(--as-red) !important;
}

/* ==========================================================
   PULSANTE INVIO
   ========================================================== */

.as-contact-form .elementor-field-type-submit {
  margin-top: 6px;
}

.as-contact-form .elementor-button,
.as-contact-form button[type="submit"] {
  width: 100%;
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 17px 26px !important;
  border: 1px solid var(--as-red) !important;
  border-radius: 0 !important;
  background: var(--as-red) !important;
  color: #fff !important;
  font-family: var(--as-body) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  line-height: 1 !important;
  text-transform: uppercase;
  box-shadow: none !important;
  cursor: pointer;
  transition:
    color 0.28s var(--as-ease),
    background-color 0.28s var(--as-ease),
    border-color 0.28s var(--as-ease),
    transform 0.28s var(--as-ease),
    box-shadow 0.28s var(--as-ease);
}

.as-contact-form .elementor-button:hover,
.as-contact-form button[type="submit"]:hover {
  border-color: var(--as-ink) !important;
  background: var(--as-ink) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(17, 17, 17, 0.12) !important;
}

.as-contact-form .elementor-button:focus-visible,
.as-contact-form button[type="submit"]:focus-visible {
  outline: 3px solid rgba(229, 66, 44, 0.28) !important;
  outline-offset: 3px;
}

/* Spinner del pulsante */
.as-contact-form .elementor-button .elementor-button-content-wrapper {
  align-items: center;
  justify-content: center;
}

/* Honeypot */
.as-contact-form .elementor-field-type-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Messaggi del form */
.as-contact-form .elementor-message {
  margin-top: 18px !important;
  padding: 16px 18px !important;
  border: 1px solid var(--as-line) !important;
  border-radius: 0 !important;
  background: var(--as-soft) !important;
  color: var(--as-ink) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.as-contact-form .elementor-message-success {
  border-left: 5px solid var(--as-success) !important;
}

.as-contact-form .elementor-message-danger,
.as-contact-form .elementor-help-inline {
  color: #b3261e !important;
}

.as-contact-form .elementor-message-danger {
  border-left: 5px solid #b3261e !important;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1024px) {
  .as-contact-quick {
    grid-template-columns: 1fr;
  }

  .as-contact-quick__item {
    min-height: 175px;
  }

  .as-contact-locations {
    grid-template-columns: 1fr;
  }

  .as-contact-form-layout {
    grid-template-columns: 1fr;
  }

  .as-contact-form-copy {
    position: static;
  }
}

/* ==========================================================
   SMARTPHONE
   ========================================================== */

@media (max-width: 767px) {
  .as-contact-quick__item {
    min-height: 160px;
    padding: 28px 24px;
  }

  .as-contact-quick__item strong {
    margin-top: 38px;
  }

  .as-contact-location__row {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .as-contact-location__map,
  .as-contact-location__map iframe {
    height: 330px;
  }

  .as-contact-form {
    padding: 28px 20px;
  }

  /* Tutti i campi a larghezza intera su mobile */
  .as-contact-form .elementor-field-group {
    width: 100% !important;
  }

  .as-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
  .as-contact-form textarea,
  .as-contact-form select {
    font-size: 16px !important;
  }

  .as-contact-form .elementor-field-type-acceptance .elementor-field-option {
    gap: 10px;
  }

  .as-contact-form .elementor-field-type-acceptance label,
  .as-contact-form .elementor-field-type-acceptance .elementor-field-option label {
    font-size: 12px !important;
  }
}/* End custom CSS */