/*
Theme Name:   El Rufino
Theme URI:    https://elrufino.ar
Description:  Tema hijo para El Rufino — medio digital local de Rufino, Santa Fe, Argentina.
Author:       El Rufino
Author URI:   https://elrufino.ar
Template:     newsup
Version:      2.3.4
Text Domain:  el-rufino-theme
Tags:         news, blog, custom-colors, custom-logo, featured-images, responsive-layout
*/

/* Google Fonts — Playfair Display + Source Serif 4 */

/* ============================================================
   TOKENS — Design System v1.1
   ============================================================ */
:root {
  --er-rojo-500: #c0271b;
  --er-rojo-700: #aa211a;
  --er-rojo-800: #9a1c15;
  --er-rojo-200: #e8908b;
  --er-rojo-50:  #fdf0ef;
  --er-negro:    #1a1a1a;
  --er-blanco:   #ffffff;
  --er-crema-200:#f5f0e8;
  --er-crema-300:#f0ede8;
  --er-crema-500:#e8e0d0;
  --er-gris:     #6b6b6b;
  --er-gris-ui:  #e8e8e8;

  --er-p01: #c0271b;
  --er-p02: #4a7c59;
  --er-p03: #2d5f8a;
  --er-p04: #7b4fa6;
  --er-p05: #1a1a1a;
  --er-p06: #c8600a;

  --er-p01-bg: #fdf0ef;
  --er-p02-bg: #eef4f0;
  --er-p03-bg: #eaf1f7;
  --er-p04-bg: #f4eefb;
  --er-p05-bg: #f2f2f2;
  --er-p06-bg: #fdf0e6;

  --er-verde:        #2a7a2a;
  --er-verde-bg:     #e8f4e8;
  --er-verde-border: #a8d4a8;
  --er-ambar:        #c07800;
  --er-ambar-bg:     #fef3e2;
  --er-ambar-border: #f5c842;

  --er-brand-primary:  #c0271b;
  --er-brand-hover:    #aa211a;
  --er-brand-disabled: #e8908b;
  --er-bg-base:        #f5f0e8;
  --er-bg-surface:     #ffffff;
  --er-bg-subtle:      #f0ede8;
  --er-bg-header:      #f5f0e8;
  --er-bg-topbar:      #ece7df;
  --er-bg-nav:         #1a1a1a;
  --er-bg-ticker:      #1a1a1a;
  --er-bg-footer:      #1a1a1a;
  --er-text-primary:   #1a1a1a;
  --er-text-secondary: #6b6b6b;
  --er-border-default: #ddd8d0;
  --er-border-brand:   #c0271b;

  --er-font-titulo: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --er-font-cuerpo: 'Source Serif 4', Georgia, serif;
  --er-font-ui:     'Source Serif 4', Georgia, serif;

  --er-space-1: 4px;  --er-space-2: 8px;   --er-space-3: 12px;
  --er-space-4: 16px; --er-space-5: 20px;  --er-space-6: 24px;
  --er-space-8: 32px; --er-space-10: 40px; --er-space-12: 48px;

  --er-radius-none: 0;
  --er-radius-sm:   2px;
  --er-radius-md:   4px;

  --er-shadow-sm: 0 1px 4px rgba(26,26,26,.06);
  --er-shadow-md: 0 4px 16px rgba(26,26,26,.10);

  --er-container-max: 1200px;
  --er-sidebar-width: 300px;
}

/* ============================================================
   RESET
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--er-font-cuerpo);
  font-size: 16px;
  line-height: 1.75;
  color: var(--er-text-primary);
  background: var(--er-bg-base);
}

/* ============================================================
   PATCH — Ocultar Newsup, mostrar DS
   ============================================================ */
.mg-nav-widget-area-back,
.mg-menu-full,
.site-branding,
.navbar-header,
.site-logo,
.site-branding-text { display: none !important; }

.er-topbar    { display: flex !important;  background: #ece7df !important; }
.er-masthead  { display: flex !important;  background: #f5f0e8 !important; }
.er-nav       { display: flex !important;  background: #1a1a1a !important; }
.er-nav-divider { display: block !important; height: 2px !important; background: #c0271b !important; }
.er-ticker    { display: flex !important;  background: #1a1a1a !important; }
.er-ticker-track { display: block !important; }

/* ============================================================
   TOPBAR
   ============================================================ */
.er-topbar {
  padding: 5px 20px;
  font-family: var(--er-font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--er-gris);
  justify-content: space-between;
  align-items: center;
}
.er-topbar-loc { opacity: .6; }

/* ============================================================
   MASTHEAD — crema
   ============================================================ */
.er-masthead {
  padding: 16px 20px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 3px solid var(--er-brand-primary);
}

.er-masthead-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.er-logo-r {
  width: 64px;
  height: 64px;
  background: var(--er-brand-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.er-logo-r span {
  font-family: var(--er-font-titulo);
  font-size: 40px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.er-logo-texto {
  display: flex;
  flex-direction: column;
}

.er-logo-nombre {
  font-family: var(--er-font-titulo);
  font-size: 36px;
  font-weight: 700;
  color: var(--er-negro);
  line-height: 1;
}

.er-logo-claim {
  font-family: var(--er-font-ui);
  font-size: 9px;
  font-weight: 300;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--er-brand-primary);
  margin-top: 4px;
}

/* ============================================================
   NAVEGACIÓN
   ============================================================ */
.er-nav {
  flex-wrap: wrap;
}

.er-nav a,
.main-navigation ul li a,
#site-navigation ul li a {
  font-family: var(--er-font-ui) !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(245,240,232,.65) !important;
  padding: 18px 14px !important;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
  text-decoration: none !important;
}

.er-nav a:hover,
.er-nav a.active,
.main-navigation ul li a:hover,
#site-navigation ul li a:hover {
  color: #fff !important;
  border-bottom-color: var(--er-brand-primary) !important;
  background: transparent !important;
}

/* ============================================================
   TICKER
   ============================================================ */
.er-ticker {
  align-items: center;
  height: 34px;
  overflow: hidden;
}

.er-ticker-label {
  background: var(--er-brand-primary);
  color: #fff;
  font-family: var(--er-font-ui);
  font-size: 9.5px;
  font-weight: 300;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 0 14px;
  height: 100%;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  white-space: nowrap;
}

.er-ticker-track { overflow: hidden; flex: 1; min-width: 0; }

.er-ticker-inner {
  display: flex;
  align-items: center;
  animation: er-ticker-scroll 35s linear infinite;
  white-space: nowrap;
}

.er-ticker-item {
  font-family: var(--er-font-ui);
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,.85);
  padding: 0 8px;
  white-space: nowrap;
}

.er-ticker-dot {
  display: inline-block;
  width: 4px; height: 4px;
  background: rgba(255,255,255,.4);
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
}

@keyframes er-ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============================================================
   TIPOGRAFÍA
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--er-font-titulo);
  line-height: 1.2;
  color: var(--er-text-primary);
}

.entry-title, .post-title {
  font-family: var(--er-font-titulo);
  font-weight: 700;
}

.entry-title a { color: var(--er-text-primary) !important; text-decoration: none !important; }
.entry-title a:hover { color: var(--er-brand-primary) !important; }

.entry-content, .post-excerpt {
  font-family: var(--er-font-cuerpo);
  font-size: 17px;
  line-height: 1.75;
  color: #2a2a2a;
}

/* ============================================================
   CARDS
   ============================================================ */
.post, article.post {
  background: var(--er-bg-surface);
  border-top: 3px solid var(--er-brand-primary);
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-bottom: none;
  margin-bottom: 20px;
  transition: box-shadow .2s;
}
.post:hover { box-shadow: var(--er-shadow-md); }

/* ============================================================
   LABELS DE CATEGORÍA
   ============================================================ */
.cat-links a,
.category-label,
.entry-meta .cat-links a {
  background: var(--er-brand-primary) !important;
  color: #fff !important;
  padding: 2px 10px !important;
  border-radius: var(--er-radius-sm) !important;
  font-family: var(--er-font-ui) !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
  text-decoration: none !important;
}

/* ============================================================
   BADGES DE ESTADO
   ============================================================ */
.er-p05-estado {
  display: inline-block;
  padding: 3px 8px;
  border-radius: var(--er-radius-sm);
  font-family: var(--er-font-ui);
  font-size: 9px;
  font-weight: 300;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.es-pendiente   { background: var(--er-bg-subtle);  color: var(--er-gris);     border: 1px solid var(--er-border-default); }
.es-cumplida    { background: var(--er-verde-bg);    color: var(--er-verde);    border: 1px solid var(--er-verde-border); }
.es-incumplida  { background: var(--er-rojo-50);     color: var(--er-rojo-500); border: 1px solid var(--er-rojo-200); }
.es-en-curso    { background: var(--er-ambar-bg);    color: var(--er-ambar);    border: 1px solid var(--er-ambar-border); }
.es-seguimiento { background: var(--er-bg-subtle);  color: var(--er-gris);     border: 1px solid var(--er-border-default); }

/* ============================================================
   BLOCKQUOTE
   ============================================================ */
blockquote {
  border-left: 4px solid var(--er-brand-primary);
  border-radius: 0;
  margin: 24px 0;
  padding: 12px 20px;
  background: var(--er-crema-200);
  font-style: italic;
  color: var(--er-text-primary);
}

/* ============================================================
   WHATSAPP
   ============================================================ */
.er-wa-banner {
  background: var(--er-negro);
  color: #fff;
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 20px 0;
}
.er-wa-texto {
  font-family: var(--er-font-cuerpo);
  font-size: 15px;
  font-weight: 300;
  color: rgba(255,255,255,.85);
}
.er-btn-wa {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--er-brand-primary);
  color: #fff !important;
  padding: 10px 20px;
  border-radius: var(--er-radius-sm);
  font-family: var(--er-font-ui);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background .15s;
}
.er-btn-wa:hover { background: var(--er-brand-hover) !important; }

/* ============================================================
   LINKS
   ============================================================ */
a { color: var(--er-brand-primary); }
a:hover { color: var(--er-brand-hover); }

/* ============================================================
   SIDEBAR
   ============================================================ */
.widget-title {
  font-family: var(--er-font-ui);
  font-size: 11px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--er-text-primary);
  border-bottom: 2px solid var(--er-brand-primary);
  padding-bottom: 8px;
  margin-bottom: 12px;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer,
footer.site-footer {
  background: var(--er-bg-footer) !important;
  color: rgba(245,240,232,.8) !important;
  padding: 40px 0 20px !important;
  border-top: 3px solid var(--er-brand-primary);
}
.site-footer .widget-title { color: #fff !important; font-family: var(--er-font-titulo); }
.site-footer a { color: rgba(245,240,232,.7) !important; }
.site-footer a:hover { color: #fff !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  .er-logo-nombre { font-size: 28px; }
  .er-logo-r { width: 48px; height: 48px; }
  .er-logo-r span { font-size: 30px; }
}

@media (max-width: 600px) {
  .er-masthead { padding: 12px 16px; }
  .er-logo-claim { display: none; }
  .entry-content { font-size: 16px; }
  body { font-size: 15px; }
}
/* Ocultar nav vertical de Newsup */
.mg-menu-full .collapse,
.mg-menu-full .navbar-collapse,
#navbar-wp { display: none !important; }
/* Ocultar nav móvil vertical de Newsup */
.mg-menu-full { display: none !important; }
div.mg-menu-full,
header .mg-menu-full,
.mg-headwidget .mg-menu-full { display: none !important; }
/* Nav horizontal forzado */
.er-nav ul,
.er-nav .er-nav-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.er-nav ul li {
  display: block !important;
}
.er-nav-divider { 
  display: block !important; 
  height: 2px !important; 
  background: #c0271b !important; 
}
/* ============================================================
   SINGLE — Nota individual v2.1.0
   ============================================================ */

body .er-single-wrap { max-width: 1200px; margin: 0 auto; padding: 24px 40px; }
.er-single-main { max-width: 720px; margin: 0 auto; padding: 0 40px !important; }

/* Categoría badge */
.er-article-cat { margin-bottom: 14px; }
.er-cat-badge {
  display: inline-block;
  color: #fff;
  font-family: var(--er-font-ui);
  font-size: 9px;
  font-weight: 300;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 2px;
  text-decoration: none;
}

/* Título */
.er-article-title {
  font-family: var(--er-font-titulo);
  font-size: clamp(24px, 4vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--er-negro);
  margin-bottom: 16px;
}

/* Meta */
.er-article-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-family: var(--er-font-ui);
  font-size: 12px;
  color: var(--er-gris);
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--er-border-default);
}
.er-meta-autor { display: flex; align-items: center; gap: 8px; }
.er-meta-autor a { color: var(--er-negro); text-decoration: none; font-weight: 600; }
.er-autor-avatar { border-radius: 50%; width: 28px; height: 28px; }
.er-meta-sep { opacity: .35; }

/* Controles de lectura */
.er-read-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.er-btn-font {
  background: var(--er-bg-subtle);
  border: 1px solid var(--er-border-default);
  color: var(--er-negro);
  font-family: var(--er-font-ui);
  font-size: 11px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 2px;
  cursor: pointer;
  transition: background .15s;
}
.er-btn-font:hover { background: var(--er-gris-ui); }

.er-btn-tts {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--er-negro);
  color: #fff;
  border: none;
  font-family: var(--er-font-ui);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: .06em;
  padding: 5px 12px;
  border-radius: 2px;
  cursor: pointer;
  transition: background .15s;
}
.er-btn-tts:hover { background: var(--er-gris-900); }
.er-btn-tts.er-tts-playing { background: var(--er-brand-primary); }

/* Share inline */
.er-share-inline { display: flex; gap: 6px; margin-left: auto; }
.er-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: 2px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
  font-family: var(--er-font-ui);
}
.er-share-fb { background: #1877f2; }
.er-share-x  { background: #000; font-size: 13px; }
.er-share-wa { background: #25d366; }
.er-share-tg { background: #229ed9; }

/* Figura + pie de foto */
.er-article-figure { margin: 0 0 28px; }
.er-article-img { width: 100%; height: auto; display: block; }
.er-figcaption {
  font-family: var(--er-font-ui);
  font-size: 11px;
  font-weight: 300;
  color: var(--er-gris);
  padding: 8px 0 0;
  border-top: 1px solid var(--er-border-default);
  margin-top: 6px;
}
.er-fuente { opacity: .7; }

/* Cuerpo */
.er-article-body {
  font-family: var(--er-font-cuerpo);
  font-size: 17px;
  line-height: 1.8;
  color: #2a2a2a;
}
.er-article-body p { margin-bottom: 1.4em; }

/* LO QUE SIGNIFICA — separador visual (solo dentro del shortcode) */
.er-lo-que-significa > strong:first-child,
.er-lo-que-significa > b:first-child {
  display: block;
  font-family: var(--er-font-ui);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--er-brand-primary);
  margin-bottom: 6px;
}
.er-lo-que-significa {
  border-left: 3px solid var(--er-brand-primary);
  background: var(--er-rojo-50);
  padding: 16px 20px;
  margin: 28px 0;
  border-radius: 0 2px 2px 0;
}
.er-lo-que-significa strong {
  font-family: var(--er-font-ui);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--er-brand-primary);
  display: block;
  margin-bottom: 8px;
}

/* Tags */
.er-article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 24px 0;
  padding-top: 20px;
  border-top: 1px solid var(--er-border-default);
}
.er-tag {
  background: var(--er-bg-subtle);
  color: var(--er-gris);
  font-family: var(--er-font-ui);
  font-size: 11px;
  font-weight: 300;
  padding: 4px 10px;
  border-radius: 2px;
  text-decoration: none;
  border: 1px solid var(--er-border-default);
  transition: background .15s;
}
.er-tag:hover { background: var(--er-gris-ui); color: var(--er-negro); }

/* Notas relacionadas */
.er-related { margin: 32px 0; padding-top: 24px; border-top: 2px solid var(--er-negro); }
.er-related-title {
  font-family: var(--er-font-ui);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--er-negro);
  margin-bottom: 16px;
}
.er-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.er-related-card {
  text-decoration: none;
  color: var(--er-negro);
  background: var(--er-bg-surface);
  border-top: 3px solid var(--er-negro);
  padding: 12px;
  display: block;
  transition: box-shadow .2s;
}
.er-related-card:hover { box-shadow: var(--er-shadow-md); }
.er-related-img { width: 100%; height: 80px; object-fit: cover; display: block; margin-bottom: 8px; }
.er-related-card-title {
  font-family: var(--er-font-titulo);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

/* Facebook Comments */
.er-comments { margin: 32px 0; padding-top: 24px; border-top: 2px solid var(--er-negro); }
.er-comments-title {
  font-family: var(--er-font-ui);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--er-negro);
  margin-bottom: 16px;
}

/* Responsive single */
@media (max-width: 600px) {
  body .er-single-wrap { padding: 16px 24px; }
  .er-single-main { padding: 0 24px !important; }
  .er-related-grid { grid-template-columns: 1fr; }
  .er-share-inline { margin-left: 0; }
  .er-read-controls { gap: 6px; }
}

/* ============================================================
   PARCHE v2.1.1 — formato, inglés, alineación
   ============================================================ */

/* Forzar alineación izquierda en cuerpo de nota */
.entry-content,
.post-content,
.er-article-body {
  text-align: left !important;
}

/* "You missed" — ocultar o traducir via CSS content */
.you-missed-section,
.mg-you-missed,
[class*="you-missed"] { display: none !important; }

/* Fecha portada — ocultar formato Newsup, mostrar solo si hay filtro */
.post-date, .entry-date { text-transform: lowercase !important; }

/* ============================================================
   PARCHE v2.1.2 — You missed + fecha portada
   ============================================================ */

/* Ocultar sección "You missed" de Newsup */
.missed-section,
.container-fluid.missed-section,
.mg-posts-sec-inner.missed-section { display: none !important; }

/* ============================================================
   PARCHE v2.1.3 — fecha portada uppercase → normal
   ============================================================ */
.mg-blog-date,
.mg-blog-date a,
span.mg-blog-date { text-transform: none !important; }

/* ============================================================
   HOME.PHP — Layout portada v1.0.0
   ============================================================ */

.er-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.er-page-layout { display: grid; grid-template-columns: 1fr 300px; gap: 32px; padding: 28px 0; }
.er-main { min-width: 0; }

/* Héroe */
.er-hero { background: #fff; border-top: 3px solid #c0271b; margin-bottom: 32px; display: grid; grid-template-columns: 3fr 2fr; min-height: 360px; overflow: hidden; }
.er-hero-img { background: var(--er-crema-500); display: flex; align-items: center; justify-content: center; position: relative; min-height: 280px; overflow: hidden; }
.er-hero-img-src { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.er-hero-img-placeholder { font-family: var(--er-font-titulo); font-size: 28px; font-weight: 900; color: #fff; background: var(--er-brand-primary); width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.er-hero-body { padding: 28px; display: flex; flex-direction: column; justify-content: center; gap: 0; }
.er-hero-badges { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.er-badge-pilar { display: inline-flex; align-items: center; font-family: var(--er-font-ui); font-size: 9px; font-weight: 300; letter-spacing: .14em; text-transform: uppercase; padding: 4px 10px; border-radius: 2px; }
.er-hero-titulo { font-family: var(--er-font-titulo); font-size: clamp(20px, 2.5vw, 34px); font-weight: 900; line-height: 1.15; color: var(--er-negro); letter-spacing: -.02em; margin-bottom: 12px; }
.er-hero-titulo a { color: inherit; text-decoration: none; }
.er-hero-titulo a:hover { color: var(--er-brand-primary); }
.er-hero-bajada { font-family: var(--er-font-titulo); font-size: clamp(13px, 1.3vw, 16px); font-style: italic; font-weight: 400; line-height: 1.5; color: #4a4a4a; margin-bottom: 16px; }
.er-hero-meta { font-family: var(--er-font-ui); font-size: 11px; font-weight: 300; letter-spacing: .04em; color: var(--er-gris); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.er-meta-sep { width: 3px; height: 3px; border-radius: 50%; background: #ccc; display: inline-block; }
.er-hero-cta { margin-top: 16px; }
.er-btn-leer { display: inline-flex; align-items: center; gap: 6px; background: var(--er-brand-primary); color: #fff; font-family: var(--er-font-ui); font-size: 10.5px; font-weight: 300; letter-spacing: .1em; text-transform: uppercase; padding: 9px 18px; border-radius: 2px; text-decoration: none; transition: background .2s; }
.er-btn-leer:hover { background: var(--er-brand-hover); color: #fff; }

/* Pilar sección */
.er-pilar-seccion { margin-bottom: 32px; }
.er-pilar-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid #e8e8e8; }
.er-pilar-header-nombre { font-family: var(--er-font-ui); font-size: 10px; font-weight: 300; letter-spacing: .2em; text-transform: uppercase; }
.er-pilar-header-link { font-family: var(--er-font-ui); font-size: 10px; font-weight: 300; letter-spacing: .1em; text-transform: uppercase; color: var(--er-brand-primary); text-decoration: none; white-space: nowrap; }
.er-pilar-sep { height: 1px; background: #e8e8e8; margin-bottom: 32px; }

/* Grid featured + compactas */
.er-pilar-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; }
.er-card-featured { background: #fff; overflow: hidden; transition: box-shadow .2s; border-left: none; border-right: none; border-bottom: none; }
.er-card-featured:hover { box-shadow: var(--er-shadow-md); }
.er-card-featured-img { aspect-ratio: 16/9; background: var(--er-crema-500); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.er-card-featured-img-src { width: 100%; height: 100%; object-fit: cover; }
.er-card-img-ph { font-family: var(--er-font-titulo); font-size: 12px; font-style: italic; color: #aaa; }
.er-card-featured-body { padding: 16px; }
.er-card-overline { font-family: var(--er-font-ui); font-size: 9.5px; font-weight: 300; letter-spacing: .16em; text-transform: uppercase; display: block; margin-bottom: 8px; text-decoration: none; }
.er-card-titulo { font-family: var(--er-font-titulo); font-size: clamp(16px, 1.8vw, 22px); font-weight: 700; line-height: 1.25; color: var(--er-negro); text-decoration: none; display: block; margin-bottom: 8px; transition: color .15s; }
.er-card-titulo:hover { color: var(--er-brand-primary); }
.er-card-bajada { font-family: var(--er-font-cuerpo); font-size: 13px; line-height: 1.65; color: #555; margin-bottom: 12px; }
.er-card-meta { font-family: var(--er-font-ui); font-size: 10.5px; font-weight: 300; color: var(--er-gris-300); letter-spacing: .04em; display: flex; gap: 6px; align-items: center; }

/* Compactas stack */
.er-compactas-stack { display: flex; flex-direction: column; gap: 0; }
.er-card-compact { background: #fff; padding: 14px; flex: 1; transition: box-shadow .2s; border-left: none; border-right: none; border-bottom: none; }
.er-card-compact:hover { box-shadow: 0 2px 8px rgba(26,26,26,.08); }
.er-card-compact-titulo { font-family: var(--er-font-titulo); font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--er-negro); text-decoration: none; display: block; margin-bottom: 8px; transition: color .15s; }
.er-card-compact-titulo:hover { color: var(--er-brand-primary); }

/* Grid 3 (P03) */
.er-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

/* WA banner */
.er-wa-banner { background: var(--er-negro); padding: 32px 40px; margin-bottom: 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.er-wa-texto { font-family: var(--er-font-titulo); font-size: 20px; font-weight: 700; color: #fff; line-height: 1.3; }
.er-wa-sub { font-family: var(--er-font-ui); font-size: 12px; font-weight: 300; color: #888; margin-top: 6px; }
.er-wa-btn { background: var(--er-brand-primary); color: #fff; font-family: var(--er-font-ui); font-size: 11px; font-weight: 300; letter-spacing: .12em; text-transform: uppercase; padding: 13px 28px; border-radius: 2px; text-decoration: none; white-space: nowrap; transition: background .2s; }
.er-wa-btn:hover { background: var(--er-brand-hover); color: #fff; }

/* Fotos P04 */
.er-grid-fotos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.er-card-foto { background: #fff; border-top: 3px solid #7b4fa6; overflow: hidden; transition: box-shadow .2s; }
.er-card-foto:hover { box-shadow: var(--er-shadow-md); }
.er-card-foto-img { aspect-ratio: 4/3; background: var(--er-crema-500); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.er-card-foto-body { padding: 12px; }

/* P05 lista */
.er-p05-lista { background: #fff; border-top: 3px solid var(--er-negro); }
.er-p05-item { display: flex; align-items: baseline; gap: 16px; padding: 14px 16px; border-bottom: 1px solid #e8e0d0; transition: background .15s; }
.er-p05-item:last-child { border-bottom: none; }
.er-p05-item:hover { background: #faf8f4; }
.er-p05-fecha { font-family: var(--er-font-ui); font-size: 10px; font-weight: 300; letter-spacing: .1em; text-transform: uppercase; color: var(--er-gris-300); white-space: nowrap; min-width: 60px; }
.er-p05-titulo { font-family: var(--er-font-titulo); font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--er-negro); text-decoration: none; flex: 1; transition: color .15s; }
.er-p05-titulo:hover { color: var(--er-brand-primary); }

/* P06 datos */
.er-grid-datos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.er-card-dato { background: #fff; border-top: 3px solid #c8600a; padding: 24px 20px; transition: box-shadow .2s; }
.er-card-dato:hover { box-shadow: var(--er-shadow-md); }
.er-dato-num { font-family: var(--er-font-titulo); font-size: 52px; font-weight: 900; color: #c8600a; line-height: 1; margin-bottom: 8px; letter-spacing: -.02em; }
.er-dato-label { font-family: var(--er-font-ui); font-size: 10px; font-weight: 300; letter-spacing: .18em; text-transform: uppercase; color: var(--er-gris); margin-bottom: 6px; }
.er-dato-titulo { font-family: var(--er-font-titulo); font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--er-negro); text-decoration: none; display: block; margin-bottom: 6px; transition: color .15s; }
.er-dato-titulo:hover { color: var(--er-brand-primary); }
.er-dato-contexto { font-family: var(--er-font-cuerpo); font-size: 13px; font-weight: 300; line-height: 1.65; color: #555; }

/* Sidebar */
.er-sidebar { }
.er-widget { background: #fff; border-top: 3px solid var(--er-negro); padding: 18px; margin-bottom: 20px; }
.er-widget-rojo { border-top-color: var(--er-brand-primary) !important; }
.er-widget-wa { background: var(--er-negro) !important; border-top-color: var(--er-brand-primary) !important; }
.er-widget-wa .er-widget-title { color: #f5f0e8 !important; border-bottom-color: rgba(245,240,232,.12) !important; }
.er-widget-wa-desc { font-family: var(--er-font-ui); font-size: 13px; font-weight: 300; color: #888; line-height: 1.6; margin-bottom: 14px; }
.er-widget-wa-btn { display: block; background: var(--er-brand-primary); color: #fff; font-family: var(--er-font-ui); font-size: 11px; font-weight: 300; letter-spacing: .1em; text-transform: uppercase; padding: 10px 16px; text-align: center; text-decoration: none; border-radius: 2px; }
.er-widget-wa-btn:hover { background: var(--er-brand-hover); color: #fff; }

/* Última hora */
.er-hora-list { list-style: none; }
.er-hora-item { padding: 9px 0; border-bottom: 1px solid #e8e0d0; display: flex; gap: 10px; align-items: baseline; }
.er-hora-item:last-child { border-bottom: none; padding-bottom: 0; }
.er-hora-time { font-family: var(--er-font-ui); font-size: 10px; font-weight: 300; letter-spacing: .08em; color: var(--er-brand-primary); white-space: nowrap; flex-shrink: 0; }
.er-hora-titulo { font-family: var(--er-font-titulo); font-size: 13.5px; font-weight: 700; line-height: 1.3; color: var(--er-negro); text-decoration: none; transition: color .15s; }
.er-hora-titulo:hover { color: var(--er-brand-primary); }

/* Lo más leído */
.er-leido-list { list-style: none; }
.er-leido-item { display: flex; gap: 10px; align-items: baseline; padding: 9px 0; border-bottom: 1px solid #e8e0d0; }
.er-leido-item:last-child { border-bottom: none; padding-bottom: 0; }
.er-leido-num { font-family: var(--er-font-titulo); font-size: 20px; font-weight: 900; color: var(--er-brand-primary); opacity: .2; line-height: 1; min-width: 22px; flex-shrink: 0; }
.er-leido-titulo { font-family: var(--er-font-titulo); font-size: 13.5px; font-weight: 700; line-height: 1.3; color: var(--er-negro); text-decoration: none; transition: color .15s; }
.er-leido-titulo:hover { color: var(--er-brand-primary); }

/* Pilares sidebar */
.er-pilar-link { display: flex; align-items: center; gap: 8px; text-decoration: none; padding: 7px 0; border-bottom: 1px solid #e8e0d0; }
.er-pilar-link:last-child { border-bottom: none; }
.er-pilar-dot { width: 8px; height: 8px; border-radius: 1px; flex-shrink: 0; }
.er-pilar-name { font-family: var(--er-font-cuerpo); font-size: 12px; font-weight: 400; color: var(--er-negro); }
.er-pilar-code { font-family: var(--er-font-ui); font-size: 9px; font-weight: 300; letter-spacing: .14em; text-transform: uppercase; color: var(--er-gris-300); margin-left: auto; }

/* Responsive home */
@media (max-width: 1000px) {
  .er-page-layout { grid-template-columns: 1fr; }
  .er-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (max-width: 700px) {
  .er-hero { grid-template-columns: 1fr; }
  .er-hero-img { min-height: 200px; }
  .er-pilar-grid { grid-template-columns: 1fr; }
  .er-grid-3, .er-grid-fotos, .er-grid-datos { grid-template-columns: 1fr; }
  .er-wa-banner { flex-direction: column; align-items: flex-start; padding: 24px 20px; }
  .er-sidebar { grid-template-columns: 1fr; }
  .er-p05-estado { display: none; }
}


/* ============================================================
   PARCHE v2.2.2 — Ocultar loop Newsup debajo del home.php
   ============================================================ */

/* El loop de Newsup se inyecta en .mg-home-wrapper o como widget block */
body.home .mg-home-wrapper,
body.home .widget_block.widget_recent_entries,
body.home #block-2,
body.home .wp-block-latest-posts { display: none !important; }

/* Fondo negro de Newsup en portada */
body.home .site-content,
body.home #content,
body.home #primary,
body.home #main { background: var(--er-bg-base) !important; color: var(--er-negro) !important; }

/* ============================================================
   FOOTER — El Rufino v1.0.0
   ============================================================ */
.er-footer {
  background: var(--er-negro);
  color: var(--er-crema-200);
  border-top: 3px solid var(--er-brand-primary);
  padding: 36px 20px 20px;
  margin-top: 40px;
}
.er-footer-inner { max-width: 1200px; margin: 0 auto; }
.er-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 32px;
  margin-bottom: 28px;
}
.er-footer-logo-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.er-footer-logo-r {
  width: 36px; height: 36px;
  background: var(--er-brand-primary);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.er-footer-logo-r span {
  font-family: var(--er-font-titulo);
  font-size: 22px; font-weight: 900; color: #fff; line-height: 1;
}
.er-footer-logo-name {
  font-family: var(--er-font-titulo);
  font-size: 22px; font-weight: 900; color: #fff;
}
.er-footer-claim {
  font-family: var(--er-font-cuerpo);
  font-style: italic; font-size: 12px;
  color: var(--er-crema-200); opacity: .55; margin-bottom: 10px;
}
.er-footer-desc {
  font-family: var(--er-font-ui);
  font-size: 12px; font-weight: 300; color: #777; line-height: 1.65;
}
.er-footer-col-title {
  font-family: var(--er-font-ui);
  font-size: 9.5px; font-weight: 300; letter-spacing: .18em;
  text-transform: uppercase; color: var(--er-crema-200); opacity: .4;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(245,240,232,.08);
  margin-bottom: 12px;
}
.er-footer-links { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.er-footer-links a {
  font-family: var(--er-font-ui);
  font-size: 12.5px; font-weight: 300;
  color: var(--er-crema-200); opacity: .65;
  text-decoration: none; transition: opacity .15s;
}
.er-footer-links a:hover { opacity: 1; color: var(--er-crema-200); }
.er-footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 16px;
  border-top: 1px solid rgba(245,240,232,.08);
  font-family: var(--er-font-ui); font-size: 10.5px;
  font-weight: 300; color: #555;
}

@media (max-width: 900px) {
  .er-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .er-footer-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   PARCHE v2.3.1 — Ocultar footer Newsup completamente
   ============================================================ */
.site-footer,
footer.site-footer,
#colophon { display: none !important; }

/* ============================================================
   PARCHE v2.3.4 — Márgenes single + fix selector bold + fix overflow
   ============================================================ */

/*
 * [1] max-width: 720px (era 740px). padding: 0 20px en todos los viewports.
 *     Centrado en desktop, full-width con 20px de padding en mobile.
 *
 * [2] Fix selector strong/b en cuerpo de nota.
 *     El selector anterior `.er-article-body b` era demasiado amplio:
 *     convertía TODO texto en negrita en una etiqueta uppercase con
 *     display:block, rompiendo el flujo del artículo.
 *     Ahora solo aplica dentro de .er-lo-que-significa > :first-child.
 *
 * [3] Mobile <600px: padding lateral explícito de 20px en .er-single-main.
 *     .er-single-wrap queda sin padding lateral para evitar doble margen.
 *
 * [4] Fix texto cortado en margen derecho.
 *     Causa raíz: er-ticker-inner tiene white-space:nowrap (~1600px).
 *     Sin min-width:0 en er-ticker-track (flex item), el flexbox no puede
 *     encoger el track debajo del contenido intrínseco del inner →
 *     er-ticker fuerza el body a ser más ancho que el viewport →
 *     todo el contenido de la página aparece cortado a la derecha.
 *     Fix: min-width:0 en er-ticker-track + overflow-x:clip en html
 *     + max-width:100% en media embebida dentro del artículo.
 */

/* Contener overflow horizontal en toda la página */
html { overflow-x: clip; }

/* Contenido multimedia del artículo no debe desbordar */
.er-article-body img,
.er-article-body iframe,
.er-article-body figure,
.er-article-body table,
.er-article-body video,
.er-article-body pre { max-width: 100%; }
