/* contact.css - dark-mode by default; add body.light-mode for light theme overrides */

/* variables */
:root{
  --dark-bg: #171717;
  --dark-card: #1b1b1b;
  --gold: #e0a730;
  --white: #ffffff;
  --muted-light: #cfcfcf;

  --light-bg: #ffffff;
  --light-card: #f9f9f9;
  --blue: #204180;
  --muted-dark: #555555;
}

/* default = dark */
body {
  margin:0;
  font-family:Poppins, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  background: var(--dark-bg);
  color: var(--white);
  transition: background .22s ease, color .22s ease;
}

/* light mode */
body.light-mode {
  background: var(--light-bg);
  color: #111;
}

/* container */
.container { width: min(1150px, 94%); margin: 0 auto; padding: 28px 0; }

/* HERO */
.contact-hero {
  display:flex; gap:28px; align-items:center; justify-content:center;
  padding: 36px 0 12px;
}
.hero-left { flex:1; min-width:260px; }
.hero-left h1 { font-size: clamp(22px,5vw,40px); margin:0 0 8px; color:currentColor; }
.lead { margin:0 0 14px; color: var(--muted-light); max-width:56ch; }

.hero-actions { display:flex; gap:12px; margin-top:6px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border-radius:10px; text-decoration:none; font-weight:600; cursor:pointer; border:2px solid transparent; }
.btn.primary { background: var(--gold); color:#000; }
.btn.outline { background:transparent; color:var(--gold); border-color:var(--gold); }

/* hero image */
.hero-right img{ width:420px; max-width:100%; border-radius:12px; display:block;  animation: float 4s ease-in-out infinite;}
@keyframes float {
  0% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}



/* GRID */
.contact-grid { display:grid; grid-template-columns: 360px 1fr; gap:24px; align-items:start; margin-top:20px; }
@media (max-width:980px){
  .contact-hero {
  display:grid;
  }
  .contact-grid{ grid-template-columns: 1fr; } .hero-right{ order:-1; } }

/* info cards */
.info-cards{ display:flex; flex-direction:column; gap:14px; }
.card{ background: var(--dark-card); padding:18px; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,0.6); border:1px solid rgba(255,255,255,0.04); color:var(--white); }
.card .icon{ font-size:20px; margin-bottom:6px; }
.card h4{ margin:0 0 6px; font-size:16px; }
.card p{ margin:0; color:var(--muted-light); }

/* form card */
.form-card, .form-card * { box-sizing:border-box; }
.form-card h2{ margin:0 0 8px; }
.form-card .desc { margin-bottom:12px; color:var(--muted-light); }

/* form styles */
.form-card, .form-card .contact-form, .form-card .form-group { width:100%; }
.form-card { background: var(--dark-card); padding:20px; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,0.6); border:1px solid rgba(255,255,255,0.04); color:var(--white); }
.contact-form{ display:flex; flex-direction:column; gap:12px; }
.field-row{ display:flex; gap:12px; }
.field-row .form-group{ flex:1; }
.form-group label{ display:block; margin-bottom:6px; font-weight:600; color:currentColor; }
.form-group input, .form-group textarea{
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  background: var(--dark-bg);
  border: 1.6px solid rgba(255,255,255,0.06);
  color: var(--white);
  outline:none;
  font-size:14px;
}
.form-group textarea{ min-height:120px; resize:vertical; }
.form-group input::placeholder, .form-group textarea::placeholder{ color: rgba(255,255,255,0.42); }

/* submit */
.submit-btn{ margin-top:6px; padding:12px 14px; border-radius:10px; background:var(--gold); color:#000; border:none; font-weight:700; cursor:pointer; }

/* loader & success (same style as admission) */
.form-loader{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,0.45); z-index:1200; }
.form-loader[aria-hidden="false"]{ display:flex; }
.loader-inner{ background:var(--dark-card); padding:16px 22px; border-radius:10px; display:flex; gap:12px; align-items:center; box-shadow:0 12px 36px rgba(0,0,0,0.6); }
.spinner{ width:34px; height:34px; border-radius:50%; border:4px solid rgba(255,255,255,0.08); border-top-color:var(--gold); animation:spin 1s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.loader-text{ color:var(--white); font-weight:600; }

/* success */
.form-success{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,0.35); z-index:1300; }
.form-success[aria-hidden="false"]{ display:flex; }
.success-card{ width:min(520px,92%); background:var(--dark-card); color:var(--white); padding:20px; border-radius:12px; text-align:center; box-shadow:0 18px 50px rgba(0,0,0,0.6); }
.success-close{ position:absolute; right:12px; top:10px; background:transparent; border:none; color:var(--muted-light); font-size:18px; cursor:pointer; }

/* LIGHT MODE OVERRIDES */
body.light-mode .card,
body.light-mode .form-card,
body.light-mode .loader-inner,
body.light-mode .success-card {
  background: var(--light-card);
  color: #111;
  box-shadow: 0 10px 30px rgba(16,24,40,0.06);
  border: 1px solid rgba(0,0,0,0.06);
}
body.light-mode .form-group input,
body.light-mode .form-group textarea {
  background: var(--light-bg);
  border: 1.6px solid rgba(0,0,0,0.08);
  color: #111;
}
body.light-mode .lead { color: var(--muted-dark); }
body.light-mode .btn.primary { background: var(--blue); color: #fff; }
body.light-mode .btn.outline { color: var(--blue); border-color: var(--blue); }
body.light-mode .submit-btn { background: var(--blue); color: #fff; }

/* responsive */
@media (max-width:880px){
  .field-row{ flex-direction:column; }
  .info-cards{  gap:10px; overflow:auto; }
}
