/* ═══════════════════════════════════════════════════════════════
   ES: Estilos de /contacto
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero ──────────────────────────────────────────────────── */
.ctc-hero {
  background: var(--navy, #0B1F33);
  padding-top: var(--nav-h, 72px);
}
.ctc-hero-inner {
  padding-top: var(--esp-64); padding-bottom: var(--esp-64);
  max-width: 660px;
}
.ctc-eyebrow {
  font: 600 .72rem/1 var(--font-body, Inter, sans-serif);
  letter-spacing: .13em; text-transform: uppercase;
  color: var(--coral); margin: 0 0 var(--esp-12); display: block;
}
.ctc-hero-title {
  font: 800 clamp(2rem, 4.5vw, 3rem)/1.1 var(--font-head, Archivo, sans-serif);
  color: #fff; margin: 0 0 var(--esp-16);
}
.ctc-hero-desc {
  font-size: clamp(.95rem, 2vw, 1.1rem); color: rgba(255,255,255,.7);
  line-height: 1.65; margin: 0 0 var(--esp-32);
}
.ctc-hero-btns { display: flex; gap: var(--esp-12); flex-wrap: wrap; }

.btn-ctc-phone {
  display: inline-flex; align-items: center; gap: var(--esp-10);
  background: #fff; color: var(--navy, #0B1F33); border-radius: 100px;
  padding: var(--esp-12) var(--esp-24); font: 700 1rem/1 var(--font-head, Archivo, sans-serif);
  text-decoration: none; transition: background .2s, transform .2s;
}
.btn-ctc-phone svg { width: 18px; height: 18px; flex-shrink: 0; }
.btn-ctc-phone:hover { background: #f0f0f0; transform: translateY(-2px); }

.btn-ctc-wa {
  display: inline-flex; align-items: center; gap: var(--esp-10);
  background: #25D366; color: #fff; border-radius: 100px;
  padding: var(--esp-12) var(--esp-24); font: 700 1rem/1 var(--font-head, Archivo, sans-serif);
  text-decoration: none; transition: background .2s, transform .2s;
}
.btn-ctc-wa svg { width: 20px; height: 20px; flex-shrink: 0; }
.btn-ctc-wa:hover { background: #1ebe58; transform: translateY(-2px); }

/* ── Sección principal ─────────────────────────────────────── */
.ctc-section { padding: 96px 0; }
.ctc-main-section { background: var(--cream, #F7F5F0); }

.ctc-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--esp-64); align-items: start;
}
.ctc-layout > *,
.ctc-form-col,
.ctc-form,
.ctc-form .form-row,
.ctc-form .form-group { min-width: 0; }

/* ── Formulario ─────────────────────────────────────────────── */
.ctc-col-eyebrow {
  font: 600 .7rem/1 var(--font-body, Inter, sans-serif);
  letter-spacing: .13em; text-transform: uppercase;
  color: var(--coral); margin: 0 0 var(--esp-10); display: block;
}
.ctc-col-title {
  font: 800 clamp(1.4rem, 3vw, 2rem)/1.2 var(--font-head, Archivo, sans-serif);
  color: var(--navy, #0B1F33); margin: 0 0 var(--esp-10);
}
.ctc-col-desc { font-size: .95rem; color: var(--gray, #8A94A6); margin: 0 0 var(--esp-24); line-height: 1.6; }

.ctc-form { display: flex; flex-direction: column; gap: 0; }

/* Reuse global form classes from inspecciones.css */
.ctc-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--esp-16); margin-bottom: var(--esp-16); }
.ctc-form .form-row:has(.form-group:only-child) { grid-template-columns: 1fr; }
.ctc-form .form-group { display: flex; flex-direction: column; gap: var(--esp-6); }
.ctc-form label { font: 600 .82rem/1 var(--font-body, Inter, sans-serif); color: var(--navy, #0B1F33); }
.ctc-form label span { color: var(--coral); }
.ctc-form input,
.ctc-form select,
.ctc-form textarea {
  border: 1.5px solid #ddd9d2; border-radius: var(--radio-10);
  padding: var(--esp-12) var(--esp-12); font: .93rem/1.5 var(--font-body, Inter, sans-serif);
  color: var(--navy, #0B1F33); background: #fff;
  transition: border-color .2s, box-shadow .2s;
  width: 100%; box-sizing: border-box;
}
.ctc-form input:focus,
.ctc-form select:focus,
.ctc-form textarea:focus {
  outline: none; border-color: var(--coral);
  box-shadow: 0 0 0 3px rgba(255,107,74,.12);
}
.ctc-form textarea { resize: vertical; min-height: 100px; }

.btn-ctc-submit {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--coral); color: #fff; border: none;
  border-radius: 100px; padding: 15px var(--esp-32);
  font: 700 1rem/1 var(--font-head, Archivo, sans-serif);
  cursor: pointer; transition: background .2s, transform .2s, box-shadow .2s;
  margin-top: var(--esp-8); width: 100%;
}
.btn-ctc-submit:hover:not(:disabled) { background: #e85d3e; transform: translateY(-2px); box-shadow: 0 12px 36px rgba(255,107,74,.35); }
.btn-ctc-submit:disabled { opacity: .65; cursor: not-allowed; }

.ctc-form-note { font-size: .78rem; color: var(--gray, #8A94A6); text-align: center; margin: var(--esp-12) 0 0; }

.ctc-form-feedback {
  border-radius: var(--radio-10); padding: var(--esp-12) var(--esp-16); margin-top: var(--esp-16);
  font-size: .9rem; line-height: 1.5;
}
.ctc-form-feedback--success { background: #ecfdf5; border: 1px solid #6ee7b7; color: #065f46; }
.ctc-form-feedback--error   { background: #fef2f2; border: 1px solid #fca5a5; color: #991b1b; }

/* ── Datos de contacto ─────────────────────────────────────── */
.ctc-data-card {
  background: var(--navy, #0B1F33); border-radius: var(--radio-20);
  padding: var(--esp-32) var(--esp-24); position: sticky; top: calc(var(--nav-h, 72px) + 24px);
}
.ctc-data-title {
  font: 700 1.1rem/1.3 var(--font-head, Archivo, sans-serif);
  color: #fff; margin: 0 0 var(--esp-24);
  border-bottom: 1px solid rgba(255,255,255,.1); padding-bottom: var(--esp-16);
}
.ctc-data-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: var(--esp-20);
}
.ctc-data-list li { display: flex; gap: var(--esp-12); align-items: flex-start; }
.ctc-data-list li > div:last-child { min-width: 0; }
.ctc-data-icon {
  flex-shrink: 0; width: 36px; height: 36px;
  border-radius: var(--radio-10); background: rgba(255,255,255,.08);
  display: grid; place-items: center;
}
.ctc-data-icon svg { width: 18px; height: 18px; stroke: rgba(255,255,255,.6); }
.ctc-data-icon--wa { background: rgba(37,211,102,.15); }
.ctc-data-icon--wa svg { fill: #25D366; stroke: none; }
.ctc-data-label { font-size: .72rem; color: rgba(255,255,255,.4); text-transform: uppercase; letter-spacing: .08em; margin: 0 0 var(--esp-4); }
.ctc-data-value {
  font: 600 .9rem/1.4 var(--font-body, Inter, sans-serif);
  color: #fff; text-decoration: none;
  transition: color .2s;
  overflow-wrap: anywhere;
}
.ctc-data-value:hover { color: var(--coral); }
.ctc-data-value--plain { color: rgba(255,255,255,.75); }

/* ── Mapa ───────────────────────────────────────────────────── */
.ctc-map-section { background: #fff; }
.ctc-map-inner {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 72px; align-items: center;
}
.ctc-map-title {
  font: 800 clamp(1.5rem, 3vw, 2.2rem)/1.2 var(--font-head, Archivo, sans-serif);
  color: var(--navy, #0B1F33); margin: 0 0 var(--esp-12);
}
.ctc-map-desc { font-size: .95rem; color: var(--gray, #8A94A6); line-height: 1.6; margin: 0 0 var(--esp-24); }
.ctc-condados-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: var(--esp-10) var(--esp-20);
}
.ctc-condado-item {
  display: flex; align-items: center; gap: var(--esp-8);
  font: 600 .88rem/1 var(--font-body, Inter, sans-serif);
  color: var(--navy, #0B1F33);
}
.ctc-condado-item svg { width: 10px; height: 10px; flex-shrink: 0; }

/* SVG mapa Florida */
.ctc-map-wrap { display: flex; justify-content: center; }
.ctc-florida-map { max-width: 260px; width: 100%; }
.ctc-fl-silueta { fill: #eef1f6; stroke: #c5ccd8; stroke-width: 1.5; }
.ctc-condado-pin circle { }
.ctc-pin--primary circle { fill: var(--coral); }
.ctc-pin--secondary circle { fill: rgba(255,107,74,.45); }
.ctc-pin-label {
  font: bold 6px/1 sans-serif; fill: #fff;
  text-anchor: middle; dominant-baseline: middle;
  pointer-events: none;
}
.ctc-map-legend {
  font: 500 9px/1 sans-serif; fill: #6b7280;
  dominant-baseline: middle;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1023px) {
  .ctc-layout { grid-template-columns: 1fr; gap: var(--esp-40); }
  .ctc-data-card { position: static; }
  .ctc-map-inner { grid-template-columns: 1fr; gap: var(--esp-40); }
  .ctc-map-wrap { order: -1; }
  .ctc-florida-map { max-width: 180px; }
}
@media (max-width: 767px) {
  .ctc-section { padding: var(--esp-64) 0; }
  .ctc-hero-inner { padding-top: var(--esp-48); }
}
@media (max-width: 767px) {
  .ctc-form .form-row { grid-template-columns: 1fr; }
  .ctc-hero-btns { flex-direction: column; }
  .btn-ctc-phone, .btn-ctc-wa { width: 100%; justify-content: center; }
}

@media (max-width: 767px) {
  .ctc-hero-inner { padding-top: var(--esp-40); padding-bottom: var(--esp-48); }
  .ctc-section { padding: var(--esp-48) 0; }
  .ctc-data-card { padding: var(--esp-24) var(--esp-20); }
  .ctc-map-inner { gap: var(--esp-24); }
}
