/* ============================================================
   ESCUELA FEP — Sistema de marca (branding.css)
   Base rojo + negro derivada del logo (#FB0707).
   Rojo = acento/acción. Negro = estructura. Blanco = respiro.
   ============================================================ */
:root{
  /* Marca */
  --rojo:#E10600;        /* rojo de marca afinado del logo #FB0707 (mejor en pantalla) */
  --rojo-logo:#FB0707;   /* rojo exacto del logo (para iconografía/logo) */
  --rojo-700:#B00500;    /* hover / estados activos */
  --rojo-100:#FDECEC;    /* fondos suaves, destacados */
  --negro:#121212;       /* texto y estructura */
  --carbon:#1F2227;      /* cabeceras oscuras */
  /* Neutros */
  --gris-700:#3A3D44; --gris-500:#6B7280; --gris-300:#D5D8DD; --gris-100:#F5F6F8;
  --blanco:#FFFFFF;
  /* Tipografía */
  --font-head:'Montserrat',system-ui,Segoe UI,sans-serif;
  --font-body:'Inter',system-ui,Segoe UI,sans-serif;
  /* Forma */
  --radio:10px; --radio-lg:18px;
  --sombra:0 4px 14px rgba(18,18,18,.08);
  --sombra-lg:0 14px 34px rgba(18,18,18,.13);
  --container:1140px;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);color:var(--negro);background:var(--blanco);line-height:1.65;font-size:17px}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:800;line-height:1.14;color:var(--negro);margin:.2em 0 .45em}
h1{font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:-.01em}
h2{font-size:clamp(1.55rem,3.2vw,2.3rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
a{color:var(--rojo-700);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--container);margin:0 auto;padding:0 22px}
.eyebrow{font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--rojo)}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-head);font-weight:700;font-size:1rem;
  padding:.82em 1.6em;border-radius:var(--radio);border:2px solid transparent;cursor:pointer;text-decoration:none;transition:.15s ease}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primario{background:var(--rojo);color:#fff}
.btn-primario:hover{background:var(--rojo-700)}
.btn-negro{background:var(--negro);color:#fff}
.btn-negro:hover{background:#000}
.btn-outline{background:transparent;color:var(--negro);border-color:var(--negro)}
.btn-outline:hover{background:var(--negro);color:#fff}
.btn-wsp{background:#25D366;color:#06351b}
.btn-wsp:hover{filter:brightness(.96)}

/* Tarjeta de curso */
.card{background:#fff;border:1px solid var(--gris-300);border-radius:var(--radio-lg);overflow:hidden;box-shadow:var(--sombra);transition:.18s}
.card:hover{box-shadow:var(--sombra-lg);transform:translateY(-3px)}
.card-top{background:var(--negro);color:#fff;padding:18px 22px}
.card-top .tag{display:inline-block;background:var(--rojo);color:#fff;font-family:var(--font-head);font-size:.68rem;font-weight:700;
  padding:.25em .7em;border-radius:999px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5em}
.card-top h3{color:#fff;margin:0}
.card-body{padding:20px 22px}
.card-body ul{margin:.2em 0 1.1em;padding-left:1.1em;color:var(--gris-700)}
.badge-gratis{background:var(--rojo-100);color:var(--rojo-700);font-family:var(--font-head);font-weight:700;
  padding:.25em .7em;border-radius:6px;font-size:.82rem}

/* Muestrario */
.swatches{display:flex;flex-wrap:wrap;gap:16px}
.sw{width:128px}
.sw .chip{height:72px;border-radius:10px;border:1px solid rgba(0,0,0,.08)}
.sw small{display:block;font-family:var(--font-body);color:var(--gris-500);margin-top:7px;font-size:.78rem}
.sw b{display:block;font-family:var(--font-head);font-size:.85rem;margin-top:2px}
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.grid-3{grid-template-columns:1fr}}
.section{padding:46px 0;border-top:1px solid var(--gris-300)}
.muted{color:var(--gris-500)}

/* Header / footer demo */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:3px solid var(--rojo)}
.site-header nav a{color:var(--negro);font-family:var(--font-head);font-weight:600;margin:0 12px}
.site-footer{background:var(--negro);color:#cfd2d8;padding:40px 0;font-size:.95rem}
.site-footer h4{color:#fff}
.site-footer a{color:#fff}
.ico-wsp,.ico-tel{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentColor;flex:0 0 auto}
.btn-tel{background:var(--negro);color:#fff;border:1px solid var(--negro)}
.btn-tel:hover{background:#000;color:#fff}
.btn-split{display:flex;gap:8px}
.btn-split>.btn{flex:1 1 0;min-width:0}
