/*
Theme Name: México Legislativo Vanguardia
Theme URI: https://mexicolegislativo.com/
Author: Maya Comunicación / CMMD
Author URI: https://mayacomunicacion.com.mx/
Description: Tema editorial vanguardista para México Legislativo: política, Congreso, poder público, elecciones y economía pública. Incluye portada por bloques, SEO editorial, páginas institucionales, directorio y espacios comerciales.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: mexico-legislativo-vanguardia
*/

:root{
  --ml-green:#062d25;
  --ml-green-2:#0b4a3d;
  --ml-gold:#b99144;
  --ml-gold-2:#d1aa5f;
  --ml-red:#b11624;
  --ml-black:#101315;
  --ml-ink:#1c2428;
  --ml-muted:#6d7478;
  --ml-paper:#f7f4ee;
  --ml-white:#ffffff;
  --ml-border:rgba(185,145,68,.28);
  --ml-shadow:0 18px 50px rgba(4,18,17,.18);
  --ml-radius:22px;
  --ml-radius-sm:14px;
  --ml-content:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ml-ink);
  background:
    radial-gradient(circle at 15% 0%, rgba(185,145,68,.24), transparent 28%),
    radial-gradient(circle at 85% 10%, rgba(6,45,37,.24), transparent 32%),
    linear-gradient(135deg,#f8f4ec 0%, #fff 48%, #edf3f1 100%);
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--ml-gold)}
img{max-width:100%;height:auto;display:block}
.ml-wrap{max-width:var(--ml-content);margin:0 auto;padding:0 22px}
.ml-topbar{background:var(--ml-black);color:#dfe8e4;font-size:13px;border-bottom:1px solid rgba(255,255,255,.08)}
.ml-topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 22px;max-width:var(--ml-content);margin:0 auto}
.ml-toplinks a{margin-left:16px;color:#dfe8e4}.ml-toplinks a:hover{color:var(--ml-gold-2)}
.ml-header{
  position:sticky;top:0;z-index:999;
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(6,45,37,.10);
}
.ml-header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 22px;max-width:var(--ml-content);margin:0 auto}
.ml-brand{display:flex;align-items:center;gap:14px;min-width:260px}
.ml-symbol{width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,var(--ml-green),var(--ml-green-2));position:relative;box-shadow:var(--ml-shadow);overflow:hidden}
.ml-symbol:before{content:"";position:absolute;left:12px;bottom:13px;width:8px;height:27px;background:#fff;border-radius:5px;box-shadow:13px 0 0 var(--ml-gold),26px 0 0 rgba(255,255,255,.88)}
.ml-symbol:after{content:"";position:absolute;right:-8px;bottom:-7px;width:38px;height:24px;background:var(--ml-red);transform:skewX(-25deg);opacity:.95}
.ml-brand-title{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:900;font-size:27px;letter-spacing:.4px;color:var(--ml-green);line-height:1}
.ml-brand-tagline{display:block;color:var(--ml-gold);text-transform:uppercase;font-size:10px;letter-spacing:2.6px;margin-top:6px;font-weight:800}
.ml-menu{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.ml-menu ul{list-style:none;display:flex;gap:4px;align-items:center;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}
.ml-menu a{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;padding:10px 11px;border-radius:999px;color:var(--ml-green)}
.ml-menu a:hover,.ml-menu .current-menu-item>a{background:var(--ml-green);color:#fff}
.ml-adbar{max-width:var(--ml-content);margin:18px auto 0;padding:0 22px}.ml-adslot{min-height:90px;border:1px dashed var(--ml-border);border-radius:18px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.65);color:var(--ml-muted);font-size:13px;text-transform:uppercase;letter-spacing:1.5px}
.ml-hero{padding:34px 0 16px}.ml-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;align-items:stretch}
.ml-card{background:rgba(255,255,255,.84);border:1px solid rgba(6,45,37,.09);border-radius:var(--ml-radius);box-shadow:var(--ml-shadow);overflow:hidden;position:relative}
.ml-card-feature{min-height:510px;display:flex;flex-direction:column}.ml-card-feature .ml-thumb{height:310px}.ml-thumb{background:linear-gradient(135deg,var(--ml-green),#13221f);position:relative;overflow:hidden}.ml-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.ml-card:hover .ml-thumb img{transform:scale(1.04)}
.ml-kicker{display:inline-flex;align-items:center;gap:8px;color:#fff;background:linear-gradient(90deg,var(--ml-green),var(--ml-green-2));border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 11px;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:1.1px}
.ml-card-body{padding:22px}.ml-card h1,.ml-card h2,.ml-card h3{margin:0 0 10px;color:var(--ml-black);line-height:1.05}.ml-card h1{font-size:clamp(34px,5vw,58px);letter-spacing:-1.9px}.ml-card h2{font-size:32px}.ml-card h3{font-size:21px}.ml-excerpt{color:#465055;margin:0 0 14px}.ml-meta{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--ml-muted);font-weight:700}.ml-hero-side{display:grid;grid-template-rows:repeat(3,1fr);gap:14px}.ml-mini{display:grid;grid-template-columns:145px 1fr;min-height:150px}.ml-mini .ml-thumb{height:100%}.ml-mini .ml-card-body{padding:16px}.ml-mini h3{font-size:18px}
.ml-section{padding:32px 0}.ml-section-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid rgba(6,45,37,.11);padding-bottom:12px;margin-bottom:18px}.ml-section-title{font-family:Georgia,"Times New Roman",serif;font-size:34px;color:var(--ml-green);margin:0}.ml-section-title:before{content:"";display:inline-block;width:13px;height:27px;background:var(--ml-gold);border-radius:999px;margin-right:10px;vertical-align:-4px}.ml-section-link{font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:1.2px;color:var(--ml-red)}
.ml-news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ml-news-grid .ml-card .ml-thumb{height:150px}.ml-news-grid .ml-card-body{padding:16px}.ml-news-grid h3{font-size:18px;line-height:1.15}.ml-section-feature{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ml-section-feature .ml-feature-left .ml-thumb{height:300px}.ml-sidebar-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px}.ml-sidebar{display:flex;flex-direction:column;gap:18px}.ml-panel{background:rgba(6,45,37,.94);color:#fff;border-radius:var(--ml-radius);padding:24px;box-shadow:var(--ml-shadow);position:relative;overflow:hidden}.ml-panel:before{content:"";position:absolute;inset:auto -60px -70px auto;width:180px;height:180px;border-radius:50%;background:rgba(185,145,68,.20)}.ml-panel h3{margin:0 0 12px;font-size:23px}.ml-panel ul{margin:0;padding-left:18px}.ml-panel li{margin-bottom:8px}.ml-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--ml-red);color:#fff!important;border-radius:999px;padding:11px 16px;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:1px;margin-top:14px}.ml-btn:hover{background:var(--ml-gold);color:var(--ml-black)!important}
.ml-people{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.ml-person{background:#fff;border:1px solid rgba(6,45,37,.08);border-radius:18px;padding:18px;box-shadow:0 12px 26px rgba(4,18,17,.08)}.ml-avatar{width:62px;height:62px;border-radius:18px;background:linear-gradient(135deg,var(--ml-green),var(--ml-gold));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:21px;margin-bottom:12px}.ml-person h3{font-size:17px;margin:0 0 4px}.ml-role{font-size:11px;text-transform:uppercase;color:var(--ml-gold);font-weight:900;letter-spacing:1px;margin-bottom:8px}.ml-person p{font-size:13px;margin:0;color:#536066}
.ml-content-area{max-width:860px;margin:36px auto;padding:0 22px}.ml-article{background:rgba(255,255,255,.94);border-radius:var(--ml-radius);box-shadow:var(--ml-shadow);padding:clamp(24px,5vw,50px)}.ml-article h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,5vw,58px);line-height:1.03;margin:0 0 14px;color:var(--ml-green)}.ml-article-content{font-size:18px}.ml-article-content p{margin:0 0 1.1em}.ml-featured-single{margin:24px -10px;border-radius:var(--ml-radius);overflow:hidden}.ml-featured-single img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.ml-footer{margin-top:50px;background:linear-gradient(135deg,#071512 0%,#062d25 55%,#0b4a3d 100%);color:#dfe8e4;padding:44px 0 22px}.ml-footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr;gap:26px}.ml-footer h3,.ml-footer h4{color:#fff;margin-top:0}.ml-footer a{display:block;color:#dfe8e4;margin-bottom:8px}.ml-footer small{display:block;border-top:1px solid rgba(255,255,255,.11);margin-top:28px;padding-top:18px;color:#b6c1bd}.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:960px){.ml-hero-grid,.ml-sidebar-layout,.ml-section-feature{grid-template-columns:1fr}.ml-news-grid{grid-template-columns:repeat(2,1fr)}.ml-people{grid-template-columns:repeat(2,1fr)}.ml-footer-grid{grid-template-columns:1fr 1fr}.ml-header-inner{align-items:flex-start;flex-direction:column}.ml-menu{justify-content:flex-start}.ml-menu ul{justify-content:flex-start}.ml-card-feature{min-height:auto}.ml-card-feature .ml-thumb{height:240px}}
@media(max-width:620px){.ml-topbar-inner{flex-direction:column;align-items:flex-start}.ml-toplinks a{margin:0 12px 0 0}.ml-mini{grid-template-columns:110px 1fr}.ml-news-grid,.ml-people,.ml-footer-grid{grid-template-columns:1fr}.ml-section-title{font-size:28px}.ml-brand-title{font-size:22px}}


/* --- Actualización 1.1.0: cabecera con widget, bloques uniformes y plecas decorativas --- */
.ml-header{position:sticky;top:0;z-index:999;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(250,248,244,.92) 100%);backdrop-filter:blur(18px);border-bottom:1px solid rgba(6,45,37,.10)}
.ml-header-inner{max-width:var(--ml-content);margin:0 auto;padding:0 22px}
.ml-header-branding-row{display:grid;grid-template-columns:minmax(260px,360px) minmax(320px,1fr);gap:18px;align-items:center;padding-top:18px;padding-bottom:14px}
.ml-header-nav-row{display:flex;align-items:center;justify-content:flex-end;padding-top:0;padding-bottom:14px;border-top:1px solid rgba(6,45,37,.08)}
.ml-header-widget-area{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.ml-header-banner-widget,.ml-header-widget-area .widget{width:100%}
.ml-adslot-header{min-height:94px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(248,244,236,.96));box-shadow:0 10px 24px rgba(4,18,17,.08);font-size:12px}
.ml-menu{width:100%;justify-content:flex-end}
.ml-adbar{display:none}

.ml-section{padding:32px 0 46px;position:relative}
.ml-section-has-divider:after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;border-radius:999px;background:linear-gradient(90deg,rgba(185,145,68,.92) 0%, rgba(6,45,37,.94) 18%, rgba(185,145,68,.86) 36%, rgba(177,22,36,.92) 52%, rgba(185,145,68,.86) 68%, rgba(6,45,37,.94) 84%, rgba(185,145,68,.92) 100%);opacity:.9;box-shadow:0 10px 22px rgba(4,18,17,.10), inset 0 1px 0 rgba(255,255,255,.28)}
.ml-section-has-divider:before{content:"";position:absolute;left:24px;right:24px;bottom:8px;height:6px;border-radius:999px;background:rgba(255,255,255,.22);z-index:1}
.ml-section-stack{display:flex;flex-direction:column;gap:20px}
.ml-section-main .ml-card{overflow:hidden}
.ml-section-main .ml-card .ml-thumb{height:320px}
.ml-section-main .ml-card-body{padding:24px 26px 26px}
.ml-section-main .ml-card h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4.1vw,60px);line-height:1.05;letter-spacing:-1.6px;margin-bottom:14px}
.ml-section-main .ml-excerpt{font-size:18px;line-height:1.5;max-width:92%}
.ml-section-bottom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ml-section-bottom-grid .ml-card{height:100%;display:flex;flex-direction:column}
.ml-section-bottom-grid .ml-thumb{height:220px}
.ml-section-bottom-grid .ml-card-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.ml-section-bottom-grid h3{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.2;margin:0}
.ml-section-bottom-grid .ml-excerpt{display:none}
.ml-section-bottom-grid .ml-meta{color:var(--ml-gold);font-weight:900}

@media(max-width:960px){
  .ml-header-branding-row{grid-template-columns:1fr}
  .ml-header-widget-area{justify-content:stretch}
  .ml-header-nav-row{justify-content:flex-start}
  .ml-menu{justify-content:flex-start}
  .ml-section-main .ml-card .ml-thumb{height:250px}
  .ml-section-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .ml-header-branding-row{padding-top:14px;padding-bottom:12px}
  .ml-header-nav-row{padding-bottom:12px}
  .ml-section{padding:26px 0 42px}
  .ml-section-has-divider:after{height:16px}
  .ml-section-main .ml-card-body{padding:20px}
  .ml-section-main .ml-card h3{font-size:clamp(28px,8vw,42px)}
  .ml-section-main .ml-excerpt{font-size:16px;max-width:100%}
}


/* --- Actualización 1.2.0: cabecera armonizada --- */
.ml-header{position:sticky;top:0;z-index:999;background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(247,244,238,.96) 100%);backdrop-filter:blur(18px);border-bottom:1px solid rgba(6,45,37,.10);box-shadow:0 8px 20px rgba(4,18,17,.04)}
.ml-header-shell{max-width:var(--ml-content);margin:0 auto;padding:0 22px 14px}
.ml-header-inner{max-width:none;padding-left:0;padding-right:0}
.ml-header-branding-row{display:grid;grid-template-columns:minmax(280px,430px) minmax(320px,1fr);gap:22px;align-items:end;padding-top:18px;padding-bottom:14px}
.ml-brand-panel,.ml-header-widget-area{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(248,244,236,.98));border:1px solid rgba(185,145,68,.20);border-radius:24px;box-shadow:0 14px 32px rgba(4,18,17,.06);min-height:140px}
.ml-brand-panel{padding:18px 22px;display:flex;flex-direction:column;justify-content:center}
.ml-brand{display:flex;align-items:center;gap:14px;min-width:0}
.ml-brand-has-logo{display:block}
.ml-brand-logo-wrap,.custom-logo-link{display:block;line-height:0}
.custom-logo{display:block;width:auto;height:auto;max-width:100%;max-height:118px;object-fit:contain}
.ml-brand-copy{display:flex;flex-direction:column}
.ml-brand-title{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:900;font-size:27px;letter-spacing:.4px;color:var(--ml-green);line-height:1}
.ml-brand-tagline{display:block;color:var(--ml-gold);text-transform:uppercase;font-size:10px;letter-spacing:2.6px;margin-top:6px;font-weight:800}
.ml-brand-lockup-text{margin-top:8px}
.ml-header-widget-area{display:flex;align-items:center;justify-content:center;padding:16px 18px}
.ml-adslot-header{width:100%;min-height:108px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(248,244,236,.96));box-shadow:inset 0 0 0 1px rgba(185,145,68,.18);font-size:12px;color:var(--ml-muted)}
.ml-header-banner-widget,.ml-header-widget-area .widget{width:100%}
.ml-header-widget-area img{max-width:100%;height:auto;display:block}
.ml-header-nav-row{display:flex;align-items:center;justify-content:flex-end;padding-top:12px;padding-bottom:0;border-top:1px solid rgba(6,45,37,.08)}
.ml-menu{width:100%;justify-content:flex-end}.ml-menu ul{gap:8px}
.ml-menu a{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:11px 12px;border-radius:999px;color:var(--ml-green)}
.ml-adbar{display:none}

@media(max-width:960px){
  .ml-header-shell{padding-bottom:12px}
  .ml-header-branding-row{grid-template-columns:1fr;align-items:stretch}
  .ml-brand-panel,.ml-header-widget-area{min-height:auto}
  .custom-logo{max-height:96px}
  .ml-header-nav-row{justify-content:flex-start}
  .ml-menu{justify-content:flex-start}.ml-menu ul{justify-content:flex-start}
}
@media(max-width:620px){
  .ml-header-shell{padding:0 16px 10px}
  .ml-brand-panel{padding:16px 18px}
  .custom-logo{max-height:84px}
  .ml-menu a{font-size:12px;padding:9px 10px}
}


/* --- Actualización 1.3.0: principal legislativo estricto y menú centrado --- */
.ml-header-nav-row{justify-content:center!important;}
.ml-menu{justify-content:center!important;}
.ml-menu ul{justify-content:center!important;width:100%;}
.ml-empty-principal{padding:clamp(28px,5vw,54px);text-align:left;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(248,244,236,.98));}
.ml-empty-principal h1{font-family:Georgia,"Times New Roman",serif;color:var(--ml-green);font-size:clamp(36px,5vw,62px);line-height:1.04;margin:18px 0 14px;}
.ml-empty-principal .ml-excerpt{font-size:18px;max-width:820px;}
@media(max-width:620px){.ml-menu ul{justify-content:flex-start!important}.ml-header-nav-row{justify-content:flex-start!important}.ml-menu{justify-content:flex-start!important}}


/* --- Actualización 1.4.0: cabezal ocultable al hacer scroll --- */
.ml-header{
  transition: transform .32s ease, box-shadow .32s ease, background .32s ease;
  will-change: transform;
}
body.ml-header-hidden .ml-header{
  transform: translateY(-112%);
  box-shadow:none;
}
body.ml-header-visible .ml-header{
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .ml-header{transition:none!important;}
}


/* --- Actualización 1.5.0: después de Nacional, secciones a ancho completo --- */
.ml-sidebar-layout{align-items:start}
.ml-sections-fullwidth{margin-top:8px}
.ml-section-fullwidth .ml-section-main .ml-card .ml-thumb{height:360px}
.ml-section-fullwidth .ml-section-main .ml-card-body{padding:26px 28px 28px}
.ml-section-fullwidth .ml-section-main .ml-card h3{font-size:clamp(38px,4.6vw,64px)}
.ml-section-fullwidth .ml-section-bottom-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ml-section-fullwidth .ml-section-bottom-grid .ml-thumb{height:240px}
.ml-section-fullwidth .ml-section-bottom-grid h3{font-size:20px}

@media(max-width:960px){
  .ml-sections-fullwidth{margin-top:0}
  .ml-section-fullwidth .ml-section-main .ml-card .ml-thumb{height:260px}
  .ml-section-fullwidth .ml-section-bottom-grid{grid-template-columns:1fr}
}
