/* ==========================================================================
   CONTACT PAGE STYLES
   ========================================================================== */

.contact-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 5rem;
}

/* ---- FORM ---- */
.booking-form { margin-top: 2.2rem; display: flex; flex-direction: column; gap: 1.4rem; max-width: 620px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.form-field { display: flex; flex-direction: column; gap: 0.5rem; }
.form-field label { font-size: 0.78rem; letter-spacing: 0.6px; color: var(--ink-muted); }
.form-field input,
.form-field select,
.form-field textarea {
  background: rgba(243,234,217,0.025);
  border: 1px solid rgba(217,154,43,0.25);
  color: var(--conch-ivory);
  padding: 13px 16px;
  font-size: 0.92rem;
  font-family: var(--font-body);
  resize: vertical;
}
.form-field select { cursor: pointer; }
.form-field select option { background: var(--deep-teal); }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { outline: none; border-color: var(--turmeric); }
.form-field input::placeholder,
.form-field textarea::placeholder { color: rgba(243,234,217,0.35); }

.booking-form .btn { align-self: flex-start; margin-top: 0.6rem; }

.form-success {
  color: var(--turmeric);
  font-size: 0.88rem;
  opacity: 0;
  height: 0;
  overflow: hidden;
  transition: opacity 0.4s;
}
.form-success.is-visible { opacity: 1; height: auto; margin-top: 0.6rem; }

/* ---- DETAILS COLUMN ---- */
.contact-details-col { display: flex; flex-direction: column; gap: 2.4rem; padding-top: 4.8rem; }
.detail-block { border-bottom: 1px solid rgba(217,154,43,0.14); padding-bottom: 1.8rem; }
.detail-block:last-child { border-bottom: none; }
.detail-icon { display: block; width: 34px; height: 34px; margin-bottom: 0.9rem; }
.detail-block h3 { font-size: 1rem; margin-bottom: 0.6rem; }
.detail-block p { color: var(--ink-muted); font-size: 0.9rem; line-height: 1.7; }
.social-block .footer-social { margin-top: 0.5rem; }

/* ---- MAP STRIP ---- */
.map-strip { position: relative; height: 360px; overflow: hidden; }
.map-placeholder { position: relative; width: 100%; height: 100%; }
.map-placeholder img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.6) brightness(0.55); }
.map-pin {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  text-align: center;
}
.map-pin-wheel { width: 56px; height: 56px; filter: drop-shadow(0 0 14px rgba(217,154,43,0.6)); }
.map-pin-label {
  background: rgba(5,20,19,0.85);
  border: 1px solid var(--turmeric);
  padding: 8px 16px;
  font-size: 0.82rem;
  color: var(--conch-ivory);
  white-space: nowrap;
}

@media (max-width: 992px) {
  .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
  .contact-details-col { padding-top: 0; }
  .form-row { grid-template-columns: 1fr; }
}
