/*
Theme Name:   Divi Child — Keepy
Theme URI:    https://keepy.es
Description:  Child theme de Divi con el sistema de diseño Keepy v1 (mayo 2026). Tokens de color, tipografía Open Sans self-hosted y base para bloques custom.
Author:       idestudio
Author URI:   https://idestudio.es
Template:     Divi
Version:      1.0.0
*/

/* ========================================
   KEEPY · Design tokens (sistema v1)
   Fuente: landing-demo/styles.css (validado cliente)
   ======================================== */
:root {
  --brand:       #C2D500;   /* verde fosforito corporativo (logo Keepy) */
  --brand-dark:  #616B00;   /* verde olivo · hover, links, headings */
  --brand-light: #F0F5C8;   /* lavado muy suave · fondos USPs */
  --dark:        #2C343B;   /* gris oscuro corporativo · hero, footer */
  --dark-soft:   #3D4651;   /* gris medio · botones secundarios oscuros */
  --accent:      #FFD56B;   /* amarillo · solo promos urgentes/banner */
  --wa:          #25D366;   /* verde WhatsApp · identidad oficial */
  --text:        #212529;   /* gris casi negro · body */
  --muted:       #6B7280;   /* gris medio · subtítulos, metadatos */
  --border:      #D1D5DB;   /* gris claro · bordes y divisores */
  --bg:          #FFFFFF;
  --bg-soft:     #F9FAFB;
  --bg-section:  #F3F4F6;
  --ok:          #2F8F3C;   /* verde oscuro para checks (AA) */
  --bad:         #D44457;   /* rojo corporativo */
  --focus-ring:  0 0 0 3px rgba(194, 213, 0, .45);
  --shadow-sm: 0 1px 2px rgba(0,0,0,.05);
  --shadow:    0 4px 12px rgba(0,0,0,.08);
  --shadow-lg: 0 12px 32px rgba(0,0,0,.14);
  --radius: 12px;
  --radius-sm: 8px;
  --radius-pill: 999px;
}

/* ========================================
   Open Sans self-hosted (WPO: sin Google Fonts)
   Coloca los .woff2 en /fonts/ — ver fonts/LEEME.txt
   Mientras no estén, cae al stack de sistema sin romper nada.
   ======================================== */
@font-face {
  font-family: 'Open Sans';
  src: url('fonts/open-sans-v43-latin-regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('fonts/open-sans-v43-latin-500.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('fonts/open-sans-v43-latin-600.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('fonts/open-sans-v43-latin-700.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('fonts/open-sans-v43-latin-800.woff2') format('woff2');
  font-weight: 800; font-style: normal; font-display: swap;
}

/* ========================================
   Base tipográfica Keepy sobre Divi
   Escala modular 1.25 · body 17px · lh 1.6
   ======================================== */
body,
#page-container {
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: 'Open Sans', sans-serif;
  color: var(--dark);
  line-height: 1.25;
}
h1 { font-size: clamp(2.05rem, 4.8vw, 3rem); font-weight: 800; }
h2 { font-size: clamp(1.55rem, 3.4vw, 2.05rem); font-weight: 700; }
h3 { font-size: 1.2rem; font-weight: 700; }
h4 { font-size: 1.05rem; font-weight: 600; }

/* Accesibilidad heredada del sistema */
:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* REGLA ABSOLUTA: nunca texto blanco sobre --brand (contraste 1.4:1, FAIL WCAG).
   Sobre fondo verde fosforito, texto siempre var(--dark) o var(--text). */
