/* ========== CONTACT PAGE ========== */
.contact-page{ color:#fff; }

/* Hero */
.contact-page .cp-hero{
  position:relative; isolation:isolate;
  background: #0f0f10;
  min-height: 44vh;
  display:flex; align-items:center;
}
.contact-page .cp-hero::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.75)),
    var(--cp-hero, url('/assets/img/hero/contacto.webp')) center/cover no-repeat;
  filter: saturate(0.9) contrast(1.05);
}
.contact-page .cp-hero__card{
  max-width: 760px;
  background: rgba(0,0,0,.45);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  padding: 28px 28px 22px;
  box-shadow: 0 24px 60px rgba(0,0,0,.35);
  backdrop-filter: blur(6px);
}
.contact-page .cp-title{
  font-weight: 900;
  font-size: clamp(28px, 5vw, 44px);
  letter-spacing:.3px; margin:0 0 6px 0;
}
.contact-page .cp-lead{
  color: rgba(255,255,255,.88);
  margin: 0 0 14px 0;
  font-size: clamp(14px, 1.6vw, 18px);
}
.contact-page .cp-kpis{
  display:flex; gap:22px; margin: 8px 0 0; padding:0; list-style:none;
}
.contact-page .cp-kpis li { display:flex; flex-direction:column; }
.contact-page .cp-kpis .num{
  font-weight:800; font-size:20px;
}
.contact-page .cp-kpis .lbl{
  font-size:12px; opacity:.85;
}

/* Body */
.contact-page .cp-body{ padding: 28px 0 48px; }

/* Card base */
.contact-page .cp-card{
  background: rgba(17,17,17,.85);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
}

/* Form */
.contact-page .cp-h2{
  font-size: 18px; font-weight:800; margin:0 0 8px 0;
  color:#fff;
}
.contact-page .cp-field .form-label{ color:#cfd2d6; font-weight:600; }
.contact-page .cp-field .form-control{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
}
.contact-page .cp-field .form-control:focus{
  background: rgba(255,255,255,.08);
  border-color:#14a34a; box-shadow: 0 0 0 .2rem rgba(20,163,74,.15);
}
.contact-page .btn-accent{
  background:#14a34a; color:#fff; border:1px solid transparent;
}
.contact-page .btn-accent:hover{ filter:brightness(1.06); transform: translateY(-1px); }
.contact-page .btn-ghost-like{
  background: transparent; color:#fff; border:1px solid rgba(255,255,255,.2);
}
.contact-page .btn-ghost-like:hover{
  background: rgba(255,255,255,.08);
}

/* Aside */
.contact-page .cp-aside .cp-list{
  list-style:none; margin:0 0 10px 0; padding:0; display:grid; gap:8px;
}
.contact-page .cp-aside .cp-list i{ color:#14a34a; margin-right:8px; }
.contact-page .cp-aside .cp-list a{ color:#dfe3e7; text-decoration:none; }
.contact-page .cp-aside .cp-list a:hover{ text-decoration:underline; }
.contact-page .cp-social{ display:flex; gap:10px; }
.contact-page .cp-sbtn{
  width:38px; height:38px; display:grid; place-items:center;
  border-radius:10px; border:1px solid rgba(255,255,255,.18);
  color:#fff; text-decoration:none; background: rgba(255,255,255,.06);
}
.contact-page .cp-sbtn:hover{ background: rgba(255,255,255,.14); transform: translateY(-1px); }
.contact-page .cp-map iframe{
  width:100%; height:220px; border:0; border-radius:12px;
}

/* Responsive */
@media (max-width: 991.98px){
  .contact-page .cp-hero{ min-height: 36vh; }
  .contact-page .cp-hero__card{ padding: 20px; }
  .contact-page .cp-kpis{ gap:14px; }
}
