/* =========================================================
   19) FABER-ORGANIC — NEWSLETTER POPUP / MODAL
   Blocco completo definitivo
   Sostituisce tutti i CSS precedenti del popup newsletter
   ========================================================= */

/* Trigger nascosto */
.fo-newsletter-trigger {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Wrapper modal */
.fo-newsletter-modal {
  padding: 24px !important;
}

/* Finestra modal */
.fo-newsletter-modal .modal-dialog {
  width: min(88vw, 700px) !important;
  max-width: 700px !important;
  margin: 5vh auto !important;
}

.fo-newsletter-modal .modal-content {
  background: #f6f4ef !important;
  border: 0 !important;
  border-radius: 22px !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.16) !important;
  overflow: hidden !important;
}

.fo-newsletter-modal .modal-body {
  padding: 38px 42px 36px !important;
}

/* Testi */
.fo-newsletter-modal strong {
  display: block;
  margin-bottom: 16px;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2f5d50;
}

.fo-newsletter-modal h2 {
  margin: 0 0 18px;
  font-family: "Source Serif 4", serif;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 0.98;
  font-weight: 400;
  letter-spacing: -0.03em;
  color: #5b5752;
}

.fo-newsletter-modal em {
  display: block;
  margin-bottom: 18px;
  font-family: "Source Serif 4", serif;
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.42;
  font-style: italic;
  color: #6a655f;
}

.fo-newsletter-modal p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.6;
  color: #3e3a36;
}

/* Form */
.fo-newsletter-modal .fusion-form {
  margin-top: 22px;
}

.fo-newsletter-modal .fusion-form-form-wrapper {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.fo-newsletter-modal .fusion-form-field {
  margin-bottom: 16px !important;
}

/* Campi */
.fo-newsletter-modal input[type="text"],
.fo-newsletter-modal input[type="email"],
.fo-newsletter-modal input[type="tel"],
.fo-newsletter-modal textarea,
.fo-newsletter-modal .fusion-form-input,
.fo-newsletter-modal .fusion-form-textarea {
  width: 100%;
  min-height: 54px;
  padding: 14px 16px !important;
  background: #ffffff !important;
  border: 1px solid #d9d4cb !important;
  border-radius: 10px !important;
  color: #2f2a26 !important;
  box-shadow: none !important;
}

.fo-newsletter-modal input::placeholder,
.fo-newsletter-modal textarea::placeholder {
  color: #8a847d !important;
  opacity: 1;
}

.fo-newsletter-modal input:focus,
.fo-newsletter-modal textarea:focus,
.fo-newsletter-modal .fusion-form-input:focus,
.fo-newsletter-modal .fusion-form-textarea:focus {
  outline: none !important;
  border-color: #bdb6ab !important;
  box-shadow: none !important;
}

/* Checkbox privacy */
.fo-newsletter-modal .fusion-form-checkbox {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

.fo-newsletter-modal .fusion-form-checkbox label,
.fo-newsletter-modal .fusion-form-checkbox label span {
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #3d3935 !important;
}

.fo-newsletter-modal .fusion-form-checkbox input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin-right: 10px !important;
  accent-color: #2f5d50;
}

/* Bottone */
.fo-newsletter-modal .fusion-button,
.fo-newsletter-modal button[type="submit"],
.fo-newsletter-modal input[type="submit"] {
  min-height: 54px;
  border-radius: 10px !important;
}

/* Pulsante chiusura */
.fo-newsletter-modal .close,
.fo-newsletter-modal .modal-header .close {
  opacity: 1 !important;
  color: #8c867f !important;
}

/* =========================================================
   TABLET ORIZZONTALE
   Popup intero in viewport, senza scroll interno
   ========================================================= */
@media (min-width: 768px) and (max-width: 1180px) and (orientation: landscape) {
  .fo-newsletter-modal {
    padding: 8px !important;
  }

  .fo-newsletter-modal .modal-dialog {
    width: min(92vw, 640px) !important;
    max-width: 640px !important;
    margin: 8px auto !important;
  }

  .fo-newsletter-modal .modal-content {
    max-height: calc(100dvh - 16px) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
  }

  .fo-newsletter-modal .modal-body {
    padding: 14px 18px 16px !important;
    overflow: visible !important;
    -webkit-overflow-scrolling: auto;
  }

  .fo-newsletter-modal strong {
    margin-bottom: 8px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .fo-newsletter-modal h2 {
    margin-bottom: 8px !important;
    font-size: clamp(28px, 4vw, 40px) !important;
    line-height: 0.98 !important;
  }

  .fo-newsletter-modal em {
    margin-bottom: 8px !important;
    font-size: 15px !important;
    line-height: 1.32 !important;
  }

  .fo-newsletter-modal p {
    margin-bottom: 8px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  .fo-newsletter-modal .fusion-form {
    margin-top: 10px !important;
  }

  .fo-newsletter-modal .fusion-form-field {
    margin-bottom: 10px !important;
  }

  .fo-newsletter-modal input[type="text"],
  .fo-newsletter-modal input[type="email"],
  .fo-newsletter-modal input[type="tel"],
  .fo-newsletter-modal textarea,
  .fo-newsletter-modal .fusion-form-input,
  .fo-newsletter-modal .fusion-form-textarea {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
  }

  .fo-newsletter-modal .fusion-button,
  .fo-newsletter-modal button[type="submit"],
  .fo-newsletter-modal input[type="submit"] {
    min-height: 44px !important;
    font-size: 14px !important;
  }

  .fo-newsletter-modal .fusion-form-checkbox {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .fo-newsletter-modal .fusion-form-checkbox label,
  .fo-newsletter-modal .fusion-form-checkbox label span {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .fo-newsletter-modal .fusion-form-checkbox input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    margin-right: 8px !important;
  }
}

/* =========================================================
   TABLET VERTICALE + MOBILE
   Popup compatto, senza scroll interno
   ========================================================= */
@media (max-width: 1024px) and (orientation: portrait),
       (max-width: 767px) {
  .fo-newsletter-modal {
    padding: 8px !important;
  }

  .fo-newsletter-modal .modal-dialog {
    width: min(92vw, 420px) !important;
    max-width: min(92vw, 420px) !important;
    margin: 8px auto !important;
  }

  .fo-newsletter-modal .modal-content {
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
    border-radius: 16px !important;
  }

  .fo-newsletter-modal .modal-body {
    padding: 15px 16px 16px !important;
    overflow: hidden !important;
    -webkit-overflow-scrolling: auto !important;
  }

  .fo-newsletter-modal strong {
    margin-bottom: 7px !important;
    font-size: 11px !important;
    line-height: 1.18 !important;
    letter-spacing: 0.075em !important;
  }

  .fo-newsletter-modal h2 {
    margin-bottom: 7px !important;
    font-size: clamp(24px, 7vw, 31px) !important;
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
  }

  .fo-newsletter-modal em {
    margin-bottom: 7px !important;
    font-size: 14.5px !important;
    line-height: 1.28 !important;
  }

  .fo-newsletter-modal p {
    margin-bottom: 7px !important;
    font-size: 12.8px !important;
    line-height: 1.38 !important;
  }

  .fo-newsletter-modal .fusion-form {
    margin-top: 9px !important;
  }

  .fo-newsletter-modal .fusion-form-field {
    margin-bottom: 7px !important;
  }

  /* Le colonne del form vanno una sotto l'altra */
  .fo-newsletter-modal .fusion-layout-column {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 7px !important;
  }

  .fo-newsletter-modal input[type="text"],
  .fo-newsletter-modal input[type="email"],
  .fo-newsletter-modal input[type="tel"],
  .fo-newsletter-modal textarea,
  .fo-newsletter-modal .fusion-form-input,
  .fo-newsletter-modal .fusion-form-textarea {
    min-height: 40px !important;
    padding: 8px 11px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .fo-newsletter-modal .fusion-button,
  .fo-newsletter-modal button[type="submit"],
  .fo-newsletter-modal input[type="submit"] {
    width: 100% !important;
    min-height: 40px !important;
    font-size: 13.5px !important;
    line-height: 1.2 !important;
  }

  .fo-newsletter-modal .fusion-form-checkbox {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .fo-newsletter-modal .fusion-form-checkbox label,
  .fo-newsletter-modal .fusion-form-checkbox label span {
    font-size: 12.3px !important;
    line-height: 1.32 !important;
  }

  .fo-newsletter-modal .fusion-form-checkbox input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    margin-right: 7px !important;
  }
}

/* =========================================================
   IUBENDA
   Nasconde i pulsanti flottanti mentre il modal è aperto
   ========================================================= */
body.modal-open .iubenda-cs-preferences-link,
body.modal-open .iubenda-uspr-btn,
body.modal-open .iubenda-tp-btn {
  opacity: 0 !important;
  pointer-events: none !important;
}
