/* ── AURA SAHA — CONTACT PAGE STYLES ── */

.contact-hero { padding:140px 6vw 80px; background:var(--soft); position:relative; overflow:hidden; }
.contact-hero::before { content:''; position:absolute; top:-150px; right:-150px; width:600px; height:600px; background:radial-gradient(circle, rgba(245,166,35,0.1) 0%, transparent 70%); border-radius:50%; pointer-events:none; }
.hero-tag { display:inline-block; background:var(--teal-light); color:var(--teal); font-size:0.75rem; font-weight:700; padding:6px 14px; border-radius:50px; margin-bottom:1.2rem; text-transform:uppercase; letter-spacing:1px; }
.contact-hero h1 { font-family:'Fraunces',serif; font-size:clamp(2.5rem,5vw,4rem); font-weight:900; line-height:1.1; letter-spacing:-1.5px; margin-bottom:1rem; }
.contact-hero h1 em { font-style:italic; color:var(--teal); }
.contact-hero p { font-size:1.05rem; opacity:0.65; max-width:550px; line-height:1.7; }

.contact-main { padding:80px 6vw; }
.contact-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:5rem; align-items:start; }

.contact-form-wrap h2 { font-family:'Fraunces',serif; font-size:1.8rem; font-weight:900; letter-spacing:-0.5px; margin-bottom:0.5rem; }
.form-sub { font-size:0.9rem; opacity:0.6; line-height:1.6; margin-bottom:2rem; }
.form-group { margin-bottom:1.4rem; }
label { display:block; font-size:0.82rem; font-weight:700; margin-bottom:0.5rem; color:var(--ink); opacity:0.8; }
input, select, textarea { width:100%; padding:14px 18px; border:2px solid rgba(26,26,46,0.1); border-radius:14px; font-family:'Plus Jakarta Sans',sans-serif; font-size:0.95rem; color:var(--ink); background:white; transition:border-color 0.2s, box-shadow 0.2s; outline:none; }
input:focus, select:focus, textarea:focus { border-color:var(--teal); box-shadow:0 0 0 4px rgba(13,110,110,0.08); }
textarea { resize:vertical; min-height:140px; }
select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1A2E' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 18px center; cursor:pointer; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

.special-needs-toggle { background:var(--teal-light); border:2px solid rgba(13,110,110,0.15); border-radius:16px; padding:16px 18px; display:flex; align-items:center; gap:12px; cursor:pointer; transition:border-color 0.2s; }
.special-needs-toggle:hover { border-color:var(--teal); }
.toggle-icon { font-size:1.3rem; }
.toggle-text { flex:1; }
.toggle-title { font-size:0.88rem; font-weight:700; color:var(--teal); }
.toggle-sub { font-size:0.75rem; color:var(--teal); opacity:0.7; margin-top:2px; }
.toggle-check { width:22px; height:22px; border-radius:6px; border:2px solid rgba(13,110,110,0.3); background:white; display:flex; align-items:center; justify-content:center; font-size:0.75rem; transition:background 0.2s, border-color 0.2s; }
.special-needs-toggle.active .toggle-check { background:var(--teal); border-color:var(--teal); color:white; }

.btn-submit { width:100%; padding:18px; background:var(--teal); color:white; border:none; border-radius:50px; font-family:'Plus Jakarta Sans',sans-serif; font-size:1rem; font-weight:700; cursor:pointer; transition:background 0.2s, transform 0.15s, box-shadow 0.2s; box-shadow:0 4px 20px rgba(13,110,110,0.25); margin-top:0.5rem; }
.btn-submit:hover { background:var(--teal-deep); transform:translateY(-2px); box-shadow:0 8px 30px rgba(13,110,110,0.3); }

.success-msg { display:none; background:var(--teal-light); border:2px solid rgba(13,110,110,0.2); border-radius:16px; padding:24px; text-align:center; margin-top:1rem; }
.success-msg.show { display:block; }
.success-msg .s-icon { font-size:2rem; margin-bottom:0.5rem; }
.success-msg p { color:var(--teal); font-weight:600; font-size:0.95rem; }

.info-section { margin-bottom:2.5rem; }
.info-section h3 { font-family:'Fraunces',serif; font-size:1.15rem; font-weight:700; margin-bottom:1.2rem; }
.info-card { background:white; border-radius:18px; padding:20px; display:flex; align-items:flex-start; gap:1rem; margin-bottom:1rem; transition:transform 0.2s; box-shadow:0 2px 12px rgba(0,0,0,0.04); }
.info-card:hover { transform:translateY(-2px); }
.info-icon { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.info-icon.teal { background:var(--teal-light); }
.info-icon.sun  { background:var(--sun-light); }
.info-icon.rose { background:#FFF0EE; }
.info-title { font-weight:700; font-size:0.88rem; margin-bottom:3px; }
.info-val { font-size:0.85rem; opacity:0.65; line-height:1.5; }
.info-val a { color:var(--teal); text-decoration:none; font-weight:600; }
.info-val a:hover { text-decoration:underline; }

.timezone-card { background:var(--ink); border-radius:20px; padding:24px; color:white; margin-bottom:1.5rem; }
.tz-title { font-weight:700; font-size:0.88rem; color:rgba(255,255,255,0.7); margin-bottom:1rem; text-transform:uppercase; letter-spacing:0.5px; }
.tz-list { display:flex; flex-direction:column; gap:0.6rem; }
.tz-item { display:flex; justify-content:space-between; align-items:center; }
.tz-flag { font-size:1rem; margin-right:0.5rem; }
.tz-country { font-size:0.85rem; color:rgba(255,255,255,0.75); }
.tz-time { font-family:'Fraunces',serif; font-size:1rem; font-weight:700; color:var(--sun); }

.response-promise { background:var(--sun-light); border:2px solid rgba(245,166,35,0.2); border-radius:18px; padding:20px; display:flex; align-items:flex-start; gap:1rem; }
.rp-icon { font-size:1.5rem; flex-shrink:0; }
.rp-text h4 { font-weight:700; font-size:0.9rem; color:var(--sun-deep); margin-bottom:4px; }
.rp-text p { font-size:0.8rem; opacity:0.7; line-height:1.5; }

@media(max-width:900px) {
  .contact-grid { grid-template-columns:1fr; gap:3rem; }
  .form-row { grid-template-columns:1fr; }
}
/* ── CONTACT PAGE MOBILE RESPONSIVENESS ── */
@media (max-width: 768px) {

  .contact-hero {
    padding: 100px 1.5rem 60px;
    text-align: center;
  }

  .contact-hero h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .contact-hero p {
    margin: 0 auto;
  }

  .contact-main {
    padding: 60px 1.5rem;
  }

  .contact-grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .btn-submit {
    width: 100%;
    padding: 1.2rem;
  }

  .contact-info {
    margin-top: 1rem;
  }
}