/* ============================================================
   RevistaLatina — Main Stylesheet  (NYT-style editorial)
   Brand: purple #4c4084 | gold #c8960e | Est. 2018, Raleigh NC
   ============================================================ */

/* ── Design tokens ─────────────────────────────────────────── */
:root {
    --rl-purple:        #4c4084;
    --rl-purple-dark:   #3a3065;
    --rl-purple-mid:    #5d4f97;
    --rl-purple-light:  #f0edf9;
    --rl-gold:          #c8960e;
    --rl-gold-light:    #fdf6e3;
    --rl-black:         #121212;
    --rl-text:          #222222;
    --rl-text-secondary:#555555;
    --rl-text-muted:    #888888;
    --rl-bg:            #ffffff;
    --rl-bg-alt:        #f7f7f7;
    --rl-white:         #ffffff;
    --rl-border:        #d8d8d8;
    --rl-border-light:  #ebebeb;
    --rl-font:          'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
    --rl-font-display:  'Playfair Display', Georgia, 'Times New Roman', serif;
    --rl-radius:        2px;
    --rl-radius-sm:     1px;
    --rl-container:     1200px;
    --rl-topbar-h:      38px;
    --rl-masthead-h:    auto;
    --rl-navbar-h:      46px;
}


/* ── Reset ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    margin: 0; padding: 0;
    font-family: var(--rl-font);
    font-size: 16px; line-height: 1.65;
    color: var(--rl-text);
    background: var(--rl-bg);
    -webkit-font-smoothing: antialiased;
}
img, video, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--rl-purple); text-decoration: none; }
a:hover { color: var(--rl-purple-dark); }
p { margin: 0 0 1.1em; }
h1,h2,h3,h4,h5,h6 {
    margin: 0 0 .55em; line-height: 1.2; font-weight: 700;
    color: var(--rl-black);
    font-family: var(--rl-font-display);
}
ul, ol { padding-left: 1.5em; margin: 0 0 1em; }
button, input, select, textarea { font-family: inherit; font-size: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--rl-purple); outline-offset: 2px; }


/* ── Layout container ──────────────────────────────────────── */
.rl-container,
.td-container {
    max-width: var(--rl-container);
    margin-left: auto; margin-right: auto;
    padding-left: 24px; padding-right: 24px;
}

/* WPBakery / td-composer grid */
.td-pb-row {
    display: flex; flex-wrap: wrap;
    margin-left: -16px; margin-right: -16px;
}
.td-pb-span12, .td-pb-span8, .td-pb-span6,
.td-pb-span4, .td-pb-span3 {
    padding-left: 16px; padding-right: 16px;
}
.td-pb-span12 { width: 100%; }
.td-pb-span8  { width: 66.666%; }
.td-pb-span6  { width: 50%; }
.td-pb-span4  { width: 33.333%; }
.td-pb-span3  { width: 25%; }
.td-main-content-wrap { display: block; }

/* Content/sidebar layout */
.rl-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    align-items: start;
    margin-top: 28px;
}
.rl-layout__main { min-width: 0; }
.rl-layout__sidebar { position: sticky; top: calc(var(--rl-navbar-h) + var(--rl-rp-h, 56px) + 16px); align-self: start; }

/* 3-column article layout: left-panel | content | right-sidebar */
.rl-layout--article {
    grid-template-columns: 220px 1fr 280px;
    gap: 36px;
}
.rl-layout__article-sidebar {
    position: sticky;
    top: calc(var(--rl-navbar-h) + var(--rl-rp-h, 56px) + 16px);
    align-self: start;
}

/* Left article panel */
.rl-article-panel--left {
    border-right: 1px solid var(--rl-border);
    padding-right: 16px;
}
.rl-article-panel__head {
    display: flex; align-items: center; gap: 7px;
    font-family: var(--rl-font);
    font-size: .6rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .18em;
    color: var(--rl-white);
    background: var(--rl-purple);
    padding: 7px 12px;
    margin: 0 0 12px;
    position: sticky;
    top: calc(var(--rl-navbar-h) + var(--rl-rp-h, 56px) + 4px);
    z-index: 1;
}
.rl-article-panel__star { color: var(--rl-gold); font-style: normal; }

/* Right sidebar: Reciente uses dark head */
.rl-sidebar__reciente .rl-sidebar__head { background: var(--rl-black); }

.rl-main { padding: 24px 0 48px; }
.rl-main--full { padding: 0; }


/* ── Top utility bar ───────────────────────────────────────── */
.rl-topbar {
    background: #1a1633;
    color: rgba(255,255,255,.72);
    font-size: .7rem;
    letter-spacing: .06em;
    height: 38px;
    border-bottom: 2px solid var(--rl-gold);
}
.rl-topbar__inner {
    display: flex; align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    max-width: var(--rl-container);
    margin: 0 auto;
    height: 100%;
}
.rl-topbar__date {
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: .67rem;
    color: rgba(255,255,255,.55);
}
.rl-topbar__social {
    display: flex; align-items: center; gap: 18px;
}
.rl-topbar__social a {
    color: rgba(255,255,255,.72);
    display: flex; align-items: center;
    transition: color .18s, transform .15s;
}
.rl-topbar__social a:hover {
    color: var(--rl-gold);
    transform: translateY(-1px);
}


/* ── Masthead (editorial centerpiece) ──────────────────────── */
.rl-masthead {
    background: var(--rl-white);
    border-bottom: 3px solid var(--rl-black);
    padding: 22px 24px 20px;
    text-align: center;
    position: relative;
}
.rl-masthead__inner {
    max-width: var(--rl-container);
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
/* Logo mark LEFT + vertical rule + text block RIGHT */
.rl-masthead__link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
    text-decoration: none;
}
.rl-masthead__logo {
    height: 78px; width: auto;
    display: block; flex-shrink: 0;
    object-fit: contain;
}
.rl-masthead__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    padding-left: 24px;
    margin-left: 24px;
    border-left: 2px solid #d0d0d0;
}
.rl-masthead__wordmark {
    font-family: var(--rl-font-display);
    font-size: clamp(1.9rem, 4vw, 3rem);
    font-weight: 800;
    color: var(--rl-black);
    letter-spacing: .06em;
    line-height: 1;
    display: block;
}
.rl-masthead__tagline {
    font-family: var(--rl-font);
    font-size: .62rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--rl-text-muted);
    margin: 7px 0 0;
    font-weight: 400;
}
.rl-masthead__search-btn {
    position: absolute;
    right: 24px; top: 50%;
    transform: translateY(-50%);
    background: none;
    color: var(--rl-black);
    padding: 8px;
    display: flex; align-items: center;
    border: 1px solid var(--rl-border);
    cursor: pointer;
    transition: border-color .15s, color .15s;
}
.rl-masthead__search-btn:hover {
    border-color: var(--rl-black);
    color: var(--rl-purple);
}

/* Legacy rl-logobar references (keep for back-compat) */
.rl-logobar { display: none; }


/* ── Navigation bar ────────────────────────────────────────── */
.rl-navbar {
    background: var(--rl-purple);
    position: sticky; top: 0; z-index: 900;
    height: var(--rl-navbar-h);
    border-bottom: 3px solid var(--rl-gold);
}
.rl-navbar__inner {
    max-width: var(--rl-container);
    margin: 0 auto; height: 100%;
    padding: 0 24px;
    display: flex; align-items: center;
    justify-content: space-between;
    gap: 8px;
}

/* Mini logo inside sticky navbar */
.rl-navbar__logo-mini {
    display: none; align-items: center;
    color: rgba(255,255,255,.9);
    font-family: var(--rl-font-display);
    font-weight: 800; font-size: .92rem;
    letter-spacing: .08em;
    text-decoration: none;
    white-space: nowrap;
}

/* Main nav menu */
.rl-nav {
    display: flex; list-style: none;
    margin: 0; padding: 0;
    align-items: stretch;
    height: 100%;
}
.rl-nav > li { position: relative; display: flex; align-items: stretch; }
.rl-nav > li > a {
    display: flex; align-items: center;
    padding: 0 14px;
    height: 100%;
    color: rgba(255,255,255,.85);
    font-size: .7rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: background .12s, color .12s, border-color .12s;
    white-space: nowrap;
}
.rl-nav > li > a:hover,
.rl-nav > li.current-menu-item > a,
.rl-nav > li.current-menu-ancestor > a {
    color: var(--rl-white);
    border-bottom-color: var(--rl-gold);
    background: rgba(0,0,0,.12);
}

/* Dropdown */
.rl-nav > li > ul {
    display: none; position: absolute; top: 100%; left: 0;
    background: var(--rl-white);
    min-width: 200px; list-style: none; margin: 0; padding: 4px 0;
    border-top: 3px solid var(--rl-gold);
    border: 1px solid var(--rl-border);
    border-top: 3px solid var(--rl-gold);
    z-index: 100;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.rl-nav > li:hover > ul { display: block; }
.rl-nav > li > ul > li > a {
    display: block; padding: 9px 18px;
    color: var(--rl-text);
    font-size: .78rem; font-weight: 500;
    text-transform: none; letter-spacing: 0;
    transition: background .1s, color .1s;
}
.rl-nav > li > ul > li > a:hover {
    background: var(--rl-purple-light);
    color: var(--rl-purple);
}

/* Hamburger button */
.rl-navbar__toggle {
    display: none; align-items: center; justify-content: center;
    background: none; border: none;
    width: 44px; height: var(--rl-navbar-h);
    color: rgba(255,255,255,.9);
    padding: 0;
}
.rl-hamburger,
.rl-hamburger::before,
.rl-hamburger::after {
    display: block; width: 22px; height: 2px;
    background: currentColor;
    transition: transform .22s, opacity .22s;
}
.rl-hamburger { position: relative; }
.rl-hamburger::before,
.rl-hamburger::after { content: ''; position: absolute; left: 0; }
.rl-hamburger::before { top: -7px; }
.rl-hamburger::after  { top:  7px; }
.rl-navbar__toggle[aria-expanded="true"] .rl-hamburger { background: transparent; }
.rl-navbar__toggle[aria-expanded="true"] .rl-hamburger::before { transform: translateY(7px) rotate(45deg); }
.rl-navbar__toggle[aria-expanded="true"] .rl-hamburger::after  { transform: translateY(-7px) rotate(-45deg); }


/* ── Search overlay ────────────────────────────────────────── */
.rl-search-overlay {
    position: fixed; inset: 0;
    background: rgba(18,18,18,.95);
    z-index: 1000;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none;
    transition: opacity .2s;
}
.rl-search-overlay[aria-hidden="false"] { opacity: 1; pointer-events: auto; }
.rl-search-overlay__inner {
    width: 100%; max-width: 620px; padding: 0 24px;
    position: relative;
}
.rl-search-form {
    display: flex;
    border: 1px solid rgba(255,255,255,.3);
}
.rl-search-form__input {
    flex: 1; padding: 14px 20px;
    background: rgba(255,255,255,.08);
    border: none; outline: none;
    font-size: 1.1rem; color: var(--rl-white);
    font-family: var(--rl-font-display);
}
.rl-search-form__input::placeholder { color: rgba(255,255,255,.4); }
.rl-search-form__btn {
    background: var(--rl-white); border: none;
    padding: 0 20px; color: var(--rl-black);
    display: flex; align-items: center;
    transition: background .15s;
}
.rl-search-form__btn:hover { background: rgba(255,255,255,.88); }
.rl-search-overlay__close {
    position: absolute; top: -48px; right: 24px;
    background: none; border: none;
    color: rgba(255,255,255,.6); padding: 6px;
    display: flex; align-items: center;
    transition: color .15s;
}
.rl-search-overlay__close:hover { color: var(--rl-white); }


/* ── Mobile nav drawer ─────────────────────────────────────── */
.rl-nav-drawer {
    position: fixed; top: 0; left: 0; bottom: 0;
    width: 280px; background: var(--rl-white);
    z-index: 1100;
    transform: translateX(-100%);
    transition: transform .26s ease;
    box-shadow: 4px 0 24px rgba(0,0,0,.15);
    display: flex; flex-direction: column;
}
.rl-nav-drawer[aria-hidden="false"] { transform: translateX(0); }
.rl-nav-drawer__inner { display: flex; flex-direction: column; height: 100%; overflow-y: auto; }
.rl-nav-drawer__header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px;
    background: var(--rl-purple);
    color: var(--rl-white);
    border-bottom: 3px solid var(--rl-gold);
    flex-shrink: 0;
}
.rl-nav-drawer__brand {
    font-family: var(--rl-font-display);
    font-weight: 800; font-size: .9rem;
    letter-spacing: .06em;
}
.rl-nav-drawer__close { background: none; border: none; color: inherit; display: flex; padding: 4px; }
.rl-nav-drawer__close:hover { opacity: .75; }
.rl-nav-drawer__menu { list-style: none; margin: 0; padding: 6px 0; flex: 1; }
.rl-nav-drawer__menu li a {
    display: block; padding: 12px 18px;
    color: var(--rl-text); font-size: .85rem; font-weight: 600;
    border-bottom: 1px solid var(--rl-border-light);
    letter-spacing: .04em; text-transform: uppercase;
    transition: color .12s, background .12s;
}
.rl-nav-drawer__menu li a:hover {
    background: var(--rl-purple-light);
    color: var(--rl-purple);
}
.rl-nav-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1099;
    opacity: 0; pointer-events: none;
    transition: opacity .26s;
}
.rl-nav-overlay[aria-hidden="false"] { opacity: 1; pointer-events: auto; }


/* ── Front page (old WPBakery compat — kept hidden) ────────── */
.rl-frontpage-content { width: 100%; }
.rl-frontpage-content .td-pb-row { margin-left: 0; margin-right: 0; }
.rl-main--full { padding: 0; }
.rl-frontpage-content .td-container,
.rl-frontpage-content .td-main-content-wrap { padding: 0; max-width: 100%; }


/* ════════════════════════════════════════════════════════════
   RL News Layout — Proprietary Newspaper Grid
   ════════════════════════════════════════════════════════════ */

/* ── Front page wrapper ─────────────────────────────────────── */
.rl-fp { padding: 28px 0 60px; }
.rl-fp .rl-container { max-width: var(--rl-container); }

/* ── Section header (newspaper-style label with rule) ──────── */
.rln-section-head {
    display: flex; align-items: baseline; justify-content: space-between;
    border-top: 4px solid var(--rl-black);
    border-bottom: 1px solid var(--rl-border);
    padding: 7px 0 9px;
    margin-bottom: 20px;
}
.rln-section-head__label,
.rln-section-head__link {
    font-family: var(--rl-font);
    font-size: .72rem; font-weight: 900;
    letter-spacing: .2em; text-transform: uppercase;
    color: var(--rl-black);
    text-decoration: none;
}
.rln-section-head__link:hover { color: var(--rl-purple); }
.rln-section-head__more {
    font-family: var(--rl-font);
    font-size: .62rem; font-weight: 600;
    color: var(--rl-purple); text-decoration: none;
    letter-spacing: .04em;
    transition: color .12s;
}
.rln-section-head__more:hover { color: var(--rl-purple-dark); text-decoration: underline; }

/* ── Category label (inline badge) ─────────────────────────── */
.rln-cat {
    display: inline-block;
    font-family: var(--rl-font);
    font-size: .72rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    color: var(--rl-purple); text-decoration: none;
    margin-bottom: 6px;
}
.rln-cat:hover { color: var(--rl-purple-dark); }
.rln-cat--comunidad   { color: #2a7a2a; }
.rln-cat--salud       { color: #1a7a6a; }
.rln-cat--educacion   { color: #1a5fa0; }
.rln-cat--cultura     { color: #8b1a8b; }
.rln-cat--evento      { color: #c0392b; }
.rln-cat--inmigracion { color: #c06b00; }
.rln-cat--politica    { color: #5a0a5a; }
.rln-cat--receta      { color: #a05a00; }
.rln-cat--autor       { color: #555555; }

/* ── Top row: hero-main (left) + headlines sidebar (right) ───── */
.rl-fp__top-row {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    margin-bottom: 32px;
    border-bottom: 1px solid var(--rl-border);
    padding-bottom: 32px;
    align-items: start;
}
.rl-fp__hero-main { min-width: 0; }

/* ── Hero article ───────────────────────────────────────────── */
.rl-fp__hero-col {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--rl-border-light);
}
.rln-hero { display: flex; flex-direction: column; }
.rln-hero__img-wrap {
    display: block; overflow: hidden;
    aspect-ratio: 16/9; margin-bottom: 16px;
}
.rln-hero__img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .35s ease;
    display: block;
}
.rln-hero__img-wrap:hover .rln-hero__img { transform: scale(1.03); }
.rln-hero__body {}
.rln-hero__title {
    font-family: var(--rl-font-display);
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    font-weight: 800; line-height: 1.12;
    margin: 8px 0 14px; color: var(--rl-black);
}
.rln-hero__title a { color: inherit; text-decoration: none; }
.rln-hero__title a:hover { color: var(--rl-purple); }
.rln-hero__excerpt {
    font-size: 1.02rem; line-height: 1.68;
    color: var(--rl-text-secondary); margin: 0 0 14px;
}
.rln-hero__meta {
    font-size: .78rem; font-style: italic;
    color: var(--rl-text-muted);
    display: flex; align-items: center; gap: 7px;
}
.rln-hero__author { font-weight: 600; }
.rln-meta__sep { opacity: .4; }

/* ── Secondary sub-row (2 featured cards side-by-side) ─────────── */
.rl-fp__secondary-sub {
    display: grid; grid-template-columns: 1fr 1fr; gap: 28px;
}
.rl-fp__secondary-sub .rln-card--featured:not(:last-child) {
    border-bottom: none; padding-bottom: 0; margin-bottom: 0;
}

/* Legacy: old secondary-col stays in case used elsewhere */
.rl-fp__secondary-col {
    padding-left: 28px;
    display: flex; flex-direction: column; gap: 0;
}
.rln-card--featured:not(:last-child) {
    border-bottom: 1px solid var(--rl-border);
    padding-bottom: 18px; margin-bottom: 18px;
}
.rln-card--featured .rln-card__img-wrap {
    display: block; overflow: hidden; margin-bottom: 10px;
    aspect-ratio: 16/10;
}
.rln-card--featured .rln-card__img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .3s ease; display: block;
}
.rln-card--featured .rln-card__img-wrap:hover .rln-card__img { transform: scale(1.03); }
.rln-card--featured .rln-card__title {
    font-family: var(--rl-font-display);
    font-size: 1.18rem; font-weight: 700; line-height: 1.25;
    margin: 5px 0 8px; color: var(--rl-black);
}
.rln-card--featured .rln-card__title a { color: inherit; text-decoration: none; }
.rln-card--featured .rln-card__title a:hover { color: var(--rl-purple); }
.rln-card--featured .rln-card__excerpt {
    font-size: .9rem; color: var(--rl-text-secondary);
    line-height: 1.6; margin: 0 0 8px;
    display: -webkit-box; -webkit-line-clamp: 3;
    -webkit-box-orient: vertical; overflow: hidden;
}
.rln-card--featured .rln-card__meta {
    font-size: .75rem; color: var(--rl-text-muted); font-style: italic;
}

/* ── Section block wrapper ───────────────────────────────────── */
.rl-fp__block {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--rl-border);
}
.rl-fp__block:last-of-type { border-bottom: none; }

/* ── Grids ───────────────────────────────────────────────────── */
.rl-fp__grid {
    display: grid;
    gap: 24px;
    align-items: start;
}
.rl-fp__grid--4 { grid-template-columns: repeat(4, 1fr); }
.rl-fp__grid--3 { grid-template-columns: repeat(3, 1fr); }
.rl-fp__grid--2 { grid-template-columns: repeat(2, 1fr); }

/* Standard card */
.rln-card--std .rln-card__img-wrap {
    display: block; overflow: hidden;
    aspect-ratio: 3/2; margin-bottom: 10px;
}
.rln-card--std .rln-card__img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .3s ease; display: block;
}
.rln-card--std .rln-card__img-wrap:hover .rln-card__img { transform: scale(1.03); }
.rln-card--std .rln-card__title {
    font-family: var(--rl-font-display);
    font-size: 1.05rem; font-weight: 700; line-height: 1.28;
    margin: 5px 0 6px;
}
.rln-card--std .rln-card__title a { color: var(--rl-black); text-decoration: none; }
.rln-card--std .rln-card__title a:hover { color: var(--rl-purple); }
.rln-card--std .rln-card__meta {
    font-size: .75rem; color: var(--rl-text-muted); font-style: italic;
}

/* ── Pair layout (2 narrow sections side by side) ────────────── */
.rl-fp__pair {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 28px;
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--rl-border);
    align-items: start;
}
.rl-fp__pair-rule { background: var(--rl-border); width: 1px; }

/* Small card (thumbnail + title, side by side) */
.rln-card--small {
    display: flex; gap: 12px; align-items: flex-start;
    border-bottom: 1px solid var(--rl-border-light);
    padding-bottom: 12px; margin-bottom: 12px;
}
.rln-card--small:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.rln-card__img-wrap--sm {
    display: block; overflow: hidden; flex-shrink: 0;
    width: 80px; aspect-ratio: 4/3;
}
.rln-card--small .rln-card__img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.rln-card--small .rln-card__body { min-width: 0; }
.rln-card--small .rln-cat { font-size: .66rem; margin-bottom: 3px; }
.rln-card--small .rln-card__title {
    font-family: var(--rl-font-display);
    font-size: .96rem; font-weight: 700; line-height: 1.28; margin: 0 0 4px;
}
.rln-card--small .rln-card__title a { color: var(--rl-black); text-decoration: none; }
.rln-card--small .rln-card__title a:hover { color: var(--rl-purple); }
.rln-card--small .rln-card__date { font-size: .7rem; color: var(--rl-text-muted); font-style: italic; }

/* List item */
.rln-list-item {
    border-bottom: 1px solid var(--rl-border-light);
    padding-bottom: 11px; margin-bottom: 11px;
}
.rln-list-item:last-child { border-bottom: none; }
.rln-list-item .rln-cat { font-size: .66rem; margin-bottom: 3px; }
.rln-list-item__title {
    font-family: var(--rl-font-display);
    font-size: 1rem; font-weight: 700; line-height: 1.28; margin: 0 0 3px;
}
.rln-list-item__title a { color: var(--rl-black); text-decoration: none; }
.rln-list-item__title a:hover { color: var(--rl-purple); }
.rln-list-item__date { font-size: .7rem; color: var(--rl-text-muted); font-style: italic; }

/* ── Widget strip ───────────────────────────────────────────── */
.rl-fp__widget-strip {
    display: flex; flex-wrap: wrap; gap: 24px;
    padding: 28px 0;
    border-top: 4px solid var(--rl-black);
}
.rl-fp__widget-strip .widget {
    flex: 1 1 240px; min-width: 200px;
}
.rl-fp__widget-strip .widget-title {
    font-family: var(--rl-font) !important;
    font-size: .65rem !important; font-weight: 800 !important;
    text-transform: uppercase !important; letter-spacing: .2em !important;
    color: var(--rl-black) !important;
    border-top: 3px solid var(--rl-black) !important;
    border-bottom: 1px solid var(--rl-border) !important;
    padding: 7px 0 8px !important; margin: 0 0 14px !important;
}

/* ── Section nav strip (front page) ─────────────────────────── */
.rl-fp__section-nav {
    border-bottom: 2px solid var(--rl-border);
    margin-bottom: 28px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.rl-fp__section-nav::-webkit-scrollbar { display: none; }
.rl-fp__section-nav-list {
    display: flex; list-style: none;
    margin: 0; padding: 0; gap: 0;
    white-space: nowrap;
}
.rl-fp__section-nav-list li a {
    display: block; padding: 10px 14px;
    font-family: var(--rl-font);
    font-size: .68rem; font-weight: 800;
    letter-spacing: .15em; text-transform: uppercase;
    color: var(--rl-text-secondary); text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: color .12s, border-color .12s;
}
.rl-fp__section-nav-list li a:hover { color: var(--rl-black); border-bottom-color: var(--rl-black); }

/* ── Headlines sidebar (3rd col in top row) ──────────────────── */
.rl-fp__headlines-col {
    padding-left: 20px;
    border-left: 1px solid var(--rl-border);
}
.rl-fp__headline-item {
    display: flex; gap: 10px; align-items: flex-start;
    border-bottom: 1px solid var(--rl-border-light);
    padding-bottom: 11px; margin-bottom: 11px;
}
.rl-fp__headline-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.rl-fp__headline-num {
    font-family: var(--rl-font-display);
    font-size: 1.5rem; font-weight: 800;
    color: #b8b8b8; line-height: 1;
    flex-shrink: 0; margin-top: 1px; min-width: 22px;
}
.rl-fp__headline-body { min-width: 0; }
.rl-fp__headline-body .rln-cat { font-size: .62rem; margin-bottom: 3px; }
.rl-fp__headline-title {
    font-family: var(--rl-font-display);
    font-size: .92rem; font-weight: 700; line-height: 1.3;
    color: var(--rl-black); text-decoration: none; display: block;
}
.rl-fp__headline-title:hover { color: var(--rl-purple); }
.rl-fp__headline-date { font-size: .68rem; color: var(--rl-text-muted); font-style: italic; display: block; margin-top: 3px; }
.rl-fp__headlines-ad { margin-top: 16px; border-top: 1px solid var(--rl-border-light); padding-top: 10px; }

/* ── La Semana digest strip (dark) ──────────────────────────── */
.rl-fp__semana {
    display: flex; align-items: stretch;
    margin-bottom: 32px;
    border-top: 4px solid var(--rl-purple);
    background: var(--rl-black);
}
.rl-fp__semana-badge {
    display: flex; align-items: center; justify-content: center;
    background: var(--rl-purple); padding: 16px 18px; flex-shrink: 0;
    min-width: 88px;
}
.rl-fp__semana-badge span {
    font-family: var(--rl-font-display);
    font-size: .88rem; font-weight: 800; color: var(--rl-white);
    writing-mode: vertical-lr; text-orientation: mixed;
    transform: rotate(180deg);
    letter-spacing: .14em; text-transform: uppercase; white-space: nowrap;
}
.rl-fp__semana-items { display: grid; grid-template-columns: repeat(3, 1fr); flex: 1; }
.rl-semana-item {
    padding: 18px 22px;
    border-right: 1px solid rgba(255,255,255,.07);
}
.rl-semana-item:last-child { border-right: none; }
.rl-semana-item .rln-cat { color: var(--rl-gold) !important; font-size: .56rem; margin-bottom: 4px; }
.rl-semana-item__title {
    font-family: var(--rl-font-display);
    font-size: .9rem; font-weight: 700; color: #fff;
    line-height: 1.3; margin: 0 0 6px;
    text-decoration: none; display: block;
}
.rl-semana-item__title:hover { color: var(--rl-gold); }
.rl-semana-item__date { font-size: .6rem; color: rgba(255,255,255,.38); font-style: italic; }

/* ── Tienes que leerlo editorial callout ─────────────────────── */
.rl-fp__tleerlo {
    background: #f8f5ef;
    border-top: 4px solid var(--rl-gold);
    border-bottom: 1px solid #e5dcc8;
    padding: 22px 28px 28px;
    margin-bottom: 32px;
}
.rl-fp__tleerlo-head {
    display: flex; align-items: baseline; justify-content: space-between;
    margin-bottom: 18px; padding-bottom: 10px;
    border-bottom: 1px solid #e5dcc8;
}
.rl-fp__tleerlo-wordmark {
    font-family: var(--rl-font-display);
    font-size: 1.05rem; font-weight: 800; font-style: italic;
    color: var(--rl-black); margin: 0;
    display: flex; align-items: center; gap: 8px;
}
.rl-fp__tleerlo-wordmark::before { content: '★'; color: var(--rl-gold); font-style: normal; font-size: .85rem; }
.rl-fp__tleerlo-sublabel {
    font-size: .6rem; font-weight: 700;
    letter-spacing: .18em; text-transform: uppercase;
    color: var(--rl-text-muted);
}
.rl-fp__tleerlo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

/* ── Section head color variants ─────────────────────────────── */
.rln-section-head--comunidad   { border-top-color: #2a7a2a; }
.rln-section-head--educacion   { border-top-color: #1a5fa0; }
.rln-section-head--salud       { border-top-color: #1a7a6a; }
.rln-section-head--cultura     { border-top-color: #8b1a8b; }
.rln-section-head--arte        { border-top-color: #8b1a8b; }
.rln-section-head--politica    { border-top-color: #5a0a5a; }
.rln-section-head--inmigracion { border-top-color: #c06b00; }
.rln-section-head--opinion     { border-top-color: #555555; }
.rln-section-head--comunidad   .rln-section-head__link { color: #2a7a2a; }
.rln-section-head--educacion   .rln-section-head__link { color: #1a5fa0; }
.rln-section-head--salud       .rln-section-head__link { color: #1a7a6a; }
.rln-section-head--cultura     .rln-section-head__link { color: #8b1a8b; }
.rln-section-head--arte        .rln-section-head__link { color: #8b1a8b; }
.rln-section-head--politica    .rln-section-head__link { color: #5a0a5a; }
.rln-section-head--inmigracion .rln-section-head__link { color: #c06b00; }

/* Arte category label color */
.rln-cat--arte { color: #8b1a8b; }

/* ── Recetas dark section ────────────────────────────────────── */
.rl-fp__recetas {
    background: #1c0f00;
    padding: 24px 28px 32px;
    margin-top: 28px; margin-bottom: 0;
    border-top: 3px solid var(--rl-gold);
}
.rl-fp__recetas .rln-section-head {
    border-top-color: var(--rl-gold) !important;
    border-bottom-color: rgba(255,255,255,.12) !important;
}
.rl-fp__recetas .rln-section-head__link,
.rl-fp__recetas .rln-section-head__label   { color: var(--rl-gold) !important; }
.rl-fp__recetas .rln-section-head__more    { color: rgba(255,255,255,.45) !important; }
.rl-fp__recetas .rln-section-head__more:hover { color: var(--rl-gold) !important; }
.rl-fp__recetas .rln-cat                   { color: var(--rl-gold) !important; }
.rl-fp__recetas .rln-card__title a         { color: #fff !important; }
.rl-fp__recetas .rln-card__title a:hover   { color: var(--rl-gold) !important; }
.rl-fp__recetas .rln-card__meta,
.rl-fp__recetas .rln-card__date            { color: rgba(255,255,255,.38) !important; }
.rl-fp__recetas .rln-card__excerpt         { color: rgba(255,255,255,.58) !important; }
.rl-fp__recetas .rln-card--featured:not(:last-child) { border-bottom-color: rgba(255,255,255,.12) !important; }
.rl-fp__recetas .rln-card--featured .rln-card__title a       { color: #fff !important; }
.rl-fp__recetas .rln-card--featured .rln-card__title a:hover { color: var(--rl-gold) !important; }
.rl-fp__recetas .rln-card--featured .rln-card__excerpt       { color: rgba(255,255,255,.58) !important; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1100px) {
    /* Shrink headlines col slightly but keep it */
    .rl-fp__top-row { grid-template-columns: 1fr 260px; gap: 32px; }
}
@media (max-width: 1024px) {
    /* Drop to single column; hide headlines sidebar */
    .rl-fp__top-row { grid-template-columns: 1fr; gap: 24px; }
    .rl-fp__headlines-col { display: none; }
    .rl-fp__grid--4 { grid-template-columns: repeat(2, 1fr); }
    .rl-fp__tleerlo-grid { grid-template-columns: repeat(2, 1fr); }
    .rl-fp__recetas .rl-fp__grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .rl-fp__hero-col { margin-bottom: 20px; padding-bottom: 20px; }
    .rl-fp__secondary-sub { gap: 20px; }
    .rl-fp__grid--3 { grid-template-columns: repeat(2, 1fr); }
    .rl-fp__semana-items { grid-template-columns: 1fr; }
    .rl-fp__semana-badge { display: none; }
    .rl-semana-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.07); padding: 14px 18px; }
    .rl-semana-item:last-child { border-bottom: none; }
    body.rl-home .rl-fp__hero-col .rln-hero .rln-hero__img-wrap { aspect-ratio: 16/9; }
}
@media (max-width: 768px) {
    .rl-fp__secondary-sub { grid-template-columns: 1fr; }
    .rl-fp__grid--4, .rl-fp__grid--3, .rl-fp__grid--2 { grid-template-columns: 1fr; }
    .rl-fp__pair { grid-template-columns: 1fr; }
    .rl-fp__pair-rule { display: none; }
    body.rl-home .rl-fp__hero-col .rln-hero .rln-hero__title { font-size: clamp(1.5rem, 6vw, 2rem); }
    .rl-fp__tleerlo-grid { grid-template-columns: 1fr; }
    .rl-fp__tleerlo { padding: 18px 20px 22px; }
    .rl-fp__recetas { padding: 18px 16px 24px; }
    .rl-fp__section-nav-list li a { padding: 8px 10px; font-size: .57rem; }
}


/* ── Front-page hero: dominant image (cinematic) + large title ── */
body.rl-home .rl-fp__hero-col .rln-hero {
    display: block;
}
body.rl-home .rl-fp__hero-col .rln-hero .rln-hero__img-wrap {
    aspect-ratio: 21/9;
    margin-bottom: 20px;
}
body.rl-home .rl-fp__hero-col .rln-hero .rln-hero__title {
    font-size: clamp(2rem, 3.4vw, 3rem);
    line-height: 1.06;
    margin: 10px 0 14px;
    letter-spacing: -.01em;
}
body.rl-home .rl-fp__hero-col .rln-hero .rln-hero__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 70ch;
}
/* Secondary cards inside hero-main: smaller image */
.rl-fp__secondary-sub .rln-card--featured .rln-card__img-wrap {
    aspect-ratio: 4/3;
}
/* ── Featured-first grids (first card 2× wider) ──────────────── */
.rl-fp__grid--4-featured { grid-template-columns: 2fr 1fr 1fr 1fr; }
.rl-fp__grid--3-featured { grid-template-columns: 2fr 1fr 1fr; }
.rl-fp__grid--4-featured > *:first-child .rln-card__title,
.rl-fp__grid--3-featured > *:first-child .rln-card__title {
    font-size: 1.35rem; line-height: 1.2;
}
.rl-fp__grid--4-featured > *:first-child .rln-card__img-wrap,
.rl-fp__grid--3-featured > *:first-child .rln-card__img-wrap {
    aspect-ratio: 16/9;
}
/* ── Últimas Noticias: river (2-col horizontal list) ─────────── */
.rl-fp__river-wrap {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 0 40px;
}
.rln-card--river {
    display: grid; grid-template-columns: 110px 1fr;
    gap: 14px; align-items: start;
    border-bottom: 1px solid var(--rl-border-light);
    padding-bottom: 16px; margin-bottom: 16px;
}
.rln-card--river:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.rln-card--river .rln-card__img-wrap {
    display: block; overflow: hidden; aspect-ratio: 4/3; flex-shrink: 0;
}
.rln-card--river .rln-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.rln-card--river .rln-card__img-wrap:hover .rln-card__img { transform: scale(1.03); }
.rln-card--river .rln-cat { font-size: .66rem; margin-bottom: 3px; }
.rln-card--river .rln-card__title {
    font-family: var(--rl-font-display);
    font-size: 1rem; font-weight: 700; line-height: 1.28; color: var(--rl-black); margin: 0 0 6px;
}
.rln-card--river .rln-card__title a { color: inherit; text-decoration: none; }
.rln-card--river .rln-card__title a:hover { color: var(--rl-purple); }
.rln-card--river .rln-card__excerpt {
    font-size: .84rem; color: var(--rl-text-secondary); line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 5px;
}
.rln-card--river .rln-card__meta { font-size: .72rem; color: var(--rl-text-muted); font-style: italic; }
@media (max-width: 1024px) {
    .rl-fp__grid--4-featured { grid-template-columns: 2fr 1fr 1fr; }
    .rl-fp__grid--3-featured { grid-template-columns: 1fr 1fr; }
}
/* (hero responsive handled in main responsive block above) */
@media (max-width: 768px) {
    .rl-fp__grid--4-featured,
    .rl-fp__grid--3-featured { grid-template-columns: 1fr; }
    .rl-fp__river-wrap { grid-template-columns: 1fr; }
    .rln-card--river { grid-template-columns: 90px 1fr; }
}

/* ── Breaking / latest news strip ───────────────────────────── */
.rl-fp__breaking {
    display: flex; align-items: center; gap: 0;
    padding: 7px 0;
    border-top: 1px solid var(--rl-border);
    border-bottom: 1px solid var(--rl-border);
    margin-bottom: 20px;
    overflow: hidden;
}
.rl-fp__breaking-label {
    font-family: var(--rl-font);
    font-size: .58rem; font-weight: 900;
    letter-spacing: .2em; text-transform: uppercase;
    color: var(--rl-white);
    background: var(--rl-black);
    padding: 4px 10px;
    flex-shrink: 0; margin-right: 14px;
    white-space: nowrap;
}
.rl-fp__breaking-scroll {
    display: flex; align-items: center; gap: 10px;
    overflow-x: auto; scrollbar-width: none; white-space: nowrap;
    mask-image: linear-gradient(to right, black 85%, transparent 100%);
}
.rl-fp__breaking-scroll::-webkit-scrollbar { display: none; }
.rl-fp__breaking-item {
    display: inline-flex; align-items: center; gap: 5px;
    font-family: var(--rl-font); font-size: .78rem;
    color: var(--rl-text); text-decoration: none;
}
.rl-fp__breaking-item:hover { color: var(--rl-purple); }
.rl-fp__breaking-item .rln-cat { font-size: .54rem; margin-bottom: 0; }
.rl-fp__breaking-sep { color: var(--rl-border); font-size: 1rem; font-weight: 300; }

/* ── Ad zones & placeholders ─────────────────────────────────── */

/* Shared ad zone wrapper */
.rl-ad-zone {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center;
    padding: 12px 0;
}
.rl-ad-zone .widget,
.rl-fp__ad-zone .widget { margin: 0 auto; display: inline-block; }

/* Shared "Publicidad" eyebrow label */
.rl-ad-zone__label,
.rl-fp__ad-label {
    display: block;
    font-size: .52rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .18em;
    color: var(--rl-text-muted);
    margin-bottom: 8px;
}

/* Front-page ad zone frame */
.rl-fp__ad-zone {
    border-top: 1px solid var(--rl-border);
    border-bottom: 1px solid var(--rl-border);
    background: #fafafa;
    margin-bottom: 28px;
    padding: 14px 0 16px;
}

/* Article below-content ad zone */
.rl-ad-zone--article {
    margin-top: 28px; margin-bottom: 8px;
    border-top: 1px solid var(--rl-border-light);
    border-bottom: 1px solid var(--rl-border-light);
    padding: 14px 0;
}

/* In-content floating ad (auto-injected) */
.rl-ad-zone--incontent {
    float: right;
    margin: 4px 0 20px 28px;
    clear: right;
    max-width: 300px;
    padding: 0;
}
.rl-ad-zone--incontent .rl-ad-zone__label { font-size: .48rem; margin-bottom: 5px; }

/* Sidebar ad slots */
.rl-ad-zone--sidebar {
    padding: 0;
    border: 1px solid var(--rl-border-light);
    background: #fafafa;
}
.rl-ad-zone--sidebar .rl-ad-zone__label { margin-top: 8px; }

/* ── Placeholder frame (shown when widget area is empty) ──────── */
.rl-ad-placeholder {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 5px;
    width: 100%;
    background: #f6f6f6;
    border: 2px dashed #d2d2d2;
    border-radius: 2px;
    padding: 18px 12px;
    margin: 0 auto;
    box-sizing: border-box;
    transition: border-color .18s, background .18s;
}
.rl-ad-placeholder:hover {
    border-color: var(--rl-purple-mid);
    background: var(--rl-purple-light);
}
.rl-ad-placeholder__type {
    font-size: .65rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .16em;
    color: #c0c0c0;
}
.rl-ad-placeholder__size {
    font-size: .62rem;
    color: #cacaca; font-style: italic;
    letter-spacing: .03em;
}

/* ── Read time badge on cards ────────────────────────────────── */
.rln-card__readtime {
    font-size: .6rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em;
    color: var(--rl-text-muted);
}
.rln-card__readtime::before { content: '·'; margin: 0 4px; opacity: .4; }

/* ── td-composer block integration — NYT newspaper style ────── */

/* Section title bars */
.td-block-title-wrap {
    border-top: 4px solid var(--rl-black) !important;
    border-bottom: 1px solid var(--rl-border) !important;
    padding: 8px 0 10px !important;
    margin-bottom: 20px !important;
    display: flex; align-items: center; justify-content: space-between;
    background: transparent !important;
}
/* High specificity: beats td-composer's body .tdi_N .td-block-title a (0,2,2)+!important */
/* Our selector body.rl-home .td-block-title-wrap .td-block-title a = (0,3,2)+!important */
body.rl-home .td-block-title-wrap .td-block-title,
body.rl-home .td-block-title-wrap .td-block-title a,
body.rl-home .td-block-title-wrap .td-block-title span,
body.rl-home .td-block-title-wrap .td-block-title * {
    font-family: var(--rl-font) !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: var(--rl-black) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
}

/* Module separator lines */
.td-module-container:before {
    border-color: var(--rl-border) !important;
}
.td-module-container {
    border-color: var(--rl-border) !important;
}

/* Module meta (date, author) */
.td-module-meta-info { font-size: .72rem !important; color: var(--rl-text-muted) !important; }
.td-post-date, .td-module-date { font-size: .72rem !important; color: var(--rl-text-muted) !important; }
.td-editor-date { color: var(--rl-text-muted) !important; }

/* Block wrappers */
.td_block_wrap, .wpb_wrapper { margin-bottom: 0; }
.td-a-rec { margin: 16px 0; }
.td-main-content-wrap, .td-container { padding: 0; }

/* Widget titles inside td blocks */
.widget-title {
    font-family: var(--rl-font) !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    color: var(--rl-black) !important;
    border-top: 4px solid var(--rl-black) !important;
    border-bottom: 1px solid var(--rl-border) !important;
    padding: 8px 0 10px !important;
    margin: 0 0 16px !important;
}

/* ── td-composer NYT overrides (high-specificity) ─────────── */
/* body.rl-home prefix: specificity (0,2,1) beats td-composer's (0,2,0) */

/* Category labels: text-only, no background pill */
body .td-post-category {
    background: transparent !important;
    color: var(--rl-purple) !important;
    font-family: var(--rl-font) !important;
    font-size: .66rem !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-bottom: 4px !important;
}
body .td-post-category:hover {
    color: var(--rl-purple-dark) !important;
    background: transparent !important;
}

/* Entry titles — override Gelasio with Playfair Display */
body.rl-home .entry-title {
    font-family: var(--rl-font-display) !important;
    line-height: 1.2 !important;
    color: var(--rl-black) !important;
    font-weight: 700 !important;
}
body.rl-home .entry-title a {
    color: var(--rl-black) !important;
    text-decoration: none !important;
    transition: color .12s !important;
}
body.rl-home .entry-title a:hover {
    color: var(--rl-purple) !important;
}

/* Module titles */
body.rl-home .td-module-title {
    font-family: var(--rl-font-display) !important;
    font-size: 1rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: var(--rl-black) !important;
    margin: 4px 0 6px !important;
}
body.rl-home .td-module-title a {
    color: var(--rl-black) !important;
    text-decoration: none !important;
}
body.rl-home .td-module-title a:hover {
    color: var(--rl-purple) !important;
}
/* Hover state set by td-composer inline — override */
body.rl-home .td_module_wrap:hover .td-module-title a {
    color: var(--rl-purple) !important;
}

/* Large featured block title (outer td-pb-span8 > inner td-pb-span8) */
body.rl-home .td-pb-span8 .td-pb-span8 .entry-title {
    font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
    line-height: 1.15 !important;
}

/* Author name links */
body.rl-home .td-post-author-name a,
body.rl-home .td-post-author-name span {
    color: var(--rl-text-muted) !important;
    font-style: italic !important;
}

/* Excerpt */
body.rl-home .td-excerpt {
    font-family: var(--rl-font) !important;
    font-size: .88rem !important;
    color: var(--rl-text-secondary) !important;
    line-height: 1.55 !important;
}

/* Thumbnail images: show them */
body.rl-home .td-module-thumb { display: block !important; }
body.rl-home .entry-thumb { display: block !important; background-size: cover; background-position: center; }
body.rl-home .td-image-container { flex: 0 0 auto !important; }
body.rl-home .td-image-wrap { display: block !important; }

/* Sidebar column (outer td-pb-span4 at the far right) */
body.rl-home > #rl-content-wrap .rl-frontpage-content .td-pb-span4 .widget-title,
body.rl-home .td-pb-row > .td-pb-span4 > .wpb_wrapper > .td_block_wrap .td-block-title-wrap {
    border-top: 3px solid var(--rl-purple) !important;
}
body.rl-home .td-pb-row > .td-pb-span4 > .wpb_wrapper > .td_block_wrap .td-block-title {
    color: var(--rl-purple) !important;
}


/* ── Post cards (rl- components) ───────────────────────────── */
.rl-card {
    background: var(--rl-white);
    overflow: hidden;
    display: flex; flex-direction: column;
    border-bottom: 1px solid var(--rl-border);
    transition: opacity .2s;
}
.rl-card:hover { opacity: .9; }
.rl-card__img-wrap {
    display: block; aspect-ratio: 16/10; overflow: hidden;
    background: var(--rl-bg-alt);
}
.rl-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.rl-card:hover .rl-card__img { transform: scale(1.03); }
.rl-card__body { padding: 14px 0 18px; display: flex; flex-direction: column; flex: 1; }
.rl-card__cat {
    display: inline-block; align-self: flex-start;
    font-family: var(--rl-font);
    font-size: .65rem; font-weight: 700;
    letter-spacing: .16em; text-transform: uppercase;
    color: var(--rl-purple); margin-bottom: 8px;
    text-decoration: none;
}
.rl-card__cat:hover { color: var(--rl-purple-dark); }
.rl-card__title {
    font-family: var(--rl-font-display);
    font-size: 1.05rem; line-height: 1.3;
    margin: 0 0 8px; font-weight: 700;
}
.rl-card__title a { color: var(--rl-black); }
.rl-card__title a:hover { color: var(--rl-purple); }
.rl-card__excerpt {
    font-size: .875rem; color: var(--rl-text-secondary);
    line-height: 1.6; flex: 1;
    display: -webkit-box; -webkit-line-clamp: 3;
    -webkit-box-orient: vertical; overflow: hidden;
    margin: 0 0 10px;
}
.rl-card__meta {
    font-size: .72rem; color: var(--rl-text-muted);
    display: flex; align-items: center; gap: 5px;
    flex-wrap: wrap; font-style: italic;
}
.rl-card__sep { opacity: .4; }


/* ── Hero card (featured post) ─────────────────────────────── */
.rl-hero-card {
    display: grid; grid-template-columns: 1.2fr 1fr;
    gap: 0;
    background: var(--rl-white);
    overflow: hidden;
    margin-bottom: 32px;
    border-bottom: 1px solid var(--rl-border);
}
.rl-hero-card__img-wrap { display: block; overflow: hidden; }
.rl-hero-card__img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; transition: transform .35s; }
.rl-hero-card:hover .rl-hero-card__img { transform: scale(1.02); }
.rl-hero-card__body {
    padding: 32px 36px 28px;
    display: flex; flex-direction: column; justify-content: center;
    background: var(--rl-white);
    border-left: 1px solid var(--rl-border);
}
.rl-hero-card__cat {
    font-family: var(--rl-font);
    display: inline-block; align-self: flex-start;
    font-size: .65rem; font-weight: 700;
    letter-spacing: .16em; text-transform: uppercase;
    color: var(--rl-purple); margin-bottom: 12px;
    text-decoration: none;
}
.rl-hero-card__title {
    font-family: var(--rl-font-display);
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    line-height: 1.2; margin: 0 0 12px; color: var(--rl-black);
    font-weight: 700;
}
.rl-hero-card__title a { color: inherit; }
.rl-hero-card__title a:hover { color: var(--rl-purple); }
.rl-hero-card__excerpt {
    font-size: .92rem; color: var(--rl-text-secondary); line-height: 1.65;
    margin: 0 0 18px;
    display: -webkit-box; -webkit-line-clamp: 4;
    -webkit-box-orient: vertical; overflow: hidden;
}
.rl-hero-card__meta {
    display: flex; align-items: center; gap: 8px;
    font-size: .72rem; color: var(--rl-text-muted);
    font-style: italic;
}


/* ── Post grids ────────────────────────────────────────────── */
.rl-secondary-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 28px; margin-bottom: 36px;
}
.rl-posts-grid {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}


/* ── Section header (rl- components) ───────────────────────── */
.rl-section-head {
    border-top: 4px solid var(--rl-black);
    border-bottom: 1px solid var(--rl-border);
    padding: 8px 0 10px;
    margin-bottom: 20px;
    display: flex; align-items: center; gap: 12px;
}
.rl-section-head__title {
    font-family: var(--rl-font);
    font-size: .68rem; font-weight: 800;
    letter-spacing: .2em; text-transform: uppercase;
    color: var(--rl-black); margin: 0;
}


/* ── Archive / search header ───────────────────────────────── */
.rl-archive-header {
    padding: 28px 0 20px;
    border-bottom: 4px solid var(--rl-black);
    margin-bottom: 28px;
}
.rl-archive-header__eyebrow {
    font-family: var(--rl-font);
    font-size: .66rem; font-weight: 700;
    letter-spacing: .2em; text-transform: uppercase;
    color: var(--rl-text-muted); margin: 0 0 6px;
}
.rl-archive-header__title {
    font-family: var(--rl-font-display);
    font-size: clamp(1.6rem, 3vw, 2.6rem);
    color: var(--rl-black); margin: 0 0 .3rem;
    font-weight: 800;
}
.rl-archive-header__desc { color: var(--rl-text-secondary); margin: 0; font-size: .95rem; }


/* ── Single article ────────────────────────────────────────── */
.rl-article {
    background: var(--rl-white);
    border-top: 4px solid var(--rl-article-accent, var(--rl-black));
}
.rl-article__header { padding: 24px 0 0; }

/* Category badge — filled pill with category color */
.rl-article__cat {
    font-family: var(--rl-font);
    display: inline-flex; align-items: center;
    padding: 3px 10px; border-radius: 3px;
    font-size: .6rem; font-weight: 800;
    letter-spacing: .12em; text-transform: uppercase;
    background: var(--rl-article-accent, var(--rl-purple));
    color: #fff; margin-bottom: 12px;
    text-decoration: none; transition: opacity .15s;
}
.rl-article__cat:hover { opacity: .85; color: #fff; }

/* Title */
.rl-article__title {
    font-family: var(--rl-font-display);
    font-size: clamp(1.9rem, 3.8vw, 3rem);
    line-height: 1.08; color: var(--rl-black);
    margin: 0 0 0; font-weight: 900;
    letter-spacing: -.02em;
}

/* Byline row: meta left · share right */
.rl-article__byline {
    display: flex; align-items: center;
    justify-content: space-between; flex-wrap: wrap; gap: 12px;
    padding: 14px 0 16px;
    border-top: 1px solid var(--rl-border-light);
    border-bottom: 1px solid var(--rl-border-light);
    margin-top: 16px;
}
.rl-article__meta {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
    font-size: .78rem; color: var(--rl-text-secondary);
}
.rl-article__meta strong { color: var(--rl-black); font-weight: 700; }
.rl-article__meta-author { display: flex; align-items: center; gap: 4px; }
.rl-article__read { display: flex; align-items: center; gap: 4px; }
.rl-article__sep { color: #ccc; }

/* Share strip — "Compartir" pill + colored circles */
.rl-article__share { display: flex; align-items: center; gap: 8px; }
.rl-article__share-compartir {
    display: inline-flex; align-items: center; gap: 6px;
    font-family: var(--rl-font);
    font-size: .72rem; font-weight: 700;
    color: var(--rl-text); padding: 6px 13px;
    border: 1px solid var(--rl-border); border-radius: 4px;
    background: var(--rl-white); white-space: nowrap;
    line-height: 1;
}
.rl-article__share-btns { display: flex; gap: 6px; align-items: center; }
.rl-share-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 50%;
    text-decoration: none; cursor: pointer;
    border: none; transition: opacity .15s, transform .12s;
    flex-shrink: 0;
}
.rl-share-btn:hover { opacity: .82; transform: scale(1.1); }
.rl-share-btn svg { width: 15px; height: 15px; flex-shrink: 0; }
.rl-share-btn--fb  { background: #1877F2; color: #fff; }
.rl-share-btn--tw  { background: #0f0f0f; color: #fff; }
.rl-share-btn--wa  { background: #25D366; color: #fff; }
.rl-share-btn--copy {
    background: var(--rl-bg-alt); color: var(--rl-text-muted);
    border: 1px solid var(--rl-border);
}
.rl-share-btn--copy.is-copied { background: var(--rl-purple); color: #fff; border-color: var(--rl-purple); }
.rl-article__hero { margin: 20px 0 0; overflow: hidden; aspect-ratio: 16/9; }
.rl-article__hero-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.rl-article__hero:hover .rl-article__hero-img { transform: scale(1.015); }
.rl-article__hero-caption {
    font-size: .73rem; color: var(--rl-text-muted); font-style: italic;
    padding: 7px 0; border-bottom: 1px solid var(--rl-border-light);
}
.rl-article__body {
    padding: 28px 0 40px;
    font-size: 1.08rem; line-height: 1.82; color: var(--rl-text);
    font-family: var(--rl-font);
}
.rl-article__body h2 {
    font-family: var(--rl-font-display);
    color: var(--rl-black); margin: 2em 0 .7em;
    font-size: clamp(1.25rem, 2.5vw, 1.65rem);
    border-top: 1px solid var(--rl-border);
    padding-top: .8em;
}
.rl-article__body h3 {
    font-family: var(--rl-font-display);
    color: var(--rl-black); margin: 1.6em 0 .5em;
    font-size: clamp(1.05rem, 1.8vw, 1.3rem);
}
.rl-article__body blockquote {
    border-left: 4px solid var(--rl-black); margin: 1.8em 2em;
    padding: .8em 1.4em;
    background: var(--rl-bg-alt);
    color: var(--rl-text); font-style: italic; font-size: 1.08em;
    font-family: var(--rl-font-display);
}
.rl-article__body img { margin: 1.2em 0; width: 100%; }
.rl-article__tags {
    padding: 16px 0 24px; border-top: 1px solid var(--rl-border-light);
    font-size: .82rem;
}
.rl-article__tags a {
    background: var(--rl-bg-alt); padding: 4px 12px;
    color: var(--rl-text-secondary);
    margin: 0 4px 5px; display: inline-block;
    border: 1px solid var(--rl-border);
    transition: background .12s, color .12s;
    font-size: .72rem; letter-spacing: .04em;
}
.rl-article__tags a:hover {
    background: var(--rl-purple-light);
    border-color: var(--rl-purple);
    color: var(--rl-purple);
}


/* ── Author box ────────────────────────────────────────────── */
.rl-author-box {
    display: flex; gap: 20px; align-items: flex-start;
    background: var(--rl-bg-alt);
    padding: 22px 26px;
    margin-top: 24px;
    border: 1px solid var(--rl-border);
    border-left: 4px solid var(--rl-black);
}
.rl-author-box__avatar { flex-shrink: 0; }
.rl-author-box__label {
    font-family: var(--rl-font);
    font-size: .62rem; text-transform: uppercase;
    letter-spacing: .18em; color: var(--rl-text-muted);
    margin: 0 0 3px; font-weight: 700;
}
.rl-author-box__name {
    font-family: var(--rl-font-display);
    font-weight: 700; font-size: 1.05rem;
    color: var(--rl-black); margin: 0 0 6px;
}
.rl-author-box__bio { font-size: .88rem; color: var(--rl-text-secondary); margin: 0; }


/* ── Post navigation ───────────────────────────────────────── */
.rl-post-nav {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 1px; margin-top: 24px;
    border-top: 4px solid var(--rl-black);
    background: var(--rl-border);
}
.rl-post-nav__item {
    display: flex; flex-direction: column;
    background: var(--rl-white);
    padding: 18px 20px; color: var(--rl-text);
    text-decoration: none;
    transition: background .12s;
}
.rl-post-nav__item:hover { background: var(--rl-bg-alt); }
.rl-post-nav__item--next { text-align: right; }
.rl-post-nav__label {
    font-family: var(--rl-font);
    font-size: .62rem; text-transform: uppercase;
    letter-spacing: .18em; color: var(--rl-text-muted);
    margin-bottom: 5px; font-weight: 700;
}
.rl-post-nav__title {
    font-family: var(--rl-font-display);
    font-weight: 700; font-size: .92rem;
    color: var(--rl-black); line-height: 1.3;
}


/* ── Generic page content ──────────────────────────────────── */
.rl-page-content {
    background: var(--rl-white);
    border: 1px solid var(--rl-border);
    border-top: 4px solid var(--rl-black);
    padding: 40px 44px;
}
.rl-page-content__header {
    margin-bottom: 24px;
    border-bottom: 1px solid var(--rl-border);
    padding-bottom: 16px;
}
.rl-page-content__title {
    font-family: var(--rl-font-display);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    color: var(--rl-black); margin: 0; font-weight: 800;
}
.rl-page-content__body { font-size: 1.05rem; line-height: 1.82; }
.rl-page-content__body h2,
.rl-page-content__body h3 {
    font-family: var(--rl-font-display);
    color: var(--rl-black); margin: 1.6em 0 .6em;
}
.rl-page-content__body blockquote {
    border-left: 4px solid var(--rl-black);
    margin: 1.5em 2em; padding: .8em 1.4em;
    background: var(--rl-bg-alt);
    color: var(--rl-text); font-style: italic;
}


/* ── Sidebar ───────────────────────────────────────────────── */
.rl-sidebar {
    display: flex; flex-direction: column; gap: 0;
    border-left: 1px solid var(--rl-border);
    padding-left: 24px;
}
.rl-sidebar__section {
    padding-bottom: 22px;
    margin-bottom: 22px;
    border-bottom: 1px solid var(--rl-border-light);
}
.rl-sidebar__section:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

/* Section header pill */
.rl-sidebar__head {
    display: flex; align-items: center;
    font-family: var(--rl-font);
    font-size: .6rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .18em;
    color: var(--rl-white);
    background: var(--rl-purple);
    padding: 7px 12px; margin: 0 0 14px;
}
.rl-sidebar__head--dark { background: var(--rl-black); }

/* Ad label above ad slots */
.rl-sidebar__ad-label {
    font-size: .58rem; text-transform: uppercase;
    letter-spacing: .14em; color: var(--rl-text-muted);
    text-align: center; margin: 0 0 6px; font-weight: 600;
}
.rl-sidebar__ad-wrap { text-align: center; }

/* About box */
.rl-sidebar__about-title {
    font-family: var(--rl-font-display);
    font-size: .82rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .1em;
    color: var(--rl-black); margin: 0 0 8px;
    padding-bottom: 8px; border-bottom: 2px solid var(--rl-purple);
    display: inline-block;
}
.rl-sidebar__about-desc {
    font-size: .82rem; color: var(--rl-text-secondary);
    line-height: 1.6; margin: 0 0 12px;
}
.rl-btn--full { display: block; text-align: center; }

/* Social links */
.rl-sidebar__social-title {
    font-family: var(--rl-font);
    font-size: .6rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .18em;
    color: var(--rl-text-muted); margin: 0 0 10px;
}
.rl-sidebar__social-links { display: flex; flex-direction: column; gap: 7px; }
.rl-sidebar__social-btn {
    display: flex; align-items: center; gap: 8px;
    font-family: var(--rl-font);
    font-size: .78rem; font-weight: 700;
    padding: 8px 12px; border-radius: 4px;
    text-decoration: none;
    transition: opacity .15s;
}
.rl-sidebar__social-btn:hover { opacity: .85; }
.rl-sidebar__social-btn--fb { background: #1877F2; color: #fff; }
.rl-sidebar__social-btn--ig { background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); color: #fff; }
.rl-sidebar__social-btn--yt { background: #FF0000; color: #fff; }

/* Legacy widget styling (if real widgets are ever added) */
.rl-sidebar .widget { padding: 0 0 20px; border-bottom: 1px solid var(--rl-border); }
.rl-sidebar .widget-title {
    font-family: var(--rl-font) !important; font-size: .66rem !important;
    font-weight: 800 !important; text-transform: uppercase !important;
    letter-spacing: .2em !important; color: var(--rl-black) !important;
    margin: 0 0 14px !important; padding: 8px 0 !important;
    border-top: 4px solid var(--rl-black) !important;
    border-bottom: 1px solid var(--rl-border) !important;
}
.rl-sidebar ul { list-style: none; padding: 0; margin: 0; }
.rl-sidebar ul li { padding: 7px 0; border-bottom: 1px solid var(--rl-border-light); font-size: .875rem; }
.rl-sidebar ul li:last-child { border-bottom: none; }
.rl-sidebar ul li a { color: var(--rl-text); transition: color .1s; }
.rl-sidebar ul li a:hover { color: var(--rl-purple); }
.rl-sidebar ul li .post-count { float: right; font-size: .7rem; color: var(--rl-text-muted); }


/* ── Pagination ────────────────────────────────────────────── */
.nav-links {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 4px; margin-top: 32px;
}
.nav-links a, .nav-links .page-numbers {
    display: flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; padding: 0 10px;
    border: 1px solid var(--rl-border);
    font-size: .8rem; color: var(--rl-text);
    text-decoration: none;
    transition: background .1s, color .1s;
}
.nav-links a:hover { background: var(--rl-purple); color: var(--rl-white); border-color: var(--rl-purple); }
.nav-links .current { background: var(--rl-black); color: var(--rl-white); border-color: var(--rl-black); font-weight: 700; }
.nav-links .dots { border: none; }


/* ── Comments ──────────────────────────────────────────────── */
.rl-comments {
    background: var(--rl-white);
    border: 1px solid var(--rl-border);
    padding: 32px 44px;
    margin-top: 20px;
}
.rl-comments__title {
    font-family: var(--rl-font);
    font-size: .68rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .2em;
    color: var(--rl-black);
    margin: 0 0 18px; padding: 8px 0 10px;
    border-top: 4px solid var(--rl-black);
    border-bottom: 1px solid var(--rl-border);
}
.rl-comments__closed { color: var(--rl-text-muted); font-style: italic; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%; padding: 10px 14px;
    border: 1px solid var(--rl-border);
    font-size: .9rem; color: var(--rl-text);
    background: var(--rl-white);
    transition: border-color .12s;
}
.comment-form input:focus,
.comment-form textarea:focus { border-color: var(--rl-black); outline: none; }
.comment-form input[type="submit"],
.comment-form .submit {
    background: var(--rl-black); color: var(--rl-white);
    border: none; padding: 11px 28px;
    font-size: .82rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    cursor: pointer; transition: background .15s;
}
.comment-form input[type="submit"]:hover { background: var(--rl-purple); }


/* ── Utility button ────────────────────────────────────────── */
.rl-btn {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--rl-black); color: var(--rl-white);
    padding: 10px 22px;
    font-family: var(--rl-font);
    font-size: .78rem; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase;
    text-decoration: none; transition: background .15s;
    border: none;
}
.rl-btn:hover { background: var(--rl-purple); color: var(--rl-white); }
.rl-btn--sm { padding: 7px 15px; font-size: .72rem; }
.rl-btn--gold { background: var(--rl-gold); color: var(--rl-white); }
.rl-btn--gold:hover { background: var(--rl-black); color: var(--rl-white); }
.rl-btn--outline {
    background: transparent; border: 1px solid var(--rl-black);
    color: var(--rl-black);
}
.rl-btn--outline:hover { background: var(--rl-black); color: var(--rl-white); }


/* ── 404 page ──────────────────────────────────────────────── */
.rl-404 {
    text-align: center; padding: 80px 20px;
    max-width: 500px; margin: 0 auto;
    border-top: 4px solid var(--rl-black);
}
.rl-404__code {
    font-family: var(--rl-font-display); font-size: 7rem;
    font-weight: 800; color: var(--rl-border);
    margin: 0; line-height: 1;
}
.rl-404__title { font-size: 1.8rem; margin: 0 0 12px; }
.rl-404__msg { color: var(--rl-text-muted); margin: 0 0 28px; font-size: 1rem; }


/* ── Footer ────────────────────────────────────────────────── */
.rl-footer {
    background: #0f0e1a;
    color: rgba(255,255,255,.72);
    margin-top: 0;
}

/* Award / stats strip */
.rl-footer__award-strip {
    background: #1a1830;
    border-top: 3px solid var(--rl-gold);
    border-bottom: 1px solid rgba(255,255,255,.07);
    padding: 14px 0;
}
.rl-footer__award-inner {
    display: flex; align-items: center;
    flex-wrap: wrap; gap: 20px;
    justify-content: space-between;
}
.rl-footer__award-badge {
    display: flex; align-items: center; gap: 10px;
    font-size: .82rem; color: rgba(255,255,255,.72);
}
.rl-footer__award-badge svg { flex-shrink: 0; }
.rl-footer__award-badge strong { color: var(--rl-gold); }
.rl-footer__award-stats {
    display: flex; gap: 32px; flex-shrink: 0;
}
.rl-footer__award-stat {
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    text-align: center;
}
.rl-footer__award-stat strong {
    font-size: .82rem; font-weight: 800;
    color: var(--rl-white); letter-spacing: .02em;
}
.rl-footer__award-stat span {
    font-size: .62rem; text-transform: uppercase;
    letter-spacing: .14em; color: rgba(255,255,255,.4);
}

/* Main columns */
.rl-footer__main { padding: 52px 0 44px; }
.rl-footer__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1.2fr 1.6fr;
    gap: 48px;
    align-items: start;
}
.rl-footer__heading {
    font-family: var(--rl-font);
    font-size: .62rem; font-weight: 800;
    letter-spacing: .22em; text-transform: uppercase;
    color: rgba(255,255,255,.42);
    margin: 0 0 16px; padding-bottom: 9px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.rl-footer__logo {
    height: 48px; width: auto;
    filter: brightness(0) invert(1);
    margin-bottom: 14px;
    opacity: .9;
}
.rl-footer__logo-text {
    font-family: var(--rl-font-display);
    font-size: 1.5rem; font-weight: 800;
    color: var(--rl-white);
    letter-spacing: .06em;
    display: block; margin-bottom: 10px;
    text-decoration: none;
}
.rl-footer__mission {
    font-size: .875rem; line-height: 1.75; opacity: .58; margin: 0 0 20px;
}

/* Social icons — filled circles */
.rl-footer__social { display: flex; gap: 8px; align-items: center; margin-top: 4px; }
.rl-footer__social-btn {
    display: flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.65);
    transition: background .15s, color .15s, transform .12s;
    text-decoration: none;
}
.rl-footer__social-btn:hover {
    color: var(--rl-white); transform: translateY(-2px);
}
.rl-footer__social-btn--fb:hover  { background: #1877f2; }
.rl-footer__social-btn--ig:hover  { background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
.rl-footer__social-btn--yt:hover  { background: #ff0000; }
.rl-footer__social-btn--x:hover   { background: #000000; border: 1px solid rgba(255,255,255,.25); }

/* Navigation list */
.rl-footer__nav { list-style: none; padding: 0; margin: 0; }
.rl-footer__nav li { margin-bottom: 9px; }
.rl-footer__nav a {
    color: rgba(255,255,255,.58); font-size: .875rem;
    transition: color .12s, padding-left .12s;
    text-decoration: none; display: block;
}
.rl-footer__nav a:hover { color: var(--rl-white); padding-left: 4px; }

/* Recent posts */
.rl-footer__recent { list-style: none; padding: 0; margin: 0; }
.rl-footer__recent li {
    padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.06);
}
.rl-footer__recent li:last-child { border-bottom: none; }
.rl-footer__recent a {
    color: rgba(255,255,255,.68); font-size: .875rem; line-height: 1.38;
    display: block; text-decoration: none; transition: color .12s;
}
.rl-footer__recent a:hover { color: var(--rl-white); }
.rl-footer__recent-date {
    display: block; font-size: .67rem; color: rgba(255,255,255,.34); margin-top: 3px;
}

/* Address */
.rl-footer__address { font-style: normal; font-size: .875rem; }
.rl-footer__address p {
    display: flex; align-items: flex-start; gap: 7px;
    margin-bottom: 10px; opacity: .62;
}
.rl-footer__address svg { flex-shrink: 0; margin-top: 3px; }
.rl-footer__address a { color: inherit; transition: color .12s; }
.rl-footer__address a:hover { color: var(--rl-white); opacity: 1; }

/* Newsletter */
.rl-footer__newsletter { margin-top: 18px; }
.rl-footer__newsletter-label {
    display: flex; align-items: center; gap: 6px;
    font-size: .72rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .12em; color: rgba(255,255,255,.5);
    margin: 0 0 10px;
}
.rl-footer__nl-form {
    display: flex;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.05);
    transition: border-color .15s;
}
.rl-footer__nl-form:focus-within { border-color: var(--rl-gold); }
.rl-footer__nl-form input {
    flex: 1; padding: 10px 13px;
    background: transparent;
    border: none; color: var(--rl-white); font-size: .85rem;
}
.rl-footer__nl-form input::placeholder { color: rgba(255,255,255,.3); }
.rl-footer__nl-form input:focus { outline: none; }
.rl-footer__nl-form button {
    background: var(--rl-gold); color: var(--rl-white);
    border: none; padding: 10px 16px;
    font-family: var(--rl-font);
    font-size: .72rem; font-weight: 800;
    letter-spacing: .08em; text-transform: uppercase;
    transition: background .15s; white-space: nowrap;
    cursor: pointer;
}
.rl-footer__nl-form button:hover { background: #a87a0b; }
.rl-footer__nl-note {
    font-size: .67rem; color: rgba(255,255,255,.3);
    margin: 7px 0 0;
}

/* Subfooter */
.rl-footer__sub {
    background: rgba(0,0,0,.4);
    border-top: 1px solid rgba(255,255,255,.06);
    padding: 14px 0;
}
.rl-footer__sub-inner {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 8px;
}
.rl-footer__copy {
    font-size: .73rem; color: rgba(255,255,255,.36); margin: 0;
}
.rl-footer__copy a { color: rgba(255,255,255,.5); transition: color .12s; }
.rl-footer__copy a:hover { color: var(--rl-white); }
.rl-footer__sub-nav {
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
.rl-footer__sub-nav a, .rl-footer__sub-nav span {
    font-size: .72rem; color: rgba(255,255,255,.36);
    text-decoration: none; transition: color .12s;
}
.rl-footer__sub-nav a:hover { color: rgba(255,255,255,.72); }

/* Back to top */
.rl-back-top {
    position: fixed; bottom: 24px; right: 24px; z-index: 500;
    width: 42px; height: 42px;
    background: var(--rl-black); color: var(--rl-white);
    border: none;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transform: translateY(12px);
    transition: opacity .22s, transform .22s, background .15s;
}
.rl-back-top:not([hidden]) { opacity: 1; transform: translateY(0); }
.rl-back-top:hover { background: var(--rl-purple); }


/* ── WordPress entry-content ───────────────────────────────── */
.entry-content > *:last-child { margin-bottom: 0; }
.entry-content a { color: var(--rl-purple); text-decoration: underline; text-decoration-thickness: 1px; }
.entry-content a:hover { color: var(--rl-purple-dark); }
.entry-content figure { margin: 1.5em 0; }
.entry-content figcaption {
    font-size: .78rem; color: var(--rl-text-muted); font-style: italic;
    text-align: center; margin-top: 5px;
}
.entry-content table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: .92rem; }
.entry-content th, .entry-content td { padding: 9px 13px; border: 1px solid var(--rl-border); }
.entry-content th { background: var(--rl-bg-alt); font-weight: 700; color: var(--rl-black); }
.entry-content code {
    background: var(--rl-bg-alt); padding: 2px 6px;
    font-size: .87em; border: 1px solid var(--rl-border);
}
.entry-content pre {
    background: var(--rl-black); color: rgba(255,255,255,.85);
    padding: 16px; overflow-x: auto;
}


/* ── Accessibility ─────────────────────────────────────────── */
.screen-reader-text {
    position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
    width: auto; height: auto; clip: auto; white-space: normal;
    background: var(--rl-black); color: var(--rl-white);
    padding: 12px 18px; z-index: 9999; top: 8px; left: 8px;
}


/* ── Hide unfilled AdSense zones ───────────────────────────── */
/* Google sets data-ad-status="unfilled" on <ins> when no ad is returned.
   Hide the zone wrapper (and any sidebar section wrapper) when that happens.
   JS in main.js provides a fallback for browsers without :has() support.   */
.rl-ad-zone:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none !important; }
.rl-fp__ad-zone:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none !important; }
.js-ad-wrap:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none !important; }


/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 1200px) {
    /* 3-col → 2-col: hide left panel */
    .rl-layout--article { grid-template-columns: 1fr 280px; }
    .rl-layout__article-sidebar { display: none; }
}

@media (max-width: 1100px) {
    .rl-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px; }
    .rl-footer__award-stats { gap: 20px; }
    .rl-hero-card { grid-template-columns: 1fr 1fr; }
    .td-pb-span4 { width: 33.333%; }
}

@media (max-width: 1024px) {
    .rl-layout { grid-template-columns: 1fr; }
    .rl-layout--article { grid-template-columns: 1fr; }
    .rl-layout__sidebar { position: static; }
    .rl-secondary-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .rl-navbar .rl-nav { display: none; }
    .rl-navbar__toggle { display: flex; }
    /* logo-mini visibility is JS-controlled via scroll threshold — no CSS override */
    .rl-topbar__date { display: none; }
    .rl-hero-card { grid-template-columns: 1fr; }
    .rl-hero-card__img-wrap { aspect-ratio: 16/8; }
    .td-pb-span8, .td-pb-span4 { width: 100%; }
}

@media (max-width: 768px) {
    .rl-masthead { padding: 14px 60px 12px 16px; }
    .rl-masthead__inner { justify-content: flex-start; }
    .rl-masthead__logo { height: 48px; }
    .rl-masthead__text { padding-left: 14px; margin-left: 14px; }
    .rl-masthead__wordmark { font-size: clamp(1.3rem, 6vw, 2rem); }
    .rl-masthead__tagline { display: none; }
    .rl-masthead__search-btn { top: 50%; }
    .rl-secondary-grid { grid-template-columns: 1fr; }
    .rl-posts-grid { grid-template-columns: 1fr; }
    .rl-footer__grid { grid-template-columns: 1fr; gap: 28px; }
    .rl-footer__award-inner { flex-direction: column; align-items: flex-start; gap: 14px; }
    .rl-footer__award-stats { gap: 20px; }
    .rl-footer__sub-inner { flex-direction: column; align-items: flex-start; gap: 8px; }
    .rl-article__hero { aspect-ratio: 4/3; }
    .rl-article__byline { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rl-article__share-compartir { font-size: .68rem; padding: 5px 10px; }
    .rl-share-btn { width: 32px; height: 32px; }
    .rl-page-content { padding: 24px 20px; }
    .rl-comments { padding: 24px 20px; }
    .rl-author-box { flex-direction: column; }
    .td-pb-span6 { width: 100%; }
    .rl-hero-card__body { padding: 22px 20px; }
}

@media (max-width: 520px) {
    .rl-container, .td-container { padding-left: 16px; padding-right: 16px; }
    .rl-post-nav { grid-template-columns: 1fr; gap: 1px; }
    .td-pb-span3 { width: 50%; }
}


/* ══════════════════════════════════════════════════════════════
   Google AdSense — responsive overrides
   ══════════════════════════════════════════════════════════════ */

/* Prevent any ad unit from blowing out its container */
.adsbygoogle { max-width: 100% !important; }
.rl-ad-zone { overflow: hidden; }

/* Leaderboard wrap: lets the 728×90 scale down on narrower containers
   via CSS transform so it never causes horizontal scroll.
   On truly small viewports the entire zone is hidden (see below). */
.rl-ad-leaderboard-wrap {
    display: flex;
    justify-content: center;
    overflow: hidden;
    max-width: 100%;
}
@media (max-width: 767px) {
    /* Hide fixed-width 728×90 leaderboard on mobile — it can't fit.
       Auto-responsive and fluid units in other zones still show. */
    .rl-ad-zone--desktop { display: none !important; }
}
@media (min-width: 768px) and (max-width: 900px) {
    /* Scale the leaderboard down slightly to fit tablet viewports */
    .rl-ad-leaderboard-wrap {
        transform-origin: top center;
        transform: scale(0.88);
        margin-bottom: -10px;
    }
}

/* In-content float: collapse to block on narrow article views */
@media (max-width: 640px) {
    .rl-ad-zone--incontent {
        float: none !important;
        margin: 20px auto !important;
        max-width: 100% !important;
    }
    .rl-ad-zone--incontent .adsbygoogle {
        width: 100% !important;
        max-width: 300px;
    }
}

/* Sidebar fixed 300×300: center it and ensure it doesn't overflow
   the sidebar column on intermediate widths */
.rl-ad-zone--sidebar .adsbygoogle[style*="300px"] {
    display: block !important;
    margin: 0 auto;
}

/* Front-page headlines-col ad slot: add breathing room */
.rl-fp__headlines-ad {
    width: 100%;
}
.rl-fp__headlines-ad .adsbygoogle {
    width: 100% !important;
    height: auto;
}


/* ── Single article: post-content discovery sections ──────── */
.rl-single__section {
    margin-top: 40px;
    padding-top: 0;
}

/* (sidebar styles consolidated in the Sidebar section above) */
