/*
Theme Name: México Lindo
Theme URI: https://www.mexicolindo.blog
Author: FactoriaDigital
Author URI: https://factoriadigital.store/
Description: Tema editorial de identidad mexicana tradicional para México Lindo. Hero conectado a la categoría Turismo (configurable con fallback a Portada), bloques asimétricos, colores de fiesta (rosa mexicano, añil talavera, cempasúchil y verde nopal), cenefa de papel picado, arquitectura SEO integrada, monetización Google AdSense y espacios comerciales ANÚNCIATE AQUÍ. Slogan: "El país contado a colores".
Version: 1.3.1
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mexicolindo
Tags: news, blog, two-columns, custom-menu, featured-images
*/

/* =========================================================
   0. TOKENS DE MARCA
   ========================================================= */
:root{
  --ml-rosa:#D80073;          /* Rosa mexicano: color primario */
  --ml-rosa-oscuro:#A30057;
  --ml-anil:#22357E;          /* Añil talavera: institucional */
  --ml-anil-noche:#131C46;    /* Fondo de poder (anuncios) */
  --ml-cempasuchil:#F2A20C;   /* Amarillo cempasúchil: acento */
  --ml-nopal:#17754D;         /* Verde nopal */
  --ml-barro:#B4542C;         /* Barro cocido */
  --ml-amate:#FBF4E4;         /* Papel amate: fondo general */
  --ml-amate-2:#F4E8CE;       /* Amate tostado: bloques */
  --ml-tinta:#2A1A10;         /* Tinta café: texto */
  --ml-tinta-suave:#5C4636;
  --ml-blanco:#FFFDF7;
  --ml-oro:#E8C36A;           /* Dorado para marcos de poder */

  --ml-display:'Alfa Slab One', 'Rockwell', serif;   /* Rótulo popular */
  --ml-titular:'Bitter', Georgia, serif;              /* Titulares de nota */
  --ml-cuerpo:'Public Sans', 'Helvetica Neue', Arial, sans-serif;

  --ml-ancho:1240px;
  --ml-radio:14px;
  --ml-sombra:0 10px 28px rgba(42,26,16,.14);
  --ml-sarape:linear-gradient(90deg,var(--ml-rosa) 0 20%,var(--ml-cempasuchil) 20% 40%,var(--ml-nopal) 40% 60%,var(--ml-anil) 60% 80%,var(--ml-barro) 80% 100%);
}

/* =========================================================
   1. BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--ml-cuerpo);
  font-size:17px;line-height:1.65;
  color:var(--ml-tinta);
  background-color:var(--ml-amate);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='%232A1A10' fill-opacity='0.028'%3E%3Ccircle cx='20' cy='20' r='1.6'/%3E%3Ccircle cx='90' cy='55' r='1.2'/%3E%3Ccircle cx='50' cy='110' r='1.5'/%3E%3Ccircle cx='120' cy='120' r='1.1'/%3E%3Ccircle cx='125' cy='15' r='1.3'/%3E%3C/g%3E%3C/svg%3E");
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ml-anil);text-decoration:none;transition:color .2s}
a:hover{color:var(--ml-rosa)}
a:focus-visible,button:focus-visible{outline:3px solid var(--ml-cempasuchil);outline-offset:2px}
.ml-contenedor{max-width:var(--ml-ancho);margin:0 auto;padding:0 22px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;color:var(--ml-tinta)}
.ml-franja-sarape{height:7px;background:var(--ml-sarape)}

/* =========================================================
   2. HEADER + PAPEL PICADO
   ========================================================= */
.ml-topbar{background:var(--ml-anil-noche);color:var(--ml-amate);font-size:13px}
.ml-topbar .ml-contenedor{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:7px;padding-bottom:7px}
.ml-topbar a{color:var(--ml-cempasuchil)}
.ml-topbar .ml-fecha{letter-spacing:.06em;text-transform:capitalize}

.ml-cabecera{background:var(--ml-blanco);border-bottom:1px solid rgba(42,26,16,.08)}
.ml-cabecera-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 0}
.ml-marca{display:flex;align-items:center;gap:16px}
.ml-logo-svg{width:78px;height:78px;flex:0 0 auto;filter:drop-shadow(0 3px 6px rgba(42,26,16,.2))}
.ml-nombre-sitio{font-family:var(--ml-display);font-size:clamp(26px,4vw,42px);letter-spacing:.01em;line-height:1;margin:0}
.ml-nombre-sitio a{color:var(--ml-tinta)}
.ml-nombre-sitio .lindo{color:var(--ml-rosa)}
.ml-slogan{margin:4px 0 0;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--ml-tinta-suave);font-weight:600}

/* Navegación */
.ml-nav{background:var(--ml-rosa)}
.ml-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.ml-nav li a{display:block;padding:13px 20px;color:#fff;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.10em}
.ml-nav li a:hover,.ml-nav li.current-menu-item a{background:var(--ml-rosa-oscuro);color:var(--ml-cempasuchil)}
.ml-nav-toggle{display:none;background:none;border:0;color:#fff;font-size:15px;font-weight:700;padding:13px 22px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}

/* Cenefa de papel picado (firma visual del tema) */
.ml-papel-picado{height:26px;background-color:var(--ml-rosa);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='26' viewBox='0 0 80 26'%3E%3Cpath d='M0 0 H80 V12 L70 26 L60 14 L50 26 L40 14 L30 26 L20 14 L10 26 L0 12 Z' fill='%23FBF4E4'/%3E%3Cg fill='%23D80073'%3E%3Ccircle cx='20' cy='6' r='2.6'/%3E%3Ccircle cx='40' cy='6' r='2.6'/%3E%3Ccircle cx='60' cy='6' r='2.6'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat-x;background-size:80px 26px;transform:scaleY(-1)}

/* =========================================================
   3. HERO (mosaico asimétrico, categoría configurable)
   ========================================================= */
.ml-hero{padding:34px 0 14px}
.ml-kicker{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}
.ml-kicker h2,.ml-kicker h1{font-family:var(--ml-display);font-size:clamp(22px,3vw,32px);margin:0;color:var(--ml-anil)}
.ml-kicker .hilo{flex:1;height:7px;background:var(--ml-sarape);border-radius:4px}
.ml-kicker .ver-mas{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ml-rosa);white-space:nowrap}

.ml-hero-grid{display:grid;grid-template-columns:7fr 5fr;grid-auto-rows:auto;gap:24px}
.ml-hero-principal{grid-row:span 2}

.ml-card{background:var(--ml-blanco);border-radius:var(--ml-radio);overflow:hidden;box-shadow:var(--ml-sombra);display:flex;flex-direction:column;position:relative;transition:transform .25s}
.ml-card:hover{transform:translateY(-4px)}
.ml-card .thumb{position:relative;overflow:hidden}
.ml-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ml-card:hover .thumb img{transform:scale(1.04)}
.ml-card .cuerpo{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px}
.ml-card h3,.ml-card h2{font-family:var(--ml-titular);font-weight:800;font-size:19px;margin:0}
.ml-card h3 a,.ml-card h2 a{color:var(--ml-tinta)}
.ml-card h3 a:hover,.ml-card h2 a:hover{color:var(--ml-rosa)}
.ml-card .extracto{font-size:14.5px;color:var(--ml-tinta-suave);margin:0}
.ml-card .meta{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ml-barro);font-weight:700;margin-top:auto}

.ml-etiqueta-cat{position:absolute;top:14px;left:14px;z-index:2;background:var(--ml-rosa);color:#fff;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:999px;box-shadow:0 3px 8px rgba(0,0,0,.25)}
.ml-etiqueta-cat.ciudad{background:var(--ml-nopal)}
.ml-etiqueta-cat.deportes{background:var(--ml-anil)}
.ml-etiqueta-cat.espectaculos{background:var(--ml-barro)}
.ml-etiqueta-cat.turismo{background:var(--ml-cempasuchil);color:var(--ml-tinta)}
.ml-etiqueta-cat.gastronomia{background:var(--ml-nopal)}
.ml-etiqueta-cat.estilo{background:var(--ml-rosa-oscuro)}

.ml-hero-principal .thumb{aspect-ratio:16/9}
.ml-hero-principal h2{font-size:clamp(24px,2.6vw,32px)}
.ml-hero-sec .thumb{aspect-ratio:16/8}
.ml-hero-minis{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ml-hero-minis .thumb{aspect-ratio:16/10}
.ml-hero-minis h3{font-size:16px}
.ml-hero-minis .extracto{font-size:13.5px}

/* =========================================================
   4. SECCIONES DE CATEGORÍA (bloques asimétricos alternados)
   ========================================================= */
.ml-seccion{padding:34px 0 10px}
.ml-seccion .ml-kicker h2{color:var(--ml-tinta)}
.ml-seccion.tono-portada .ml-kicker h2{color:var(--ml-rosa)}
.ml-seccion.tono-ciudad .ml-kicker h2{color:var(--ml-nopal)}
.ml-seccion.tono-deportes .ml-kicker h2{color:var(--ml-anil)}
.ml-seccion.tono-espectaculos .ml-kicker h2{color:var(--ml-barro)}
.ml-seccion.tono-turismo .ml-kicker h2{color:var(--ml-cempasuchil)}
.ml-seccion.tono-gastronomia .ml-kicker h2{color:var(--ml-nopal)}
.ml-seccion.tono-estilo .ml-kicker h2{color:var(--ml-rosa)}

/* Esquema A: 1 bloque dominante a la izquierda + columna de 3 */
.ml-grid-a{display:grid;grid-template-columns:8fr 4fr;gap:24px}
.ml-grid-a .dominante .thumb{aspect-ratio:16/9}
.ml-grid-a .dominante h3{font-size:clamp(21px,2.2vw,27px)}
.ml-grid-a .columna{display:flex;flex-direction:column;gap:14px;justify-content:space-between}
.ml-card-fila{display:grid;grid-template-columns:110px 1fr;gap:14px;background:var(--ml-blanco);border-radius:var(--ml-radio);overflow:hidden;box-shadow:var(--ml-sombra);align-items:stretch}
.ml-card-fila .thumb{aspect-ratio:1/1;height:100%;min-height:86px}
.ml-card-fila .thumb img{width:100%;height:100%;object-fit:cover}
.ml-card-fila .cuerpo{padding:12px 14px 12px 0;display:flex;flex-direction:column;gap:5px}
.ml-card-fila h3{font-family:var(--ml-titular);font-size:15px;font-weight:800;margin:0}
.ml-card-fila h3 a{color:var(--ml-tinta)}
.ml-card-fila h3 a:hover{color:var(--ml-rosa)}
.ml-card-fila .extracto{font-size:12.8px;color:var(--ml-tinta-suave);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Grid simple: secciones con 1-2 notas */
.ml-grid-simple{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;max-width:900px}
.ml-grid-simple .thumb{aspect-ratio:16/9}

/* Esquema B: 2 medianas desalineadas + 1 dominante a la derecha */
.ml-grid-b{display:grid;grid-template-columns:4fr 8fr;gap:24px}
.ml-grid-b .pareja{display:flex;flex-direction:column;gap:18px}
.ml-grid-b .pareja .thumb{aspect-ratio:16/9}
.ml-grid-b .pareja h3{font-size:16px}
.ml-grid-b .dominante{margin-top:34px}
.ml-grid-b .dominante .thumb{aspect-ratio:16/9}
.ml-grid-b .dominante h3{font-size:clamp(21px,2.2vw,27px)}

/* =========================================================
   5. ESPACIOS COMERCIALES — ANÚNCIATE AQUÍ / ADSENSE
   ========================================================= */
.ml-ad{margin:34px 0}
.ml-ad-marco{position:relative;border-radius:var(--ml-radio);overflow:hidden;background:
  radial-gradient(120% 160% at 10% 0%,#26418F 0%,var(--ml-anil-noche) 55%,#0B0F26 100%);
  border:1.5px solid var(--ml-oro);
  box-shadow:0 14px 34px rgba(19,28,70,.45), inset 0 0 60px rgba(232,195,106,.08);
  min-height:150px;display:flex;align-items:center;justify-content:center;text-align:center;padding:34px 24px}
.ml-ad-marco::before,.ml-ad-marco::after{content:"";position:absolute;inset:10px;border:1px solid rgba(232,195,106,.4);border-radius:10px;pointer-events:none}
.ml-ad-marco::after{inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 4 L34 26 L56 30 L34 34 L30 56 L26 34 L4 30 L26 26 Z' fill='%23E8C36A' fill-opacity='0.05'/%3E%3C/svg%3E");border:0}
.ml-ad-texto{position:relative;z-index:1}
.ml-ad-texto .grande{font-family:var(--ml-display);color:var(--ml-oro);font-size:clamp(24px,3.4vw,40px);letter-spacing:.14em;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.ml-ad-texto .chico{color:var(--ml-amate);font-size:13px;letter-spacing:.28em;text-transform:uppercase;margin:10px 0 0;font-weight:600}
.ml-ad-texto a{color:inherit}
.ml-ad .widget{width:100%;text-align:center}
.ml-ad .widget img{margin:0 auto}

/* Contenedores AdSense: sin marco de poder para cumplir políticas */
.ml-ad-marco.con-adsense{background:var(--ml-blanco);border:1px solid rgba(42,26,16,.1);box-shadow:none;min-height:0;padding:10px}
.ml-ad-marco.con-adsense::before,.ml-ad-marco.con-adsense::after{display:none}
.ml-ad .adsbygoogle,.ml-adsense-inarticle .adsbygoogle{display:block;width:100%}
.ml-adsense-inarticle{margin:26px 0;padding:8px 0;border-top:1px dashed rgba(42,26,16,.15);border-bottom:1px dashed rgba(42,26,16,.15)}
.ml-etiqueta-publicidad{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ml-tinta-suave);text-align:center;margin-bottom:6px}

/* =========================================================
   6. SINGLE / PÁGINAS / ARCHIVO
   ========================================================= */
.ml-cuerpo-sitio{padding-bottom:20px}
.ml-migas{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ml-tinta-suave);padding:18px 0 0}
.ml-migas a{color:var(--ml-barro);font-weight:700}

.ml-articulo{background:var(--ml-blanco);border-radius:var(--ml-radio);box-shadow:var(--ml-sombra);padding:clamp(22px,4vw,48px);margin:22px 0}
.ml-articulo .ml-cat-sup{display:inline-block;background:var(--ml-rosa);color:#fff;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:5px 14px;border-radius:999px;margin-bottom:14px}
.ml-articulo h1.titulo{font-family:var(--ml-titular);font-weight:900;font-size:clamp(26px,3.6vw,42px);line-height:1.15}
.ml-articulo .bajada{font-size:19px;color:var(--ml-tinta-suave);border-left:5px solid var(--ml-cempasuchil);padding-left:16px;margin:16px 0 6px}
.ml-articulo .meta-linea{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--ml-tinta-suave);text-transform:uppercase;letter-spacing:.08em;border-top:1px solid rgba(42,26,16,.1);border-bottom:1px solid rgba(42,26,16,.1);padding:12px 0;margin:18px 0 24px}
.ml-articulo .imagen-principal{border-radius:10px;overflow:hidden;margin:0 0 26px}
.ml-articulo .imagen-principal figcaption{font-size:12.5px;color:var(--ml-tinta-suave);padding:8px 2px 0;font-style:italic}
.ml-contenido{font-size:18px;line-height:1.8;max-width:760px}
.ml-contenido p{margin:0 0 1.3em}
.ml-contenido h2,.ml-contenido h3{font-family:var(--ml-titular);font-weight:800;margin-top:1.4em}
.ml-contenido blockquote{border-left:5px solid var(--ml-rosa);background:var(--ml-amate-2);margin:1.5em 0;padding:16px 22px;border-radius:0 10px 10px 0;font-style:italic}
.ml-contenido img{border-radius:10px}
.ml-tags a{display:inline-block;background:var(--ml-amate-2);color:var(--ml-anil);font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px;margin:0 6px 8px 0;text-transform:uppercase;letter-spacing:.06em}
.ml-tags a:hover{background:var(--ml-cempasuchil);color:var(--ml-tinta)}

.ml-relacionadas{margin:10px 0 34px}
.ml-relacionadas .ml-grid-rel{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ml-relacionadas .thumb{aspect-ratio:16/10}

/* Layout con sidebar */
.ml-con-sidebar{display:grid;grid-template-columns:minmax(0,8.2fr) minmax(280px,3.8fr);gap:30px;align-items:start;padding-top:6px}
.ml-sidebar .widget{background:var(--ml-blanco);border-radius:var(--ml-radio);box-shadow:var(--ml-sombra);padding:20px;margin-bottom:24px}
.ml-sidebar .widget-title,.ml-sidebar .wp-block-heading{font-family:var(--ml-display);font-size:17px;color:var(--ml-anil);border-bottom:3px solid var(--ml-cempasuchil);padding-bottom:8px;margin-top:0}
.ml-sidebar ul{list-style:none;margin:0;padding:0}
.ml-sidebar li{padding:8px 0;border-bottom:1px dashed rgba(42,26,16,.14)}

/* Archivo de categoría */
.ml-archivo-cab{background:var(--ml-anil);color:#fff;padding:34px 0;position:relative;overflow:hidden}
.ml-archivo-cab::after{content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;background:radial-gradient(circle,var(--ml-rosa) 0 30%,transparent 31%),radial-gradient(circle,var(--ml-cempasuchil) 0 18%,transparent 19%);opacity:.35;border-radius:50%}
.ml-archivo-cab h1{font-family:var(--ml-display);color:#fff;margin:0;font-size:clamp(26px,4vw,40px)}
.ml-archivo-cab .desc{color:var(--ml-amate);max-width:640px;margin:8px 0 0}
.ml-grid-archivo{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:30px 0}
.ml-grid-archivo .ml-card:nth-child(6n+1){grid-column:span 2}
.ml-grid-archivo .thumb{aspect-ratio:16/9}

/* Paginación */
.ml-paginacion{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:10px 0 40px}
.ml-paginacion .page-numbers{background:var(--ml-blanco);border:1.5px solid var(--ml-anil);color:var(--ml-anil);font-weight:800;padding:9px 16px;border-radius:8px}
.ml-paginacion .page-numbers.current,.ml-paginacion .page-numbers:hover{background:var(--ml-rosa);border-color:var(--ml-rosa);color:#fff}

/* =========================================================
   7. FOOTER
   ========================================================= */
.ml-prefooter{height:26px;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='26' viewBox='0 0 80 26'%3E%3Cpath d='M0 0 H80 V12 L70 26 L60 14 L50 26 L40 14 L30 26 L20 14 L10 26 L0 12 Z' fill='%23131C46'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:80px 26px}
.ml-footer{background:var(--ml-anil-noche);color:var(--ml-amate);padding:44px 0 0}
.ml-footer a{color:var(--ml-amate)}
.ml-footer a:hover{color:var(--ml-cempasuchil)}
.ml-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px;padding-bottom:34px}
.ml-footer h4{font-family:var(--ml-display);color:var(--ml-cempasuchil);font-size:16px;letter-spacing:.06em;margin-bottom:14px}
.ml-footer ul{list-style:none;margin:0;padding:0}
.ml-footer li{padding:5px 0;font-size:14.5px}
.ml-footer .marca-foot{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.ml-footer .marca-foot .ml-logo-svg{width:60px;height:60px}
.ml-footer .nombre-foot{font-family:var(--ml-display);font-size:24px;color:#fff;margin:0}
.ml-footer .nombre-foot .lindo{color:var(--ml-rosa)}
.ml-footer .slogan-foot{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ml-oro);margin:0 0 14px}
.ml-footer .desc-foot{font-size:14px;color:#C8CCE4;max-width:320px}
.ml-legal{border-top:1px solid rgba(232,195,106,.25);padding:16px 0;font-size:13px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#AEB3D6}
.ml-legal .credito a{color:var(--ml-cempasuchil);font-weight:800}

/* =========================================================
   8. RESPONSIVE
   ========================================================= */
@media (max-width:1000px){
  .ml-hero-grid,.ml-grid-a,.ml-grid-b{grid-template-columns:1fr}
  .ml-grid-b .dominante{margin-top:0;order:-1}
  .ml-grid-archivo{grid-template-columns:1fr 1fr}
  .ml-grid-archivo .ml-card:nth-child(6n+1){grid-column:span 2}
  .ml-con-sidebar{grid-template-columns:1fr}
  .ml-footer-grid{grid-template-columns:1fr 1fr}
  .ml-relacionadas .ml-grid-rel{grid-template-columns:1fr}
}
@media (max-width:720px){
  .ml-cabecera-inner{flex-direction:column;gap:12px;text-align:center}
  .ml-marca{flex-direction:column;gap:8px}
  .ml-nav-toggle{display:block;width:100%;text-align:center}
  .ml-nav ul{display:none;flex-direction:column}
  .ml-nav.abierto ul{display:flex}
  .ml-hero-minis{grid-template-columns:1fr}
  .ml-grid-archivo{grid-template-columns:1fr}
  .ml-grid-archivo .ml-card:nth-child(6n+1){grid-column:span 1}
  .ml-footer-grid{grid-template-columns:1fr}
  .ml-topbar .ml-contenedor{justify-content:center}
}

/* =========================================================
   9. PÁGINAS INSTITUCIONALES (clases para contenido)
   ========================================================= */
.ml-institucional h2{font-family:var(--ml-display);color:var(--ml-anil);border-bottom:3px solid var(--ml-cempasuchil);padding-bottom:6px;display:inline-block}
.ml-directorio{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;margin:26px 0}
.ml-persona{background:var(--ml-amate-2);border-radius:var(--ml-radio);padding:22px;border-top:6px solid var(--ml-rosa)}
.ml-persona:nth-child(4n+2){border-top-color:var(--ml-cempasuchil)}
.ml-persona:nth-child(4n+3){border-top-color:var(--ml-nopal)}
.ml-persona:nth-child(4n+4){border-top-color:var(--ml-anil)}
.ml-persona .inicial{width:56px;height:56px;border-radius:50%;background:var(--ml-anil);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--ml-display);font-size:22px;margin-bottom:12px}
.ml-persona h3{margin:0 0 2px;font-family:var(--ml-titular);font-weight:800;font-size:18px}
.ml-persona .cargo{color:var(--ml-rosa);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}
.ml-persona p{font-size:14px;margin:0;color:var(--ml-tinta-suave)}
.ml-cta-boton{display:inline-block;background:var(--ml-rosa);color:#fff!important;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:14px;padding:13px 26px;border-radius:10px;box-shadow:var(--ml-sombra)}
.ml-cta-boton:hover{background:var(--ml-anil)}
