/* Coherencia de interfaz · un solo lenguaje visual para todo el sitio (GDP y Vive Sabana).
   Se carga al final de cada página para unificar botones, tarjetas, títulos, campos y espacios. */
:root{
  --r-btn:12px; --r-card:20px; --r-input:12px;
  --g-or-btn:linear-gradient(135deg,#F3730C 0%,#F26B00 48%,#DD5700 100%);
  --space-block-lg:clamp(64px,8vw,104px);
}

/* ---------- Botones: primario naranja · secundario con borde · misma forma, tamaño y peso ---------- */
body :is(.btn-primary,.btn-or,.ac-btn,.tk-cta,.f-cta-btn,.rtc-b1,.rtc-send){
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 28px;border:2px solid transparent;border-radius:var(--r-btn);
  background:var(--g-or-btn);color:#fff;font-size:1.125rem;font-weight:700;letter-spacing:-.005em;line-height:1.2;text-decoration:none;
}
body :is(.btn-lg,.ac-btn,.tk-cta,.f-cta-btn,.rtc-send){min-height:56px}
body :is(.btn-secondary,.rtc-b2){
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 28px;border-radius:var(--r-btn);font-size:1.125rem;font-weight:700;line-height:1.2;text-decoration:none;
}
body :is(.btn-primary,.btn-or,.ac-btn,.tk-cta,.f-cta-btn,.rtc-b1,.rtc-send,.btn-secondary,.rtc-b2){
  transition:transform 160ms var(--ease,cubic-bezier(.23,1,.32,1)),box-shadow 160ms ease,background-color 160ms ease,color 160ms ease,border-color 160ms ease;
}
body :is(.btn-primary,.btn-or,.ac-btn,.tk-cta,.f-cta-btn,.rtc-b1,.rtc-send,.btn-secondary,.rtc-b2):active{transform:scale(.97)}

/* ---------- Campos de formulario ---------- */
body :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],select,textarea){border-radius:var(--r-input)}
body :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],select){min-height:48px}

/* ---------- Tarjetas: mismo radio en todo el sitio ---------- */
body :is(.benefit-card,.step-card,.news-item,.info-card,.item-incluye,.tarjeta-modulo,.tarjeta-precio,.scenario,.arr-card,.zipa-card,.tarjeta-instructor,.legal-card){border-radius:var(--r-card)}

/* ---------- Títulos: una sola escala ---------- */
body main h1:not(.sr-only),body main h1[class]:not(.sr-only){font-size:clamp(2rem,4.8vw,2.75rem);font-weight:800;letter-spacing:-.035em;line-height:1.1;text-wrap:balance}
body :is(.section-title,.news-titulo,.cta-band-title,.accesos-t,.redes-sec h2){font-size:clamp(1.5rem,3.9vw,2.375rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;text-wrap:balance}
body main h3{text-wrap:balance}

/* ---------- Ritmo vertical de las secciones ---------- */
body :is(.section,.news-seccion,.seccion-formulario){padding-top:var(--space-block-lg);padding-bottom:var(--space-block-lg)}

@media(prefers-reduced-motion:reduce){
  body :is(.btn-primary,.btn-or,.ac-btn,.tk-cta,.f-cta-btn,.rtc-b1,.rtc-send,.btn-secondary,.rtc-b2):active{transform:none}
}
