/* WordPress/Foxiz compatibility and newsroom legibility pass. */
:root {
  --ink: var(--ri-ink);
  --paper: var(--ri-paper);
  --red: var(--ri-red);
  --muted: var(--ri-muted);
  --line: var(--ri-line);
  --sans: var(--ri-sans);
  --serif: var(--ri-serif);
}

/* AHORA: continuous newsroom ticker with a fixed live label. */
.ri-breaking { position: relative; overflow: hidden; }
.ri-breaking .ri-container { width: 100%; max-width: none; height: 42px; gap: 0; padding: 0; overflow: visible; }
.ri-breaking strong {
  position: relative;
  z-index: 3;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  box-shadow: 12px 0 22px rgba(235,231,223,.96);
  font-size: 11px;
}
.ri-breaking strong>i { width: 7px; height: 7px; background: #fff; box-shadow: 0 0 0 0 rgba(255,255,255,.65); animation: ri-breaking-pulse 1.65s ease-out infinite; }
.ri-breaking__viewport { position: relative; min-width: 0; flex: 1; overflow: hidden; }
.ri-breaking__viewport:before,.ri-breaking__viewport:after { content: ''; position: absolute; z-index: 2; top: 0; bottom: 0; width: 48px; pointer-events: none; }
.ri-breaking__viewport:before { left: 0; background: linear-gradient(90deg,#ebe7df,transparent); }
.ri-breaking__viewport:after { right: 0; background: linear-gradient(270deg,#ebe7df,transparent); }
.ri-breaking__track { display: flex; width: max-content; height: 42px; animation: ri-breaking-scroll 34s linear infinite; will-change: transform; }
.ri-breaking__set { display: flex; flex: none; align-items: center; gap: 28px; padding-left: 28px; }
.ri-breaking__set a { position: relative; display: inline-block; font-size: 12px; transition: color .2s ease; }
.ri-breaking__set a:after { content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 1px; background: var(--ri-red); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.ri-breaking__set a:hover { color: var(--ri-red); }
.ri-breaking__set a:hover:after,.ri-breaking__set a:focus-visible:after { transform: scaleX(1); }
.ri-breaking__set>i { width: 4px; height: 4px; background: #aaa39a; }
.ri-breaking:hover .ri-breaking__track,.ri-breaking:focus-within .ri-breaking__track { animation-play-state: paused; }
@keyframes ri-breaking-scroll { to { transform: translateX(-50%); } }
@keyframes ri-breaking-pulse { 70% { box-shadow: 0 0 0 7px rgba(255,255,255,0); } }
@media (prefers-reduced-motion:reduce) { .ri-breaking__track,.ri-breaking strong>i { animation: none; } }
@media (max-width:780px) {
  .ri-breaking .ri-container { width: 100%; height: 39px; }
  .ri-breaking strong { padding: 0 12px; font-size: 10px; }
  .ri-breaking__track { height: 39px; animation-duration: 29s; }
  .ri-breaking__set { gap: 22px; padding-left: 22px; }
  .ri-breaking__set a { font-size: 11px; }
  .ri-breaking__set>i { display: block; }
}

.ri-monitor-hubs {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin: -10px 0 12px;
  padding: 13px 17px;
  border: 1px solid var(--ri-ink);
  background: var(--ri-ink);
  color: #fff;
}
.ri-monitor-hubs a { font: 700 10px var(--ri-sans); letter-spacing: .08em; text-transform: uppercase; }
.ri-monitor-hubs span { color: #aaa; font: 14px/1.3 var(--ri-serif); }
.ri-monitor-nav { grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 54px; padding: 0; gap: 0; border: 1px solid var(--ri-ink); background: transparent; }
.ri-monitor-nav a { position: relative; min-height: 76px; padding: 18px 20px; border-right: 1px solid var(--ri-line); border-bottom: 1px solid var(--ri-line); font-size: 10px; }
.ri-monitor-nav a span { align-self: flex-start; color: var(--ri-red); font-size: 9px; }
.ri-monitor-nav__2030 { background: var(--ri-red)!important; color: #fff; }
.ri-monitor-nav__federal { grid-column: span 2; background: #d9d2c7!important; color: var(--ri-ink)!important; }
.ri-monitor-nav__federal span { color: #315f4c!important; }
.ri-monitor-nav a:hover,.ri-monitor-nav a[aria-current="page"] { background: var(--ri-ink)!important; color: #fff!important; }

.pim-card { grid-template-columns: 150px 1fr; min-height: 270px; }
.pim-card img { width: 150px; min-height: 270px; }
.pim-card__body { padding: 22px; }
.pim-card small { font-size: 9px; }
.pim-card h2 { margin: 24px 0 7px; font-size: 30px; }
.pim-card p { font-size: 10px; line-height: 1.35; }
.pim-numbers { gap: 18px; padding-top: 22px; }
.pim-numbers span { font-size: 9px; font-weight: 700; letter-spacing: .04em; }
.pim-numbers b { margin-top: 7px; font-size: 36px; }
.pim-focus>small,.pim-focus dt,.pim-focus em,.pim-news article small,.pim-method small,.pim-method a { font-size: 9px; }
.pim-focus>p { font-size: 11px; }
.pim-focus dd { font-size: 18px; }

.f30-profile>header>.f30-jurisdiction-code { max-width: 155px; overflow: hidden; }
.f30-profile>header>.f30-jurisdiction-code small { font-size: 8px; line-height: 1.25; white-space: normal; text-align: right; }
.f30-profile>header>.f30-jurisdiction-code b { font-size: 30px; line-height: .9; }
.f30-government__head span,.f30-signals__head span,.f30-government dt,.f30-government>a,.f30-government>em,.f30-signals article small,.f30-signals article a,.f30-operators__head>span,.f30-operators article>small,.f30-operators article>p b,.f30-operators article>div i,.f30-operators article>a,.f30-governance-source { font-size: 8px; }
.f30-government dd { font-size: 15px; }
.f30-signals article p,.f30-operators article>p { font-size: 11px; }
.f30-signals>em,.f30-operators article>em,.f30-operators>.f30-operators__note { font-size: 9px; }

.media-topic { min-height: 112px; padding: 22px 25px; }
.media-topic h3 { font-size: 29px; }
.media-topic p { font-size: 10px; line-height: 1.4; }
.media-topic strong { font-size: 38px; }
.media-topic-detail>small,.media-topic-detail__numbers small,.media-bars i span,.media-topic-detail__terms span,.media-status small,.media-status__sources span,.media-workbench button,.media-stream button { font-size: 9px; }
.media-topic-detail>p { font-size: 18px; }
.media-topic-detail__numbers strong { font-size: 36px; }
.media-headline small,.media-headline time { font-size: 10px; }

.ri-vote-analysis-state { padding: 7px 9px; font-size: 9px; }
.ri-congress-recent li { padding-block: 22px; }
.ri-congress-recent li>small,.ri-congress-recent li>time { font-size: 9px!important; }
.ri-congress-recent li>strong,.ri-congress-recent li h3 { font-size: 22px!important; line-height: 1.08!important; }
.ri-congress-recent li>p { font-size: 15px!important; line-height: 1.45!important; }
.ri-congress-recent li>em,.ri-congress-recent li>span { font-size: 10px!important; line-height: 1.4!important; }
.ri-parliament-2030__scenarios p { font-size: 14px; }
.ri-parliament-2030__tests span { font-size: 17px; }

@media (max-width:780px) {
  .ri-monitor-hubs { align-items: flex-start; flex-direction: column; }
  .ri-monitor-nav { grid-template-columns: 1fr 1fr; }
  .ri-monitor-nav__federal { grid-column: 1/-1; }
  .ri-monitor-nav a { min-height: 68px; font-size: 9px; }
}

/* Homepage infinity: restore the local demo's cinematic editorial scale. */
.ri-home .ri-infinite-stage {
  width: 100vw;
  min-height: 720px;
  margin: 72px 0 0 calc(50% - 50vw);
  padding: 88px max(30px,calc((100vw - 1280px)/2));
}
.ri-infinite-stage__copy { max-width: 610px; }
.ri-infinite-stage h2 { max-width: 720px; font-size: clamp(76px,8.8vw,132px); }
.ri-home .ri-discovery {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 76px max(30px,calc((100vw - 1280px)/2)) 28px;
  background: linear-gradient(180deg,#f3f0e9 0%,#ebe6dc 100%);
}
.ri-discovery__header {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 45px;
  align-items: end;
  margin-bottom: 42px;
  padding-top: 18px;
  border-top: 3px solid var(--ri-ink);
}
.ri-discovery__header h2 {
  margin: 18px 0 12px;
  font: 600 clamp(58px,7vw,104px)/.82 var(--ri-serif);
  letter-spacing: -.06em;
}
.ri-discovery__header p { max-width: 650px; margin: 0; color: #5f5a53; font: 20px/1.35 var(--ri-serif); }
.ri-discovery__header .ri-feed-state {
  align-self: start;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 11px;
  padding: 11px 14px;
  border: 1px solid var(--ri-line);
  background: rgba(255,255,255,.55);
}
.ri-feed-state small { color: var(--ri-ink); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.ri-infinite-feed { gap: 52px 28px; }
.ri-feed-card { padding-top: 17px; border-top: 2px solid var(--ri-ink); }
.ri-feed-card--text { min-height: 330px; padding: 30px; border-top: 0; background: #ded7cc; }
.ri-feed-card--text:nth-child(4n+2) { background: var(--ri-ink); color: #fff; }
.ri-feed-card--text:nth-child(4n+2) p,.ri-feed-card--text:nth-child(4n+2) small { color: #aaa59e; }
.ri-feed-card--text:nth-child(4n+2):before { color: rgba(255,255,255,.12); }
.ri-feed-card h3 { margin: 12px 0; font-size: 30px; }
.ri-feed-card:nth-child(5n+1) h3 { max-width: 900px; font-size: 50px; }
.ri-feed-card p { font-size: 14px; line-height: 1.5; }
.ri-feed-card small { font-size: 10px; letter-spacing: .04em; }
.ri-feed-card:nth-child(5n+1) { min-height: 430px; padding: 40px; background: var(--ri-red); color: #fff; }
.ri-feed-card:nth-child(5n+1) p,.ri-feed-card:nth-child(5n+1) small { color: #f5cbc7; }
.ri-feed-card:nth-child(5n+1):before { color: rgba(65,18,18,.18); }
.ri-feed-card:nth-child(5n+3) { background: transparent; border: 1px solid var(--ri-ink); }
@media (max-width:780px) {
  .ri-home .ri-infinite-stage { width: auto; min-height: 850px; margin: 45px -15px 0; padding: 64px 28px; }
  .ri-infinite-stage h2 { font-size: 68px; }
  .ri-home .ri-discovery { width: auto; margin: 0 -15px; padding: 55px 20px 20px; }
  .ri-discovery__header { grid-template-columns: 1fr; gap: 22px; }
  .ri-discovery__header h2 { font-size: 58px; }
  .ri-discovery__header p { font-size: 18px; }
  .ri-discovery__header .ri-feed-state { justify-self: start; margin-top: 0; }
  .ri-infinite-feed { gap: 30px; }
  .ri-feed-card--text { min-height: 260px; }
  .ri-feed-card:nth-child(5n+1) { min-height: 330px; padding: 28px; }
  .ri-feed-card h3,.ri-feed-card:nth-child(5n+1) h3 { font-size: 31px; }
}

/* Historical article embeds and WordPress attachments. */
.ri-article__content .wp-block-embed,.ri-article__content .wp-block-video,.ri-article__content .wp-block-audio,.ri-article__content .wp-block-image,.ri-article__content .wp-block-gallery,.ri-legacy-embed { width: 100%; max-width: 100%; margin: 34px 0; }
.ri-article__content iframe,.ri-article__content video,.ri-legacy-media { display: block; width: 100%; max-width: 100%; border: 0; }
.ri-article__content .wp-block-embed iframe,.ri-legacy-embed--video iframe { aspect-ratio: 16/9; height: auto; min-height: 405px; background: #111; }
.ri-legacy-embed--document { padding: 12px; border: 1px solid var(--ri-line); background: #e9e4db; }
.ri-legacy-embed--document>iframe { width: 100%; height: min(72vh,760px); min-height: 520px; background: #fff; }
.ri-legacy-embed--image img,.ri-article__content .wp-block-image img,.ri-article__content .wp-block-gallery img { width: 100%; height: auto; }
.ri-legacy-embed--social { min-height: 120px; padding: 20px; border: 1px solid var(--ri-line); background: #fff; }
.ri-legacy-embed--social blockquote { margin: 0!important; padding: 0!important; border: 0!important; font-size: 16px!important; }
.ri-legacy-embed--link { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 20px; border-left: 5px solid var(--ri-red); background: #e7e1d7; }
.ri-legacy-embed--link small { color: var(--ri-muted); font: 700 9px var(--ri-sans); letter-spacing: .1em; }
.ri-legacy-embed--link a { font: 700 12px var(--ri-sans); text-transform: uppercase; }
.ri-article__content .gallery,.ri-article__content .wp-block-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.ri-article__content figcaption,.ri-article__content .wp-caption-text { margin-top: 8px; color: var(--ri-muted); font: 12px/1.4 var(--ri-sans); }
.ri-article__content .wp-video,.ri-article__content .wp-audio-shortcode { width: 100%!important; }
@media (max-width:780px) {
  .ri-article__content .wp-block-embed iframe,.ri-legacy-embed--video iframe { min-height: 52vw; }
  .ri-legacy-embed--document>iframe { min-height: 440px; }
  .ri-legacy-embed--link { align-items: flex-start; flex-direction: column; }
  .ri-article__content .gallery,.ri-article__content .wp-block-gallery { grid-template-columns: 1fr; }
}
@media (max-width:650px) {
  .pim-card { grid-template-columns: 125px 1fr; }
  .pim-card img { width: 125px; }
  .pim-numbers b { font-size: 31px; }
}

/* Category fronts: image-led, consistent crops, no inherited Foxiz sidebar. */
.ri-section-front { padding-top: 46px; }
.ri-section-front .ri-archive__header { display: grid; grid-template-columns: 1.25fr .75fr; gap: 55px; align-items: end; margin-bottom: 34px; }
.ri-section-front .ri-archive__header h1 { margin-bottom: 0; }
.ri-archive-lead { display: grid; grid-template-columns: 1.25fr .85fr; gap: 0; min-height: 500px; margin-bottom: 1px; border: 1px solid var(--ri-ink); }
.ri-archive-lead__media { min-height: 500px; overflow: hidden; background: #c9c1b6; }
.ri-archive-lead__media img { width: 100%; height: 100%; object-fit: cover; }
.ri-archive-lead__copy { display: flex; flex-direction: column; justify-content: flex-end; padding: 38px; background: var(--ri-ink); color: #fff; }
.ri-archive-lead__copy h2 { margin: 18px 0 16px; font: 600 clamp(38px,4.3vw,61px)/.9 var(--ri-serif); letter-spacing: -.045em; }
.ri-archive-lead__copy p { color: #bdb8b0; font: 17px/1.4 var(--ri-serif); }
.ri-archive-lead__copy .ri-meta { color: #888; }
.ri-archive-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin-bottom: 64px; background: var(--ri-line); border: 1px solid var(--ri-line); }
.ri-archive-grid article { display: flex; min-height: 470px; flex-direction: column; padding: 24px; background: #eee9e1; }
.ri-archive-grid__media { height: 270px; margin: -24px -24px 20px; overflow: hidden; background: #c9c1b6; }
.ri-archive-grid__media img { width: 100%; height: 100%; object-fit: cover; }
.ri-archive-grid h3 { margin: 12px 0 10px; font: 600 31px/.98 var(--ri-serif); }
.ri-archive-grid p { margin: 0 0 18px; color: var(--ri-muted); font-size: 14px; line-height: 1.45; }
.ri-archive-grid .ri-meta { margin-top: auto; }
.ri-archive-stream { margin-bottom: 55px; }
.ri-archive-stream article { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 28px; padding: 25px 0; border-bottom: 1px solid var(--ri-line); }
.ri-archive-stream__media { height: 190px; overflow: hidden; background: #c9c1b6; }
.ri-archive-stream__media img { width: 100%; height: 100%; object-fit: cover; }
.ri-archive-stream h3 { margin: 9px 0; font: 600 30px/1 var(--ri-serif); }
.ri-archive-stream p { max-width: 720px; margin: 0 0 15px; color: var(--ri-muted); font-size: 14px; line-height: 1.5; }
@media (max-width:780px) {
  .ri-section-front .ri-archive__header,.ri-archive-lead { grid-template-columns: 1fr; }
  .ri-archive-lead__media { min-height: 330px; }
  .ri-archive-lead__copy { padding: 28px; }
  .ri-archive-grid { grid-template-columns: 1fr; }
  .ri-archive-grid article { min-height: 430px; }
  .ri-archive-stream article { grid-template-columns: 1fr; gap: 16px; padding: 28px 0 34px; }
  .ri-archive-stream__media { width: 100%; height: auto; aspect-ratio: 16/10; }
  .ri-archive-stream h3 { max-width: 620px; margin: 8px 0 12px; font-size: clamp(26px,8vw,32px); line-height: 1.02; letter-spacing: -.025em; }
  .ri-archive-stream p { display: none; }
}

/* Recuperación del visor oficial de X cuando el widget deja el iframe sin altura. */
.ri-x-timeline iframe {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 360px !important;
  min-height: 360px !important;
  visibility: visible !important;
  border: 0;
}
.ri-x-timeline.is-ready > a.twitter-timeline,
.ri-x-timeline.is-ready > p { display: none; }
.ri-official-x-panel .ri-x-timeline iframe {
  height: 520px !important;
  min-height: 520px !important;
}

/* Títulos de artículo: jerarquía editorial con una medida de lectura más humana. */
.ri-single .ri-article__header { max-width: 1040px; }
.ri-single .ri-article__header h1 {
  max-width: 1000px;
  font-size: clamp(44px,4.9vw,68px);
  line-height: .99;
  letter-spacing: -.035em;
  text-wrap: balance;
}
@media (max-width:780px) {
  .ri-single .ri-article__header h1 {
    font-size: clamp(38px,11vw,48px);
    line-height: 1;
    letter-spacing: -.03em;
  }
}

/* Contención responsive: evita que los módulos editoriales ensanchen el documento. */
html,body { max-width: 100%; overflow-x: clip; }
@supports not (overflow:clip) {
  html,body { overflow-x: hidden; }
}
@media (max-width:1024px) {
  .ri-container,
  .ri-home,
  .ri-media-hero,
  .presidency-live,
  .congress-live,
  .countershot-live,
  .ri-official-x-panel,
  .presidency-stage,
  .presidency-stage > *,
  .presidency-framing,
  .presidency-framing > *,
  .ri-x-carousel,
  .ri-x-carousel__slide,
  .congress-wire,
  .congress-wire > * { min-width: 0; max-width: 100%; box-sizing: border-box; }
  .presidency-live > header,
  .presidency-framing > header,
  .presidency-access,
  .congress-live > header,
  .congress-editorial { min-width: 0; max-width: 100%; box-sizing: border-box; }
  .presidency-stage nav button,
  .presidency-stage nav strong,
  .presidency-focus h3,
  .presidency-framing article p,
  .congress-wire nav strong,
  .congress-decision h3 { min-width: 0; overflow-wrap: anywhere; }
  .presidency-framing > header,
  .presidency-access { flex-wrap: wrap; gap: 12px 20px; }
  .ri-x-carousel__track { max-width: none; }
}
@media (max-width:780px) {
  .presidency-live,
  .congress-live,
  .countershot-live,
  .ri-official-x-panel { width: 100%; margin-inline: 0; }
  .presidency-stage > nav,
  .presidency-framing > div { width: 100%; }
  .presidency-stage > nav button { width: 100%; }
}

/* El hecho concreto conduce el mapa; la categoría queda como contexto secundario. */
.ri-media-orbit-topic > span {
  width: 218px;
  min-height: 88px;
  padding: 14px 50px 14px 18px;
}
.ri-media-orbit-topic > span > strong {
  display: -webkit-box;
  overflow: hidden;
  font: 700 15px/1.05 var(--ri-serif);
  letter-spacing: -.015em;
  text-wrap: balance;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.ri-media-topic-list .ri-media-topic small {
  display: block;
  margin-bottom: 7px;
  color: var(--ri-red);
  font: 700 9px/1 var(--ri-sans);
  letter-spacing: .12em;
}
@media (max-width:780px) {
  .ri-media-orbit-topic > span {
    width: 150px;
    min-height: 74px;
    padding: 10px 38px 10px 12px;
  }
  .ri-media-orbit-topic > span > strong { font-size: 11px; line-height: 1.08; }
}

/* Navegación editorial esencial: cuatro secciones y una entrada-señal. */
.ri-nav { align-items: center; gap: 36px; }
.ri-nav > a { display: inline-flex; align-items: center; min-height: 30px; }
.ri-nav > a.is-current:not(.ri-nav__observatory) { color: var(--ri-red); border-bottom: 2px solid var(--ri-red); }
.ri-nav .ri-nav__observatory {
  gap: 8px;
  margin-left: auto;
  padding: 8px 14px;
  background: var(--ri-red);
  border: 1px solid var(--ri-red);
  color: #fff;
  line-height: 1;
}
.ri-nav .ri-nav__observatory i {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 rgba(255,255,255,.65);
  animation: ri-nav-signal 2s ease-out infinite;
}
.ri-nav .ri-nav__observatory:hover,
.ri-nav .ri-nav__observatory:focus-visible,
.ri-nav .ri-nav__observatory.is-current {
  background: var(--ri-ink);
  border-color: var(--ri-ink);
  color: #fff;
}
@keyframes ri-nav-signal {
  55%,100% { box-shadow: 0 0 0 7px rgba(255,255,255,0); }
}
@media (max-width:780px) {
  .ri-nav.is-open {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1px;
    padding-bottom: 15px;
  }
  .ri-nav.is-open > a {
    justify-content: center;
    min-height: 44px;
    padding: 10px;
    border: 1px solid var(--ri-line);
  }
  .ri-nav.is-open .ri-nav__observatory {
    grid-column: 1/-1;
    margin-left: 0;
    border-color: var(--ri-red);
  }
}
