/* contact.css — page-specific styles for Contact template */

.section{padding:2.25rem 0;}
.section--tight{padding-top:0;margin-top:1.5rem;}
.section--contact{max-width:1200px;margin:0 auto;padding-left:1rem;padding-right:1rem;}

.divider{height:1px;background:rgba(255,255,255,.12);margin:18px 0;border-radius:999px;}

.hero--contact{min-height:55vh;}
@media (min-width:768px){.hero--contact{min-height:65vh;}}

.hero__content--contact{max-width:56rem;}
.hero__overlay{background:linear-gradient(180deg, rgba(0,0,0,.40), rgba(0,0,0,.70));}

/* alerts */
.contact-alert{
  margin:0 0 1rem 0;
  padding:.9rem 1rem;
  border-radius:1rem;
  border:1px solid rgba(148,163,184,.25);
  background:rgba(255,255,255,.03);
}
.contact-alert--ok{border-color:rgba(34,197,94,.35);}
.contact-alert--err{border-color:rgba(248,113,113,.35);}
.contact-alert p{margin:.25rem 0;}

/* form text */
.contact-h2{font-size:1.5rem;font-weight:800;margin:0 0 .35rem 0;}
@media (min-width:768px){.contact-h2{font-size:1.75rem;}}
.contact-lead{margin:0 0 1.25rem 0;font-size:.96rem;opacity:.9;}
.contact-counter{margin:.4rem 0 0 0;font-size:.8rem;opacity:.85;}
.contact-agree{font-size:.8rem;opacity:.85;}

/* page layout */
.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:1.5rem;
  align-items:flex-start;
}
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr;}
}

.contact-panel{
  border-radius:1.1rem;
  padding:1.6rem 1.7rem;
  background:#0b0d11;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 18px 40px rgba(15,23,42,.75);
}
.contact-panel--info{background:#070a0f;}

.contact-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
@media (max-width:768px){
  .contact-form-grid{grid-template-columns:1fr;}
}
.contact-field-full{grid-column:1/-1;}

.contact-form-actions{
  margin-top:1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

/* info */
.contact-details{display:grid;gap:.85rem;font-size:.95rem;}
.contact-detail-label{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:rgba(148,163,184,.9);
  margin-bottom:.2rem;
}
.contact-hours{white-space:pre-line;}
.contact-notes{margin-top:1.2rem;font-size:.95rem;color:rgba(255,255,255,.8);}
.contact-notes p{margin:.65rem 0;}

/* cards */
.contact-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
@media (max-width:768px){
  .contact-cards{grid-template-columns:1fr;}
}
.contact-mini-card{
  border-radius:1.1rem;
  padding:1.1rem 1.15rem 1.25rem;
  background:#0b0d11;
  border:1px solid rgba(148,163,184,.25);
  box-shadow:0 16px 36px rgba(15,23,42,.75);
}
.contact-mini-img{
  width:100%;
  aspect-ratio:4/3;
  border-radius:.9rem;
  overflow:hidden;
  margin-bottom:.7rem;
}
.contact-mini-img img{width:100%;height:100%;object-fit:cover;display:block;}

/* map */
.contact-map{margin-top:1rem;}
.contact-map-frame{
  border-radius:1.25rem;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 45px rgba(0,0,0,.55);
  aspect-ratio:21/9;
  background:#0b0d11;
}
@media (max-width:768px){
  .contact-map-frame{aspect-ratio:16/9;}
}
.contact-map-frame iframe{width:100%;height:100%;border:0;display:block;}
.contact-map-empty{height:100%;display:grid;place-items:center;color:rgba(255,255,255,.7);padding:1.5rem;text-align:center;}
.contact-map-meta{margin-top:.9rem;display:grid;gap:.6rem;}
.contact-map-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;}
.contact-map-label{color:rgba(255,255,255,.65);}

/* FAQ */
.contact-faq{
  margin-top:1.25rem;
  border-radius:1.25rem;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
}
.contact-faq details{padding:1rem 1.15rem;border-top:1px solid rgba(255,255,255,.10);}
.contact-faq details:first-child{border-top:none;}
.contact-faq summary{cursor:pointer;font-weight:700;font-size:1.05rem;}
@media (min-width:768px){.contact-faq summary{font-size:1.15rem;}}
.contact-faq details > div{margin-top:.6rem;color:rgba(255,255,255,.82);}

/* bottom CTA alignment */
.contact-bottom-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1.25rem;
}
@media (max-width:768px){
  .contact-bottom-cta{flex-direction:column;align-items:flex-start;}
}
.contact-bottom-title{margin:0;font-weight:800;}
.contact-bottom-sub{margin:.25rem 0 0;color:rgba(227,227,227,.95);}
.contact-bottom-actions{display:flex;gap:.5rem;flex-wrap:wrap;}

/* honeypot */
.hp{position:absolute !important;left:-9999px !important;height:0 !important;width:0 !important;opacity:0 !important;pointer-events:none !important;}

/* CTA pill links */
.cta-link{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.3rem .9rem;
  border-radius:999px;
  background:rgba(15,23,42,.9);
  border:1px solid rgba(148,163,184,.45);
  box-shadow:0 10px 30px rgba(0,0,0,.6);
  text-decoration:none;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease;
}
.cta-link:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 40px rgba(0,0,0,.8);
  border-color:var(--accent, #F5C400);
  background:rgba(15,23,42,1);
}
.cta-link-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.75rem;
  height:1.75rem;
  border-radius:999px;
  background:rgba(15,23,42,1);
  font-size:.95rem;
}
.cta-link-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;}
.cta-link-label{
  display:block;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:rgba(226,232,240,.8);
}
.cta-link-main{display:block;font-weight:700;font-size:.92rem;}
.cta-link--phone{color:#FACC15;}
.cta-link--address{color:#E5E7EB;}
