/*
Theme Name: La Unión Digital
Theme URI: https://staticlabs.dev
Author: Staticlabs
Author URI: https://staticlabs.dev
Description: Theme editorial para el periódico digital La Unión Digital (cantón de La Unión, Cartago). Incluye secciones locales (Noticias Locales, Sucesos, Economía Local, Deportes, Cultura, Educación, Editoriales), Bolsa de Trabajo, zonas publicitarias no invasivas, widgets de tipo de cambio y clima, aviso de cookies y contacto por WhatsApp. Integrado con el plugin La Unión Digital — Core.
Version: 1.10.0
Requires PHP: 7.4
Requires at least: 7.0
Tested up to: 7.0.2
Text Domain: la-union-theme
*/

:root{
  /* Identidad: paleta profesional/comercial, inspirada en medios digitales
     de referencia — navy de confianza + verde institucional del cantón +
     acentos cálidos reservados para lo urgente (Sucesos) y lo patrocinado. */
  --bg:#FFFFFF;
  --bg-alt:#F5F7FA;
  --bg-card:#FFFFFF;
  --ink:#101828;
  --ink-soft:#475467;
  --ink-mute:#98A2B3;
  --line:#E4E7EC;

  --brand:#0B5D3B;       /* verde institucional — primario */
  --brand-dark:#073D27;
  --brand-bg:#E6F2EC;

  --terra:#B33F2D;        /* Sucesos / urgencia */
  --terra-bg:#F7E5E1;

  --gold:#B7862C;         /* patrocinado / destacado */
  --gold-bg:#F5EBD8;

  --blue:#1D4E6B;
  --blue-bg:#E1EBF1;

  --whatsapp:#25D366;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
ul{list-style:none}

/* Utility bar */
.lu-utility-bar{background:var(--brand-dark);color:#EAF3EE;font-size:12.5px}
.lu-utility-bar__inner{display:flex;justify-content:space-between;align-items:center;padding:8px 0;gap:16px;flex-wrap:wrap}
.lu-utility-bar__data{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.lu-utility-bar__date{opacity:.85}
.lu-utility-bar__actions{display:flex;align-items:center;gap:16px}
.lu-utility-bar__actions a{opacity:.9}
.lu-utility-bar__actions a:hover{opacity:1;text-decoration:underline}
.lu-utility-bar__actions .lu-utility-bar__subscribe{background:#fff;color:var(--brand-dark);padding:4px 11px;border-radius:4px;font-weight:700;opacity:1}
.lu-utility-bar__actions .lu-utility-bar__account{font-weight:600}

.lu-widget{display:inline-flex;align-items:baseline;gap:6px;color:#EAF3EE}
.lu-widget__label{opacity:.75}
.lu-widget__value{font-weight:600;display:inline-flex;align-items:center;gap:4px}
.lu-widget__value img{display:inline-block}
.lu-widget__meta{opacity:.65;font-size:11px}
.lu-widget--empty{opacity:.55}

/* Header / masthead (estilo gran diario: nombre en fila propia, centrado) */
header.site-header{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}

.masthead{border-bottom:1px solid var(--line);padding:18px 0}
.masthead__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.masthead__edge{font-size:12px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.03em}
.masthead__edge--right{text-align:right;justify-self:end}
.masthead .lu-logo,.masthead .lu-logo__svg,.masthead .custom-logo-link{justify-self:center}
.masthead .lu-logo__svg{width:320px;height:auto}
.masthead .custom-logo{max-height:64px;width:auto;margin:0 auto;display:block}

.main-nav{display:grid;grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);align-items:center;padding:12px 24px;gap:10px;max-width:1500px}
.lu-logo{display:inline-flex;align-items:center}
.lu-logo__svg{display:block}
.custom-logo{max-height:56px;width:auto}
.nav-links{grid-column:2;display:flex;justify-content:center;gap:clamp(8px,1vw,16px);font-size:clamp(11px,.78vw,13px);font-weight:500;flex-wrap:nowrap;white-space:nowrap;min-width:0}
.nav-links li{list-style:none;position:relative}
.nav-links a{padding:4px 0;border-bottom:2px solid transparent;transition:border-color .15s;display:inline-block}
.nav-links a:hover,.nav-links a.current-cat{border-color:var(--brand)}
.nav-links a.sucesos{color:var(--terra)}

/* Desplegable "Nacionales" y similares */
.nav-links li.lu-has-dropdown > a::after{content:"▾";font-size:10px;margin-left:5px;opacity:.7}
.nav-links li.lu-has-dropdown{padding-bottom:4px}
.nav-links ul.sub-menu{
  display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);
  border-radius:6px;min-width:190px;padding:8px 0;box-shadow:0 10px 24px rgba(16,24,40,.08);z-index:80;
}
.nav-links li.lu-has-dropdown:hover > ul.sub-menu,
.nav-links li.lu-has-dropdown:focus-within > ul.sub-menu{display:block}
.nav-links ul.sub-menu li{width:100%}
.nav-links ul.sub-menu a{display:block;padding:9px 16px;border-bottom:none;font-weight:500;white-space:nowrap}
.nav-links ul.sub-menu a:hover{background:var(--bg-alt);color:var(--brand)}

.nav-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:14px}
.search-btn{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);cursor:pointer;background:none;flex-shrink:0}
.subscribe-btn{background:var(--brand);color:#fff;padding:9px 18px;border-radius:4px;font-size:13px;font-weight:600;border:none;cursor:pointer;white-space:nowrap}
.subscribe-btn:hover{background:var(--brand-dark)}

.lu-search-panel{display:none;background:var(--bg-alt);border-bottom:1px solid var(--line);padding:14px 0}
.lu-search-panel.active{display:block}
.lu-search-panel .wrap{display:flex;gap:10px}
.lu-search-panel input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:4px;font-size:14px}
.lu-search-panel button{background:var(--brand);color:#fff;border:none;padding:10px 18px;border-radius:4px;font-weight:600;cursor:pointer}

/* Módulo editorial y publicitario JPS en la columna derecha de portada */
.lu-jps-bar{background:transparent;border:1px solid #E8D6AE;border-radius:9px;padding:16px;font-size:12.5px;display:block}
.lu-jps-bar__label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--gold);font-weight:700;flex-shrink:0}
.lu-jps-bar__content{display:grid;gap:10px;color:var(--ink);margin-top:8px}
.lu-jps-bar__results{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.lu-jps-result{background:transparent;border:1px solid rgba(183,134,44,.2);border-radius:6px;padding:8px;line-height:1.35}
.lu-jps-result strong,.lu-jps-result span{display:block}
.lu-jps-result strong{font-size:24px;line-height:1.05;font-weight:800;color:var(--ink);margin:4px 0}
.lu-jps-result--prize .lu-jps-result__draw{font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.02em}
.lu-jps-result span{font-size:11px;color:var(--ink-soft)}
.lu-jps-bar__fecha{color:var(--ink-mute)}
.lu-jps-bar__link{color:var(--gold);font-weight:700;display:inline-block}
.lu-jps-bar__link:hover{text-decoration:underline}
.lu-jps-bar__media{display:block;margin:-16px -16px 12px;overflow:hidden;border-radius:8px 8px 0 0}
.lu-jps-bar__media img{width:100%;max-height:170px;object-fit:cover}

.lu-menu-toggle{grid-column:1;justify-self:start;display:none;background:none;border:1px solid var(--line);border-radius:6px;width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer;font-size:18px;flex-shrink:0}
.main-nav{position:relative}

@media (max-width:820px){
  .lu-jps-bar{padding:14px;font-size:11.5px}
  .masthead__edge{display:none}
  .masthead .lu-logo__svg{width:230px}
  .lu-menu-toggle{display:inline-flex}
  .nav-links{display:none}
  .nav-links.lu-nav-open{
    display:flex;flex-direction:column;align-items:flex-start;gap:2px;
    position:absolute;top:100%;left:0;right:0;background:#fff;
    border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(16,24,40,.08);
    padding:10px 24px 16px;z-index:90;
  }
  .nav-links.lu-nav-open a{width:100%;padding:10px 0}
  .nav-links.lu-nav-open li{width:100%}
  .nav-links.lu-nav-open li.lu-has-dropdown ul.sub-menu{
    display:block;position:static;box-shadow:none;border:none;padding:0 0 0 14px;margin-top:0;
  }
  .nav-links.lu-nav-open ul.sub-menu a{padding:8px 0}
}

/* Breaking bar */
.breaking{background:var(--terra);color:#fff;font-size:13px;padding:9px 0}
.breaking .wrap{display:flex;align-items:center;gap:12px}
.breaking .tag{background:rgba(255,255,255,.2);padding:2px 8px;border-radius:3px;font-weight:700;font-size:11px;letter-spacing:.04em}

/* Hero */
.hero{display:grid;grid-template-columns:1.7fr 1fr;gap:32px;padding:36px 0;border-bottom:1px solid var(--line)}
.hero-main .cat{font-size:12px;font-weight:700;color:var(--brand);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;display:block}
.hero-main .thumb{width:100%;aspect-ratio:16/9;border-radius:6px;background:linear-gradient(135deg,#DCE7E1,#B8CFC2);margin-bottom:16px;overflow:hidden}
.hero-main .thumb img{width:100%;height:100%;object-fit:cover}
.hero-main h1{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:34px;line-height:1.18;margin-bottom:12px}
.hero-main h1 a{color:inherit}
.hero-main p.dek{color:var(--ink-soft);font-size:16px;margin-bottom:14px}
.byline{font-size:13px;color:var(--ink-mute)}
.hero-side{display:flex;flex-direction:column;gap:22px}
.side-item{padding-bottom:20px;border-bottom:1px solid var(--line)}
.side-item:last-child{border-bottom:none;padding-bottom:0}
.side-item .cat{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-bottom:6px;display:block;color:var(--brand)}
.side-item .cat.sucesos{color:var(--terra)}
.side-item .cat.economia-local{color:var(--blue)}
.side-item h3{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:17px;line-height:1.32;margin-bottom:4px}
.side-item h3 a{color:inherit}

/* Ad banner wrapper (home, non-invasive spacing) */
.lu-ad-banner{padding:22px 0;text-align:center}

/* Sucesos section */
.sucesos-section{background:var(--terra-bg);padding:32px 0}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:8px}
.section-head h2{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:22px}
.section-head .ver-mas{font-size:13px;font-weight:600;color:var(--brand)}
.sucesos-section .section-head h2{color:var(--terra)}
.sucesos-section .ver-mas{color:var(--terra)}
.sucesos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sucesos-card{background:var(--bg-card);border-radius:6px;padding:18px;border:1px solid #E9D2CB}
.sucesos-card .thumb{width:100%;height:110px;border-radius:4px;background:#E3D0C9;margin-bottom:12px;overflow:hidden}
.sucesos-card .thumb img{width:100%;height:100%;object-fit:cover}
.sucesos-card h3{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:16px;line-height:1.32;margin-bottom:6px}
.sucesos-card h3 a{color:inherit}
.sucesos-card p{font-size:13px;color:var(--ink-soft);margin-bottom:8px}
.sucesos-note{font-size:12px;color:var(--ink-mute);margin-top:18px;border-top:1px solid #E9D2CB;padding-top:14px}

/* Content + sidebar */
.content-layout{display:grid;grid-template-columns:2fr 1fr;gap:36px;padding:36px 0}
.content-layout>*{min-width:0}
.lu-section-intro{color:var(--ink-soft);margin-bottom:20px;max-width:640px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:36px}
.card{background:var(--bg-card)}
.card h3{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:16px;line-height:1.32;margin-bottom:6px}
.card h3 a{color:inherit}
.card .thumb{width:100%;height:90px;border-radius:6px;background:#E1E7E3;margin-bottom:10px;overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .cat{font-size:11px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.03em;display:block;margin-bottom:6px}
.job-card{border:1px solid var(--line);border-radius:8px;padding:16px}
.job-card .cat{color:var(--gold)}
.lu-employer-cta{background:var(--brand);color:#fff;padding:9px 16px;border-radius:5px;font-size:13px;font-weight:700}
.lu-employer-cta:hover{background:var(--brand-dark)}
.lu-job-submit-form{display:grid;gap:16px;max-width:760px}
.lu-job-submit-form label{display:grid;gap:5px;font-weight:600}
.lu-job-submit-form input,.lu-job-submit-form select,.lu-job-submit-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:5px;font:inherit;font-weight:400}
.lu-job-submit-form input[type="checkbox"]{width:auto;padding:0;flex:0 0 auto;margin-top:4px}
.lu-job-submit-form .lu-privacy-consent{display:flex;align-items:flex-start;gap:9px;font-weight:400;line-height:1.5}
.lu-job-submit-form .lu-privacy-consent a{color:var(--brand);text-decoration:underline}
.lu-job-feed-ad{grid-column:1/-1;padding:22px 0;margin:2px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lu-job-submit-form button{justify-self:start;background:var(--brand);color:#fff;border:0;border-radius:5px;padding:11px 20px;font-weight:700;cursor:pointer}
.lu-form-notice{padding:12px 14px;border-radius:5px;margin-bottom:18px}.lu-form-notice--ok{background:var(--brand-bg);color:var(--brand-dark)}.lu-form-notice--error{background:var(--terra-bg);color:var(--terra)}

.sidebar{background:var(--bg-card);border:1px solid var(--line);border-radius:8px;padding:20px;height:fit-content;margin-bottom:20px}
.lu-ad-slot--sticky{position:sticky;top:24px}
.lu-ad-code{display:block;margin-bottom:5px;color:var(--ink-mute);font:600 10px/1.2 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.sidebar h4{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);margin-bottom:16px}
.rank-item{display:flex;gap:12px;margin-bottom:16px}
.rank-item:last-child{margin-bottom:0}
.rank-num{font-family:'Source Serif 4',Georgia,serif;font-size:20px;color:var(--ink-mute);font-weight:600}
.rank-item h5{font-size:14px;font-weight:600;line-height:1.35}
.rank-item h5 a{color:inherit}

.sidebar-mini{padding:16px 20px}
.sidebar-mini__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.sidebar-mini__head h4{margin:0;font-size:12px}
.sidebar-mini__head .ver-mas{font-size:11px;color:var(--brand);font-weight:600}
.sidebar-mini__item{margin-bottom:12px}
.sidebar-mini__item:last-child{margin-bottom:0}
.sidebar-mini__item h5{font-size:13.5px;font-weight:600;line-height:1.35;margin-bottom:2px}
.sidebar-mini__item h5 a{color:inherit}
.sidebar-mini__item .byline{font-size:11px}

/* Article page */
.article-wrap{max-width:720px;margin:0 auto;padding:36px 24px}
.article-wrap .cat{font-size:12px;color:var(--brand);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.article-wrap.sucesos .cat{color:var(--terra)}
.article-wrap h1{font-family:'Source Serif 4',Georgia,serif;font-size:32px;font-weight:600;line-height:1.25;margin:10px 0 16px}
.article-meta{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--ink-mute);font-size:13px;flex-wrap:wrap}
.lu-comment-jump{color:var(--brand);font-weight:700}
.lu-comment-jump:hover{text-decoration:underline}
.article-featured{width:100%;border-radius:8px;margin-bottom:24px;overflow:hidden}
.article-body p{font-size:17px;line-height:1.75;margin-bottom:18px}
.lu-sponsored-disclosure{padding:10px 12px;border-left:4px solid #b7791f;background:#fff8e5;color:#614300;font-size:13px;font-weight:600}
.ad-zone-inline{margin:28px 0;text-align:center}
.lu-related{background:var(--brand-bg);border-radius:8px;padding:18px;margin-top:32px}
.lu-related__label{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--brand);font-weight:700;margin-bottom:10px}
.lu-related__item{display:block;font-size:15px;font-weight:600;margin-bottom:8px}
.lu-related__item:last-child{margin-bottom:0}

/* Job single */
.lu-job-meta{display:flex;flex-wrap:wrap;gap:14px;background:var(--bg-alt);border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin-bottom:24px;font-size:14px}
.lu-job-apply{margin-top:36px;border-top:1px solid var(--line);padding-top:24px}
.lu-job-apply h3{font-family:'Source Serif 4',Georgia,serif;font-size:20px;margin-bottom:14px}

/* Ads: clearly labeled, contained, never overlapping content.
   Tamaños proporcionales (no una caja fija chiquita) para que un
   anuncio pagado realmente se vea grande y claro. */
.lu-ad{display:block;position:relative;margin-top:24px;background:transparent;border-radius:6px;overflow:hidden}
.lu-ad::before{content:"Publicidad";position:absolute;top:-18px;left:0;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-mute)}
.lu-ad,.lu-ad-fallback{display:flex;justify-content:center;align-items:center}
.lu-ad-space{width:100%;height:auto;display:flex;align-items:center;justify-content:center;position:relative;background:transparent}
.lu-ad-space>.lu-ad,.lu-ad-space>.lu-ad-fallback{width:100%}
.lu-ad img,.lu-ad video{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;border-radius:6px;margin:0 auto;background:transparent}

/* Banner: ancho completo, formato horizontal (categoria-banner, bolsa de trabajo, footer) */
.lu-ad--banner{width:100%;aspect-ratio:970/250;max-height:280px;min-height:120px}

/* Rectángulo: para sidebars (tipo IAB Medium Rectangle 300x250, pero fluido) */
.lu-ad--rectangle{width:100%;max-width:336px;aspect-ratio:336/280;margin-left:auto;margin-right:auto}

/* Cuadrado: ahora es un único contenedor centrado (ya no va en franja
   de 2-3 anuncios lado a lado), así que necesita su propio ancho
   máximo para no estirarse a todo el ancho del wrap. */
.lu-ad--square{aspect-ratio:1/1;width:100%;max-width:400px;margin-left:auto;margin-right:auto}

/* Adaptativo: el aspect-ratio de arriba (336/280, 970/250, 1/1) es
   solo el valor por defecto cuando NO hay medida real. Cuando el
   espacio se marca 'adaptive' => true en la plantilla, PHP calcula la
   proporción real de la imagen (recortada al rango aceptado por el
   formato) y la escribe como aspect-ratio en línea sobre este mismo
   elemento -- el estilo en línea siempre gana sobre esta regla de
   clase, así que no hace falta "!important" ni tocar esto para que
   funcione. El ancho máximo lo sigue poniendo cada variante
   (.lu-ad--banner/.lu-ad--rectangle/.lu-ad--square), no esta clase.
   La transición es lo que suaviza el cambio de tamaño cuando un
   carrusel adaptativo pasa de una diapositiva a otra (ads.js actualiza
   el aspect-ratio en línea leyendo el data-ratio de cada slide).
   Ver Lu_Ad_Creative_Media y Lu_Ad_Selector::format_ad() en el plugin. */
.lu-ad-space--adaptive{transition:aspect-ratio .35s ease}

.lu-ad-fallback{background:transparent;border:1px dashed #D7C39A;border-radius:8px;padding:16px;text-align:center;font-size:13px;color:var(--gold);font-weight:600}
.lu-ad-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px auto}
.lu-ad-group__item{min-width:0;display:flex;justify-content:center;align-items:center;background:transparent}
.lu-native-ad-section{width:min(100%,1100px);margin:28px auto;padding:16px;border:1px solid #E8D6AE;border-radius:9px;background:transparent}
.lu-native-ad-section__label{display:block;margin-bottom:8px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--gold);font-weight:700}
.lu-native-ad-section__content,.lu-native-ad-section .lu-ad-space{width:100%;background:transparent}
.lu-native-ad-section .lu-ad{margin-top:0}
@media (max-width:760px){.lu-ad-group{grid-template-columns:1fr}}
.lu-payment-instructions{background:var(--bg-alt);border:1px solid var(--line);border-radius:8px;padding:18px;margin:16px 0}

/* Forms (contacto, postulación) */
.lu-contact-form,.lu-job-apply-form,.lu-account-form,.lu-subscription-form,#lu-login-form{display:flex;flex-direction:column;gap:14px;max-width:480px}
.lu-contact-form label,.lu-job-apply-form label,.lu-account-form label,.lu-subscription-form label,#lu-login-form label{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:6px}
.lu-contact-form input,.lu-contact-form select,.lu-contact-form textarea,
.lu-job-apply-form input,.lu-job-apply-form textarea,
.lu-account-form input,.lu-subscription-form input,.lu-subscription-form select,.lu-subscription-form textarea,#lu-login-form input[type="text"],#lu-login-form input[type="password"]{
  font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:4px;font-size:14px;font-family:inherit;
}
.lu-contact-form button,.lu-job-apply-form button,.lu-account-form button,.lu-subscription-form button,#lu-login-form input[type="submit"]{
  align-self:flex-start;padding:11px 22px;background:var(--brand);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;
}
.lu-contact-form button:hover,.lu-job-apply-form button:hover,.lu-account-form button:hover,.lu-subscription-form button:hover,#lu-login-form input[type="submit"]:hover{background:var(--brand-dark)}
.lu-form-notice{padding:12px 14px;border-radius:6px;margin-bottom:14px;font-size:14px}
.lu-form-notice--ok{background:var(--brand-bg);color:var(--brand-dark)}
.lu-form-notice--error{background:var(--terra-bg);color:var(--terra)}

/* Cuentas de lector (registro/login/postulaciones/comentarios) */
.lu-account__cols{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:18px}
.lu-account__col h3{font-size:16px;margin-bottom:12px}
#lu-login-form label.login-remember{flex-direction:row;align-items:center;gap:8px;font-weight:400}
.lu-account__forgot{margin-top:10px;font-size:13px}
.lu-account--in{background:var(--bg-alt);border:1px solid var(--line);border-radius:8px;padding:20px}
.lu-account__logout{margin-top:10px;padding:9px 18px;background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer;font-weight:600}
.lu-login-prompt{display:block}
.lu-login-prompt a{color:var(--brand);font-weight:600;text-decoration:underline}
.lu-applying-as{font-size:13px;color:var(--ink-mute);background:var(--bg-alt);padding:9px 12px;border-radius:5px}
.lu-applying-as a{color:var(--brand)}

/* Suscripción gratuita y membresía de pago */
.lu-subscription-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.lu-subscription-option{border:1px solid var(--line);border-radius:10px;padding:24px;min-width:0}
.lu-subscription-option--free{background:var(--bg-alt)}
.lu-subscription-option--paid{border-color:#D9C38F}
.lu-subscription-option h2{font-family:'Source Serif 4',Georgia,serif;font-size:24px;margin-bottom:10px}
.lu-membership-benefits{list-style:disc;padding-left:22px;margin:16px 0}
.lu-membership-benefits li{margin-bottom:8px}
.lu-membership-cta{display:inline-block;background:var(--brand);color:#fff;padding:11px 18px;border-radius:5px;font-weight:700;margin:8px 0 16px}
.lu-membership-cta:hover{background:var(--brand-dark)}
.lu-subscription{max-width:100%}
.lu-subscription--active{background:var(--brand-bg);border:1px solid var(--brand);border-radius:8px;padding:20px}
.lu-subscription--pending{background:var(--gold-bg);border:1px solid var(--gold);border-radius:8px;padding:20px}
.lu-subscription__perks{font-weight:600}
.lu-subscription__instructions{background:var(--bg-alt);border:1px solid var(--line);border-radius:6px;padding:4px 16px;margin:12px 0}
@media (max-width:680px){
  .lu-account__cols,.lu-subscription-options{grid-template-columns:1fr}
}

/* WhatsApp */
.lu-whatsapp-btn{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--whatsapp)}
.lu-whatsapp-btn:hover{text-decoration:underline}
.lu-whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:60}
.lu-whatsapp-float .lu-whatsapp-btn{
  background:var(--whatsapp);color:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.18);font-size:14px;
}
.lu-whatsapp-float .lu-whatsapp-btn:hover{text-decoration:none;filter:brightness(0.95)}

/* Cookie banner */
.lu-cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;margin:0 auto;
  background:var(--ink);color:#F2F4F7;border-radius:10px;padding:18px 20px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:70;font-size:13px;line-height:1.55;
}
.lu-cookie-banner a{color:#EAF3EE;text-decoration:underline}
.lu-cookie-actions{display:flex;gap:10px;margin-top:12px}
.lu-cookie-btn{padding:8px 16px;border-radius:4px;border:none;font-weight:600;font-size:13px;cursor:pointer}
.lu-cookie-btn--accept{background:var(--brand);color:#fff}
.lu-cookie-btn--decline{background:transparent;color:#F2F4F7;border:1px solid rgba(255,255,255,.35)}

/* Newsletter */
.newsletter{background:var(--ink);color:var(--bg);padding:36px 0}
.newsletter .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.newsletter h3{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:20px;margin-bottom:4px}
.newsletter p{font-size:13px;color:#C9CFD6}
.lu-newsletter-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:start}
.lu-newsletter-form>label:first-of-type{min-width:0}
.lu-newsletter-form input[type="email"]{padding:10px 14px;border-radius:4px;border:1px solid var(--line);width:100%;font-size:14px}
.lu-newsletter-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:400;line-height:1.4}
.lu-newsletter-consent input{margin-top:3px}
.lu-newsletter-consent a{text-decoration:underline}
.lu-newsletter-form button{background:var(--brand);color:#fff;border:none;padding:10px 18px;border-radius:4px;font-weight:600;font-size:14px;cursor:pointer}
.lu-newsletter-signup--compact{max-width:560px}
.newsletter .lu-newsletter-form input[type="email"]{border:none}
.newsletter .lu-form-notice{grid-column:1/-1;margin-bottom:8px}
@media (max-width:560px){
  .lu-newsletter-form{grid-template-columns:1fr}
  .lu-newsletter-consent{grid-column:1}
  .lu-newsletter-form button{justify-self:start}
}

/* Footer */
footer.site-footer{padding:40px 0 24px;font-size:13px;color:var(--ink-mute);background:var(--bg-alt)}
.footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-bottom:28px}
.footer-col--brand p{margin:14px 0}
.footer-col h5{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin-bottom:14px}
.footer-col ul li{margin-bottom:8px}
.footer-col--sections ul{columns:2;column-gap:28px}
.footer-col--sections li{break-inside:avoid-column}
.footer-col a:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:18px}

/* Cada carrusel pertenece a un único espacio/slug. La diapositiva y la
   creatividad ocupan el contenedor completo, siempre centradas y sin fondo. */
.lu-ad-carousel{width:100%;height:100%;position:relative;background:transparent}
.lu-ad-carousel__slides{width:100%;height:100%;position:relative;display:grid;place-items:center}
.lu-ad-carousel__slide{display:none;width:100%;height:100%;place-items:center;background:transparent}
.lu-ad-carousel__slide.is-active{display:grid}
.lu-ad-carousel__slide .lu-ad{width:100%;height:100%;margin-top:0}
.lu-ad-carousel__controls{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:3px 7px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;z-index:2}
.lu-ad-carousel__controls button{border:0;background:transparent;color:#fff;font-size:20px;line-height:1;padding:1px 5px;cursor:pointer}
.lu-ad-carousel__status{font:600 10px/1 Inter,sans-serif;min-width:30px;text-align:center}
.lu-ad-native .lu-ad-space{max-width:336px;margin:0 auto}

/* Interstitial de video (landing con patrocinador) */
body.lu-interstitial-open{overflow:hidden}
.lu-interstitial{
  position:fixed;inset:0;background:rgba(16,24,40,.92);z-index:1000;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.lu-interstitial__inner{width:100%;max-width:720px;position:relative}
.lu-interstitial__sponsor{
  display:inline-block;background:var(--gold);color:#fff;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:3px;margin-bottom:10px;
}
.lu-interstitial video{width:100%;max-height:70vh;border-radius:8px;background:#000;display:block}
.lu-interstitial__image-link{display:block}
.lu-interstitial--image img{width:100%;max-height:75vh;object-fit:contain;border-radius:8px;display:block;margin:0 auto;background:#0b0f14}
.lu-interstitial__controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.lu-interstitial__controls #lu-interstitial-mute{
  background:rgba(255,255,255,.12);border:none;color:#fff;width:38px;height:38px;border-radius:50%;
  font-size:16px;cursor:pointer;
}
.lu-interstitial__controls #lu-interstitial-cta{
  background:var(--brand);color:#fff;padding:10px 20px;border-radius:4px;font-weight:600;font-size:14px;
}
.lu-interstitial__controls #lu-interstitial-cta:hover{background:var(--brand-dark)}
.lu-interstitial__controls #lu-interstitial-skip{
  background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;padding:9px 16px;
  border-radius:4px;font-size:13px;cursor:pointer;
}
.lu-interstitial__controls #lu-interstitial-skip:disabled{opacity:.5;cursor:default}
.lu-interstitial__controls #lu-interstitial-skip:not(:disabled):hover{background:rgba(255,255,255,.12)}

@media (max-width:600px){
  .lu-interstitial__controls{justify-content:center}
}

/* Panel de Redacción (front-end, sin wp-admin) */
.lu-newsroom-login{max-width:360px;margin:0 auto}
.lu-newsroom-login form p{margin-bottom:12px}
.lu-newsroom-login input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:4px}
.lu-newsroom-login .login-submit input{width:auto;background:var(--brand);color:#fff;border:none;padding:10px 20px;font-weight:600;cursor:pointer}

.lu-newsroom{max-width:760px;margin:0 auto}
.lu-newsroom__header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.lu-newsroom__greeting{font-size:13px;color:var(--ink-mute);margin-bottom:2px}
.lu-newsroom__header h2{font-family:'Source Serif 4',Georgia,serif;font-size:24px}
.lu-newsroom__logout{font-size:13px;color:var(--terra)}

.lu-newsroom-form{display:flex;flex-direction:column;gap:16px;margin-bottom:36px}
.lu-newsroom-form label{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:6px}
.lu-newsroom-form input[type=text],.lu-newsroom-form input[type=file],
.lu-newsroom-form select,.lu-newsroom-form textarea{
  font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:4px;font-size:14px;font-family:inherit;
}
.lu-newsroom-current-thumb{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:400;color:var(--ink-mute);margin-top:6px}
.lu-newsroom-current-thumb img{width:40px;height:40px;object-fit:cover;border-radius:4px}
.lu-newsroom-actions{display:flex;gap:10px}
.lu-newsroom-actions button{padding:11px 20px;border-radius:4px;font-weight:600;cursor:pointer;border:1px solid var(--line);background:#fff}
.lu-newsroom-submit-primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.lu-newsroom-submit-primary:hover{background:var(--brand-dark)}

.lu-newsroom h3{font-family:'Source Serif 4',Georgia,serif;font-size:18px;margin-bottom:14px}
.lu-newsroom-list{width:100%;border-collapse:collapse;font-size:14px}
.lu-newsroom-list th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-mute);padding:8px 6px;border-bottom:1px solid var(--line)}
.lu-newsroom-list td{padding:10px 6px;border-bottom:1px solid var(--line)}
.lu-status{font-size:12px;padding:2px 8px;border-radius:3px;font-weight:600}
.lu-status--draft{background:var(--bg-alt);color:var(--ink-soft)}
.lu-status--pending{background:var(--gold-bg);color:var(--gold)}
.lu-status--publish{background:var(--brand-bg);color:var(--brand-dark)}

@media (max-width:820px){
  .hero{grid-template-columns:1fr}
  .content-layout{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .sucesos-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .lu-utility-bar__data{gap:10px}
}
@media (max-width:480px){
  .footer-grid{grid-template-columns:1fr}
}

/* Migas de pan */
.lu-breadcrumbs{padding:14px 0 0}
.lu-breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:13px;color:var(--ink-mute)}
.lu-breadcrumbs li{display:flex;align-items:center;gap:6px}
.lu-breadcrumbs li:not(:last-child)::after{content:"›";color:var(--ink-mute)}
.lu-breadcrumbs a{color:var(--ink-soft);text-decoration:none}
.lu-breadcrumbs a:hover{color:var(--brand);text-decoration:underline}
.lu-breadcrumbs [aria-current="page"]{color:var(--ink-mute)}

/* Comentarios */
.lu-comments{margin-top:40px;border-top:1px solid var(--line);padding-top:28px}
.lu-comments__title{font-family:'Source Serif 4',Georgia,serif;font-size:20px;margin-bottom:18px}
.lu-comments__list{list-style:none;margin:0 0 28px;padding:0}
.lu-comments__list .children{list-style:none;margin:16px 0 0;padding-left:28px;border-left:2px solid var(--line)}
.lu-comments__list li{margin-bottom:20px}
.lu-comment-body{display:flex;gap:14px}
.lu-comment-body .avatar{border-radius:50%;flex:0 0 auto}
.lu-comment-body__content{flex:1;min-width:0}
.lu-comment-author{font-weight:700;font-size:14px}
.lu-comment-meta{font-size:12px;color:var(--ink-mute);margin-bottom:6px}
.lu-comment-text p{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.lu-comment-reply-link{font-size:12px;font-weight:600;color:var(--brand);text-decoration:none}
.lu-comment-awaiting{font-size:12px;color:var(--gold);font-style:italic}
.lu-comments__closed{color:var(--ink-mute);font-size:14px}
.lu-comment-form{display:flex;flex-direction:column;gap:14px;max-width:560px}
.lu-comment-form label{font-size:14px;font-weight:600;display:block;margin-bottom:6px}
.lu-comment-form input,.lu-comment-form textarea{
  width:100%;font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:4px;font-size:14px;font-family:inherit;
}
.lu-comment-form .comment-form-notes{font-size:13px;color:var(--ink-mute);margin:0}
.lu-comment-form .form-submit{margin-top:2px}
.lu-comment-form input[type="submit"]{
  width:auto;padding:11px 22px;background:var(--brand);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;
}
.lu-comment-form input[type="submit"]:hover{background:var(--brand-dark)}

/* Espacio privado de Redacción: interfaz separada del periódico público. */
.lu-newsroom-portal{background:#f3f5f4}
.lu-newsroom-shell__bar{min-height:68px;padding:10px clamp(18px,4vw,56px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.lu-newsroom-shell__bar>a{font-size:13px;font-weight:600;color:var(--brand)}
.lu-newsroom-shell__brand{display:flex;align-items:center;gap:18px}
.lu-newsroom-shell__brand .lu-logo,.lu-newsroom-shell__brand .custom-logo-link{display:flex;max-width:190px}
.lu-newsroom-shell__brand .custom-logo{max-height:42px;width:auto}
.lu-newsroom-shell__brand>span{border-left:1px solid var(--line);padding-left:18px;color:var(--ink-mute);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.lu-newsroom-shell{width:min(1120px,calc(100% - 32px));margin:32px auto 56px}
.lu-newsroom-login{max-width:420px;margin:8vh auto 0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;box-shadow:0 12px 35px rgba(14,54,39,.08)}
.lu-newsroom{max-width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;padding:clamp(20px,4vw,38px);box-shadow:0 12px 35px rgba(14,54,39,.06)}
.lu-newsroom__role{display:inline-block;margin-top:4px;color:var(--brand);font-size:12px;font-weight:700}
.lu-newsroom-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin-bottom:42px;padding-bottom:36px;border-bottom:1px solid var(--line)}
.lu-newsroom-form label:nth-of-type(3),.lu-newsroom-form label:nth-of-type(4),.lu-newsroom-form label:nth-of-type(5),.lu-newsroom-actions{grid-column:1/-1}
.lu-newsroom-form input:focus,.lu-newsroom-form select:focus,.lu-newsroom-form textarea:focus{outline:3px solid rgba(0,98,65,.18);border-color:var(--brand)}
.lu-newsroom-actions{justify-content:flex-end}
.lu-newsroom-search{display:flex;gap:8px;margin:0 0 14px}
.lu-newsroom-search input{min-width:0;flex:1;padding:9px 11px;border:1px solid var(--line);border-radius:4px}
.lu-newsroom-search button{padding:9px 16px;border:0;border-radius:4px;background:var(--ink);color:#fff;font-weight:600}
.lu-newsroom-pagination{display:flex;gap:8px;justify-content:center;margin-top:20px}
.lu-newsroom-pagination .page-numbers{padding:6px 10px;border:1px solid var(--line);border-radius:4px;background:#fff}
.lu-newsroom-pagination .current{background:var(--brand);border-color:var(--brand);color:#fff}

@media (max-width:480px){
  .lu-newsroom-shell{width:min(100% - 20px,1120px);margin-top:12px}
  .lu-newsroom-shell__bar{padding:8px 12px}
  .lu-newsroom-shell__brand>span{display:none}
  .lu-newsroom{padding:16px}
  .lu-newsroom__header{align-items:flex-start}
  .lu-newsroom-form{grid-template-columns:1fr}
  .lu-newsroom-form label,.lu-newsroom-actions{grid-column:1}
  .lu-newsroom-actions{flex-direction:column-reverse}
  .lu-newsroom-actions button{width:100%}
  .lu-newsroom-list thead{display:none}
  .lu-newsroom-list,.lu-newsroom-list tbody,.lu-newsroom-list tr,.lu-newsroom-list td{display:block;width:100%}
  .lu-newsroom-list tr{padding:12px 0;border-bottom:1px solid var(--line)}
  .lu-newsroom-list td{padding:4px 0;border:0}
}
