/* CONTACTO — composiciones propias (sistema en css/core.css) */

/* ---- 01 · HERO tipográfico ---- */
.ctc-hero__title { display: flex; flex-direction: column; margin-left: -0.04em; }
.ctc-hero__line { display: block; }
.ctc-hero__title em { letter-spacing: -0.01em; }

.ctc-hero__base {
  display: grid;
  gap: var(--s-8);
  margin-top: clamp(2rem, 5vw, 3.5rem);
  padding-top: var(--s-6);
  border-top: 1px solid var(--line);
}
@media (min-width: 900px) {
  .ctc-hero__base { grid-template-columns: minmax(0, 56ch) auto; justify-content: space-between; align-items: end; }
}
.ctc-hero__datum { display: flex; flex-direction: column; gap: var(--s-2); }
@media (min-width: 900px) { .ctc-hero__datum { align-items: flex-end; text-align: right; } }
.ctc-hero__figure {
  font-family: var(--font-mono);
  font-weight: 300;
  font-size: clamp(2.5rem, 7vw, 5.5rem);
  line-height: 1;
  color: var(--gold-bright);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* ---- 02 · BARRA DE CONTACTO + FORMULARIO ---- */
.ctc-main .split { align-items: start; }

.ctc-bar { display: flex; flex-direction: column; gap: clamp(1.5rem, 4vw, 2.5rem); }
@media (min-width: 900px) {
  .ctc-bar { position: sticky; top: calc(var(--header-h) + var(--s-8)); }
}
.ctc-bar__tel {
  font-family: var(--font-mono);
  font-weight: 300;
  /* mínimo rebajado: a 320px el número completo debe caber sin desbordar */
  font-size: clamp(1.85rem, 9vw, 4.25rem);
  letter-spacing: 0.02em;
  line-height: 1.05;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  transition: color var(--snap);
}
.ctc-bar__tel:hover { color: var(--gold-bright); }

.ctc-bar__rows { border-top: 1px solid var(--line-strong); }
.ctc-bar__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--s-4);
  flex-wrap: wrap;
  padding-block: var(--s-4);
  border-bottom: 1px solid var(--line);
}
.ctc-bar__row > * { min-width: 0; }
.ctc-bar__val { font-size: 0.9375rem; color: var(--ink-2); text-align: right; overflow-wrap: anywhere; }

.ctc-bar__whisper { max-width: 18ch; }

/* Formulario — panel instrumento */
.ctc-form-wrap {
  border: 1px solid var(--line-strong);
  background: var(--bg1);
  padding: clamp(1.5rem, 4vw, 3rem);
}
.ctc-form-wrap.frame-marks::before { top: -1px; left: -1px; }
.ctc-form-wrap.frame-marks::after { bottom: -1px; right: -1px; }

.ctc-form__hint { display: block; margin-bottom: var(--s-8); }

.ctc-form__row { display: grid; gap: 0 var(--s-8); }
@media (min-width: 700px) { .ctc-form__row { grid-template-columns: 1fr 1fr; } }

.ctc-form ::placeholder { color: var(--ink-3); opacity: 1; }

.ctc-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23d4a03c' stroke-width='1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--s-2) center;
  padding-right: var(--s-8);
}

.ctc-form .form-check { flex-wrap: wrap; }
.ctc-form .form-check .form-field__error { flex-basis: 100%; }

.ctc-form__submit { width: 100%; }
.ctc-form__note { display: block; margin-top: var(--s-4); text-align: center; }

.ctc-form-wrap .form-status { margin-top: var(--s-6); }

/* ---- 04 · PLACA · LÍNEA DIRECTA ---- */
.ctc-plate h2 { max-width: 16ch; }
.ctc-plate__text { margin-top: var(--s-6); max-width: 52ch; }
.ctc-plate__actions {
  margin-top: clamp(2rem, 5vw, 3rem);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3rem);
}
.ctc-plate__tel {
  font-family: var(--font-mono);
  font-weight: 300;
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1;
  color: var(--on-gold);
  font-variant-numeric: tabular-nums;
  border-bottom: 1px solid transparent;
  transition: border-color var(--snap);
}
.ctc-plate__tel:hover { border-bottom-color: var(--on-gold); }
