/* contact.css — Contact page */

.page-hero { min-height:380px; height:auto; align-items:flex-end; padding-bottom:4.5rem; }
.hero-bg {
  position:absolute; inset:0;
  background:
    linear-gradient(135deg, rgba(13,27,42,.92) 50%, rgba(0,191,165,.2) 100%),
    url('images/pool fog2.jpg') center/cover no-repeat;
}
.hero-mist { position:absolute; inset:0; background:radial-gradient(ellipse 55% 50% at 75% 60%, rgba(79,195,247,.1) 0%, transparent 70%); animation:mistDrift 9s ease-in-out infinite alternate; }
@keyframes mistDrift { from{transform:translateX(-15px);opacity:.6} to{transform:translateX(15px);opacity:1} }

/* ── QUICK BAR ── */
.quick-bar { background:var(--navy); border-bottom:1px solid rgba(255,255,255,.06); }
.quick-bar-inner { max-width:1200px; margin:0 auto; padding:1rem 5vw; display:flex; align-items:center; gap:2.5rem; flex-wrap:wrap; }
.quick-item { display:flex; align-items:center; gap:.625rem; text-decoration:none; color:rgba(255,255,255,.75); font-size:.875rem; transition:color .2s; }
.quick-item:hover { color:var(--mist); }
.quick-item svg { width:16px; height:16px; color:var(--teal); flex-shrink:0; }
.quick-item strong { color:var(--white); }
.quick-divider { width:1px; height:24px; background:rgba(255,255,255,.1); }

/* ── MAIN LAYOUT ── */
.contact-wrap { max-width:1200px; margin:0 auto; padding:4rem 5vw 5rem; display:grid; grid-template-columns:1fr 400px; gap:4rem; align-items:start; }

/* ── FORM CARD ── */
.form-card { background:var(--white); border:1px solid var(--border); border-radius:20px; overflow:hidden; box-shadow:0 4px 32px rgba(13,27,42,.07); }
.form-card-header { padding:1.75rem 2.25rem; border-bottom:1px solid var(--border); }
.form-card-header h2 { font-family:'Playfair Display',serif; font-size:1.625rem; color:var(--navy); margin-bottom:.25rem; }
.form-card-header p { font-size:.9rem; color:var(--gray); }
.form-body { padding:2rem 2.25rem; }

.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.125rem; margin-bottom:1.125rem; }
.form-row.single { grid-template-columns:1fr; }
.field { display:flex; flex-direction:column; gap:.375rem; }
.field label { font-size:.8125rem; font-weight:600; color:var(--navy); }
.field label span { color:#e53e3e; margin-left:2px; }
.field input, .field select, .field textarea { width:100%; padding:.6875rem .875rem; border:2px solid var(--border); border-radius:8px; font-family:inherit; font-size:.9375rem; color:var(--navy); background:var(--white); outline:none; transition:border-color .18s,box-shadow .18s; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,191,165,.1); }
.field textarea { resize:vertical; min-height:130px; }

.interest-chips { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.25rem; }
.chip { padding:.375rem .875rem; border-radius:100px; border:1.5px solid var(--border); font-family:inherit; font-size:.8125rem; font-weight:600; color:var(--gray); cursor:pointer; background:var(--white); transition:border-color .18s,background .18s,color .18s; }
.chip:hover { border-color:var(--mist); color:var(--navy); }
.chip.selected { background:var(--navy); border-color:var(--navy); color:var(--white); }

.pref-row { display:flex; gap:.75rem; margin-top:.25rem; }
.pref-opt { flex:1; }
.pref-opt input[type=radio] { display:none; }
.pref-opt label { display:block; text-align:center; padding:.5rem; border:1.5px solid var(--border); border-radius:8px; font-size:.8125rem; font-weight:600; color:var(--gray); cursor:pointer; transition:border-color .18s,background .18s,color .18s; }
.pref-opt input:checked + label { background:var(--navy); border-color:var(--navy); color:var(--white); }

.form-submit { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.submit-note { font-size:.8125rem; color:var(--gray); }
.btn-submit { display:inline-flex; align-items:center; gap:8px; background:var(--teal); color:var(--white); border:none; font-family:inherit; font-size:1rem; font-weight:700; padding:.875rem 2rem; border-radius:10px; cursor:pointer; transition:background .2s,transform .15s; }
.btn-submit:hover { background:#00a896; transform:translateY(-1px); }

.success-screen { display:none; padding:3rem 2.25rem; text-align:center; }
.success-screen.visible { display:block; }
.success-icon { font-size:3rem; margin-bottom:1rem; }
.success-screen h3 { font-family:'Playfair Display',serif; font-size:1.625rem; color:var(--navy); margin-bottom:.625rem; }
.success-screen p { font-size:.9375rem; color:var(--gray); max-width:360px; margin:0 auto 1.5rem; }

/* ── INFO PANEL ── */
.info-panel { display:flex; flex-direction:column; gap:1.25rem; }
.info-card { background:var(--navy); border-radius:16px; padding:1.75rem; color:var(--white); }
.info-card h3 { font-family:'Playfair Display',serif; font-size:1.25rem; color:var(--white); margin-bottom:1.25rem; padding-bottom:.875rem; border-bottom:1px solid rgba(255,255,255,.1); }
.info-row { display:flex; gap:1rem; align-items:flex-start; padding:.625rem 0; border-bottom:1px solid rgba(255,255,255,.07); }
.info-row:last-child { border-bottom:none; }
.info-icon { width:36px; height:36px; border-radius:9px; background:rgba(79,195,247,.12); border:1px solid rgba(79,195,247,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.info-icon svg { width:16px; height:16px; color:var(--mist); }
.info-body strong { display:block; font-size:.8125rem; font-weight:600; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.06em; margin-bottom:3px; }
.info-body span { font-size:.9375rem; color:var(--white); line-height:1.5; }
.info-body a { color:var(--mist); text-decoration:none; font-size:.9375rem; }
.info-body a:hover { text-decoration:underline; }

.hours-table { width:100%; border-collapse:collapse; margin-top:.25rem; }
.hours-table tr { border-bottom:1px solid rgba(255,255,255,.06); }
.hours-table tr:last-child { border-bottom:none; }
.hours-table td { padding:.4rem 0; font-size:.875rem; color:rgba(255,255,255,.75); }
.hours-table td:last-child { text-align:right; }
.hours-table .today td { color:var(--mist); font-weight:600; }
.closed { color:rgba(255,255,255,.35)!important; }

.social-card { background:var(--light); border:1px solid var(--border); border-radius:16px; padding:1.5rem; }
.social-card h4 { font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gray); margin-bottom:1rem; }
.social-links { display:flex; gap:.75rem; }
.social-link { flex:1; display:flex; flex-direction:column; align-items:center; gap:.375rem; padding:.875rem .5rem; border-radius:10px; border:1.5px solid var(--border); text-decoration:none; font-size:.75rem; font-weight:700; color:var(--navy); transition:border-color .2s,background .2s,color .2s; }
.social-link:hover { border-color:var(--mist); color:var(--teal); background:var(--white); }
.social-link svg { width:22px; height:22px; }

.map-card { border-radius:16px; overflow:hidden; border:1px solid var(--border); }
.map-placeholder { height:200px; background:var(--light); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; color:var(--gray); }
.map-placeholder a { display:inline-flex; align-items:center; gap:6px; background:var(--navy); color:var(--white); text-decoration:none; font-size:.8125rem; font-weight:600; padding:.5rem 1.125rem; border-radius:6px; margin-top:.375rem; transition:background .2s; }
.map-placeholder a:hover { background:#1a3047; }

/* ── TRUST STRIP ── */
.trust-strip { background:var(--light); padding:3.5rem 5vw; }
.trust-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.trust-item { text-align:center; }
.trust-item .t-icon { font-size:1.75rem; margin-bottom:.625rem; }
.trust-item h4 { font-size:.9375rem; font-weight:700; color:var(--navy); margin-bottom:.25rem; }
.trust-item p { font-size:.8125rem; color:var(--gray); line-height:1.5; }

/* ── RESPONSIVE ── */
@media (max-width:1000px) {
  .contact-wrap { grid-template-columns:1fr; }
  .info-panel { order:-1; }
  .trust-inner { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .form-row { grid-template-columns:1fr; }
  .quick-bar-inner { gap:1.25rem; }
  .quick-divider { display:none; }
  .trust-inner { grid-template-columns:1fr; }
  .social-links { flex-direction:column; }
}
