/* =============================================================
   Comercial HUECHURABA — contacto.css
   Estilos propios de la página "Contáctenos".
   Se carga DESPUÉS de bootstrap.min.css y tema-huechuraba.css.
   Índice:
     01. Layout de la página
     02. Canales de atención
     03. Panel del formulario
     04. Aviso de mensaje enviado
     05. Columna lateral: datos, redes y mapa
     06. Responsive
   ============================================================= */

/* ------------------------------------------------------------------
   01. LAYOUT DE LA PÁGINA
   ------------------------------------------------------------------ */
.contacto__canales { padding-block: 40px 0; }

.contacto { padding-block: 44px 52px; }

.contacto__form { margin: 0; }

/* ------------------------------------------------------------------
   02. CANALES DE ATENCIÓN
   Tres tarjetas: teléfono, WhatsApp y correo.
   ------------------------------------------------------------------ */
.canal {
  height: 100%;
  padding: 24px 20px;
  text-align: center;
  transition: transform var(--transicion), box-shadow var(--transicion);
}

.canal:hover {
  transform: translateY(-2px);
  box-shadow: var(--sombra);
}

.canal__icono {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: #eef3fa;
  color: var(--azul-700);
}

.canal__icono .icono { width: 22px; height: 22px; stroke-width: 2.2; }

.canal__icono--wa { background: #eaf3fb; color: var(--whatsapp); }

.canal__titulo {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--azul-900);
}

.canal__texto {
  margin: 0 0 10px;
  font-size: 13.5px;
  color: var(--texto-suave);
}

.canal__enlace {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--azul-700);
  text-decoration: none;
}

.canal__enlace:hover {
  color: var(--azul-800);
  text-decoration: underline;
}

/* ------------------------------------------------------------------
   03. PANEL DEL FORMULARIO
   Mismo lenguaje visual que los paneles del checkout
   (.co-panel): cabecera gris y cuerpo con el formulario.
   ------------------------------------------------------------------ */
.ct-panel { padding: 0; }

.ct-panel__cabecera {
  padding: 16px 20px;
  background: var(--gris-50);
  border-bottom: 1px solid var(--gris-200);
}

.ct-panel__titulo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: var(--azul-900);
}

.ct-panel__titulo .icono {
  width: 20px;
  height: 20px;
  flex: none;
  color: var(--azul-700);
  stroke-width: 2.2;
}

.ct-panel__nota {
  margin: 5px 0 0 30px;
  font-size: 13px;
  color: var(--texto-suave);
}

.ct-panel__cuerpo { padding: 20px; }

.ct-opcional { font-weight: 400; color: var(--texto-suave); }

.ct-terminos {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--gris-200);
}

.ct-terminos .form-check { margin: 0; }

.ct-terminos .form-check-label { font-size: 13.5px; color: var(--texto-suave); }

.ct-acciones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  margin-top: 20px;
}

/* Botón de texto "Limpiar formulario" (mismo aire que .btn-texto) */
.ct-limpiar {
  --bs-btn-color: var(--azul-700);
  --bs-btn-hover-color: var(--azul-800);
  --bs-btn-active-color: var(--azul-800);
  --bs-btn-hover-bg: transparent;
  --bs-btn-active-bg: transparent;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.ct-limpiar:hover { text-decoration: underline; }

.ct-ayuda {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 16px;
  font-size: 12.5px;
  color: var(--texto-suave);
}

.ct-ayuda .icono {
  width: 16px;
  height: 16px;
  flex: none;
  margin-top: 1px;
  color: var(--azul-700);
}

/* ------------------------------------------------------------------
   04. AVISO DE MENSAJE ENVIADO
   Lo muestra js/tienda.js (bloque D) al enviar el formulario.
   ------------------------------------------------------------------ */
.ct-ok {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0 0;
  font-size: 14px;
  border-color: #bfd8ef;
  background: #f2f7fd;
  color: var(--azul-800);
}

.ct-ok .icono {
  width: 22px;
  height: 22px;
  flex: none;
  color: var(--azul-600);
  stroke-width: 2.2;
}

.ct-ok strong { display: block; }

/* ------------------------------------------------------------------
   05. COLUMNA LATERAL: DATOS, REDES Y MAPA
   ------------------------------------------------------------------ */
.ct-lateral {
  display: grid;
  gap: 20px;
}

.ct-datos { padding: 20px; }

.ct-datos__titulo {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 700;
  color: var(--azul-900);
}

.ct-datos__titulo .icono {
  width: 19px;
  height: 19px;
  flex: none;
  color: var(--azul-700);
  stroke-width: 2.2;
}

.ct-datos__lista { display: grid; gap: 12px; font-size: 14px; }

.ct-datos__lista li { display: flex; align-items: flex-start; gap: 10px; }

.ct-datos__lista .icono {
  width: 18px;
  height: 18px;
  flex: none;
  margin-top: 2px;
  color: var(--azul-700);
}

.ct-datos__lista a {
  color: var(--azul-700);
  font-weight: 600;
  text-decoration: none;
}

.ct-datos__lista a:hover { text-decoration: underline; }

.ct-redes {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--gris-200);
}

.ct-redes__texto {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--texto-suave);
}

.ct-redes a { color: var(--azul-700); }

.ct-redes .icono { width: 22px; height: 22px; }

.ct-mapa { padding: 20px; }

.ct-mapa__titulo {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
  color: var(--azul-900);
}

.ct-mapa__figura {
  border-radius: 6px;
  overflow: hidden;
}

.ct-mapa__texto {
  margin-top: 12px;
  font-size: 13px;
  color: var(--texto-suave);
}

/* ------------------------------------------------------------------
   06. RESPONSIVE
   ------------------------------------------------------------------ */
@media (max-width: 991.98px) {
  .ct-lateral { margin-top: 4px; }
}

@media (max-width: 575.98px) {
  .contacto { padding-block: 30px 40px; }

  .contacto__canales { padding-block: 30px 0; }

  .canal { padding: 20px 16px; }

  .ct-panel__cuerpo { padding: 16px; }

  .ct-datos,
  .ct-mapa { padding: 16px; }

  .ct-acciones {
    flex-direction: column;
    align-items: stretch;
  }

  .ct-limpiar { align-self: flex-start; }
}
