/* Enquiry Form Enhancements (Home + Contact)
   - Rounded, colourful dropdowns
   - Park multi-select chips + lock styling
   - Home title blue to match contact
*/

.enquiry-title--blue{
  color:#1f6bff !important;
}

.enquiry-grid select,
.readyplan-form-grid select{
  width: 100%;
  border-radius: 999px !important;
  padding: 12px 14px !important;
  background: linear-gradient(90deg, rgba(25,118,255,.18), rgba(255,64,129,.14)) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  color: #ffffff !important;
  outline: none;
}

.enquiry-grid select option,
.readyplan-form-grid select option{
  color: #111;
}

.parks-multiselect{
  grid-column: 1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 6px;
}

.parks-help{
  width:100%;
  font-size: 13px;
  opacity: .85;
  margin: 0 0 6px;
}

.park-check{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(90deg, rgba(25,118,255,.18), rgba(255,64,129,.12));
  cursor:pointer;
  user-select:none;
}

.park-check input{
  accent-color: #1f6bff;
}

.park-check.is-disabled{
  opacity:.45;
  cursor:not-allowed;
}

.parks-reset{
  margin-left:auto;
  padding:10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
}

.parks-reset:hover{
  background: rgba(255,255,255,.12);
}


/* === DROPDOWN VISUAL ENHANCEMENTS (SAFE) === */
.form-card select,
.form-card .custom-select select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: linear-gradient(135deg, rgba(45,140,255,.25), rgba(236,72,153,.25));
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  padding: 14px 18px;
  color: #fff;
}

.form-card select:focus {
  outline: none;
  border-color: #5ddcff;
  box-shadow: 0 0 0 2px rgba(93,220,255,.25);
}

.form-card option {
  background: #1b1f3a;
  color: #fff;
}

/* dropdown arrow */
.form-card select {
  background-image:
    linear-gradient(135deg, rgba(45,140,255,.25), rgba(236,72,153,.25)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='white'%3E%3Cpath d='M7 10L2 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center right 18px;
  background-size: auto, 14px;
}

/* checkbox park pills alignment */
.park-options {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.park-options label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.2);
  cursor: pointer;
}

.park-options input[type="checkbox"] {
  accent-color: #5ddcff;
}

/* reset button */
.park-reset-btn {
  border-radius: 999px;
  padding: 10px 18px;
}


/* =========================
   Contact form fine-tuning (PHASE 1 - Contact page ONLY)
   - Mandatory stars
   - Nicer selects (rounded + colorful)
   - Parks selection as colored pills
   - Date range (check-in / check-out)
   - Child ages dynamic container
========================= */
form#yas-enquiry-form .req{
  color: #ff5ccf;
  margin-left: 6px;
  font-weight: 700;
}

/* Make some rows span full width in the grid */
form#yas-enquiry-form .enquiry-grid .full-row{
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* Date range layout */
form#yas-enquiry-form .enquiry-grid .date-range{
  grid-column: 1 / -1 !important;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: -6px;
}
form#yas-enquiry-form .enquiry-grid .date-field{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  padding: 10px 12px 12px;
}
form#yas-enquiry-form .date-field-label{
  font-size: 12px;
  opacity: 0.85;
  margin-bottom: 6px;
}
form#yas-enquiry-form .date-input{
  width: 100%;
  border-radius: 14px;
}

/* Colorful selects */
form#yas-enquiry-form select.form-select{
  width: 100%;
  border-radius: 18px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.18);
  background:
    linear-gradient(90deg, rgba(84,210,255,0.12), rgba(255,92,207,0.12));
  color: #fff;
  appearance: none;
}
form#yas-enquiry-form select.form-select:focus{
  outline: none;
  border-color: rgba(84,210,255,0.6);
  box-shadow: 0 0 0 3px rgba(84,210,255,0.18);
}

/* Parks as colored toggle pills (keep checkboxes for multi-select) */
form#yas-enquiry-form .parks-multiselect{
  grid-column: 1 / -1 !important;
}
form#yas-enquiry-form .parks-multiselect .park-check{ display:inline-block; margin: 6px 8px 0 0; }
form#yas-enquiry-form .parks-multiselect .park-check input{
  /* hide default checkbox but keep accessibility */
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
form#yas-enquiry-form .parks-multiselect .park-check input:checked + span{
  background: linear-gradient(90deg, rgba(84,210,255,0.22), rgba(255,92,207,0.22));
  border-color: rgba(255,92,207,0.45);
}
form#yas-enquiry-form .parks-multiselect .park-check span{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.03);
}
form#yas-enquiry-form .parks-multiselect .park-check span::before{
  content:"";
  width:14px; height:14px; border-radius:999px;
  border: 2px solid rgba(255,255,255,0.55);
  display:inline-block;
}
form#yas-enquiry-form .parks-multiselect .park-check input:checked + span::before{
  border-color: rgba(84,210,255,0.9);
  background: rgba(84,210,255,0.9);
}

/* Notes textarea should be wide and below label */
form#yas-enquiry-form .enquiry-grid textarea.full-row{
  min-height: 140px;
}

/* Child ages container */
form#yas-enquiry-form .child-ages-wrap{
  grid-column: 1 / -1 !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}
form#yas-enquiry-form .child-age-field{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  padding: 10px 12px;
}
form#yas-enquiry-form .child-age-field label{
  display:block;
  font-size: 12px;
  opacity: 0.85;
  margin: 0 0 6px;
}

/* ===== Contact form: desktop polish requested ===== */

/* Keep autofill from forcing white background (desktop + mobile WebKit/Blink) */
form#yas-enquiry-form .enquiry-grid input:-webkit-autofill,
form#yas-enquiry-form .enquiry-grid textarea:-webkit-autofill,
form#yas-enquiry-form .enquiry-grid select:-webkit-autofill{
  -webkit-text-fill-color: #ffffff !important;
  transition: background-color 9999s ease-in-out 0s;
  box-shadow: 0 0 0px 1000px rgba(10,20,45,0.35) inset !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
}

/* Broader autofill override for other page form layouts (Home/Packages/Tickets/etc.) */
form#yas-enquiry-form input:-webkit-autofill,
form#yas-enquiry-form textarea:-webkit-autofill,
form#yas-enquiry-form select:-webkit-autofill{
  -webkit-text-fill-color: #ffffff !important;
  transition: background-color 9999s ease-in-out 0s;
  box-shadow: 0 0 0px 1000px rgba(10,20,45,0.35) inset !important;
  -webkit-box-shadow: 0 0 0px 1000px rgba(10,20,45,0.35) inset !important;
  caret-color: #ffffff !important;
}

/* Styled inline alert (replaces browser alert on Contact page) */
form#yas-enquiry-form .form-status.form-alert{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(93,220,255,.45);
  background: linear-gradient(90deg, rgba(25,118,255,.22), rgba(255,92,207,.14));
  color: #fff;
  font-weight: 600;
}

/* Light-blue calendar icon (desktop browsers that expose the indicator) */
form#yas-enquiry-form input[type="date"]::-webkit-calendar-picker-indicator{
  opacity: 1;
  filter: invert(67%) sepia(80%) saturate(450%) hue-rotate(165deg) brightness(110%) contrast(95%);
  cursor: pointer;
}

form#yas-enquiry-form .child-age-field input{
  width:100%;
  border-radius: 14px;
}

/* Mobile adjustments */
@media (max-width: 900px){
  form#yas-enquiry-form .enquiry-grid .date-range{
    grid-template-columns: 1fr;
  }
  form#yas-enquiry-form .child-ages-wrap{
    grid-template-columns: 1fr;
  }
}


/* ===== PHASE 1 - Contact page refinements (user requested) ===== */

/* Selects: colorful + rounded + custom arrow (field only; dropdown list itself is browser-controlled) */
form#yas-enquiry-form select.form-select{
  border-radius: 999px !important;
  padding-right: 44px !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' fill-opacity='0.85' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 18px 18px;
}

/* Date inputs (field styling only) */
form#yas-enquiry-form .date-input{
  border-radius: 999px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  background: linear-gradient(90deg, rgba(84,210,255,0.12), rgba(255,92,207,0.12)) !important;
  color: #fff !important;
}

/* Parks: single pill (no double capsule), colored selection, radio-like indicator */
form#yas-enquiry-form .park-check{
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  position: relative;
}

form#yas-enquiry-form .park-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

form#yas-enquiry-form .park-check span{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  cursor:pointer;
  user-select:none;
}

/* radio dot */
form#yas-enquiry-form .park-check span::before{
  content:"";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.65);
  box-sizing: border-box;
  flex: 0 0 14px;
}

/* selected state */
form#yas-enquiry-form .park-check input:checked + span{
  border-color: rgba(84,210,255,.55);
  background: linear-gradient(90deg, rgba(84,210,255,0.18), rgba(255,92,207,0.16));
}
form#yas-enquiry-form .park-check input:checked + span::before{
  background: rgba(84,210,255,.9);
  border-color: rgba(84,210,255,.9);
}

/* Reset button: proper capsule */
form#yas-enquiry-form .parks-reset{
  border-radius: 999px !important;
  padding: 10px 16px !important;
}


/* Contact page: style selects + date fields on DESKTOP too (scoped to avoid other pages) */
form#yas-enquiry-form .enquiry-grid select,
form#yas-enquiry-form .enquiry-grid .custom-select select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background: linear-gradient(135deg, rgba(45,140,255,.22), rgba(236,72,153,.22));
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  padding: 14px 44px 14px 18px;
  color:#fff;
  outline:none;
  background-image:
    linear-gradient(135deg, rgba(45,140,255,.22), rgba(236,72,153,.22)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='white'%3E%3Cpath d='M7 10L2 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center, right 18px center;
  background-size: auto, 14px;
}
form#yas-enquiry-form .enquiry-grid .custom-select{
  position:relative;
}
form#yas-enquiry-form .enquiry-grid .custom-select:after{
  content:"";
  position:absolute;
  right:18px;
  top:50%;
  width:10px;
  height:10px;
  border-right:2px solid rgba(255,255,255,.75);
  border-bottom:2px solid rgba(255,255,255,.75);
  transform: translateY(-60%) rotate(45deg);
  pointer-events:none;
}
form#yas-enquiry-form .enquiry-grid input[type="date"],
form#yas-enquiry-form .date-input{
  appearance:none;
  -webkit-appearance:none;
  background: linear-gradient(135deg, rgba(45,140,255,.18), rgba(236,72,153,.18));
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 12px 16px;
  color:#fff;
}
form#yas-enquiry-form .enquiry-grid input[type="date"]::-webkit-calendar-picker-indicator{
  /* light blue indicator on desktop (Safari/Chrome/Edge) */
  filter: invert(70%) sepia(90%) saturate(480%) hue-rotate(165deg) brightness(105%) contrast(95%);
  opacity: .95;
}

/* Autofill: prevent forced white background */
form#yas-enquiry-form .enquiry-grid input:-webkit-autofill,
form#yas-enquiry-form .enquiry-grid textarea:-webkit-autofill,
form#yas-enquiry-form .enquiry-grid select:-webkit-autofill{
  -webkit-text-fill-color: #ffffff !important;
  transition: background-color 9999s ease-in-out 0s;
  box-shadow: 0 0 0px 1000px rgba(10, 18, 45, 0.55) inset !important;
  border: 1px solid rgba(255,255,255,.25) !important;
}

/* Inline form alert (replaces browser alert on Contact page) */
form#yas-enquiry-form .enquiry-grid .form-status.form-alert{
  grid-column: 1 / -1 !important;
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(84,210,255,.35);
  background: linear-gradient(90deg, rgba(84,210,255,.18), rgba(255,92,207,.14));
  color: #ffffff;
  font-weight: 600;
}



/* v5: invalid field highlight */
.is-invalid{ outline: 2px solid rgba(255,0,0,0.55) !important; outline-offset: 2px; }
