/* Maquetación del texto de las noticias: se usa en la web y dentro del editor de la redacción */
:is(.article-body, .nr-body .ql-editor) {
  --c-lime: #b8f53d; --c-coral: #ff7a6b; --c-gold: #ffc94a; --c-skyblue: #6cc8ff; --c-violet: #b99bff; --c-gray: #8e9a94;
}
:is(.article-body, .nr-body .ql-editor) .ql-font-display { font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif; }
:is(.article-body, .nr-body .ql-editor) .ql-font-serif { font-family: Georgia, 'Iowan Old Style', 'Times New Roman', serif; }
:is(.article-body, .nr-body .ql-editor) .ql-font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .92em; }
:is(.article-body, .nr-body .ql-editor) .ql-size-small { font-size: .82em; }
:is(.article-body, .nr-body .ql-editor) .ql-size-large { font-size: 1.3em; }
:is(.article-body, .nr-body .ql-editor) .ql-size-huge { font-size: 1.8em; line-height: 1.25; }
:is(.article-body, .nr-body .ql-editor) .ql-align-center { text-align: center; }
:is(.article-body, .nr-body .ql-editor) .ql-align-right { text-align: right; }
:is(.article-body, .nr-body .ql-editor) .ql-align-justify { text-align: justify; }
:is(.article-body, .nr-body .ql-editor) .ql-color-lime { color: var(--c-lime); }
:is(.article-body, .nr-body .ql-editor) .ql-color-coral { color: var(--c-coral); }
:is(.article-body, .nr-body .ql-editor) .ql-color-gold { color: var(--c-gold); }
:is(.article-body, .nr-body .ql-editor) .ql-color-skyblue { color: var(--c-skyblue); }
:is(.article-body, .nr-body .ql-editor) .ql-color-violet { color: var(--c-violet); }
:is(.article-body, .nr-body .ql-editor) .ql-color-gray { color: var(--c-gray); }
:is(.article-body, .nr-body .ql-editor) [class*="ql-bg-"] { color: #0d1404; padding: 0 .2em; border-radius: 3px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
:is(.article-body, .nr-body .ql-editor) .ql-bg-lime { background: var(--c-lime); }
:is(.article-body, .nr-body .ql-editor) .ql-bg-coral { background: var(--c-coral); }
:is(.article-body, .nr-body .ql-editor) .ql-bg-gold { background: var(--c-gold); }
:is(.article-body, .nr-body .ql-editor) .ql-bg-skyblue { background: var(--c-skyblue); }

/* Frase destacada y recuadro */
:is(.article-body, .nr-body .ql-editor) .ql-callout-quote {
  font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif; font-size: 1.45em; line-height: 1.3; font-weight: 500;
  margin: 1.4em 0; padding: .2em 0 .2em 1em; border-left: 4px solid var(--c-lime); color: #fff;
}
:is(.article-body, .nr-body .ql-editor) .ql-callout-box {
  margin: 1.4em 0; padding: 18px 20px; border: 1px solid #313b36; border-radius: 12px; background: #141917;
}
:is(.article-body, .nr-body .ql-editor) .ql-callout-box + .ql-callout-box { margin-top: -1.4em; border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; padding-top: 0; }
:is(.article-body, .nr-body .ql-editor) .ql-callout-box:has(+ .ql-callout-box) { border-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom: .5em; margin-bottom: 0; }

/* Imágenes con pie, galerías y separador */
:is(.article-body, .nr-body .ql-editor) figure { margin: 1.6em 0; }
:is(.article-body, .nr-body .ql-editor) figure img { width: 100%; height: auto; border-radius: 12px; margin: 0; display: block; }
:is(.article-body, .nr-body .ql-editor) figcaption { margin-top: 8px; font-size: .86rem; line-height: 1.45; color: #9aa8a0; }
:is(.article-body, .nr-body .ql-editor) figcaption small { display: inline; font-size: inherit; opacity: .8; }
:is(.article-body, .nr-body .ql-editor) figcaption small::before { content: ' Imagen: '; }
:is(.article-body, .nr-body .ql-editor) figure.fig-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
:is(.article-body, .nr-body .ql-editor) figure.fig-gallery img { aspect-ratio: 4 / 3; object-fit: cover; }
:is(.article-body, .nr-body .ql-editor) figure.fig-gallery img:only-of-type,
:is(.article-body, .nr-body .ql-editor) figure.fig-gallery:has(img:nth-of-type(3):last-of-type) img:first-of-type { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
:is(.article-body, .nr-body .ql-editor) figure.fig-gallery figcaption { grid-column: 1 / -1; margin-top: 0; }
:is(.article-body, .nr-body .ql-editor) figure.fig-wide { margin-left: -60px; margin-right: -60px; }
:is(.article-body, .nr-body .ql-editor) figure.fig-left { float: left; width: 46%; margin: .3em 1.4em 1em 0; }
:is(.article-body, .nr-body .ql-editor) figure.fig-right { float: right; width: 46%; margin: .3em 0 1em 1.4em; }
:is(.article-body, .nr-body .ql-editor) hr { border: 0; height: 1px; margin: 2.2em auto; width: 40%; background: linear-gradient(90deg, transparent, #4a5a52, transparent); overflow: visible; }
:is(.article-body, .nr-body .ql-editor) hr::after { content: '✦'; display: block; width: 2em; margin: -.75em auto 0; text-align: center; color: #6c7a72; background: var(--bg, #0a0c0b); }
:is(.article-body, .nr-body .ql-editor) h2, :is(.article-body, .nr-body .ql-editor) h3, :is(.article-body, .nr-body .ql-editor) blockquote { clear: both; }
@media (max-width: 900px) {
  :is(.article-body, .nr-body .ql-editor) figure.fig-wide { margin-left: 0; margin-right: 0; }
}
@media (max-width: 640px) {
  :is(.article-body, .nr-body .ql-editor) figure.fig-left, :is(.article-body, .nr-body .ql-editor) figure.fig-right { float: none; width: auto; margin: 1.4em 0; }
}

/* Pie y crédito de la portada, y fuentes al final de la noticia */
.article-cover figcaption { max-width: 760px; margin: 10px auto 0; padding: 0 20px; font-size: .86rem; color: #9aa8a0; }
.article-cover figcaption small { font-size: inherit; opacity: .8; }
.article-sources { margin: 30px 0 8px; padding: 16px 18px; border: 1px solid #242c28; border-radius: 14px; background: #0f1311; }
.article-sources h2 { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: #9aa8a0; margin: 0 0 8px; }
.article-sources ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.article-sources a { font-weight: 600; }
.article-sources a::after { content: ' ↗'; font-size: .85em; opacity: .7; }
