/* Family composition/values only. Editorial components have one shared owner. */
.renew-article {
  --renew-article-width: 750px;
  --renew-prose-font: 400 16px/1.6 Verdana, sans-serif;
  --renew-prose-color: #333;
  --renew-h2-font: 700 26px/1.4 Verdana, sans-serif;
  --renew-h3-font: 700 19px/1.5 Verdana, sans-serif;
  --renew-h4-font: 700 17px/1.5 Verdana, sans-serif;
  --renew-h2-margin: 40px 0 30px;
  --renew-h3-margin: 25px 0;
  --renew-table-font: 400 16px/20px Verdana, sans-serif;
  --renew-paragraph-gap: 25px;
  max-width: var(--renew-article-width);
  margin-inline: auto;
  padding-block: 48px 80px;
}
.renew-article-title { margin: 0 0 24px; font: 300 32px/1.4 var(--renew-body); text-transform: uppercase; }
.renew-article[data-content-width="full"] { --renew-article-width: 1180px; }
.renew-article[data-content-width="full"] .renew-prose .content-normal {
  max-width: 750px;
  margin: 0 auto 32px;
}
.renew-article[data-content-width="full"] .renew-prose .content-wide {
  max-width: 1180px;
  margin: 0 auto 40px;
}
/* Normal reading is the default; only an explicit existing block may break out.
   Supported depth: body > block, or body > content-normal/wide > block.
   Never constrain arbitrary descendants inside panels/cards/tables/search. */
.renew-article[data-reading-layout="normal"] { --renew-article-width: 1180px; padding-bottom: 0; }
.renew-article[data-reading-layout="normal"] > header,
.renew-article[data-reading-layout="normal"] > .renew-article-main-image { max-width: 750px; margin-inline: auto; }
/* Keep the source full cover width; native hero/search is outside this frame. */
.renew-article[data-reading-layout="normal"][data-content-width="full"] > .renew-article-main-image { max-width: 1180px; }
.renew-article[data-reading-layout="normal"] > .renew-prose > :not(.content-normal, .content-wide, .renew-article-toc-layout),
.renew-article[data-reading-layout="normal"] > .renew-prose > :is(.content-normal, .content-wide) > * { box-sizing: border-box; max-width: 750px; margin-inline: auto; }
.renew-article[data-reading-layout="normal"] > .renew-prose > .content-normal { max-width: 750px; margin-inline: auto; }
.renew-article[data-reading-layout="normal"] > .renew-prose > .content-wide,
.renew-article[data-reading-layout="normal"] > .renew-prose > .content-normal:has(> .renew-article-breakout) { max-width: 1180px; margin-inline: auto; }
.renew-article[data-reading-layout="normal"] > .renew-prose > .renew-article-breakout,
.renew-article[data-reading-layout="normal"] > .renew-prose > :is(.content-normal, .content-wide) > .renew-article-breakout { max-width: var(--renew-article-breakout-width, 1180px); }
.renew-article-breakout--medium { --renew-article-breakout-width: 960px; }
/* Existing side-TOC fixture has no breakouts. Preserve its centred750 rail. */
.renew-article .renew-prose iframe.renew-editorial-embed-fluid { display: block; }
.renew-article[data-reading-layout="normal"]:has(.renew-article-toc-layout) { --renew-article-width: 750px; }
.renew-article-meta { margin: 0 0 30px; color: #575a5c; font: 14px/1.6 Verdana, sans-serif; }
.renew-article-meta .meta-item { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 5px; }
.renew-article-meta .label { font-weight: 700; }
.renew-article-meta .sep { margin-inline: 8px; }
.renew-article > header .article_meta { font-size: 15px; color: #505050; }
.renew-article > header > .article_meta { margin-bottom: 12px; }
.renew-article-meta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin-bottom: 10px; }
.renew-article-meta-row > .renew-article-meta { flex: 1 1 240px; margin: 0; }
.renew-article-meta-row > .renew-category-link { flex: 0 1 auto; margin-left: auto; min-width: 0; }
@media (max-width: 600px) {
  .renew-article-meta-row { flex-direction: column; align-items: flex-start; gap: 6px; }
  .renew-article-meta-row > .renew-article-meta { flex: 0 1 auto; }
  .renew-article-meta-row > .renew-category-link { margin-left: 0; }
}
.renew-article-main-image { display: block; width: 100%; margin-bottom: 32px; border-radius: 12px; }
/* Native .blog-post-txt image width: percentage sizing still respects each
   source max-width cap, including small flag !important width exceptions. */
.renew-article .renew-prose img { width: 100%; height: auto; }
/* Ordinary editorial photographs/illustrations only. Auto uses intrinsic width;
   source flags, map thumbnails and component-owned imagery keep their owners. */
.renew-article .renew-prose img[src]:where(p > img, p > a > img, p > strong > img, p > span > img, p > em > img, figure.article-figure > img, figure.article-figure > a > img):not(:where(.renew-editorial-flag, .renew-editorial-map-thumbnail, table img, [class*="bloque-"] img, .consejo-experto img, .renew-provider img, .renew-feature img, .renew-form img, .renew-search-island img, [src*="/logos/"], [src*="/icons/"], [src*="/flags/"])) { display: block; width: auto; max-width: 100%; height: auto; margin-inline: auto; }
.renew-article .renew-prose > img[src]:not(:where(.renew-editorial-flag, .renew-editorial-map-thumbnail, [src*="/logos/"], [src*="/icons/"], [src*="/flags/"])) { display: block; margin-inline: auto; }
/* Body images only; source/component exceptions and cover keep their owners. */
.renew-article .renew-prose img[src]:where(.renew-prose > img, p > img, p > a > img, p > strong > img, p > span > img, p > em > img, figure.article-figure > img, figure.article-figure > a > img):not(:where(.renew-editorial-flag, .renew-editorial-map-thumbnail, table img, [class*="bloque-"] img, .consejo-experto img, .renew-provider img, .renew-feature img, .renew-form img, .renew-search-island img, [src*="/logos/"], [src*="/icons/"], [src*="/flags/"])) { border-radius: 8px; }
/* Preserve the two admitted source ceilings, but not overflow on small screens.
   More specific than their literal source equivalents, article images only. */
body .renew-article .renew-prose img[src].renew-editorial-image-limit-medium:where(p > img, p > a > img):not(:where(table img, [class*="bloque-"] img, .consejo-experto img)) { max-width: min(100%, 516px); }
body .renew-article .renew-prose img[src].renew-editorial-image-limit-wide:where(p > img, p > a > img):not(:where(table img, [class*="bloque-"] img, .consejo-experto img)) { max-width: min(100%, 800px); }
/* Reversible private ink comparison; headings/panels retain their approved ink. */
.renew-article[data-prose-ink="222"] { --renew-prose-color: #222; }
.renew-article[data-prose-ink] .renew-prose :is(h2, h3, h4):not(:where([class*="bloque-"] *, .consejo-experto *)) { color: #333; }
/* Existing scroll viewport owns the visible radius. Never clip a whole table:
   captions, sticky headers, focus rings and source collapse keep their rules.
   An exceptional unwrapped collapsed table may retain square corners. */
.renew-article .renew-prose table { border-radius: 10px; margin-bottom: 32px; }
.renew-article .renew-prose .table-wrapper { border-radius: 10px; margin-bottom: 32px; }
.renew-article .renew-prose .table-wrapper > table { margin-bottom: 0; }
/* One geometry, selected by the existing table adapter, not class order. */
.renew-article .renew-prose table.renew-table--rounded { border-collapse: separate; border-spacing: 0; border: 1px solid var(--renew-table-border); border-radius: 12px; box-shadow: none; }
.renew-article .renew-prose :is(.table-wrapper, .renew-table-scroll):has(> .renew-table--rounded) { border-radius: 12px; }
.renew-article .renew-prose .renew-table--rounded > :is(thead, tbody) > tr > :is(th, td) { border-inline-start: 0; border-inline-end-color: var(--renew-table-border); border-bottom-color: var(--renew-table-border); }
.renew-article .renew-prose .renew-table--rounded > :is(thead, tbody) > tr:not(.text_tabla_total) > :is(th, td) { border-top: 0; }
.renew-article .renew-prose .renew-table--rounded > :is(thead, tbody) > tr > :last-child { border-inline-end: 0; }
.renew-article .renew-prose .renew-table--rounded > thead > tr:first-child > :first-child,
.renew-article .renew-prose .renew-table--rounded:not(:has(> thead)) > tbody:first-of-type > tr:first-child > :first-child { border-top-left-radius: 11px; }
.renew-article .renew-prose .renew-table--rounded > thead > tr:first-child > :last-child,
.renew-article .renew-prose .renew-table--rounded:not(:has(> thead)) > tbody:first-of-type > tr:first-child > :last-child { border-top-right-radius: 11px; }
.renew-article .renew-prose .renew-table--rounded > tbody:last-of-type > tr:last-child > :is(th, td) { border-bottom: 0; }
.renew-article .renew-prose .renew-table--rounded > tbody:last-of-type > tr:last-child > :first-child { border-bottom-left-radius: 11px; }
.renew-article .renew-prose .renew-table--rounded > tbody:last-of-type > tr:last-child > :last-child { border-bottom-right-radius: 11px; }
.renew-article .renew-prose { --renew-prose-link: var(--renew-editorial-link); --renew-prose-link-hover: var(--renew-editorial-link-hover); }
/* Long visible URLs may wrap without changing their text or destination. */
.renew-article .renew-prose[data-article-body] a[href] { overflow-wrap: anywhere; }
.renew-article-recents { max-width: 1180px; margin-top: 60px; padding-block: 32px 80px; border-top: 1px solid var(--renew-line); }
.renew-article-recents > h2 { margin: 0 0 24px; font: 600 24px/1.4 var(--renew-body); }
.renew-article-recent-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.renew-article-recent { min-width: 0; }
.renew-article-recent img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; margin-bottom: 12px; }
.renew-article-recent h3 { margin: 0 0 8px; font: 400 17px/1.4 var(--renew-body); overflow-wrap: anywhere; }
.renew-main .renew-article-recent h3 a,
.renew-main .renew-article-recent h3 a:is(:hover, :focus-visible) { color: #141d1e; text-decoration: none; }
.renew-article-recent time { color: #626262; font: 13px/1.5 Arial, sans-serif; }
/* Existing TOC moved once, only in the explicit TA comparison. No cloned IDs. */
.renew-article-toc { margin-bottom: 28px; padding: 16px; background: #fafafa; border-radius: 10px; }
.renew-article-toc p { margin-bottom: 12px; font-size: 14px; }
.renew-article .renew-article-toc ul { padding-left: 16px; margin: 0; }
/* Only recognised fragment-link TOCs, never ordinary nested editorial lists. */
.renew-article .renew-prose :where(.listado_info_top, .contenedor-toc):has(a[href^="#"]):not(:has(a:not([href^="#"]))) li > :is(ul, ol) { margin-block-start: 8px; }
.renew-article .renew-prose .renew-article-toc :where(.listado_info_top, .contenedor-toc):has(a[href^="#"]):not(:has(a:not([href^="#"]))) li > :is(ul, ol) { margin-block-start: 8px; }
.renew-article-toc li { font-size: 14px; line-height: max(24px, 1.5em); margin-bottom: 8px; }
.renew-article-toc li:last-child { margin-bottom: 0; }
.renew-article .renew-prose :is(.listado_info_top, .contenedor-toc):has(a[href^="#"]):not(:has(a:not([href^="#"]))) li { line-height: max(24px, 1.5em); margin-bottom: 8px; }
.renew-article .renew-prose :is(.listado_info_top, .contenedor-toc):has(a[href^="#"]):not(:has(a:not([href^="#"]))) li:last-child { margin-bottom: 0; }
.renew-article .renew-prose :is(.listado_info_top, .contenedor-toc):has(a[href^="#"]):not(:has(a:not([href^="#"]))) a,
.renew-article .renew-article-toc a { color: var(--renew-editorial-link); }
.renew-article .renew-prose :is(.listado_info_top, .contenedor-toc):has(a[href^="#"]):not(:has(a:not([href^="#"]))) a:is(:hover, :focus-visible),
.renew-article .renew-article-toc a:is(:hover, :focus-visible) { color: var(--renew-editorial-link-hover); }
/* 750 reading + 2*(220 rail + 32 gap) = 1254; 1360 also leaves both gutters.
   The unused balancing column keeps the reading text at the page centre.
   Full/wide articles never enter this variant. Narrow screens remain in flow. */
@media (min-width: 1360px) {
  .renew-article[data-content-width="standard"] .renew-article-toc-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 750px) 220px;
    gap: 32px;
    width: calc(100% + 504px);
    margin-inline: -252px;
    align-items: start;
  }
  .renew-article[data-content-width="standard"] .renew-article-toc { grid-column: 1; position: sticky; top: 110px; box-sizing: border-box; max-height: calc(100dvh - 140px); overflow-y: auto; overscroll-behavior: contain; }
  .renew-article[data-content-width="standard"] .renew-article-toc-content { grid-column: 2; min-width: 0; }
  .renew-article-toc-content > :first-child { margin-top: 0; }
}
@media (max-width: 1000px) { .renew-article-recent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .renew-article-recent-grid { grid-template-columns: minmax(0, 1fr); } }
/* Source-authored long/abbreviated labels, never a TH/TD visibility utility. */
.renew-article .renew-prose :is(span, small).visible-xs { display: none; }
@media (max-width: 767px) {
  .renew-article .renew-prose :is(span, small).hidden-xs { display: none; }
  .renew-article .renew-prose :is(span, small).visible-xs { display: block; }
}
