/*! BookWaterTaxi.com - All rights reserved. Unauthorized copying prohibited. */

/* ═══ Landing Pages — Form container desktop ═══ */
@media (min-width:768px){
#booking-form > .e-con-inner,
#modulo-prenotazione > .e-con-inner{max-width:800px !important;margin:0 auto !important}
#booking-form,#modulo-prenotazione{background:#f8f9fb !important;border-radius:20px !important;padding:60px 40px !important}
}

/* ═══ Avviso canali interni (tutte le risoluzioni) ═══ */
div.wpforms-container-full .wpforms-field-html.wpf-info-one{background:#fff5f5 !important;border:2px solid #dc3545 !important;border-radius:12px !important;padding:14px 16px !important}
div.wpforms-container-full .wpforms-field-html.wpf-info-one p{font-size:14px !important;font-weight:600 !important;color:#991b1b !important;line-height:1.5 !important;margin:0 !important}
div.wpforms-container-full .wpforms-field-html.wpf-info-one a{color:#dc3545 !important;text-decoration:underline !important;font-weight:700 !important}

/* ═══ INFO alert ═══ */
.custom-alert-info{border-radius:12px !important;padding:12px 14px !important;background:linear-gradient(135deg,#f0f7ff 0%,#e8f4fd 100%) !important;border-left:4px solid #066aab !important;font-size:13px !important;line-height:1.5 !important}

/* ═══════════════════════════════════════════════════════
   WPForms — Mobile App-Style UI/UX
   ═══════════════════════════════════════════════════════ */
@media (max-width:767px){

/* --- Container --- */
div.wpforms-container-full.wpforms-render-modern{
  background:#ffffff !important;border-radius:20px !important;
  box-shadow:0 2px 20px rgba(0,0,0,0.08) !important;
  padding:20px 16px !important;margin:0 -5px !important}

/* --- Progress bar --- */
div.wpforms-container-full .wpforms-page-indicator.progress{
  position:sticky !important;top:0 !important;z-index:100 !important;
  background:#ffffff !important;margin:-20px -16px 24px -16px !important;
  padding:16px 16px 14px !important;border-radius:20px 20px 0 0 !important;
  border-bottom:1px solid #f0f0f0 !important;box-shadow:0 2px 8px rgba(0,0,0,0.04) !important}
div.wpforms-container-full .wpforms-page-indicator-steps{
  font-size:13px !important;font-weight:700 !important;color:#0a4076 !important;
  text-transform:uppercase !important;letter-spacing:0.5px !important}
div.wpforms-container-full .wpforms-page-indicator-page-progress-wrap{
  height:6px !important;border-radius:3px !important;margin-top:10px !important;background:#e8ecf0 !important}
div.wpforms-container-full .wpforms-page-indicator-page-progress{
  border-radius:3px !important;background:linear-gradient(90deg,#066aab,#0a4076) !important;
  transition:width 0.4s ease !important}

/* --- Labels --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-label{
  font-size:14px !important;font-weight:700 !important;color:#1a1a2e !important;
  margin-bottom:8px !important;letter-spacing:0.2px !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field{
  margin-bottom:20px !important}

/* --- Input fields (NO choices__inner) --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-form input[type="text"],
div.wpforms-container-full.wpforms-render-modern .wpforms-form input[type="email"],
div.wpforms-container-full.wpforms-render-modern .wpforms-form input[type="tel"],
div.wpforms-container-full.wpforms-render-modern .wpforms-form select,
div.wpforms-container-full.wpforms-render-modern .wpforms-form textarea,
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-timepicker,
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-datepicker{
  font-size:16px !important;min-height:52px !important;padding:12px 16px !important;
  border-radius:12px !important;border:2px solid #e8ecf0 !important;
  background:#f8f9fa !important;color:#1a1a2e !important;
  transition:all 0.2s ease !important;-webkit-appearance:none !important;
  box-sizing:border-box !important}

/* --- Select (Choices.js) — solo il wrapper esterno --- */
div.wpforms-container-full .wpforms-form .choices .choices__inner{
  display:flex !important;align-items:center !important;
  min-height:52px !important;padding:0 40px 0 16px !important;
  border-radius:12px !important;border:2px solid #e8ecf0 !important;
  background:#f8f9fa !important;box-sizing:border-box !important;
  transition:all 0.2s ease !important}
div.wpforms-container-full .wpforms-form .choices .choices__inner .choices__list--single{
  display:flex !important;align-items:center !important;
  padding:0 !important;height:auto !important;
  border:none !important;background:transparent !important;
  min-height:auto !important;border-radius:0 !important}
div.wpforms-container-full .wpforms-form .choices .choices__inner .choices__list--single .choices__item{
  font-size:16px !important;line-height:1.3 !important;color:#1a1a2e !important}
div.wpforms-container-full .wpforms-form .choices .choices__inner .choices__list--single .choices__placeholder{
  color:#9ca3af !important}

/* --- Focus states --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-form input:focus,
div.wpforms-container-full.wpforms-render-modern .wpforms-form select:focus,
div.wpforms-container-full.wpforms-render-modern .wpforms-form textarea:focus{
  border-color:#066aab !important;background:#ffffff !important;
  box-shadow:0 0 0 4px rgba(6,106,171,0.12) !important;outline:none !important}
div.wpforms-container-full .wpforms-form .choices.is-open .choices__inner,
div.wpforms-container-full .wpforms-form .choices.is-focused .choices__inner{
  border-color:#066aab !important;background:#ffffff !important;
  box-shadow:0 0 0 4px rgba(6,106,171,0.12) !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-form input::placeholder{
  color:#9ca3af !important;font-weight:400 !important}

/* --- ALL half/third fields → full width on mobile --- */
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-one-half,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-one-half.wpforms-first,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-one-third,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-one-third.wpforms-first,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-two-thirds{
  width:100% !important;float:none !important;clear:both !important;
  margin-left:0 !important;padding-left:0 !important;padding-right:0 !important;
  margin-bottom:16px !important}

/* --- Date/Time rows inside fields → full width --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-field-date-time .wpforms-field-row-block.wpforms-one-half,
div.wpforms-container-full.wpforms-render-modern .wpforms-field-date-time .wpforms-field-row-block.wpforms-first.wpforms-one-half{
  width:100% !important;float:none !important;margin-left:0 !important;
  padding-left:0 !important;padding-right:0 !important;margin-bottom:12px !important}

/* --- Name fields full width + show sublabels --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-field-name .wpforms-field-row-block.wpforms-one-half,
div.wpforms-container-full.wpforms-render-modern .wpforms-field-name .wpforms-field-row-block.wpforms-first.wpforms-one-half{
  width:100% !important;float:none !important;margin-left:0 !important;
  padding-left:0 !important;padding-right:0 !important;margin-bottom:12px !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-field-name .wpforms-field-sublabel.wpforms-sublabel-hide{
  display:block !important;visibility:visible !important;clip:unset !important;
  clip-path:none !important;position:static !important;width:auto !important;
  height:auto !important;overflow:visible !important;
  font-size:12px !important;font-weight:600 !important;color:#7a7a8e !important;
  text-transform:uppercase !important;letter-spacing:0.5px !important;
  margin-bottom:4px !important;margin-top:0 !important}

/* (half fields rule moved above) */

/* --- Radio/Checkbox cards --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-field-payment-multiple ul,
div.wpforms-container-full.wpforms-render-modern .wpforms-field-payment-checkbox ul{
  display:flex !important;flex-direction:column !important;gap:8px !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-field-payment-multiple ul li,
div.wpforms-container-full.wpforms-render-modern .wpforms-field-payment-checkbox ul li{
  padding:16px 14px !important;margin:0 !important;
  border:2px solid #e8ecf0 !important;border-radius:14px !important;
  background:#f8f9fa !important;transition:all 0.2s ease !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-field-payment-multiple ul li:active,
div.wpforms-container-full.wpforms-render-modern .wpforms-field-payment-checkbox ul li:active{
  transform:scale(0.98) !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-field-payment-multiple ul li.wpforms-selected,
div.wpforms-container-full.wpforms-render-modern .wpforms-field-payment-checkbox ul li.wpforms-selected{
  border-color:#066aab !important;
  background:linear-gradient(135deg,#f0f7ff 0%,#e8f4fd 100%) !important;
  box-shadow:0 0 0 3px rgba(6,106,171,0.15) !important}

/* --- Radio/Checkbox alignment (pallino + testo) --- */
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-payment-multiple ul li,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-payment-checkbox ul li,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-radio ul li,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-gdpr-checkbox ul li{
  display:flex !important;flex-direction:row !important;align-items:center !important;
  gap:12px !important;flex-wrap:nowrap !important;
  --wpforms-field-size-checkbox-size:22px !important}
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-checkbox ul li input[type="checkbox"],
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-payment-multiple ul li input[type="radio"],
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-payment-checkbox ul li input[type="checkbox"],
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-radio ul li input[type="radio"],
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-gdpr-checkbox ul li input[type="checkbox"]{
  width:22px !important;height:22px !important;min-width:22px !important;
  min-height:22px !important;max-width:22px !important;flex-shrink:0 !important;
  margin:0 !important;margin-top:0 !important;padding:0 !important;align-self:center !important}
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-payment-multiple ul li input[type="radio"] + label,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-payment-checkbox ul li input[type="checkbox"] + label,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-radio ul li input[type="radio"] + label,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-gdpr-checkbox ul li input[type="checkbox"] + label{
  font-size:15px !important;flex:1 !important;line-height:22px !important;
  color:#1a1a2e !important;margin:0 !important;padding:0 !important;
  padding-inline-start:0 !important}

/* --- Radio (Request Invoice) --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-field-radio ul li{
  padding:12px 10px !important;margin-bottom:6px !important;
  border:2px solid #e8ecf0 !important;border-radius:12px !important;background:#f8f9fa !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-field-radio ul li.wpforms-selected{
  border-color:#066aab !important;background:#f0f7ff !important}

/* --- Total price --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-field .wpforms-payment-total{
  font-size:28px !important;font-weight:800 !important;color:#0a4076 !important;
  padding:20px !important;
  background:linear-gradient(135deg,#f0f7ff 0%,#e3f0ff 100%) !important;
  border-radius:16px !important;text-align:center !important;
  border:2px solid #066aab !important;letter-spacing:-0.5px !important}

/* --- Dropdowns (Choices.js) --- */
div.wpforms-container-full .wpforms-form .choices__list--dropdown,
div.wpforms-container-full .wpforms-form .choices__list[aria-expanded]{
  max-height:280px !important;border-radius:16px !important;
  box-shadow:0 10px 40px rgba(0,0,0,0.18) !important;
  border:none !important;margin-top:8px !important;overflow:hidden !important}
div.wpforms-container-full .wpforms-form .choices__list--dropdown .choices__item,
div.wpforms-container-full .wpforms-form .choices__list[aria-expanded] .choices__item{
  font-size:16px !important;padding:14px 16px !important;
  border-bottom:1px solid #f5f5f5 !important}
div.wpforms-container-full .wpforms-form .choices__list--dropdown .choices__item.is-highlighted,
div.wpforms-container-full .wpforms-form .choices__list[aria-expanded] .choices__item.is-highlighted{
  background:#f0f7ff !important;color:#066aab !important}
div.wpforms-container-full .wpforms-form .choices__list--dropdown .choices__item--selectable.is-selected{
  background:#e8f4fd !important;color:#0a4076 !important;font-weight:600 !important}

/* --- Buttons --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-page-button{
  width:100% !important;min-height:54px !important;font-size:16px !important;
  font-weight:700 !important;border-radius:14px !important;margin-bottom:10px !important;
  text-transform:uppercase !important;letter-spacing:0.8px !important;
  transition:all 0.2s ease !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-page-next{
  background:linear-gradient(135deg,#066aab,#0a4076) !important;
  color:#ffffff !important;border:none !important;
  box-shadow:0 4px 14px rgba(6,106,171,0.35) !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-page-next:active{
  transform:scale(0.97) !important;box-shadow:0 2px 8px rgba(6,106,171,0.35) !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-page-prev{
  background:transparent !important;color:#066aab !important;border:2px solid #066aab !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-form button[type="submit"].wpforms-submit{
  width:100% !important;min-height:58px !important;font-size:18px !important;
  font-weight:800 !important;border-radius:14px !important;letter-spacing:0.8px !important;
  text-transform:uppercase !important;
  background:linear-gradient(135deg,#066aab,#0a4076) !important;
  color:#ffffff !important;border:none !important;
  box-shadow:0 4px 14px rgba(6,106,171,0.35) !important;transition:all 0.2s ease !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-form button[type="submit"].wpforms-submit:active{
  transform:scale(0.97) !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-pagebreak-left{
  padding-top:10px !important}

/* --- GDPR checkbox text --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-field-gdpr-checkbox .wpforms-field-label-inline{
  font-size:13px !important;line-height:1.6 !important;color:#555 !important}

/* --- Stripe card element --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-field-stripe-credit-card .StripeElement,
div.wpforms-container-full.wpforms-render-modern .wpforms-field-stripe-credit-card .__PrivateStripeElement{
  min-height:52px !important;border-radius:12px !important;
  border:2px solid #e8ecf0 !important;padding:14px 16px !important;background:#f8f9fa !important}
div.wpforms-container-full .wpforms-field-stripe-credit-card .__PrivateStripeElement iframe{
  transform:scale(1) !important;-webkit-text-size-adjust:100% !important}

/* --- Prevent iOS zoom on focus (font < 16px) --- */
@supports (-webkit-touch-callout: none){
  div.wpforms-container-full .wpforms-field-stripe-credit-card .StripeElement{
    font-size:16px !important}
  input[type="text"],input[type="email"],input[type="tel"],select,textarea{
    font-size:16px !important}
}

/* --- Descriptions & sublabels --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-field-description{
  font-size:13px !important;color:#7a7a8e !important;margin-top:6px !important;line-height:1.4 !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-field-sublabel{
  font-size:12px !important;color:#9ca3af !important}

/* --- Errors --- */
div.wpforms-container-full.wpforms-render-modern label.wpforms-error{
  font-size:13px !important;color:#dc3545 !important;margin-top:6px !important;
  padding:8px 12px !important;background:#fff5f5 !important;
  border-radius:8px !important;border:1px solid #fecaca !important}

/* --- HTML fields (notes) --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-field-html{
  padding:12px !important;border-radius:12px !important;
  background:#fffbf0 !important;border:1px solid #f0e6c8 !important}
div.wpforms-container-full.wpforms-render-modern .wpforms-field-html.wpf-info-one{
  background:#fff5f5 !important;border:2px solid #dc3545 !important}

/* --- Phone field separator --- */
div.wpforms-container-full .wpforms-form .iti--allow-dropdown .iti__country-container .iti__selected-country{
  background-color:#f0f2f5 !important;border-right:2px solid #e8ecf0 !important;
  border-top-left-radius:12px !important;border-bottom-left-radius:12px !important;
  padding:0 10px !important}
div.wpforms-container-full .wpforms-form .iti--allow-dropdown input[type="tel"].wpforms-smart-phone-field{
  padding-left:70px !important}

/* --- Confirmation message --- */
div.wpforms-container-full.wpforms-render-modern .wpforms-confirmation-container-full{
  padding:24px 16px !important;border-radius:16px !important;
  background:linear-gradient(135deg,#f0f7ff 0%,#e3f0ff 100%) !important;
  border:2px solid #066aab !important;text-align:center !important}

} /* end @media max-width:767px */

/* ═══ Flatpickr mobile ═══ */
@media (max-width:767px){
.flatpickr-calendar{
  width:100% !important;max-width:340px !important;border-radius:16px !important;
  box-shadow:0 10px 40px rgba(0,0,0,0.18) !important;border:none !important;
  padding:8px !important;margin-top:8px !important}
.flatpickr-months{border-radius:12px 12px 0 0 !important;padding:8px 0 !important}
.flatpickr-months .flatpickr-month{height:42px !important}
.flatpickr-current-month{font-size:16px !important;font-weight:700 !important;color:#0a4076 !important}
.flatpickr-prev-month,.flatpickr-next-month{padding:8px 12px !important}
.flatpickr-prev-month svg,.flatpickr-next-month svg{width:16px !important;height:16px !important}
.flatpickr-weekdays{padding:4px 0 !important}
.flatpickr-weekday{font-size:13px !important;font-weight:700 !important;color:#7a7a8e !important}
.flatpickr-day{
  height:44px !important;line-height:44px !important;max-width:44px !important;
  font-size:15px !important;border-radius:12px !important;margin:2px !important;font-weight:500 !important}
.flatpickr-day.today{border-color:#066aab !important;background:transparent !important;color:#066aab !important;font-weight:700 !important}
.flatpickr-day.selected,.flatpickr-day.selected:hover{
  background:#066aab !important;border-color:#066aab !important;color:#fff !important;
  font-weight:700 !important;box-shadow:0 2px 8px rgba(6,106,171,0.3) !important}
.flatpickr-day:hover{background:#f0f7ff !important;border-color:#066aab !important}
.flatpickr-day.flatpickr-disabled{color:#d1d5db !important}

/* ═══ Timepicker mobile ═══ */
.ui-timepicker-wrapper{
  max-width:calc(100vw - 32px) !important;max-height:200px !important;
  overflow-y:auto !important;-webkit-overflow-scrolling:touch !important;
  border-radius:12px !important;border:1px solid #e8ecf0 !important;
  box-shadow:0 4px 16px rgba(0,0,0,0.12) !important;
  margin-top:4px !important;z-index:10001 !important}
.ui-timepicker-list li{
  font-size:16px !important;padding:12px 16px !important}
}