/*
Theme Name: Mediodigital
Theme URI: https://mediodigital.com.ar
Author: Medio Digital Noticias
Description: Tema del sitio de noticias Mediodigital (Puerto Madryn, Chubut). Basado en la maqueta de diseño editorial con ticker, secciones por categoría y auspiciantes.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mediodigital
*/


  :root{
    --ink:#12151c;
    --ink-soft:#1c212b;
    --paper:#ffffff;
    --paper-soft:#f3f3f0;
    --cobalt:#1e3fe0;
    --cobalt-deep:#142a99;
    --amber:#f2a93b;
    --crimson:#d62839;
    --forest:#1f7a4d;
    --violet:#6a3fa0;
    --slate:#5b6472;
    --line:#e3e3de;
    --line-dark:#2b3140;
    --logo-cream:#D9BE84;
    --logo-navy:#182848;
    --logo-blue:#1E3FE0;
    --teal:#0E8074;
    --rose:#D6336C;
    --olive:#7A9E1F;
    --slateblue:#445168;
    --ochre:#B5651D;
    --indigo:#4B4FA0;
    --steel:#3E6B8A;
    --moss:#5C7A3D;
    --plum:#7A3E65;
    --coral:#D9714E;
    --brick:#A0432A;
  }

  *{box-sizing:border-box; margin:0; padding:0;}

  body{
    font-family:'Archivo', sans-serif;
    background:var(--paper);
    color:var(--ink);
    line-height:1.4;
    -webkit-font-smoothing:antialiased;
  }

  a{color:inherit; text-decoration:none;}
  img{display:block; width:100%; height:100%; object-fit:cover;}

  .mono{font-family:'IBM Plex Mono', monospace;}

  .wrap{max-width:1240px; margin:0 auto; padding:0 24px;}

  /* ---------- TICKER ---------- */
  .ticker-bar{
    background:var(--ink);
    color:var(--paper);
    overflow:hidden;
    white-space:nowrap;
    border-bottom:1px solid var(--line-dark);
  }
  .ticker-inner{
    display:inline-flex;
    align-items:center;
    animation:scroll-left 32s linear infinite;
    padding:9px 0;
  }
  .ticker-inner span{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:.02em;
    padding:0 32px;
    border-right:1px solid rgba(255,255,255,.18);
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .ticker-inner span b{
    color:var(--amber);
    font-weight:600;
  }
  @keyframes scroll-left{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  @media (prefers-reduced-motion: reduce){
    .ticker-inner{animation:none;}
  }

  /* ---------- HEADER ---------- */
  header.site{
    border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    position:sticky;
    top:0;
    z-index:50;
    transition:box-shadow .2s ease;
  }
  header.site.scrolled{box-shadow:0 2px 18px rgba(18,21,28,.09);}

  .masthead-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    padding:22px 0 18px;
    gap:16px;
  }
  .edition-label{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--slate);
    display:flex;
    align-items:center;
    gap:8px;
    justify-self:start;
    min-width:0;
  }
  .edition-label .dot{
    width:6px; height:6px; border-radius:50%;
    background:var(--crimson);
    display:inline-block;
    flex-shrink:0;
    animation:pulse 1.8s ease-in-out infinite;
  }
  .edition-text{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    min-width:0;
  }
  @keyframes pulse{
    0%,100%{opacity:1;}
    50%{opacity:.35;}
  }
  @media (prefers-reduced-motion: reduce){
    .edition-label .dot{animation:none;}
  }

  .brand{text-align:center;}
  .brand-logo{
    display:flex;
    justify-content:center;
  }
  .logo-svg{
    height:clamp(84px, 11vw, 140px);
    width:auto;
    display:block;
    color:var(--logo-blue);
  }
  .tagline{
    font-size:12px;
    color:var(--slate);
    text-align:center;
    margin-top:9px;
    letter-spacing:.01em;
  }

  .header-tools{
    display:flex;
    align-items:center;
    gap:18px;
    font-size:13px;
    color:var(--slate);
    justify-self:end;
  }
  .icon-btn{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--ink);
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
  }
  .icon-btn svg{width:15px; height:15px; stroke:var(--ink);}
  .btn-primary{
    display:inline-flex;
    align-items:center;
    background:var(--cobalt);
    color:#fff;
    font-family:'Archivo', sans-serif;
    font-weight:700;
    font-size:12.5px;
    letter-spacing:.02em;
    text-transform:uppercase;
    padding:10px 18px;
    border-radius:3px;
    border:none;
    cursor:pointer;
    transition:background .15s ease, transform .15s ease;
  }
  .btn-primary:hover{background:var(--cobalt-deep);}

  nav.primary{
    border-top:1px solid var(--line);
    padding:2px 0;
  }
  nav.primary ul{
    display:flex;
    justify-content:center;
    gap:2px;
    flex-wrap:wrap;
    list-style:none;
    margin:0;
    padding:0;
  }
  nav.primary li{
    list-style:none;
    margin:0;
    padding:0;
  }
  nav.primary a{
    font-size:13.5px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.03em;
    padding:12px 16px;
    position:relative;
    color:var(--ink);
    display:block;
  }
  nav.primary a.active{color:var(--cobalt);}
  nav.primary a::after{
    content:'';
    position:absolute;
    left:16px; right:16px; bottom:0;
    height:2px;
    background:var(--cobalt);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .18s ease;
  }
  nav.primary a:hover::after,
  nav.primary a.active::after{transform:scaleX(1);}

  /* ---------- TAGS ---------- */
  .tag{
    display:inline-block;
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    font-weight:500;
    letter-spacing:.06em;
    text-transform:uppercase;
    padding:4px 9px;
    border-radius:2px;
    color:#fff;
  }
  .tag.politica{background:var(--ink);}
  .tag.economia{background:var(--amber); color:var(--ink);}
  .tag.deportes{background:var(--forest);}
  .tag.policiales{background:var(--crimson);}
  .tag.cultura{background:var(--violet);}
  .tag.turismo{background:var(--teal);}
  .tag.salud{background:var(--rose);}
  .tag.ecologia{background:var(--olive);}
  .tag.seguridad{background:var(--slateblue);}
  .tag.sociedad{background:var(--ochre);}
  .tag.educacion{background:var(--indigo);}
  .tag.tecnologia{background:var(--steel);}
  .tag.locales{background:var(--cobalt);}
  .tag.regional{background:var(--moss);}
  .tag.provinciales{background:var(--plum);}
  .tag.nacionales{background:var(--coral); color:var(--ink);}
  .tag.internacionales{background:var(--brick);}

  /* ---------- HERO ---------- */
  .hero{
    padding:36px 0 48px;
    border-bottom:1px solid var(--line);
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:40px;
    align-items:center;
  }
  .hero-photo{
    aspect-ratio:4/3;
    overflow:hidden;
    background:var(--paper-soft);
    border-radius:2px;
  }
  .hero-photo img{transition:transform .5s ease;}
  .hero-photo:hover img{transform:scale(1.04);}

  .hero-headline{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:clamp(2.1rem, 4.2vw, 3.3rem);
    line-height:1.04;
    letter-spacing:-.01em;
    margin:14px 0 16px;
  }
  .hero-headline:hover{color:var(--cobalt-deep);}
  .hero-deck{
    font-size:17px;
    color:var(--slate);
    line-height:1.55;
    margin-bottom:18px;
    max-width:46ch;
  }
  .byline{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    color:var(--slate);
    letter-spacing:.02em;
  }

  /* ---------- SECONDARY GRID ---------- */
  .secondary{
    padding:44px 0;
    border-bottom:1px solid var(--line);
  }
  .section-head{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    margin-bottom:24px;
    border-bottom:3px solid var(--ink);
    padding-bottom:10px;
  }
  .section-head h2{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:22px;
    letter-spacing:-.01em;
  }
  .section-head a{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    color:var(--cobalt);
    text-transform:uppercase;
    letter-spacing:.05em;
  }

  .card-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
  }
  .card-photo{
    aspect-ratio:3/2;
    overflow:hidden;
    background:var(--paper-soft);
    margin-bottom:14px;
    border-radius:2px;
  }
  .card-photo img{transition:transform .4s ease;}
  .card:hover .card-photo img{transform:scale(1.05);}
  .card h3{
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:19px;
    line-height:1.22;
    margin:10px 0 8px;
  }
  .card:hover h3{color:var(--cobalt-deep);}
  .card p{
    font-size:14px;
    color:var(--slate);
    line-height:1.5;
  }

  /* ---------- LATEST + REGIONAL split ---------- */
  .split{
    padding:44px 0;
    display:grid;
    grid-template-columns:1.4fr .9fr;
    gap:52px;
    border-bottom:1px solid var(--line);
  }
  .latest-list{list-style:none;}
  .latest-list li{
    display:grid;
    grid-template-columns:64px 92px 1fr;
    gap:14px;
    align-items:baseline;
    padding:14px 0;
    border-bottom:1px solid var(--line);
  }
  .latest-list li:first-child{padding-top:0;}
  .latest-list time{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    color:var(--slate);
  }
  .latest-list a{
    font-size:15.5px;
    font-weight:600;
    line-height:1.35;
  }
  .latest-list a:hover{color:var(--cobalt-deep);}

  .regional-box{
    background:var(--ink);
    color:var(--paper);
    padding:26px;
    border-radius:2px;
  }
  .regional-box h2{
    font-family:'Fraunces', serif;
    font-size:20px;
    font-weight:700;
    margin-bottom:4px;
  }
  .regional-box .sub{
    font-size:12.5px;
    color:#aab0bd;
    margin-bottom:20px;
  }
  .regional-list{list-style:none;}
  .regional-list li{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid var(--line-dark);
    font-size:14px;
  }
  .regional-list li:last-child{border-bottom:none; padding-bottom:0;}
  .regional-list .city{
    font-family:'IBM Plex Mono', monospace;
    font-size:10.5px;
    color:var(--amber);
    text-transform:uppercase;
    letter-spacing:.06em;
    display:block;
    margin-bottom:3px;
  }
  .regional-list a{font-weight:500;}
  .regional-list a:hover{color:var(--amber);}

  /* ---------- NEWSLETTER ---------- */
  .newsletter{
    background:var(--cobalt);
    color:#fff;
    padding:52px 0;
  }
  .newsletter-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    flex-wrap:wrap;
  }
  .newsletter h2{
    font-family:'Fraunces', serif;
    font-size:clamp(24px, 3vw, 32px);
    font-weight:700;
    max-width:16ch;
  }
  .newsletter p{
    font-size:14px;
    color:#c9d3ff;
    margin-top:8px;
    max-width:38ch;
  }
  .newsletter-form{
    display:flex;
    gap:0;
    flex:0 0 auto;
    width:100%;
    max-width:400px;
  }
  .newsletter-form input{
    flex:1;
    border:none;
    padding:14px 16px;
    font-family:'Archivo', sans-serif;
    font-size:14px;
    border-radius:2px 0 0 2px;
    outline:none;
  }
  .newsletter-form button{
    background:var(--ink);
    color:#fff;
    border:none;
    padding:0 22px;
    font-family:'Archivo', sans-serif;
    font-weight:700;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.04em;
    cursor:pointer;
    border-radius:0 2px 2px 0;
    transition:background .15s ease;
  }
  .newsletter-form button:hover{background:var(--ink-soft);}

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--ink);
    color:#c9cdd6;
    padding:52px 0 28px;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:40px;
    padding-bottom:36px;
    border-bottom:1px solid var(--line-dark);
  }
  .footer-grid h4{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--amber);
    margin-bottom:16px;
  }
  .footer-grid ul{list-style:none;}
  .footer-grid li{margin-bottom:10px; font-size:13.5px;}
  .footer-grid a:hover{color:#fff;}
  .footer-logos{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:26px;
    margin-bottom:16px;
  }
  .footer-brand-logo{
    margin-bottom:0;
  }
  .footer-logo-svg{
    height:68px;
    width:auto;
    color:#fff;
  }
  .footer-reduno-logo{
    height:50px;
    width:auto;
    filter:grayscale(100%) brightness(1.7);
    opacity:.8;
    transition:filter .2s ease, opacity .2s ease;
  }
  .footer-reduno-logo:hover{
    filter:none;
    opacity:1;
  }
  .footer-grid .about{font-size:13px; line-height:1.6; max-width:32ch; color:#9aa0ac;}
  .footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:22px;
    font-size:12px;
    color:#7c8290;
    flex-wrap:wrap;
    gap:10px;
  }

  :focus-visible{
    outline:2px solid var(--cobalt);
    outline-offset:2px;
  }

  /* ---------- SECTION VARIANTS ---------- */
  .pol-section{
    padding:44px 0;
    border-bottom:1px solid var(--line);
  }
  .pol-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:44px;
  }
  .pol-photo{
    aspect-ratio:16/10;
    overflow:hidden;
    background:var(--paper-soft);
    border-radius:2px;
    margin-bottom:16px;
  }
  .pol-photo img{transition:transform .4s ease;}
  .pol-feature:hover .pol-photo img{transform:scale(1.04);}
  .pol-feature h3{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:26px;
    line-height:1.15;
    margin:12px 0 10px;
  }
  .pol-feature:hover h3{color:var(--cobalt-deep);}
  .pol-feature p{
    font-size:14.5px;
    color:var(--slate);
    line-height:1.55;
    max-width:48ch;
  }
  .simple-list{list-style:none;}
  .simple-list li{
    padding:16px 0;
    border-bottom:1px solid var(--line);
  }
  .simple-list li:first-child{padding-top:0;}
  .simple-list .tag{margin-bottom:8px;}
  .simple-list a{
    display:block;
    font-weight:600;
    font-size:15.5px;
    line-height:1.35;
  }
  .simple-list a:hover{color:var(--cobalt-deep);}

  .card-grid-4{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
  }

  .opinion-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:32px;
  }
  .opinion-card{
    border-left:3px solid var(--cobalt);
    padding-left:18px;
  }
  .opinion-card .quote{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-weight:500;
    font-size:18px;
    line-height:1.42;
    margin-bottom:16px;
    color:var(--ink);
  }
  .opinion-card .author b{
    display:block;
    font-family:'Archivo', sans-serif;
    font-weight:700;
    font-size:13.5px;
    letter-spacing:0;
    text-transform:none;
    color:var(--ink);
    margin-bottom:2px;
  }
  .opinion-card .author{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--slate);
  }

  /* ---------- PHOTO PLACEHOLDERS ---------- */
  .photo-placeholder{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .4s ease;
  }
  .ph-icon{
    width:32%;
    height:32%;
    fill:none;
    stroke:#fff;
    stroke-width:4;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:.95;
  }
  .ph-chubut{background-image:linear-gradient(135deg, #3355ea, #142a99);}
  .ph-politica{background-image:linear-gradient(135deg, #363d4e, #12151c);}
  .ph-policiales{background-image:linear-gradient(135deg, #e0475f, #8f1c30);}
  .ph-economia{background-image:linear-gradient(135deg, #f5b654, #c9860f);}
  .ph-deportes{background-image:linear-gradient(135deg, #2b9463, #14512f);}
  .ph-cultura{background-image:linear-gradient(135deg, #8257c2, #45296b);}
  .ph-turismo{background-image:linear-gradient(135deg, #14a396, #0a5951);}
  .ph-salud{background-image:linear-gradient(135deg, #ea5c88, #a3204f);}
  .ph-ecologia{background-image:linear-gradient(135deg, #9bc23c, #5a7614);}
  .ph-seguridad{background-image:linear-gradient(135deg, #5c6d87, #2c3644);}
  .ph-sociedad{background-image:linear-gradient(135deg, #d2853f, #8a4a15);}
  .ph-educacion{background-image:linear-gradient(135deg, #6a6ec2, #2f3266);}
  .ph-tecnologia{background-image:linear-gradient(135deg, #5a8fb3, #244a5e);}
  .ph-locales{background-image:linear-gradient(135deg, #3355ea, #142a99);}
  .ph-regional{background-image:linear-gradient(135deg, #7fa356, #3d5326);}
  .ph-provinciales{background-image:linear-gradient(135deg, #a3548a, #4a2540);}
  .ph-nacionales{background-image:linear-gradient(135deg, #e8936f, #a34f2e);}
  .ph-internacionales{background-image:linear-gradient(135deg, #c25f3f, #6b2c1a);}
  .hero-photo:hover .photo-placeholder,
  .card-photo:hover .photo-placeholder,
  .pol-photo:hover .photo-placeholder{
    transform:scale(1.04);
  }

  /* ---------- ADS ---------- */
  .ad-label{
    font-family:'IBM Plex Mono', monospace;
    font-size:10px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--slate);
    text-align:center;
    margin-bottom:10px;
  }
  .ad-pair-item img{
    height:430px;
    width:auto;
    max-width:100%;
    display:block;
    border-radius:3px;
    border:1px solid var(--line);
  }
  .ad-pair-compact{
    flex-wrap:nowrap;
  }
  .ad-pair-compact .ad-pair-item{
    min-width:0;
    text-align:center;
  }
  .ad-pair-compact .ad-pair-item img{
    width:100%;
    height:auto;
  }
  .ad-pair-item-wide{
    flex:1.78 1 0;
  }
  .ad-pair-item-narrow{
    flex:0.67 1 0;
  }
  .ad-pair-item.ad-pair-stack{
    height:430px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
  }
  .ad-pair-stack svg{
    height:90px;
    width:auto;
    max-width:100%;
  }
  .ad-pair-stack img{
    height:290px;
    width:auto;
    max-width:100%;
    border-radius:3px;
    border:1px solid var(--line);
  }
  .ad-pair{
    display:flex;
    justify-content:center;
    align-items:flex-end;
    gap:20px;
    flex-wrap:wrap;
  }
  .ad-pair-item{
    line-height:0;
  }
  .ad-banner-top{
    padding:28px 0 26px;
    border-bottom:1px solid var(--line);
    text-align:center;
    background:var(--paper-soft);
  }
  .ad-reduno-logo{
    height:clamp(90px, 12vw, 150px);
    width:auto;
    display:inline-block;
  }
  .ad-leaderboard{
    padding:20px 0;
    border-bottom:1px solid var(--line);
    text-align:center;
  }
  .ad-leaderboard img{
    width:100%;
    height:auto;
    border-radius:2px;
    display:block;
  }
  .ad-banner-mid{
    padding:6px 0 44px;
    text-align:center;
  }
  .ad-banner-full{
    padding:28px 0 32px;
    border-bottom:1px solid var(--line);
    text-align:center;
  }
  .ad-banner-full svg,
  .ad-banner-full img{
    width:100%;
    height:auto;
    display:block;
  }
  .ad-banner-mid img{
    max-width:100%;
    width:auto;
    height:auto;
    border-radius:2px;
    display:inline-block;
  }
  .ad-banner-full{
    padding:6px 0 44px;
  }
  .ad-banner-full img{
    width:100%;
    max-width:100%;
    height:auto;
    display:block;
    border-radius:2px;
  }
  .ad-stack{
    margin-top:28px;
    display:flex;
    flex-direction:column;
    gap:20px;
  }
  .ad-card{
    background:var(--paper-soft);
    border:1px solid var(--line);
    border-radius:2px;
    padding:14px;
  }
  .ad-card img{
    width:100%;
    height:auto;
    border-radius:2px;
    display:block;
  }

  .sponsors{
    padding:44px 0 48px;
    border-bottom:1px solid var(--line);
  }
  .sponsor-spotlight{
    padding:36px 0;
    background:var(--paper-soft);
    border-bottom:1px solid var(--line);
    text-align:center;
  }
  .sponsor-spotlight .ad-label{
    font-family:'IBM Plex Mono', monospace;
    font-size:10px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--slate);
    margin-bottom:14px;
  }
  .sponsor-spotlight-tile{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:150px;
    padding:20px 40px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:3px;
  }
  .sponsor-spotlight-tile svg{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
  }
  .sponsors-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
    gap:16px;
  }
  .sponsor-tile{
    display:flex;
    align-items:center;
    justify-content:center;
    height:106px;
    border:1px solid var(--line);
    border-radius:3px;
    padding:14px;
    filter:grayscale(100%);
    opacity:.72;
    transition:filter .2s ease, opacity .2s ease, border-color .2s ease;
  }
  .sponsor-tile:hover{
    filter:grayscale(0%);
    opacity:1;
    border-color:var(--cobalt);
  }
  .sponsors-featured{
    background:var(--paper-soft);
  }
  .sponsors-grid.featured{
    grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
    gap:22px;
  }
  .sponsors-grid.featured .sponsor-tile{
    height:150px;
    padding:22px;
    background:#fff;
    border:1px solid var(--line);
    filter:none;
    opacity:1;
  }
  .sponsors-grid.featured .sponsor-tile:hover{
    border-color:var(--cobalt);
    box-shadow:0 4px 16px rgba(18,21,28,.08);
  }
  .sponsor-tile img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
  }
  .sponsor-tile svg{
    max-width:100%;
    max-height:88%;
    width:auto;
    height:auto;
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    .hero-grid{grid-template-columns:1fr;}
    .card-grid{grid-template-columns:1fr 1fr;}
    .split{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .sponsors-grid{grid-template-columns:repeat(3, 1fr);}
    .pol-grid{grid-template-columns:1fr;}
    .card-grid-4{grid-template-columns:1fr 1fr;}
    .opinion-grid{grid-template-columns:1fr;}
  }
  @media (max-width:600px){
    .card-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .latest-list li{grid-template-columns:52px 1fr;}
    .latest-list li span.mono{display:none;}
    nav.primary{overflow-x:auto;}
    nav.primary ul{justify-content:flex-start; flex-wrap:nowrap;}
    .masthead-row{grid-template-columns:1fr; text-align:center;}
    .edition-label{justify-self:center;}
    .header-tools{justify-self:center;}
    .icon-btn span{display:none;}
    .sponsors-grid{grid-template-columns:repeat(2, 1fr);}
  }

/* ============================================================
   ARTICLE (single.php) — extends the design system above
   ============================================================ */
.article-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:40px 24px 0;
}
.article-header{ max-width:800px; margin:0 auto 24px; }
.article-header .tag{ margin-bottom:14px; display:inline-block; }
.article-title{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:clamp(28px, 4.4vw, 46px);
  line-height:1.08;
  letter-spacing:-0.01em;
  margin:10px 0 16px;
  color:var(--ink);
}
.article-deck{
  font-family:'Fraunces', serif;
  font-style:italic;
  font-weight:500;
  font-size:19px;
  line-height:1.5;
  color:var(--slate);
  margin-bottom:16px;
}
.article-byline{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px;
  letter-spacing:.04em;
  color:var(--slate);
  text-transform:uppercase;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:12px 0;
  margin-bottom:28px;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.article-photo{
  max-width:1000px;
  margin:0 auto 32px;
}
.article-photo img,
.article-photo .photo-placeholder{
  width:100%;
  aspect-ratio:16/9;
  border-radius:3px;
  object-fit:cover;
}
.article-photo .photo-placeholder{ display:flex; align-items:center; justify-content:center; }
.article-body{
  font-family:'Archivo', sans-serif;
  font-size:18px;
  line-height:1.75;
  color:var(--ink);
}
.article-body p{ margin-bottom:22px; }
.article-body h2{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:26px;
  margin:36px 0 16px;
}
.article-body h3{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:21px;
  margin:28px 0 14px;
}
.article-body a{ color:var(--cobalt); text-decoration:underline; text-underline-offset:2px; }
.article-body blockquote{
  font-family:'Fraunces', serif;
  font-style:italic;
  font-size:22px;
  line-height:1.5;
  border-left:3px solid var(--cobalt);
  padding-left:20px;
  margin:28px 0;
  color:var(--ink-soft);
}
.article-body ul, .article-body ol{ margin:0 0 22px 22px; }

/* Any image embedded directly in the post content — including
   gacetillas published through the WhatsApp bot — must display at
   full clarity. The global `img{height:100%; object-fit:cover}` rule
   further up is meant for fixed-aspect card/hero photos, not free-
   flowing content images, so it's overridden here for anything
   inside the article body, no matter how WordPress wrapped it. */
.article-body img{
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:contain;
  border-radius:3px;
  display:block;
  margin:8px 0 28px;
}
.article-body figure{ margin:8px 0 28px; }
.article-body figure img{ margin:0; }
.article-body .wp-caption{ max-width:100% !important; margin:8px 0 28px; }
.article-body .wp-caption img{ margin:0; }
.article-body .wp-caption-text,
.article-body figcaption{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  color:var(--slate);
  margin-top:8px;
}
.article-body .alignleft{ float:left; margin:6px 24px 20px 0; max-width:45%; }
.article-body .alignright{ float:right; margin:6px 0 20px 24px; max-width:45%; }
.article-body .aligncenter{ display:block; margin:8px auto 28px; }
.article-body .alignnone{ margin:8px 0 28px; }
.article-body .alignleft img,
.article-body .alignright img,
.article-body .aligncenter img,
.article-body .alignnone img{ margin:0; width:100%; height:auto; }
.article-body::after{ content:""; display:table; clear:both; }

/* Defensive: gacetillas can contain tables, embeds, or long unbroken
   text (pasted press releases, government reference codes, etc.).
   Without this, that content can overflow past the article column
   and visually cover the sidebar ads even though the grid itself is
   sized correctly. */
.article-body{ overflow-wrap:break-word; word-wrap:break-word; }
.article-body table{ max-width:100%; display:block; overflow-x:auto; }
.article-body iframe,
.article-body embed,
.article-body video,
.article-body object{ max-width:100%; }
.article-body pre{
  max-width:100%;
  overflow-x:auto;
  white-space:pre-wrap;
  word-break:break-word;
}
.article-body .wp-block-embed,
.article-body .wp-block-embed__wrapper{ max-width:100%; overflow:hidden; }
.article-body .wp-block-embed__wrapper iframe{ width:100%; }
.article-tags{
  display:flex; flex-wrap:wrap; gap:8px;
  margin:32px 0;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.article-tags a{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  background:var(--paper-soft);
  border:1px solid var(--line);
  border-radius:20px;
  padding:6px 14px;
  color:var(--slate);
}
.article-share{
  display:flex; align-items:center; gap:12px;
  margin-bottom:36px;
}
.article-share span{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px;
  text-transform:uppercase;
  color:var(--slate);
}
.article-share a{
  width:34px; height:34px;
  border:1px solid var(--line);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink);
}
.article-author-box{
  display:flex; gap:14px; align-items:flex-start;
  background:var(--paper-soft);
  border-radius:4px;
  padding:20px;
  margin:0 0 40px;
}
.article-author-box .avatar{
  width:52px; height:52px; border-radius:50%;
  background:var(--line); flex-shrink:0;
}
.article-author-box b{ display:block; margin-bottom:4px; }
.article-author-box p{ font-size:14px; color:var(--slate); margin:0; }

.md-empty-state{
  color:var(--slate);
  font-family:'IBM Plex Mono', monospace;
  font-size:13px;
  padding:20px 0;
}

/* ============================================================
   CATEGORÍAS PRINCIPALES panel (Local / Regional / Provincial /
   Nacional / Internacional) — thumbnail + name + post count,
   not a full editorial grid like the topical sections.
   ============================================================ */
.cat-panel-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:18px;
}
.cat-panel-item{
  position:relative;
  display:flex;
  align-items:flex-end;
  aspect-ratio:4/3;
  border-radius:4px;
  overflow:hidden;
  background:var(--ink-soft);
}
.cat-panel-item img,
.cat-panel-item .photo-placeholder{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.cat-panel-item .photo-placeholder{ display:flex; align-items:center; justify-content:center; }
.cat-panel-overlay{
  position:relative;
  z-index:1;
  width:100%;
  padding:14px 16px;
  background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,0));
  color:#fff;
}
.cat-panel-overlay h3{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:19px;
  margin-bottom:2px;
}
.cat-panel-overlay span{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px;
  letter-spacing:.04em;
  opacity:.85;
}

/* ---- Article two-column layout: body + sidebar ads ----
   !important here is deliberate: this page also loads whatever CSS
   your currently-active plugins add (Elementor's global CSS keeps
   loading even after switching themes, since deactivating a THEME
   does not deactivate a PLUGIN), and those often carry broad resets
   for display/width/position/float that would otherwise silently
   override this layout. */
.article-layout{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 300px !important;
  gap:40px;
  align-items:start;
}
.article-main{ min-width:0; overflow-x:hidden; }
.article-sidebar{
  display:flex !important;
  flex-direction:column !important;
  position:sticky;
  top:100px;
  gap:10px;
  float:none !important;
  width:auto !important;
}
.article-sidebar > .ad-label{ margin-bottom:0; }
.sidebar-ad{
  display:block !important;
  background:var(--paper-soft);
  border:1px solid var(--line);
  border-radius:3px;
  padding:16px;
  text-align:center;
}
.sidebar-ad img{ width:100% !important; height:auto !important; display:block; margin:0 auto; }
.sidebar-ad svg{ max-width:100% !important; height:auto !important; }

@media (max-width: 860px){
  .article-layout{ grid-template-columns:1fr !important; }
  .article-sidebar{
    position:static;
    flex-direction:row !important;
    flex-wrap:wrap;
    gap:16px;
  }
  .article-sidebar > .ad-label{ width:100%; }
  .sidebar-ad{ flex:1 1 160px; }
}

/* ============================================================
   CATEGORY ARCHIVE (category.php)
   ============================================================ */
.category-hero{
  padding:36px 0 8px;
  border-bottom:1px solid var(--line);
  margin-bottom:32px;
}
.category-hero h1{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:clamp(28px, 4vw, 40px);
  margin-bottom:8px;
}
.category-hero p{ color:var(--slate); max-width:640px; }

.md-pagination{
  display:flex; gap:8px; justify-content:center;
  margin:20px 0 56px;
  font-family:'IBM Plex Mono', monospace;
  font-size:13px;
}
.md-pagination a, .md-pagination span{
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:3px;
  color:var(--ink);
}
.md-pagination .current{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

@media (max-width: 640px){
  .article-title{ font-size:28px; }
  .article-deck{ font-size:17px; }
  .article-body{ font-size:17px; }
}

/* ============================================================
   SEARCH TOGGLE (header)
   ============================================================ */
.md-search-form{
  max-width:1240px;
  margin:0 auto;
  padding:0 24px;
  max-height:0;
  overflow:hidden;
  transition:max-height .2s ease, padding .2s ease;
}
.md-search-form.open{ max-height:60px; padding-bottom:14px; }
.md-search-form input{
  width:100%;
  font-family:'Archivo', sans-serif;
  font-size:15px;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:3px;
}
