/* Ajustes propios del tema de WordPress (complementan forum.css) */
[hidden] { display: none !important; }
.fn-slot { display: contents; }
.admin-bar .site-head { top: calc(32px + env(safe-area-inset-top, 0px)); }
@media (max-width: 782px) { .admin-bar .site-head { top: env(safe-area-inset-top, 0px); } }

/* Logos (para fondo negro) */
.logo-img, .logo-custom a { display: inline-flex; align-items: center; flex: 0 0 auto; }
.logo-img img, .logo-custom img { height: 38px; width: auto; max-width: 200px; display: block; }
.logo-text { font: 700 24px/1 var(--display); color: var(--on-night); letter-spacing: -0.02em; white-space: nowrap; }
.site-foot .logo-foot img { width: 120px; height: auto; margin-bottom: 12px; }
.site-foot .logo-text { display: inline-block; margin-bottom: 10px; }
.foot-legal { max-width: var(--wrap); margin: 28px auto 0; font-size: 12px; color: var(--on-night-2); }
@media (max-width: 520px) { .logo-img img, .logo-custom img { height: 30px; max-width: 150px; } }

/* Pauta real */
.ad-slot { display: flex; justify-content: center; align-items: center; max-width: 100%; overflow: hidden; margin-inline: auto; }
.ad-slot--rail { width: var(--rail); min-height: 600px; position: sticky; top: 84px; margin-top: 18px; }
.ad-slot--half { width: 300px; min-height: 600px; }
.ad-slot--mpu { min-height: 250px; }
.ad-slot--logo { min-width: 90px; }
.room--native-slot { display: flex; align-items: stretch; justify-content: center; background: var(--surface); }

/* Imagen ausente: el relleno queda dentro de su propia caja (antes tapaba la página) */
.img-ph { display: block; position: relative; width: 100%; aspect-ratio: 4 / 3; background: linear-gradient(135deg, #2a2a2a, #111); }

/* Firma con enlace al autor */
.art-byline .avatar { border-radius: 50%; object-fit: cover; }
.art-byline a { color: inherit; }
.art-byline .when b a:hover { text-decoration: underline; text-decoration-color: var(--brand); }
.cargo { font-weight: 400; color: var(--ink-2); }
.author-box img.avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.author-box .cargo { display: block; font-size: 13px; }
.author-box b a:hover { text-decoration: underline; }
.room--opinion img.avatar { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }

/* Archivos, búsqueda y autores */
.arch-head { padding: 26px 0 8px; border-bottom: 3px solid var(--ink); margin-bottom: 4px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.arch-head h1 { margin: 0; font: 700 clamp(30px, 4vw, 46px)/1.05 var(--display); letter-spacing: -0.018em; }
.arch-head p, .arch-desc { margin: 0; color: var(--ink-2); max-width: 70ch; }
.arch-author { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; align-items: center; }
.arch-author img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.arch-author > div { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.arch-cargo { font-weight: 600; color: var(--ink) !important; }
.arch-search { display: flex; gap: 8px; width: 100%; max-width: 520px; }
.arch-search input { flex: 1; min-width: 0; font: 500 16px var(--body); padding: 10px 12px; border: 1px solid var(--line); border-radius: 3px; }
.arch-search button { border: 0; background: var(--ink); color: var(--surface); font-weight: 700; padding: 0 16px; border-radius: 3px; cursor: pointer; }
.pager { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; padding: 24px 0; }
.pager .page-numbers { padding: 8px 13px; border: 1px solid var(--line); background: var(--surface); font-weight: 600; }
.pager .page-numbers.current { background: var(--ink); color: var(--surface); border-color: var(--ink); }
.empty { padding: 30px 0; font-size: 17px; }
.art-house--page { grid-template-columns: minmax(0, 820px); justify-content: center; }
.art-house--page .article { padding-bottom: 40px; }
.pod-fallback { padding-block: 30px; }
.pod-fallback audio { width: 100%; margin: 14px 0; }
.room__ov img.avatar { position: static; inset: auto; width: 38px; height: 38px; }
.newsfeed__sponsor { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.newsfeed__sponsor .ad, .newsfeed__sponsor .ad-slot { width: 120px; height: 34px; }
.newsfeed__sponsor .ad::before { display: none; }
.newsfeed__sponsor .ad code { display: none; }
.art-main { padding-top: 22px; }
.art-house--page .article > .art-pad:first-child { padding-top: 34px; }

/* =========================================================
   v1.1 — correcciones y ajustes pedidos
   ========================================================= */
.room__img .img-ph, .lpi__img .img-ph, .tk .img-ph, .tv__img .img-ph, .cat-hero__img .img-ph { position: absolute; inset: 0; width: auto; height: 100%; aspect-ratio: auto; }
.rel__item .img-ph { width: 112px; }
@media (max-width: 640px) { .rel__item .img-ph { width: 96px; } }

/* Logo: más pequeño y con aire dentro de la barra negra */
.site-head .head-in { min-height: 60px; padding-block: 10px; }
.logo-img img, .logo-custom img { height: 24px; width: auto; max-width: 170px; }
.site-foot .logo-img img { height: 28px; max-width: 200px; margin-bottom: 12px; }
@media (max-width: 520px) { .site-head .head-in { min-height: 54px; padding-block: 8px; } .logo-img img, .logo-custom img { height: 20px; max-width: 130px; } }

/* Título de la nota más contenido en escritorio; sangrado e interlineado */
.art-title { font-size: clamp(28px, 2.5vw, 38px); line-height: 1.12; margin: 10px 0 12px; }
@media (max-width: 640px) { .art-title { font-size: 26px; line-height: 1.14; } }
.art-lead { line-height: 1.5; margin: 0 0 16px; }
.art-body { line-height: 1.65; }
.art-body > p { margin: 0 0 1em; }
.art-body h3 { color: var(--ink); margin: 1.5em 0 .45em; line-height: 1.18; }

/* Compartir: "Compartir en:" siempre visible y botones más juntos en celular */
.share .share__label { display: inline; font: 600 13px var(--body); letter-spacing: 0; text-transform: none; color: var(--ink-2); margin-right: 4px; }
.share--rail .share__label { font-size: 11.5px; text-align: center; line-height: 1.25; }
@media (max-width: 640px) {
  .share { justify-content: flex-start; flex-wrap: nowrap; gap: 6px; }
  .share .share__label { display: inline; white-space: nowrap; }
  .share a, .share button, .share .s-wa:has(.share__txt-wide), .share .s-link:has(.share__txt-wide) { width: 36px; height: 36px; min-width: 36px; }
  .share svg { width: 17px; height: 17px; }
  .share--end { flex-wrap: wrap; }
  .share--end .share__label { flex-basis: 100%; }
}

/* Pies de foto sobre la imagen con degradado (foto destacada y fotos del cuerpo) */
.art-figure { position: relative; }
.art-figure figcaption, .art-body figure.has-cap > figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; margin: 0; max-width: none;
  padding: 56px 18px 12px; display: flex; flex-direction: column; gap: 3px;
  background: linear-gradient(to top, rgb(0 0 0 / .86) 0%, rgb(0 0 0 / .55) 45%, rgb(0 0 0 / 0) 100%);
  color: #fff; font: 400 13.5px/1.4 var(--body); text-align: left;
}
.art-figure figcaption { padding-left: max(18px, calc((100% - 780px) / 2 + 108px)); }
.art-body figure.has-cap { position: relative; width: fit-content; max-width: 100%; margin-inline: auto; }
.art-body figure.has-cap img { display: block; }
.cap__credit { font-size: 11.5px; letter-spacing: .05em; text-transform: uppercase; opacity: .82; }
@media (max-width: 1023px) { .art-figure figcaption { padding-left: 16px; } }
@media (max-width: 640px) { .art-figure figcaption, .art-body figure.has-cap > figcaption { font-size: 12.5px; padding: 40px 14px 10px; } }

/* Portada visual de categorías y etiquetas */
.cat-hero { position: relative; min-height: clamp(260px, 36vw, 460px); display: flex; align-items: flex-end; background: #111; color: #fff; overflow: hidden; }
.cat-hero__img { position: absolute; inset: 0; }
.cat-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.cat-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / .92) 0%, rgb(0 0 0 / .6) 40%, rgb(0 0 0 / .18) 100%); }
.cat-hero__in { position: relative; z-index: 1; width: 100%; max-width: calc(var(--wrap) + 32px); margin: 0 auto; padding: 40px 16px 30px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.cat-hero__title { margin: 0; font: 700 clamp(36px, 5vw, 64px)/1.02 var(--display); letter-spacing: -0.02em; color: #fff; }
.cat-hero__desc { color: #ddd; max-width: 65ch; }
.cat-hero__desc p { margin: 0; }
.cat-hero__last { margin-top: 4px; color: #fff; font: 600 15px/1.4 var(--body); max-width: 70ch; }
.cat-hero__last span { color: var(--brand); }
.cat-hero__last:hover { text-decoration: underline; text-decoration-color: var(--brand); }
.cat-hero--plain { min-height: 0; background: var(--night); }
.cat-hero--plain::after { display: none; }

/* Lo más leído en el riel izquierdo (pantallas grandes), con scroll propio */
@media (min-width: 1440px) {
  .house--rails { --rail: 210px; }
  .rail .rail__sticky { position: sticky; top: 84px; max-height: calc(100vh - 100px); overflow-y: auto; scrollbar-width: thin; display: flex; flex-direction: column; gap: 18px; padding-top: 12px; }
  .admin-bar .rail .rail__sticky { top: 116px; }
  .rail .ad-slot--rail, .rail .ad { position: static; margin-top: 0; }
  .rail-rank { background: var(--surface); padding: 14px 14px 4px; }
  .rail-rank h2 { margin: 0 0 6px; font: 700 20px/1 var(--display); text-transform: uppercase; }
  .rail-rank ol { list-style: none; margin: 0; padding: 0; counter-reset: r; }
  .rail-rank li { counter-increment: r; display: grid; grid-template-columns: 26px 1fr; gap: 6px; padding: 10px 0; border-top: 1px solid var(--line); }
  .rail-rank li:first-child { border-top: 0; }
  .rail-rank li::before { content: counter(r); font: 700 24px/0.9 var(--display); color: var(--ink); text-decoration: underline; text-decoration-color: var(--brand); text-decoration-thickness: 4px; text-underline-offset: -2px; text-decoration-skip-ink: none; }
  .rail-rank a { font: 600 13.5px/1.35 var(--body); }
  .rail-rank a:hover { text-decoration: underline; text-decoration-color: var(--brand); }
  .house--rails .floor--rank .ranking { display: none; }
  .house--rails .floor--rank .s66 { grid-column: span 12; }
  .house--rails .floor--rank .s66 .room__img { aspect-ratio: var(--ar-100); }
}
.rail-rank:empty { display: none; }

/* "Más noticias" con límite */
.floor__title--more { margin-top: 14px; }
.more-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; border: 0; background: var(--ink); color: var(--surface); font: 700 15px var(--body); cursor: pointer; }
.more-btn:hover { background: var(--brand); color: var(--on-brand); }

/* Clima en la cabecera */
.wx { position: relative; display: flex; align-items: center; }
.wx:empty { display: none; }
.wx__chip { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 11px 0 9px; border-radius: 999px; border: 1px solid rgb(255 255 255 / .22); background: transparent; color: var(--on-night); cursor: pointer; font: 600 14px var(--body); white-space: nowrap; }
.wx__chip:hover, .wx__chip[aria-expanded="true"] { border-color: var(--brand); }
.wx__chip svg { width: 20px; height: 20px; color: var(--brand); }
.wx__city { font-weight: 500; color: var(--on-night-2); max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
.wx__pop { position: absolute; right: 0; top: calc(100% + 10px); z-index: 60; width: 270px; background: var(--surface); color: var(--ink); border-radius: 14px; padding: 16px; box-shadow: 0 18px 40px rgb(0 0 0 / .28); display: grid; gap: 12px; }
.wx__now { display: flex; align-items: center; gap: 12px; }
.wx__now svg { width: 42px; height: 42px; color: #e0a800; }
.wx__now b { display: block; font: 700 30px/1 var(--display); }
.wx__now span { font-size: 14px; color: var(--ink-2); }
.wx__list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; margin: 0; }
.wx__list div { display: flex; flex-direction: column; }
.wx__list dt { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-2); }
.wx__list dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.wx__loc { margin: 0; font-size: 13px; color: var(--ink-2); }
.wx__btn { border: 0; background: var(--brand); color: var(--on-brand); font: 700 14px var(--body); padding: 10px 12px; border-radius: 10px; cursor: pointer; }
.wx__src { font-size: 11px; color: var(--ink-2); }
@media (max-width: 1100px) { .wx__city { display: none; } }
@media (max-width: 520px) {
  .wx__chip { height: 34px; padding: 0 8px; gap: 4px; font-size: 13px; }
  .wx__chip svg { width: 17px; height: 17px; }
  .wx__pop { position: fixed; left: 12px; right: 12px; top: 64px; width: auto; }
}

/* Volver arriba */
.to-top { position: fixed; right: 16px; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 44; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--ink); color: var(--surface); display: grid; place-items: center; cursor: pointer; box-shadow: 0 8px 22px rgb(0 0 0 / .25); }
.to-top svg { width: 22px; height: 22px; }
.to-top:hover { background: var(--brand); color: var(--on-brand); }
body.has-anchor .to-top { bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
body.podcast-page .to-top { bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }

/* Reproductor emergente de TikTok */
.lbox { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; }
.lbox__bg { position: absolute; inset: 0; background: rgb(0 0 0 / .82); }
.lbox__box { position: relative; width: min(380px, 100%); display: flex; flex-direction: column; align-items: center; gap: 10px; }
.lbox__frame { width: 100%; aspect-ratio: 9 / 16; max-height: calc(100dvh - 110px); background: #000; border-radius: 14px; overflow: hidden; }
.lbox__frame iframe { width: 100%; height: 100%; border: 0; }
.lbox__x { position: absolute; top: -6px; right: -6px; transform: translate(50%, -50%); width: 40px; height: 40px; border-radius: 50%; border: 0; background: #fff; color: #000; font-size: 24px; cursor: pointer; z-index: 2; }
.lbox__open { color: #fff; font: 600 14px var(--body); }
body.lbox-open { overflow: hidden; }
@media (max-width: 520px) { .lbox__x { transform: none; top: -48px; right: 0; } }

/* Perfil oficial de TikTok (categoría Videos y home si no hay enlaces pegados) */
.tt-profile { display: flex; justify-content: center; }
.tt-profile .tiktok-embed { margin: 0 auto; }

/* Aviso breve */
.toast { position: fixed; left: 50%; bottom: 90px; transform: translateX(-50%); z-index: 120; background: var(--ink); color: var(--surface); padding: 12px 18px; border-radius: 10px; font: 600 14px var(--body); box-shadow: 0 10px 30px rgb(0 0 0 / .3); max-width: calc(100% - 32px); }

/* Cabecera: que el menú no choque con el clima */
.site-head .head-in { gap: 14px; }
.site-head .nav { overflow: hidden; }
.site-head .nav a, .site-head .nav button { padding: 8px 8px; }
.wx__city { display: none; }
@media (max-width: 1360px) { .report-btn span { display: none; } .report-btn { padding: 8px 10px; } }
@media (max-width: 1100px) { .site-head .nav a:nth-child(n+6) { display: none; } }

/* v1.2 · Nota en computador: título, extracto, firma y compartir alineados a la izquierda (sin el sangrado de 108px) */
@media (min-width: 1024px) {
  .article > .art-pad:not(.art-main) { max-width: none; margin-inline: 0; padding-left: 36px; padding-right: 36px; }
  .art-main.has-rail { max-width: none; margin-inline: 0; padding-left: 36px; padding-right: 36px; grid-template-columns: 44px minmax(0, 1fr); column-gap: 32px; }
  .art-main:not(.has-rail) { max-width: none; margin-inline: 0; padding-inline: 36px; }
  .art-figure figcaption { padding-left: 36px; padding-right: 36px; }
  .art-lead { max-width: 64ch; }
  .art-title { text-wrap: pretty; }
}

/* v1.2.1 · Publicaciones incrustadas (X, Instagram, Facebook, Threads): ancho completo hasta su máximo, centradas */
.art-body .wp-block-embed.is-type-rich, .art-body .wp-block-embed-twitter, .art-body .wp-block-embed-instagram,
.art-body .wp-block-embed-facebook, .art-body .embed-social { width: 100%; max-width: 100%; margin: 1.6em auto; }
.art-body .wp-block-embed__wrapper { width: 100%; display: flex; flex-direction: column; align-items: stretch; }
.art-body blockquote.twitter-tweet, .art-body .twitter-tweet-rendered { width: 100% !important; max-width: 550px !important; margin-inline: auto !important; }
.art-body .twitter-tweet-rendered iframe { width: 100% !important; max-width: 550px !important; flex-grow: 1; }
.art-body .instagram-media, .art-body iframe.instagram-media { width: 100% !important; max-width: 540px !important; min-width: 0 !important; margin-inline: auto !important; }
.art-body .fb-post, .art-body .fb-post > span, .art-body .fb-post iframe { width: 100% !important; max-width: 550px; margin-inline: auto; }
.art-body .text-post-media { width: 100% !important; max-width: 540px !important; margin-inline: auto !important; }
.art-body .tiktok-embed { width: 100% !important; max-width: 400px !important; min-width: 0 !important; }

/* v1.2.1 · Fotos dentro del texto con esquinas redondeadas */
.art-body figure:not(.embed):not(.lpi) img, .art-body p > img, .art-body p > a > img, .art-body > img,
.art-body .wp-block-gallery img, .art-body .wp-caption img { border-radius: 10px; }
.art-body figure.has-cap { border-radius: 10px; overflow: hidden; }
.art-body figure.has-cap img { border-radius: 0; }
@media (max-width: 640px) {
  .art-body figure:not(.embed):not(.lpi) img, .art-body p > img, .art-body p > a > img, .art-body > img,
  .art-body .wp-block-gallery img, .art-body .wp-caption img, .art-body figure.has-cap { border-radius: 8px; }
  .art-body figure.has-cap img { border-radius: 0; }
}

/* ===================== v1.3 ===================== */

/* Fotos del cuerpo: se resaltan al pasar el mouse y se abren con un clic */
.art-body .zoomable { cursor: zoom-in; position: relative; transition: transform .25s ease, box-shadow .25s ease, outline-color .25s ease; outline: 3px solid transparent; outline-offset: 3px; border-radius: 10px; }
.art-body img.zoomable-img { cursor: zoom-in; transition: filter .25s ease; }
@media (hover: hover) {
  .art-body .zoomable:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgb(0 0 0 / .22); outline-color: var(--brand); }
  .art-body .zoomable:hover img.zoomable-img { filter: brightness(1.06) saturate(1.05); }
  .art-body figure.zoomable::after { content: ""; position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 50%; background: rgb(14 14 14 / .78) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23eed902' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") center / 18px no-repeat; opacity: 0; transform: scale(.85); transition: opacity .2s, transform .2s; pointer-events: none; z-index: 2; }
  .art-body figure.zoomable:hover::after { opacity: 1; transform: none; }
}
html.izoom-open { overflow: hidden; }
.izoom { position: fixed; inset: 0; z-index: 1000; background: rgb(8 8 8 / .96); display: flex; align-items: center; justify-content: center; padding: 56px 72px; animation: izIn .22s ease; }
.izoom[hidden] { display: none; }
@keyframes izIn { from { opacity: 0; } to { opacity: 1; } }
.izoom__fig { margin: 0; width: 100%; height: 100%; max-width: 1400px; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; align-items: center; }
.izoom--nocap .izoom__fig { grid-template-columns: minmax(0, 1fr); }
.izoom--nocap .izoom__cap { display: none; }
.izoom__img { height: 100%; min-height: 0; display: flex; align-items: center; justify-content: center; }
.izoom__img img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgb(0 0 0 / .5); animation: izImg .28s cubic-bezier(.2, .7, .2, 1); }
@keyframes izImg { from { transform: scale(.96); opacity: .4; } to { transform: none; opacity: 1; } }
.izoom__cap { color: #fff; align-self: center; display: flex; flex-direction: column; gap: 12px; border-left: 3px solid var(--brand); padding: 4px 0 4px 20px; }
.izoom__n { font: 600 12px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--brand); }
.izoom__n:empty { display: none; }
.izoom__txt { margin: 0; font: 400 21px/1.45 var(--extract); color: #fff; }
.izoom__txt:empty { display: none; }
.izoom__cred { font: 500 12.5px/1.4 var(--body); letter-spacing: .06em; text-transform: uppercase; color: rgb(255 255 255 / .7); }
.izoom__x { position: absolute; top: 14px; right: 16px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgb(255 255 255 / .12); color: #fff; font: 400 30px/1 var(--body); cursor: pointer; z-index: 2; }
.izoom__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgb(255 255 255 / .12); color: #fff; font: 400 34px/1 var(--body); cursor: pointer; z-index: 2; }
.izoom__prev { left: 14px; } .izoom__next { right: 14px; }
.izoom__x:hover, .izoom__nav:hover { background: var(--brand); color: var(--ink); }
.izoom__nav[hidden] { display: none; }
@media (max-width: 1023px) {
  /* En teléfono y tableta el texto se va debajo de la foto */
  .izoom { padding: 64px 0 20px; align-items: stretch; overflow-y: auto; background: #0b0b0b; }
  .izoom__fig { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; gap: 16px; height: auto; align-content: center; min-height: 100%; }
  .izoom__img { height: auto; }
  .izoom__img img { max-height: 70vh; border-radius: 0; box-shadow: none; width: 100%; }
  .izoom__cap { border-left: 0; padding: 0 18px; gap: 8px; }
  .izoom__txt { font-size: 16px; line-height: 1.5; }
  .izoom__nav { top: auto; bottom: 16px; transform: none; width: 42px; height: 42px; }
  .izoom__prev { left: auto; right: 66px; } .izoom__next { right: 16px; }
  .izoom:not(.izoom--nocap) .izoom__cap { padding-bottom: 64px; }
}

/* Spotify, SoundCloud, Apple Podcasts: a todo el ancho del texto */
.art-body .embed-audio { width: 100%; max-width: 100%; margin: 1.6em 0; }
.art-body .embed-audio .wp-block-embed__wrapper::before { display: none !important; padding: 0 !important; }
.art-body .embed-audio iframe, .art-body iframe[src*="open.spotify.com"] { width: 100% !important; max-width: 100% !important; position: static !important; border: 0; border-radius: 12px; }

/* Menú hamburguesa: se desplaza por dentro, la página de atrás queda quieta */
.mega.is-open > .mega-in { max-height: var(--mega-max, calc(100dvh - 110px)); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
/* Solo en <html>: si el <body> recibe overflow, la cabecera deja de quedarse fija y el menú se abre arriba de la página */
@media (max-width: 1023px) { html.menu-open { overflow: hidden; } }

/* Portada de sección: nombre y "Lo último" centrados, foto de fondo en blanco y negro con capa oscura */
.cat-hero { align-items: center; justify-content: center; text-align: center; }
.cat-hero__img img { filter: grayscale(1) contrast(1.08) brightness(.9); }
.cat-hero::after { background: linear-gradient(to top, rgb(0 0 0 / .78) 0%, rgb(0 0 0 / .5) 55%, rgb(0 0 0 / .42) 100%); }
.cat-hero__in { align-items: center; text-align: center; padding: 48px 20px 40px; }
.cat-hero__desc, .cat-hero__last { margin-inline: auto; }
.cat-hero__last { max-width: 60ch; }

/* Tarjetas del home en teléfono: menos verticales (una nota ya no ocupa toda la pantalla) */
@media (max-width: 640px) {
  :root { --ar-100: 4 / 3; --ar-66: 4 / 3; --ar-50: 16 / 10; --ar-33: 16 / 10; }
  .floor--trio .s33:last-child .room__img { aspect-ratio: var(--ar-33); }
}

/* Notas con video principal: botón de play grande sobre la foto */
.room--video .room__img::before { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / .14); z-index: 1; pointer-events: none; transition: background .25s; }
.room--video .play-big { position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%); z-index: 2; width: 76px; height: 76px; border-radius: 50%; background: var(--brand); color: var(--ink); display: grid; place-items: center; box-shadow: 0 0 0 8px rgb(238 217 2 / .28), 0 10px 30px rgb(0 0 0 / .35); transition: transform .25s ease, box-shadow .25s ease; }
.room--video .play-big svg { width: 34px; height: 34px; margin-left: 4px; }
.room--video.s33 .play-big { width: 58px; height: 58px; } .room--video.s33 .play-big svg { width: 26px; height: 26px; }
.room--video.s100 .play-big, .room--video.room--top .play-big { width: 92px; height: 92px; } .room--video.s100 .play-big svg { width: 40px; height: 40px; }
.room--video .vid-tag { position: absolute; top: 14px; left: 14px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; background: var(--ink); color: #fff; font: 700 11.5px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; padding: 7px 10px 7px 8px; border-radius: 4px; }
.room--video .vid-tag svg { width: 12px; height: 12px; color: var(--brand); }
.room--video .room__ov { z-index: 3; }
.room--video a:hover .play-big { transform: translate(-50%, -50%) scale(1.08); box-shadow: 0 0 0 12px rgb(238 217 2 / .32), 0 12px 34px rgb(0 0 0 / .4); }
.room--video a:hover .room__img::before { background: rgb(0 0 0 / .26); }
.room--video .play { display: none; }
@media (max-width: 640px) { .room--video .play-big { width: 60px; height: 60px; top: 38%; } .room--video .play-big svg { width: 26px; height: 26px; } }

/* "¿Pasó algo en su barrio?" centrado en teléfono */
@media (max-width: 640px) {
  .carpet { flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 26px 20px; }
  .carpet p { margin-inline: auto; }
  .carpet .num { justify-content: center; }
}
.cat-hero__in > .ante { align-self: center; }
/* Tarjeta junto a "Lo más leído": la foto llena todo el alto de la tarjeta */
@media (min-width: 1024px) { .floor--rank > .room > a, .floor--rank > .room .room__img, .floor:has(> .ranking) > .room > a, .floor:has(> .ranking) > .room .room__img { height: 100%; } }
/* Menú en teléfono: espacio para que el anuncio fijo de abajo no tape "Síguenos" */
@media (max-width: 1023px) { .has-anchor .mega.is-open > .mega-in { padding-bottom: 96px; } }
/* overflow-x: clip no convierte al <body> en contenedor de scroll, así la cabecera fija y el menú funcionan aunque la página esté bloqueada */
@supports (overflow: clip) { body { overflow-x: clip; } }
html.menu-open .to-top { display: none; }

/* ===================== v1.4 ===================== */

/* Menú hamburguesa fijo justo debajo de la cabecera: se ve aunque la página esté muy abajo */
.mega { position: fixed; left: 0; right: 0; top: var(--mega-top, 56px); z-index: 29; }
.mega:not(.is-open) { pointer-events: none; }

/* Desplegable de sección al pasar el mouse (solo computador) */
.navdrop { display: none; }
@media (hover: hover) and (min-width: 1024px) {
  .navdrop { display: grid; position: fixed; left: 0; right: 0; top: var(--mega-top, 60px); z-index: 28; grid-template-rows: 0fr; background: var(--surface); color: var(--ink); border-bottom: 0 solid var(--line); box-shadow: none; transition: grid-template-rows .42s cubic-bezier(.7, 0, .2, 1), box-shadow .42s; pointer-events: none; }
  .navdrop.is-open { grid-template-rows: 1fr; box-shadow: 0 24px 48px rgb(0 0 0 / .2); border-bottom-width: 1px; pointer-events: auto; }
  .navdrop-in { overflow: hidden; min-height: 0; max-width: calc(var(--wrap) + 32px); width: 100%; margin: 0 auto; padding: 0 16px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; transition: padding .42s cubic-bezier(.7, 0, .2, 1); }
  .navdrop.is-open .navdrop-in { padding-block: 26px 30px; }
  .navdrop__head, .navdrop__list > * { opacity: 0; transform: translateY(-10px); transition: opacity .3s ease, transform .3s ease; }
  .navdrop.is-open .navdrop__head, .navdrop.is-open .navdrop__list > * { opacity: 1; transform: none; }
  .navdrop.is-open .navdrop__head { transition-delay: .1s; }
  .navdrop.is-open .navdrop__list > :nth-child(1) { transition-delay: .14s; }
  .navdrop.is-open .navdrop__list > :nth-child(2) { transition-delay: .2s; }
  .navdrop.is-open .navdrop__list > :nth-child(3) { transition-delay: .26s; }
  .navdrop.is-open .navdrop__list > :nth-child(4) { transition-delay: .32s; }
  .navdrop-in.swap .navdrop__head, .navdrop-in.swap .navdrop__list > * { animation: ndSwap .32s ease both; }
  .navdrop-in.swap .navdrop__list > :nth-child(2) { animation-delay: .04s; }
  .navdrop-in.swap .navdrop__list > :nth-child(3) { animation-delay: .08s; }
  .navdrop-in.swap .navdrop__list > :nth-child(4) { animation-delay: .12s; }
  @keyframes ndSwap { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
  .navdrop__head { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; border-right: 1px solid var(--line); padding-right: 24px; }
  .navdrop__kick { font: 700 11.5px/1 var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--brand-ink); }
  .navdrop__name { font: 700 34px/1.04 var(--display); letter-spacing: -0.02em; color: var(--ink); }
  a.navdrop__name:hover { text-decoration: underline; text-decoration-color: var(--brand); text-decoration-thickness: 3px; }
  .navdrop__all { margin-top: auto; font: 600 14px/1.3 var(--body); color: var(--ink); border-bottom: 3px solid var(--brand); padding-bottom: 2px; }
  .navdrop__all:hover { background: var(--brand); }
  .navdrop__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
  .navdrop__item { display: flex; flex-direction: column; gap: 6px; color: var(--ink); }
  .navdrop__img { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 6px; background: var(--ad-bg); margin-bottom: 4px; }
  .navdrop__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
  .navdrop__img .img-ph { position: absolute; inset: 0; }
  .navdrop__item:hover .navdrop__img img { transform: scale(1.05); }
  .navdrop__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 42px; height: 42px; border-radius: 50%; background: var(--brand); color: var(--ink); display: grid; place-items: center; box-shadow: 0 0 0 5px rgb(238 217 2 / .3); }
  .navdrop__play svg { width: 18px; height: 18px; margin-left: 2px; }
  .navdrop__ante { align-self: flex-start; background: var(--brand); color: var(--on-brand); font: 700 10.5px/1 var(--body); letter-spacing: .08em; text-transform: uppercase; padding: 4px 6px; }
  .navdrop__t { font: 700 17px/1.18 var(--display); letter-spacing: -0.01em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .navdrop__item:hover .navdrop__t { text-decoration: underline; text-decoration-color: var(--brand); text-decoration-thickness: 2px; }
  .navdrop__item time { font: 400 12.5px/1.3 var(--body); color: var(--ink-2); }
  .navdrop__sk { display: block; aspect-ratio: 16 / 13; border-radius: 6px; background: linear-gradient(90deg, var(--ad-bg) 25%, #ececec 50%, var(--ad-bg) 75%); background-size: 200% 100%; animation: ndSk 1.1s linear infinite; }
  @keyframes ndSk { to { background-position: -200% 0; } }
  .site-head .nav a.is-drop { background: var(--brand); color: var(--on-brand); }
}
@media (prefers-reduced-motion: reduce) { .navdrop, .navdrop-in, .navdrop__head, .navdrop__list > * { transition: none !important; animation: none !important; } }

/* ===================== v1.5 · Columnas de opinión ===================== */
/* La foto destacada de una columna es la foto del columnista: va en blanco y negro, encuadrada hacia la cara */
.room--opinion .room__img img { filter: grayscale(1) contrast(1.08) brightness(.96); object-position: 50% 22%; transition: transform .45s ease, filter .45s ease; }
.room--opinion a:hover .room__img img { transform: scale(1.03); filter: grayscale(1) contrast(1.12) brightness(1.02); }
.room--opinion .byline b { font-size: 14px; }
.article--column .art-figure img { filter: grayscale(1) contrast(1.06); object-position: 50% 22%; }
@media (max-width: 640px) { .room--opinion .room__img { aspect-ratio: 4 / 3; } }

/* ===================== v1.6 · Reels de Facebook en el carrusel de videos ===================== */
.tk__frame { position: absolute; inset: 0; overflow: hidden; background: #111; pointer-events: none; }
.tk__frame iframe { position: absolute; top: 0; left: 50%; width: 476px; height: 846px; border: 0; transform-origin: top center; transform: translateX(-50%) scale(var(--tk-scale, .45)); }
.tv__img .tk__frame iframe { --tk-scale: .4; }
.tk::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(to top, rgb(0 0 0 / .78) 0%, rgb(0 0 0 / 0) 50%); pointer-events: none; }
.tk__play, .tk__cap, .tk__net { z-index: 2; }
.tk__net { position: absolute; top: 10px; right: 10px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #000; color: #fff; }
.tk__net svg { width: 15px; height: 15px; }
.tk--fb .tk__net { background: #1877f2; }
.tiktok__head h2 svg + svg { margin-left: -2px; }
.tiktok__follow--fb { background: #1877f2 !important; color: #fff !important; }
.tiktok__follow + .tiktok__follow { margin-left: 6px; }
.lbox__frame iframe[src*="facebook.com"] { background: #000; }

/* ===================== v1.8.2 · "En resumen": compacto, se abre con un toque, con modo oscuro ===================== */
.kv { --kv-bg: var(--brand-tint); --kv-line: color-mix(in srgb, var(--brand) 45%, transparent); margin: 0 0 22px; border-radius: 12px; background: var(--kv-bg); border: 1px solid var(--kv-line); color: var(--ink); overflow: hidden; }
.kv__toggle { width: 100%; display: flex; align-items: center; gap: 10px; padding: 11px 14px; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.kv__toggle:focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
.kv__ico { width: 18px; height: 18px; flex: none; color: var(--ink); }
.kv__title { flex: none; font: 700 16px/1.2 var(--display); letter-spacing: -0.01em; }
.kv__peek { flex: 1; min-width: 0; font: 400 14px/1.3 var(--body); color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kv__more { flex: none; font: 600 13px var(--body); color: var(--ink); }
.kv__chev { width: 18px; height: 18px; flex: none; transition: transform .38s cubic-bezier(.22, .8, .24, 1); }
.kv__body { height: 0; overflow: hidden; transition: height .38s cubic-bezier(.22, .8, .24, 1); will-change: height; }
.kv__in { padding: 0 16px 14px; opacity: 0; transform: translateY(-6px); transition: opacity .26s ease, transform .32s cubic-bezier(.22, .8, .24, 1); }
.kv.is-open .kv__in { opacity: 1; transform: none; transition-delay: .06s; }
.kv__peek { transition: opacity .2s ease; }
.kv.is-open .kv__peek { opacity: 0; }
.kv.is-open .kv__chev { transform: rotate(180deg); }
.kv__list { list-style: none; margin: 2px 0 0; padding: 0; display: grid; gap: 8px; }
.kv__list li { position: relative; padding-left: 18px; font: 400 16px/1.5 var(--body); }
.kv__list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 2px; background: var(--brand); }
.kv__note { display: block; margin-top: 10px; font-size: 11.5px; color: var(--ink-2); }
@media (max-width: 640px) {
  .kv { margin-bottom: 18px; }
  .kv__toggle { padding: 10px 12px; gap: 8px; }
  .kv__title { font-size: 15px; }
  .kv__peek { font-size: 13.5px; }
  .kv__list li { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .kv__body, .kv__chev, .kv__in, .kv__peek { transition: none; } }
/* Videos y publicaciones incrustadas: nunca toman el estilo de pie de foto (antes quedaban de 0 px de ancho) */
.art-body figure.embed, .art-body figure.embed.has-cap { width: 100%; max-width: 100%; }
.art-body figure.embed > figcaption, .art-body .wp-block-embed figcaption { position: static; background: none; color: var(--ink-2); padding: 8px 0 0; font-size: 13px; text-align: center; }

/* ===================== v1.8.5 · Anuncios de AdSense ===================== */
/* Los anuncios adaptables necesitan ancho: dentro de una caja flexible quedaban en 0 px y AdSense no los llenaba (espacio vacío). */
.ad-slot { width: 100%; }
.ad-slot--logo { width: auto; }
.ad-slot--half { width: 300px; max-width: 100%; }
.ad-slot--rail { width: var(--rail); }
.ad-slot > ins.adsbygoogle, .ad-slot > div > ins.adsbygoogle { display: block; width: 100%; min-width: 250px; }
.ad-slot--rail ins.adsbygoogle { min-width: 0; width: 160px; }
.ad-slot--mpu { min-height: 0; }
/* Si AdSense no tiene anuncio para mostrar, el espacio se cierra en vez de quedar en negro. */
.ad-slot:has(ins.adsbygoogle[data-ad-status="unfilled"]),
.ad-band:has(ins.adsbygoogle[data-ad-status="unfilled"]),
.feed-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]),
.inread:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none !important; }
.ad-slot--billboard, .ad-slot--leader { max-width: 980px; }

/* v1.8.6 · Billboard delgado y de tamaño fijo: 728×90 en tableta y computador, 320×50 en celular */
.ad-band:has(.ad-slot[data-slot="fn_billboard_top"]), .ad-band:has(.ad--billboard) { padding: 12px 16px; }
.ad-slot[data-slot="fn_billboard_top"] { text-align: center; line-height: 0; }
.ad-slot[data-slot="fn_billboard_top"] ins.adsbygoogle {
  display: inline-block !important; min-width: 0 !important;
  width: 320px !important; height: 50px !important;
}
.ad--billboard { width: 320px !important; height: 50px !important; }
@media (min-width: 760px) {
  .ad-slot[data-slot="fn_billboard_top"] ins.adsbygoogle { width: 728px !important; height: 90px !important; }
  .ad--billboard { width: 728px !important; height: 90px !important; }
}

/* v1.8.6 · Ancla del celular: siempre una tira de 320×50, nunca un cuadro que tape la página */
.anchor-ad { justify-content: center; max-height: 66px; overflow: visible; }
.anchor-ad .ad-slot { width: auto; line-height: 0; text-align: center; }
.anchor-ad ins.adsbygoogle {
  display: inline-block !important; min-width: 0 !important;
  width: 320px !important; height: 50px !important; max-height: 50px !important; overflow: hidden !important;
}

/* v1.8.6 · Tamaños fijos de todos los espacios de AdSense (los "fluid" — In-article, In-feed — se adaptan solos) */
.ad-slot { text-align: center; }
.ad-slot ins.adsbygoogle:not([data-ad-format]) { display: inline-block !important; min-width: 0 !important; max-width: 100%; }
.ad-slot[data-slot="fn_rail_izq"] ins.adsbygoogle:not([data-ad-format]),
.ad-slot[data-slot="fn_rail_der"] ins.adsbygoogle:not([data-ad-format]),
.ad-slot[data-slot="fn_art_rail"] ins.adsbygoogle:not([data-ad-format]) { width: 160px !important; height: 600px !important; }
.ad-slot[data-slot^="fn_inread"] ins.adsbygoogle:not([data-ad-format]),
.ad-slot[data-slot="fn_podcast_inread"] ins.adsbygoogle:not([data-ad-format]),
.ad-slot[data-slot="fn_fin_nota"] ins.adsbygoogle:not([data-ad-format]),
.ad-slot[data-slot="fn_nativo"] ins.adsbygoogle:not([data-ad-format]),
.ad-slot[data-slot^="fn_home_infeed"] ins.adsbygoogle:not([data-ad-format]),
.ad-slot[data-slot="fn_art_sidebar"] ins.adsbygoogle:not([data-ad-format]) { width: 300px !important; height: 250px !important; }
@media (min-width: 760px) {
  .ad-slot[data-slot^="fn_home_infeed"] ins.adsbygoogle:not([data-ad-format]) { width: 728px !important; height: 90px !important; }
}
@media (min-width: 1061px) {
  .ad-slot[data-slot="fn_art_sidebar"] ins.adsbygoogle:not([data-ad-format]) { width: 300px !important; height: 600px !important; }
}

/* v1.8.6 · Riel izquierdo en la nota (pantallas de 1440 px o más) */
.art-rail { display: none; }
@media (min-width: 1440px) {
  .art-house--rail { max-width: calc(300px + 740px + 300px + 64px + 32px); grid-template-columns: 300px minmax(0, 1fr) 300px; gap: 32px; }
  .art-rail { display: block !important; }
  .art-rail__in { position: sticky; top: 84px; padding-top: 30px; }
}

/* v1.8.8 · Anuncios entre los widgets del home */
.ranking__ad { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); display: flex; justify-content: center; }
.ranking__ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none; }
.ad-slot[data-slot="fn_home_ranking"] ins.adsbygoogle:not([data-ad-format]) { width: 300px !important; height: 250px !important; }
.ad-slot[data-slot="fn_home_opinion"] ins.adsbygoogle:not([data-ad-format]),
.ad-slot[data-slot="fn_home_podcast"] ins.adsbygoogle:not([data-ad-format]),
.ad-slot[data-slot="fn_home_videos"] ins.adsbygoogle:not([data-ad-format]) { width: 300px !important; height: 250px !important; }
@media (min-width: 760px) {
  .ad-slot[data-slot="fn_home_opinion"] ins.adsbygoogle:not([data-ad-format]),
  .ad-slot[data-slot="fn_home_podcast"] ins.adsbygoogle:not([data-ad-format]),
  .ad-slot[data-slot="fn_home_videos"] ins.adsbygoogle:not([data-ad-format]) { width: 728px !important; height: 90px !important; }
}

/* v1.8.9 · Riel izquierdo de la nota del mismo ancho que la barra derecha (300×600) */
.art-rail .ad-slot[data-slot] ins.adsbygoogle:not([data-ad-format]) { width: 300px !important; height: 600px !important; }
.art-rail .ad--rail { width: 300px; height: 600px; }
.art-rail .ad-slot--rail { width: 300px; min-height: 600px; position: static; margin-top: 0; }

/* v1.8.9 · Anuncio entre una nota y la siguiente (scroll infinito) */
.next-ad { display: flex; justify-content: center; padding: 28px 0 4px; }
.next-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none; }
.ad-slot[data-slot="fn_entre_notas"] ins.adsbygoogle:not([data-ad-format]) { width: 300px !important; height: 250px !important; }
@media (min-width: 760px) {
  .ad-slot[data-slot="fn_entre_notas"] ins.adsbygoogle:not([data-ad-format]) { width: 728px !important; height: 90px !important; }
}

/* v1.8.9 · Tuits: reservan su espacio mientras cargan */
.fn-tweet { display: flex; justify-content: center; width: 100%; }
.fn-tweet > .twitter-tweet { margin-inline: auto !important; }

/* v1.9.1 · Incrustados (tuits, Instagram, etc.) sin esquinas blancas en modo oscuro.
   Con la página en modo oscuro, el navegador pinta un fondo blanco detrás de los iframes cuyo documento no
   declara modo oscuro; "normal" hace que coincidan y el fondo queda transparente. */
.art-body iframe, .fn-tweet iframe, .embed iframe, .wp-block-embed iframe { color-scheme: normal; }
.fn-tweet iframe { border-radius: 12px; }
