/* ============================================================
   DNYAN SETU — contact.css
   Page-specific styles for Contact Us page
============================================================ */

/* ── Page Hero ── */
.page-hero{
  background:linear-gradient(135deg,var(--navy) 0%,#243869 60%,var(--navy-soft) 100%);
  padding:140px 0 80px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1521587760476-6c12a4b040da?q=80&w=1920&auto=format&fit=crop') center/cover;
  opacity:.08;
}
.page-hero h1{font-family:var(--display);font-size:clamp(2.4rem,5vw,4rem);color:#fff;font-weight:400;margin-bottom:16px;position:relative;}
.page-hero p{color:rgba(255,255,255,.75);max-width:560px;margin:0 auto;position:relative;}
.page-hero .eyebrow{position:relative;}

/* ── Contact Layout ── */
.contact-layout{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:60px;
  align-items:start;
}

/* ── Info Cards ── */
.contact-info{ display:flex; flex-direction:column; gap:20px; }
.info-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:24px;
  display:flex;
  gap:18px;
  align-items:flex-start;
  transition:transform .3s ease,box-shadow .3s ease;
}
.info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}
.info-icon{
  width:48px;height:48px;border-radius:12px;flex-shrink:0;
  background:linear-gradient(135deg,var(--orange),var(--gold));
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
}
.info-card h4{font-size:.9rem;color:var(--navy);font-weight:600;margin-bottom:5px;}
.info-card p,.info-card a{font-size:.86rem;color:var(--muted);display:block;line-height:1.7;}
.info-card a:hover{color:var(--orange);}

/* ── Hours Card ── */
.hours-card{
  background:linear-gradient(135deg,var(--navy),var(--navy-soft));
  border:none;
}
.hours-card .info-icon{background:rgba(255,255,255,.15);}
.hours-card h4,.hours-card p{color:rgba(255,255,255,.85);}
.hours-card h4{color:#fff;}

/* ── Contact Form ── */
.contact-form-wrap{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:24px;
  padding:44px 42px;
  box-shadow:var(--shadow);
}
.contact-form-wrap h3{
  font-family:var(--display);
  font-size:1.6rem;
  color:var(--navy);
  font-weight:400;
  margin-bottom:8px;
}
.contact-form-wrap > p{color:var(--muted);font-size:.9rem;margin-bottom:30px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-group{display:flex;flex-direction:column;gap:7px;}
.form-group.full{grid-column:1/-1;}
.form-group label{font-size:.8rem;font-weight:600;color:var(--navy);letter-spacing:.03em;text-transform:uppercase;}
.form-group input,
.form-group select,
.form-group textarea{
  border:1.5px solid var(--border);
  border-radius:12px;
  padding:12px 16px;
  font-family:var(--body);
  font-size:.92rem;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
  background:var(--cream);
  color:var(--ink);
  width:100%;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(245,133,31,.12);
  background:#fff;
}
.form-group textarea{resize:vertical;min-height:130px;}
.form-group select{cursor:pointer;}
.form-submit{margin-top:24px;}
.form-submit .btn{width:100%;justify-content:center;padding:15px;}

/* ── Map ── */
.map-section{background:var(--cream);}
.map-wrap{
  border-radius:var(--radius);
  overflow:hidden;
  height:400px;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  background:linear-gradient(135deg,#e8ecf4,#d0d9ec);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:14px;
  position:relative;
}
.map-wrap::before{
  content:'🗺️';font-size:4rem;opacity:.4;
}
.map-wrap p{font-family:var(--mono);font-size:.82rem;color:var(--navy);opacity:.6;letter-spacing:.05em;}
.map-branches{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:40px;
}
.branch-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:22px;
  transition:transform .3s ease,box-shadow .3s ease;
}
.branch-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);}
.branch-tag{
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:999px;
  margin-bottom:12px;
  display:inline-block;
}
.branch-tag.main{background:rgba(27,42,86,.08);color:var(--navy);}
.branch-tag.new{background:rgba(245,133,31,.12);color:var(--orange);}
.branch-card h4{font-size:.96rem;color:var(--navy);margin-bottom:6px;font-weight:600;}
.branch-card p{font-size:.82rem;color:var(--muted);line-height:1.7;}
.branch-hours{
  font-family:var(--mono);
  font-size:.74rem;
  color:var(--orange);
  font-weight:600;
  margin-top:10px;
  display:block;
}

/* ── Success Toast ── */
.toast{
  position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--navy);color:#fff;
  padding:14px 28px;border-radius:999px;
  font-size:.88rem;font-weight:600;
  opacity:0;transition:opacity .3s ease,transform .3s ease;
  z-index:999;pointer-events:none;
  box-shadow:var(--shadow);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ── Responsive ── */
@media(max-width:1080px){
  .contact-layout{grid-template-columns:1fr;gap:40px;}
  .map-branches{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
  .form-grid{grid-template-columns:1fr;}
  .form-group.full{grid-column:auto;}
}
@media(max-width:480px){
  .contact-form-wrap{padding:26px 20px;}
  .map-branches{grid-template-columns:1fr;}
  .map-wrap{height:260px;}
}
