/* =====================================================================
   RUDAS NEWS — estilos de Entradas (notas periodísticas)
   Todo prefijado con .rn / .is-style-rn-* : no modifica los estilos
   globales del sitio (style.css). Se carga solo en notas y listados.
   ===================================================================== */
:root{
  --rn-red: var(--red, #cc000c);
  --rn-ink: var(--ink, #232324);
  --rn-muted: #5b616a;
  --rn-line: var(--line, #e0e3e8);
  --rn-surface: var(--mist, #f4f5f7);
  --rn-paper: #ffffff;
  --rn-wa: var(--wa, #25d366);
  --rn-wa-dark: var(--wa-dark, #1da851);
  --rn-display: "Mulish", system-ui, sans-serif;
  --rn-body: "Lora", Georgia, "Times New Roman", serif;
  --rn-label: "Space Mono", ui-monospace, monospace;
  --rn-col: 720px;
  --rn-wide: 1000px;
}

.rn{ background: var(--rn-paper); color: var(--rn-ink); overflow-x: clip; }
.rn a{ color: inherit; }
.rn :focus-visible{ outline: 2px solid var(--rn-red); outline-offset: 3px; }

/* ---------- Marca RUDAS NEWS ---------- */
.rn-wordmark{ font-family: var(--rn-display); font-weight: 900; letter-spacing: -.03em; line-height: 1; color: var(--rn-ink); text-decoration: none; margin: 0; }
.rn-wordmark span{ color: var(--rn-red); }
.rn-wordmark--xl{ font-size: clamp(2.6rem, 9vw, 4.6rem); }
.rn-wordmark--sm{ font-size: 1.35rem; display: inline-block; margin-bottom: 18px; }

.rn-mast{ border-bottom: 3px solid var(--rn-red); background: var(--rn-paper); }
.rn-mast__in{ max-width: var(--rn-wide); margin: 0 auto; padding: 14px 20px; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rn-mast .rn-wordmark{ font-size: 1.45rem; }
.rn-mast__tag{ font-family: var(--rn-label); font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; color: var(--rn-muted); }

/* ---------- Nota ---------- */
.rn-article{ padding: 34px 20px 10px; }
.rn-head, .rn-share, .rn-content, .rn-cta-final, .rn-tags, .rn-authorbox{ max-width: var(--rn-col); margin-left: auto; margin-right: auto; }

.rn-crumbs{ font-family: var(--rn-label); font-size: .7rem; color: var(--rn-muted); display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.rn-crumbs a{ text-decoration: none; }
.rn-crumbs a:hover{ color: var(--rn-red); }

.rn-kicker{ font-family: var(--rn-label); font-weight: 700; font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: var(--rn-red); margin: 0 0 14px; }
.rn-kicker a{ text-decoration: none; color: var(--rn-red); }

.rn .rn-title{ font-family: var(--rn-display); font-weight: 900; letter-spacing: -.02em; line-height: 1.08; text-wrap: balance; font-size: clamp(1.9rem, 5.2vw, 3rem); margin: 0 0 18px; color: var(--rn-ink); text-transform: none; }
.rn-standfirst{ font-family: var(--rn-body); font-weight: 500; font-size: clamp(1.1rem, 2.6vw, 1.32rem); line-height: 1.5; margin: 0 0 22px; color: var(--rn-ink); }
.rn-byline{ font-family: var(--rn-label); font-size: .72rem; letter-spacing: .04em; color: var(--rn-muted); display: flex; flex-wrap: wrap; gap: 6px 18px; padding-bottom: 22px; border-bottom: 1px solid var(--rn-line); }
.rn-byline a{ color: var(--rn-ink); font-weight: 700; text-decoration: none; }

.rn-hero{ max-width: var(--rn-wide); margin: 28px auto 0; }
.rn-hero__img{ width: 100%; height: auto; display: block; border-radius: 12px; background: var(--rn-surface); }
.rn-hero figcaption{ max-width: var(--rn-col); margin: 10px auto 0; font-family: var(--rn-label); font-size: .7rem; color: var(--rn-muted); line-height: 1.5; }

/* Compartir */
.rn-share{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 22px; margin-bottom: 8px; }
.rn-share__label{ font-family: var(--rn-label); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--rn-muted); margin-right: 4px; }
.rn-share a, .rn-copy{ font-family: var(--rn-display); font-weight: 700; font-size: .8rem; color: var(--rn-ink); background: var(--rn-paper); border: 1px solid var(--rn-line); border-radius: 999px; padding: 6px 14px; text-decoration: none; cursor: pointer; line-height: 1.3; }
.rn-share a:hover, .rn-copy:hover{ border-color: var(--rn-red); color: var(--rn-red); }

/* ---------- Cuerpo de la nota ---------- */
.rn-content{ padding-top: 18px; font-family: var(--rn-body); font-size: 1.08rem; line-height: 1.72; }
.rn-content > *{ margin-top: 0; margin-bottom: 1.1em; }
.rn-content > p:first-of-type::first-letter{ font-family: var(--rn-display); font-weight: 900; color: var(--rn-red); float: left; font-size: 3.6em; line-height: .8; padding: .08em .12em 0 0; }
.rn-content h2{ font-family: var(--rn-display); font-weight: 800; font-size: 1.45rem; line-height: 1.22; letter-spacing: -.01em; margin: 1.9em 0 .5em; padding-top: 1em; border-top: 1px solid var(--rn-line); color: var(--rn-ink); text-transform: none; }
.rn-content h3{ font-family: var(--rn-display); font-weight: 800; font-size: 1.18rem; margin: 1.5em 0 .4em; color: var(--rn-ink); text-transform: none; }
.rn-content .is-style-rn-antetitulo + h2{ border-top: 0; padding-top: 0; margin-top: .2em; }
.rn-content a:not(.wp-block-button__link){ color: var(--rn-red); text-decoration: underline; text-underline-offset: 3px; }
.rn-content .wp-block-button__link{ font-family: var(--rn-display); font-weight: 900; text-decoration: none; color: #fff; border-radius: 999px; padding: 14px 28px; }
.rn-content ul:not([class*="is-style-rn"]), .rn-content ol{ padding-left: 1.3em; }
.rn-content li{ margin-bottom: .35em; }
.rn-content blockquote, .rn-content .wp-block-quote{ border-left: 4px solid var(--rn-red); margin: 1.6em 0; padding: .2em 0 .2em 1.1em; font-style: italic; font-size: 1.2rem; }
.rn-content .wp-block-pullquote{ border-top: 3px solid var(--rn-red); border-bottom: 3px solid var(--rn-red); padding: 1.4em 0; text-align: center; font-family: var(--rn-display); font-weight: 800; font-size: 1.35rem; }
.rn-content figure{ margin: 1.8em 0; }
.rn-content img{ border-radius: 10px; height: auto; }
.rn-content figcaption, .rn-content .wp-element-caption{ font-family: var(--rn-label); font-size: .7rem; color: var(--rn-muted); margin-top: 8px; text-align: left; }
.rn-content .alignwide{ width: min(var(--rn-wide), calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.rn-content .alignfull{ width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); border-radius: 0; }
.rn-content .alignfull img{ border-radius: 0; }
.rn-content .wp-block-embed iframe{ max-width: 100%; }
.rn-content table{ width: 100%; border-collapse: collapse; font-family: var(--rn-display); font-size: .95rem; }
.rn-content th, .rn-content td{ border-bottom: 1px solid var(--rn-line); padding: 10px 8px; text-align: left; }
.rn-content .wp-block-table{ overflow-x: auto; }

/* CTA automático al final de cada nota */
.rn-cta-final{ margin-top: 34px; background: var(--rn-ink); color: #fff; border-radius: 16px; padding: 28px 24px; text-align: center; }
.rn .rn-cta-final h2{ font-family: var(--rn-display); font-weight: 900; font-size: 1.35rem; color: #fff; margin: 0 0 6px; text-transform: none; }
.rn-cta-final p{ font-family: var(--rn-body); color: rgba(255,255,255,.82); margin: 0 0 18px; }
.rn-wa-btn{ display: inline-block; background: var(--rn-wa); color: #fff !important; font-family: var(--rn-display); font-weight: 900; padding: 14px 28px; border-radius: 999px; text-decoration: none !important; }
.rn-wa-btn:hover{ background: var(--rn-wa-dark); }
.rn-cta-final .rn-cta-final__locs{ font-family: var(--rn-label); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); margin: 14px 0 0; }

.rn-tags{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.rn-tags a{ font-family: var(--rn-label); font-size: .75rem; color: var(--rn-red); border: 1px solid var(--rn-line); border-radius: 999px; padding: 5px 12px; text-decoration: none; }
.rn-tags a:hover{ background: var(--rn-surface); }

.rn-authorbox{ display: flex; gap: 16px; align-items: center; margin-top: 30px; padding: 20px 0 6px; border-top: 3px solid var(--rn-red); }
.rn-authorbox img{ width: 64px; height: 64px; object-fit: contain; border: 1px solid var(--rn-line); border-radius: 12px; background: #fff; flex: none; }
.rn-authorbox p{ margin: 0; }
.rn-authorbox__name{ font-family: var(--rn-display); font-weight: 900; }
.rn-authorbox__bio{ font-family: var(--rn-body); font-size: .92rem; color: var(--rn-muted); line-height: 1.5; }

/* ---------- Relacionadas ---------- */
.rn-related{ background: var(--rn-surface); margin-top: 44px; padding: 44px 0 52px; }
.rn-related__in, .rn-list__in{ max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.rn .rn-section-title{ font-family: var(--rn-display); font-weight: 900; font-size: 1.4rem; margin: 0 0 20px; padding-bottom: 10px; border-bottom: 3px solid var(--rn-red); display: inline-block; text-transform: none; color: var(--rn-ink); }

/* ---------- Tarjetas y grilla ---------- */
.rn-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.rn-card{ display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.rn-card__media{ display: block; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: var(--rn-surface); }
.rn-card__media img{ width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.rn-card:hover .rn-card__media img{ transform: scale(1.04); }
.rn-card__ph{ display: grid; place-items: center; height: 100%; font-family: var(--rn-display); font-weight: 900; color: var(--rn-line); font-size: 1.4rem; }
.rn-card__body{ display: flex; flex-direction: column; gap: 6px; }
.rn-card p{ margin: 0; }
.rn-card__kicker{ font-family: var(--rn-label); font-weight: 700; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--rn-red); }
.rn .rn-card__title{ font-family: var(--rn-display); font-weight: 800; font-size: 1.12rem; line-height: 1.28; margin: 0; text-wrap: balance; text-transform: none; color: var(--rn-ink); }
.rn-card__title a{ text-decoration: none; }
.rn-card__title a:hover{ color: var(--rn-red); }
.rn-card__excerpt{ font-family: var(--rn-body); color: var(--rn-muted); font-size: 1.02rem; line-height: 1.55; }
.rn-card__meta{ font-family: var(--rn-label); font-size: .68rem; color: var(--rn-muted); }

.rn-card--lead{ grid-column: 1 / -1; display: grid; grid-template-columns: 1.35fr 1fr; gap: 28px; align-items: center; padding-bottom: 28px; border-bottom: 1px solid var(--rn-line); }
.rn .rn-card--lead .rn-card__title{ font-size: clamp(1.6rem, 3.4vw, 2.3rem); font-weight: 900; line-height: 1.1; letter-spacing: -.02em; }

/* ---------- Portada / archivo ---------- */
.rn-front__in{ max-width: 1180px; margin: 0 auto; padding: 38px 20px 0; text-align: center; }
.rn-front__tag{ font-family: var(--rn-label); font-size: .7rem; letter-spacing: .26em; text-transform: uppercase; color: var(--rn-muted); margin: 10px 0 0; }
.rn-front__label{ font-family: var(--rn-label); font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--rn-red); margin: 0 0 6px; }
.rn .rn-front__title{ font-family: var(--rn-display); font-weight: 900; font-size: clamp(1.8rem, 5vw, 2.8rem); margin: 0; text-transform: none; color: var(--rn-ink); }
.rn-front__rule{ height: 3px; background: var(--rn-red); margin-top: 20px; }
.rn-front__bar{ display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-family: var(--rn-label); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--rn-muted); padding: 10px 0; border-bottom: 1px solid var(--rn-line); }
.rn-cats{ display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 16px 0 6px; }
.rn-cats a{ font-family: var(--rn-display); font-weight: 700; font-size: .84rem; text-decoration: none; padding: 7px 15px; border-radius: 999px; border: 1px solid var(--rn-line); }
.rn-cats a:hover{ border-color: var(--rn-red); color: var(--rn-red); }
.rn-cats a.is-active{ background: var(--rn-ink); border-color: var(--rn-ink); color: #fff; }
.rn-list__in{ padding-top: 32px; padding-bottom: 60px; }
.rn-empty{ text-align: center; font-family: var(--rn-body); color: var(--rn-muted); padding: 40px 0; }

.rn-pager{ margin-top: 40px; }
.rn-pager .nav-links{ display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.rn-pager .page-numbers{ font-family: var(--rn-display); font-weight: 700; padding: 8px 14px; border: 1px solid var(--rn-line); border-radius: 10px; text-decoration: none; }
.rn-pager .page-numbers.current{ background: var(--rn-red); border-color: var(--rn-red); color: #fff; }
.rn-pager .screen-reader-text{ position: absolute; left: -9999px; }

/* =====================================================================
   ESTILOS DE BLOQUE (también se ven dentro del editor)
   ===================================================================== */
/* Caja destacada */
.is-style-rn-destacado{ background: var(--rn-surface); border: 1px solid var(--rn-line); border-left: 4px solid var(--rn-red); border-radius: 12px; padding: 22px 24px !important; }
.is-style-rn-destacado > :last-child{ margin-bottom: 0; }

/* Caja CTA oscura */
.is-style-rn-cta{ background: var(--rn-ink); color: #fff; border-radius: 16px; padding: 26px 24px !important; text-align: center; }
.is-style-rn-cta h2, .is-style-rn-cta h3{ color: #fff !important; border: 0 !important; padding-top: 0 !important; margin-top: 0 !important; font-family: var(--rn-display); font-weight: 900; }
.is-style-rn-cta p{ color: rgba(255,255,255,.85); }

/* Checks rojos */
ul.is-style-rn-checks, ul.is-style-rn-checks-2col{ list-style: none; padding-left: 0 !important; display: grid; gap: 12px; }
ul.is-style-rn-checks-2col{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; }
.is-style-rn-checks li, .is-style-rn-checks-2col li{ position: relative; padding-left: 30px; margin: 0 !important; font-family: var(--rn-display); font-weight: 800; line-height: 1.35; }
.is-style-rn-checks li::before, .is-style-rn-checks-2col li::before{ content: "✓"; position: absolute; left: 0; top: 0; color: var(--rn-red); font-weight: 900; font-size: 1.05em; }
.is-style-rn-checks li{ font-size: 1.06rem; }
.is-style-rn-checks-2col li{ font-weight: 700; font-size: 1rem; }

/* Pastillas */
ul.is-style-rn-chips{ list-style: none; padding-left: 0 !important; display: flex; flex-wrap: wrap; gap: 9px; }
.is-style-rn-chips li{ margin: 0 !important; font-family: var(--rn-label); font-weight: 700; font-size: .82rem; background: var(--rn-surface); border: 1px solid var(--rn-line); border-radius: 999px; padding: 8px 15px; }
.is-style-rn-chips li::before{ content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--rn-red); margin-right: 9px; vertical-align: middle; }

/* Párrafos */
p.is-style-rn-antetitulo{ font-family: var(--rn-label); font-size: .68rem !important; letter-spacing: .2em; text-transform: uppercase; color: var(--rn-red); margin: 2em 0 0 !important; padding-top: 1.2em; border-top: 1px solid var(--rn-line); }
p.is-style-rn-cierre{ font-family: var(--rn-display); font-weight: 900; font-size: 1.16rem; line-height: 1.38; text-wrap: balance; }
.is-style-rn-destacado p.is-style-rn-cierre{ font-family: var(--rn-body); font-style: italic; font-weight: 500; font-size: 1.02rem; color: var(--rn-muted); margin-top: 14px; }
p.is-style-rn-letra-chica{ font-family: var(--rn-label); font-size: .7rem !important; line-height: 1.5; color: var(--rn-muted); padding-top: 14px; border-top: 1px solid var(--rn-line); }

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  .rn-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rn-card--lead{ grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 600px){
  .rn-grid{ grid-template-columns: 1fr; }
  ul.is-style-rn-checks-2col{ grid-template-columns: 1fr; }
  .rn-article{ padding-top: 24px; }
  .rn-hero{ margin-left: -20px; margin-right: -20px; }
  .rn-hero__img{ border-radius: 0; }
  .rn-hero figcaption{ padding: 0 20px; }
  .rn-mast__tag{ display: none; }
}
@media (prefers-reduced-motion: reduce){
  .rn-card__media img{ transition: none; }
}

/* Códigos de inserción (formularios, videos, mapas) dentro de la nota */
.rn-content iframe, .rn-content .wp-block-html iframe{ max-width: 100%; border: 0; }
.rn-content .wp-block-html{ margin: 2em 0; }
