/* ============================================================
   LABORATORIO PREMIUM · CATEGORÍA
   VERSIÓN CONSOLIDADA

   Contrato:
   body.rl-premium-category

   Objetivos:
   - paddings consistentes;
   - tarjetas premium proporcionadas;
   - lectura clara;
   - navy + aqua + champagne;
   - responsive limpio;
   - compatible con GeneratePress.
   ============================================================ */

body.rl-premium-category {
  --rl-pc-navy-1000: #010817;
  --rl-pc-navy-975: #011024;
  --rl-pc-navy-950: #020b1e;
  --rl-pc-navy-900: #04142f;
  --rl-pc-navy-850: #071b3d;
  --rl-pc-navy-800: #0b2853;

  --rl-pc-aqua-500: #00d8a0;
  --rl-pc-aqua-400: #20e6b4;
  --rl-pc-aqua-300: #72f3d1;

  --rl-pc-champagne: #e7bd5a;
  --rl-pc-champagne-light: #f4d77d;

  --rl-pc-white: #ffffff;
  --rl-pc-copy: rgba(243, 248, 255, 0.93);
  --rl-pc-muted: rgba(209, 222, 241, 0.76);
  --rl-pc-soft: rgba(182, 202, 228, 0.66);

  --rl-pc-border: rgba(83, 155, 226, 0.28);
  --rl-pc-border-aqua: rgba(72, 230, 194, 0.38);

  --rl-pc-shell: min(calc(100% - 64px), 1180px);
  --rl-pc-card-max: 379px;
  --rl-pc-card-pad-x: 24px;
  --rl-pc-card-pad-top: 26px;
  --rl-pc-card-pad-bottom: 26px;
  --rl-pc-radius: 22px;

  margin: 0;
  overflow-x: clip;

  color: var(--rl-pc-copy);

  background:
    radial-gradient(
      circle at 82% 5%,
      rgba(0, 216, 160, 0.08),
      transparent 28%
    ),
    radial-gradient(
      circle at 10% 34%,
      rgba(47, 107, 255, 0.09),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      #020b1e 0%,
      #03142f 44%,
      #020b1e 100%
    );
}

/* ============================================================
   LIENZO
   ============================================================ */

body.rl-premium-category #page,
body.rl-premium-category .site,
body.rl-premium-category .site-content,
body.rl-premium-category .content-area,
body.rl-premium-category #primary,
body.rl-premium-category .site-main,
body.rl-premium-category #main {
  width: 100%;
  max-width: none;

  margin: 0;
  padding: 0;

  background: transparent;
}

body.rl-premium-category .site-content {
  display: block;
}

body.rl-premium-category #primary {
  float: none;
}

body.rl-premium-category #main {
  position: relative;
  isolation: isolate;

  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  column-gap: 22px;

  min-height: 70vh;

  padding-bottom:
    clamp(
      100px,
      9vw,
      150px
    );
}

/* ============================================================
   FONDO DECORATIVO
   ============================================================ */

body.rl-premium-category #main::before,
body.rl-premium-category #main::after {
  position: absolute;

  z-index: -2;

  content: "";

  pointer-events: none;

  border-radius: 50%;
}

body.rl-premium-category #main::before {
  top: 460px;
  right: -280px;

  width: 650px;
  height: 650px;

  background:
    radial-gradient(
      circle,
      rgba(32, 230, 180, 0.07),
      rgba(32, 230, 180, 0.025) 38%,
      transparent 70%
    );

  filter: blur(4px);
}

body.rl-premium-category #main::after {
  top: 1050px;
  left: -330px;

  width: 720px;
  height: 720px;

  background:
    radial-gradient(
      circle,
      rgba(47, 107, 255, 0.075),
      rgba(47, 107, 255, 0.025) 40%,
      transparent 70%
    );

  filter: blur(5px);
}

/* ============================================================
   HERO CATEGORIA
   ============================================================ */

body.rl-premium-category .page-header {
  position: relative;
  isolation: isolate;

  width: 100%;

  margin: 0 0
    clamp(
      62px,
      6vw,
      90px
    );

  padding:
    clamp(72px, 6vw, 104px)
    max(
      32px,
      calc((100vw - 1460px) / 2)
    )
    clamp(68px, 5.5vw, 92px);

  overflow: hidden;

  color: var(--rl-pc-white);

  border: 0;
  border-bottom:
    1px solid
    rgba(32, 230, 180, 0.16);

  background:
    radial-gradient(
      circle at 78% 20%,
      rgba(0, 216, 160, 0.12),
      transparent 29%
    ),
    radial-gradient(
      circle at 15% 18%,
      rgba(47, 107, 255, 0.15),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      #010817 0%,
      #04142f 49%,
      #071d3d 100%
    );

  box-shadow:
    inset 0 -1px 0
      rgba(255, 255, 255, 0.025),
    0 28px 80px
      rgba(0, 6, 22, 0.2);
}

body.rl-premium-category .page-header::before {
  position: absolute;

  inset: 0;

  z-index: -1;

  content: "";

  pointer-events: none;

  opacity: 0.27;

  background-image:
    linear-gradient(
      rgba(114, 243, 209, 0.04) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(114, 243, 209, 0.04) 1px,
      transparent 1px
    );

  background-size: 72px 72px;

  -webkit-mask-image:
    linear-gradient(
      180deg,
      transparent,
      #000 12%,
      #000 82%,
      transparent
    );

  mask-image:
    linear-gradient(
      180deg,
      transparent,
      #000 12%,
      #000 82%,
      transparent
    );
}

body.rl-premium-category .page-header::after {
  display: block;

  width: 124px;
  height: 4px;

  margin-top: 31px;

  content: "";

  border-radius: 999px;

  background:
    linear-gradient(
      90deg,
      var(--rl-pc-champagne-light),
      var(--rl-pc-champagne) 54%,
      transparent
    );

  box-shadow:
    0 0 22px
      rgba(231, 189, 90, 0.19);
}

/* ============================================================
   TITULO
   ============================================================ */

body.rl-premium-category
.page-header
.page-title::before {
  display: none;
  content: none;
}

body.rl-premium-category .page-title {
  position: relative;

  max-width: 1120px;

  margin: 0;
  padding: 0 0 0.08em;

  overflow: visible;

  color: #ffffff;

  font-size:
    clamp(
      3.35rem,
      5.5vw,
      6rem
    );

  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.053em;

  text-wrap: balance;

  text-shadow:
    0 18px 46px
      rgba(0, 6, 22, 0.28);
}

/* ============================================================
   DESCRIPCION
   ============================================================ */

body.rl-premium-category .archive-description {
  max-width: 850px;

  margin-top: 25px;

  color: var(--rl-pc-muted);

  font-size:
    clamp(
      1.05rem,
      1.3vw,
      1.28rem
    );

  line-height: 1.7;
}

body.rl-premium-category
.archive-description p {
  margin: 0;
}

/* ============================================================
   CONTENEDOR DE TARJETAS
   ============================================================ */

body.rl-premium-category
.generate-columns-container {
  display: grid;

  flex: 0 0 var(--rl-pc-shell);

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  justify-content: center;

  align-items: stretch;

  gap: 22px;

  width: var(--rl-pc-shell);
  max-width: none;

  margin:
    0
    auto;

  padding: 0;

  background: transparent;
}

/* GeneratePress */

body.rl-premium-category
.generate-columns-container
.generate-columns {
  float: none;

  width: auto;
  max-width: none;

  margin: 0;
  padding: 0;

  clear: none;

  background: transparent;
}

/* Fallback cuando no hay generate-columns */

body.rl-premium-category
#main > article.post {
  flex:
    0 1
    calc(
      (var(--rl-pc-shell) - 44px) / 3
    );

  width:
    calc(
      (var(--rl-pc-shell) - 44px) / 3
    );

  max-width: var(--rl-pc-card-max);

  margin:
    0
    32px;
}

body.rl-premium-category
.generate-columns-container
> article.post {
  width: auto;
  max-width: none;

  margin: 0;
}

/* ============================================================
   TARJETA PREMIUM
   ============================================================ */

body.rl-premium-category article.post {
  position: relative;
  isolation: isolate;

  display: flex;
  flex-direction: column;

  min-width: 0;
  min-height: 100%;

  overflow: hidden;

  color: var(--rl-pc-copy);

  border:
    1px solid
    var(--rl-pc-border);

  border-radius:
    var(--rl-pc-radius);

  background:
    radial-gradient(
      circle at 9% 0%,
      rgba(32, 230, 180, 0.11),
      transparent 37%
    ),
    radial-gradient(
      circle at 100% 100%,
      rgba(47, 107, 255, 0.08),
      transparent 40%
    ),
    linear-gradient(
      145deg,
      rgba(9, 36, 74, 0.985),
      rgba(3, 17, 42, 0.995)
    );

  box-shadow:
    inset 0 1px 0
      rgba(255, 255, 255, 0.07),
    inset 0 -1px 0
      rgba(255, 255, 255, 0.018),
    0 28px 70px
      rgba(0, 7, 25, 0.32);

  transition:
    transform 240ms ease,
    border-color 240ms ease,
    box-shadow 240ms ease;
}

/* Línea superior premium */

body.rl-premium-category
article.post > .inside-article::before {
  position: absolute;

  top: 0;
  left: 32px;
  right: 32px;

  height: 1px;

  content: "";

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(114, 243, 209, 0.5) 24%,
      rgba(231, 189, 90, 0.42) 73%,
      transparent
    );
}

/* Glow */

body.rl-premium-category
article.post::after {
  position: absolute;

  inset: 0;

  z-index: 0;

  content: "";

  pointer-events: none;

  opacity: 0;

  background:
    radial-gradient(
      circle 340px
      at
      var(--rl-pc-pointer-x, 50%)
      var(--rl-pc-pointer-y, 50%),
      rgba(32, 230, 180, 0.13),
      transparent 69%
    );

  transition:
    opacity 180ms ease;
}

body.rl-premium-category
article.post.is-pointer-active::after {
  opacity: 1;
}

body.rl-premium-category
article.post > * {
  position: relative;
  z-index: 1;
}

/* ============================================================
   BADGE PREMIUM
   ============================================================ */

body.rl-premium-category
article.post::before {
  position: absolute;

  top: 21px;
  right: 21px;

  z-index: 30;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 34px;

  padding:
    7px
    14px;

  content: "PREMIUM";

  color: #05251f;

  font-size: 0.64rem;
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0.09em;

  border:
    1px solid
    rgba(190, 255, 237, 0.88);

  border-radius: 999px;

  background:
    linear-gradient(
      145deg,
      #8cf7dc,
      #3fe2b8 52%,
      #09bc91
    );

  box-shadow:
    0 10px 30px
      rgba(0, 214, 159, 0.22),
    inset 0 1px 0
      rgba(255, 255, 255, 0.45);
}

/* ============================================================
   INSIDE ARTICLE
   ============================================================ */

body.rl-premium-category
article.post
.inside-article {
  position: relative;

  display: flex;
  flex: 1;
  flex-direction: column;

  width: 100%;
  max-width: none;

  margin: 0;

  padding:
    var(--rl-pc-card-pad-top)
    var(--rl-pc-card-pad-x)
    var(--rl-pc-card-pad-bottom);

  color: inherit;

  border: 0;

  background: transparent;
}

/* ============================================================
   IMAGEN DESTACADA
   ============================================================ */

body.rl-premium-category
article.post
.post-image,

body.rl-premium-category
article.post
.featured-image {
  order: -1;

  width:
    calc(100% + (var(--rl-pc-card-pad-x) * 2));

  max-width: none;
  aspect-ratio: 16 / 9;

  margin:
    calc(-1 * var(--rl-pc-card-pad-top))
    calc(-1 * var(--rl-pc-card-pad-x))
    24px;

  padding: 0;

  overflow: hidden;

  background:
    linear-gradient(
      145deg,
      #07172f,
      #0a2851
    );
}

body.rl-premium-category
article.post
.post-image a,

body.rl-premium-category
article.post
.featured-image a {
  display: block;

  width: 100%;
  height: 100%;
}

body.rl-premium-category
article.post
.post-image img,

body.rl-premium-category
article.post
.featured-image img {
  display: block;

  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;

  max-width: none;

  margin: 0;

  object-fit: cover;

  filter:
    saturate(0.9)
    contrast(1.03)
    brightness(0.88);

  object-position: center;

  transform: none;

  transition:
    transform 650ms
      cubic-bezier(0.2, 0.72, 0.22, 1),
    filter 350ms ease;
}

/* ============================================================
   ENTRY HEADER
   ============================================================ */

body.rl-premium-category
article.post
.entry-header {
  width: 100%;

  margin: 0;

  padding:
    0
    76px
    0
    0;

  color: var(--rl-pc-white);

  border: 0;

  background: transparent;
}

/* Si no hay imagen, dejamos aire superior */

body.rl-premium-category
article.post:not(:has(.post-image)):not(:has(.featured-image))
.entry-header {
  padding-top: 6px;
}

/* ============================================================
   TITULO TARJETA
   ============================================================ */

body.rl-premium-category
article.post
.entry-title {
  max-width: none;

  margin: 0;

  color: #ffffff;

  font-size:
    clamp(
      1.3rem,
      1.5vw,
      1.58rem
    );

  font-weight: 890;
  line-height: 1.12;
  letter-spacing: -0.038em;

  text-wrap: balance;
}

body.rl-premium-category
article.post
.entry-title a,

body.rl-premium-category
article.post
.entry-title a:visited {
  color: #ffffff;

  text-decoration: none;

  transition:
    color 180ms ease;
}

body.rl-premium-category
article.post
.entry-title a:hover {
  color:
    var(--rl-pc-aqua-300);
}

/* ============================================================
   META
   ============================================================ */

body.rl-premium-category
article.post
.entry-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  gap:
    7px
    12px;

  margin:
    13px
    0
    0;

  padding: 0;

  color:
    rgba(195, 211, 234, 0.76);

  font-size: 0.78rem;
  line-height: 1.5;
  font-weight: 680;
}

body.rl-premium-category
article.post
.entry-meta a,

body.rl-premium-category
article.post
.entry-meta a:visited {
  color:
    var(--rl-pc-aqua-300);

  font-weight: 760;

  text-decoration: none;
}

/* ============================================================
   RESUMEN
   ============================================================ */

body.rl-premium-category
article.post
.entry-summary,

body.rl-premium-category
article.post
.entry-content {
  flex: 1;

  width: 100%;
  max-width: none;

  margin:
    20px
    0
    0;

  padding: 0;

  color:
    rgba(216, 228, 245, 0.78);

  font-size: 0.94rem;
  line-height: 1.65;

  background: transparent;
}

body.rl-premium-category
article.post
.entry-summary p {
  display: -webkit-box;

  overflow: hidden;

  margin:
    0
    0
    19px;

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;

  line-clamp: 3;
}

body.rl-premium-category
article.post
.entry-content > * {
  display: none;
}

body.rl-premium-category
article.post
.entry-content > p:first-of-type {
  display: -webkit-box;

  overflow: hidden;

  margin:
    0
    0
    19px;

  color:
    rgba(216, 228, 245, 0.78);

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;

  line-clamp: 3;
}

/* ============================================================
   READ MORE
   ============================================================ */

body.rl-premium-category
article.post
.read-more,

body.rl-premium-category
article.post
a.read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: fit-content;

  min-height: 44px;

  margin-top: 7px;

  padding:
    10px
    18px;

  color: #ffffff;

  font-size: 0.84rem;
  font-weight: 850;
  line-height: 1.2;

  text-decoration: none;

  border:
    1px solid
    rgba(135, 255, 225, 0.74);

  border-radius: 14px;

  background:
    linear-gradient(
      105deg,
      #4fe1ba 0%,
      #08d2a4 48%,
      #00bf8e 100%
    );

  box-shadow:
    0 15px 36px
      rgba(0, 214, 159, 0.17),
    inset 0 1px 0
      rgba(255, 255, 255, 0.28);

  transition:
    transform 190ms ease,
    box-shadow 190ms ease,
    filter 190ms ease;
}

/* ============================================================
   FOOTER TARJETA
   ============================================================ */

body.rl-premium-category
article.post
.entry-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  gap:
    8px
    16px;

  width: 100%;

  margin:
    auto
    0
    0;

  padding:
    20px
    0
    0;

  color:
    rgba(191, 209, 232, 0.72);

  font-size: 0.8rem;
  line-height: 1.45;
  font-weight: 650;

  border-top:
    1px solid
    rgba(131, 171, 220, 0.13);

  background: transparent;
}

body.rl-premium-category
article.post
.entry-footer a,

body.rl-premium-category
article.post
.entry-footer a:visited {
  color:
    var(--rl-pc-aqua-300);

  font-weight: 740;

  text-decoration: none;
}

/* ============================================================
   CHAMPAGNE ALTERNADO
   ============================================================ */

body.rl-premium-category
.generate-columns-container
article.post:nth-child(3n) {
  border-color:
    rgba(231, 189, 90, 0.34);
}

body.rl-premium-category
.generate-columns-container
article.post:nth-child(3n)
.entry-title::after {
  display: block;

  width: 48px;
  height: 2px;

  margin-top: 18px;

  content: "";

  border-radius: 999px;

  background:
    linear-gradient(
      90deg,
      var(--rl-pc-champagne),
      transparent
    );
}

/* ============================================================
   HOVER
   ============================================================ */

@media (hover: hover) and (pointer: fine) {

  body.rl-premium-category
  article.post:hover {
    z-index: 5;

    border-color:
      rgba(72, 230, 194, 0.64);

    transform:
      translateY(-5px);

    box-shadow:
      inset 0 1px 0
        rgba(255, 255, 255, 0.08),
      0 38px 86px
        rgba(0, 7, 25, 0.42),
      0 0 42px
        rgba(32, 230, 180, 0.065);
  }

  body.rl-premium-category
  article.post:hover
  .post-image img,

  body.rl-premium-category
  article.post:hover
  .featured-image img {
    transform:
      scale(1.015);

    filter:
      saturate(1)
      contrast(1.03)
      brightness(0.95);
  }

  body.rl-premium-category
  article.post
  .read-more:hover {
    color: #ffffff;

    transform:
      translateY(-3px);

    filter:
      brightness(1.045)
      saturate(1.04);

    box-shadow:
      0 22px 48px
        rgba(0, 214, 159, 0.25),
      inset 0 1px 0
        rgba(255, 255, 255, 0.31);
  }
}

/* ============================================================
   PAGINACION
   ============================================================ */

body.rl-premium-category
.paging-navigation,

body.rl-premium-category
.navigation.pagination {
  flex: 0 0 var(--rl-pc-shell);

  width: var(--rl-pc-shell);

  margin:
    clamp(
      52px,
      6vw,
      76px
    )
    auto
    0;

  padding: 0;

  border: 0;

  background: transparent;
}

body.rl-premium-category
.nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  gap: 10px;
}

body.rl-premium-category
.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 46px;
  min-height: 46px;

  padding:
    9px
    13px;

  color:
    var(--rl-pc-aqua-300);

  text-decoration: none;

  border:
    1px solid
    rgba(72, 230, 194, 0.3);

  border-radius: 14px;

  background:
    linear-gradient(
      145deg,
      rgba(8, 31, 64, 0.9),
      rgba(4, 20, 46, 0.95)
    );

  box-shadow:
    inset 0 1px 0
      rgba(255, 255, 255, 0.04);

  transition:
    transform 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}

body.rl-premium-category
a.page-numbers:hover {
  color: #ffffff;

  border-color:
    rgba(114, 243, 209, 0.62);

  transform:
    translateY(-2px);
}

body.rl-premium-category
.page-numbers.current {
  color: #06251e;

  border-color:
    rgba(176, 255, 235, 0.84);

  background:
    linear-gradient(
      145deg,
      var(--rl-pc-aqua-300),
      var(--rl-pc-aqua-500)
    );

  font-weight: 900;
}

/* ============================================================
   REVEAL
   ============================================================ */

body.rl-premium-category.rl-premium-category-effects-ready
.rl-premium-category-reveal {
  opacity: 0;

  transform:
    translateY(24px);

  transition:
    opacity 680ms
      cubic-bezier(0.22, 0.7, 0.22, 1),
    transform 680ms
      cubic-bezier(0.22, 0.7, 0.22, 1);
}

body.rl-premium-category.rl-premium-category-effects-ready
.rl-premium-category-reveal.is-visible {
  opacity: 1;

  transform: none;
}

/* ============================================================
   ONDA TITULO
   ============================================================ */

body.rl-premium-category
.page-title::after {
  position: absolute;

  top: 43%;
  left: -22%;

  width: 18%;
  height: 1.08em;

  content: "";

  pointer-events: none;

  opacity: 0;

  border-radius: 50%;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(215, 255, 245, 0.68),
      rgba(32, 230, 180, 0.16),
      transparent
    );

  filter: blur(13px);

  mix-blend-mode: screen;
}

body.rl-premium-category
.page-title.is-premium-category-wave::after {
  animation:
    rlPremiumCategoryWave
    1650ms
    cubic-bezier(0.22, 0.72, 0.2, 1)
    both;
}

/* ============================================================
   FOCUS
   ============================================================ */

body.rl-premium-category
a:focus-visible {
  outline:
    3px solid
    var(--rl-pc-aqua-300);

  outline-offset: 4px;
}

/* ============================================================
   RESPONSIVE — cinco rangos
   ============================================================ */

/* 1. Escritorio amplio: >= 1440. */
@media (min-width: 1440px) {

  body.rl-premium-category {
    --rl-pc-shell:
      min(calc(100% - 72px), 1180px);
  }
}

/* 2. Escritorio y portátil: 1024–1439. */
@media (min-width: 1024px) and (max-width: 1439px) {

  body.rl-premium-category {
    --rl-pc-shell:
      min(calc(100% - 48px), 1080px);
    --rl-pc-card-pad-x: 21px;
  }

  body.rl-premium-category
  .page-header {
    padding-right: 32px;
    padding-left: 32px;
  }
}

/* 3. Tableta: 768–1023. */
@media (min-width: 768px) and (max-width: 1023px) {

  body.rl-premium-category {
    --rl-pc-shell:
      calc(100% - 48px);
    --rl-pc-card-pad-x: 22px;
    --rl-pc-card-pad-top: 24px;
    --rl-pc-card-pad-bottom: 24px;
  }

  body.rl-premium-category
  .page-header {
    padding:
      68px
      32px
      62px;
  }

  body.rl-premium-category
  .page-title {
    font-size:
      clamp(3rem, 7.8vw, 4.7rem);
  }

  body.rl-premium-category
  .generate-columns-container {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  body.rl-premium-category
  #main > article.post {
    flex-basis:
      calc(
        (var(--rl-pc-shell) - 22px) / 2
      );

    width:
      calc(
        (var(--rl-pc-shell) - 22px) / 2
      );

    max-width: none;
  }

  body.rl-premium-category
  article.post
  .entry-header {
    padding-right: 70px;
  }

  body.rl-premium-category
  article.post
  .entry-title {
    font-size:
      clamp(1.28rem, 2.8vw, 1.55rem);
  }
}

/* 4. Móvil: 480–767. */
@media (min-width: 480px) and (max-width: 767px) {

  body.rl-premium-category {
    --rl-pc-shell:
      min(calc(100% - 30px), 520px);
    --rl-pc-card-max: 520px;
    --rl-pc-card-pad-x: 22px;
    --rl-pc-card-pad-top: 24px;
    --rl-pc-card-pad-bottom: 24px;
    --rl-pc-radius: 20px;
  }

  body.rl-premium-category
  .page-header {
    margin-bottom: 45px;

    padding:
      56px
      20px
      52px;
  }

  body.rl-premium-category
  .page-title {
    font-size:
      clamp(2.5rem, 11vw, 3.7rem);

    line-height: 1.055;
  }

  body.rl-premium-category
  .archive-description {
    margin-top: 20px;

    font-size: 1rem;
  }

  body.rl-premium-category
  .generate-columns-container {
    grid-template-columns:
      minmax(0, 1fr);

    gap: 22px;
  }

  body.rl-premium-category
  #main > article.post {
    flex-basis:
      var(--rl-pc-shell);

    width:
      var(--rl-pc-shell);

    max-width: none;
  }

  body.rl-premium-category
  article.post
  .post-image img,

  body.rl-premium-category
  article.post
  .featured-image img {
    object-fit: contain;
  }

  body.rl-premium-category
  article.post
  .entry-header {
    padding-right: 70px;
  }

  body.rl-premium-category
  article.post
  .entry-title {
    font-size:
      clamp(1.38rem, 5.4vw, 1.72rem);
  }

  body.rl-premium-category
  article.post::before {
    top: 15px;
    right: 15px;

    min-height: 30px;

    padding:
      6px
      10px;
  }
}

/* 5. Móvil pequeño: <= 479. */
@media (max-width: 479px) {

  body.rl-premium-category {
    --rl-pc-shell:
      calc(100% - 22px);
    --rl-pc-card-max: 100%;
    --rl-pc-card-pad-x: 18px;
    --rl-pc-card-pad-top: 21px;
    --rl-pc-card-pad-bottom: 21px;
    --rl-pc-radius: 18px;
  }

  body.rl-premium-category
  .page-header {
    margin-bottom: 40px;

    padding:
      49px
      16px
      45px;
  }

  body.rl-premium-category
  .page-title {
    font-size:
      clamp(2.25rem, 11.7vw, 3rem);
  }

  body.rl-premium-category
  .generate-columns-container {
    grid-template-columns:
      minmax(0, 1fr);

    gap: 18px;
  }

  body.rl-premium-category
  #main > article.post {
    flex-basis:
      var(--rl-pc-shell);

    width:
      var(--rl-pc-shell);

    max-width: none;
  }

  body.rl-premium-category
  article.post
  .post-image img,

  body.rl-premium-category
  article.post
  .featured-image img {
    object-fit: contain;
  }

  body.rl-premium-category
  article.post
  .entry-header {
    padding-right: 62px;
  }

  body.rl-premium-category
  article.post
  .entry-title {
    font-size:
      clamp(1.3rem, 6.6vw, 1.62rem);
  }

  body.rl-premium-category
  article.post
  .entry-summary,

  body.rl-premium-category
  article.post
  .entry-content {
    margin-top: 18px;

    font-size: 0.9rem;
  }

  body.rl-premium-category
  article.post::before {
    top: 12px;
    right: 12px;

    min-height: 28px;

    padding:
      5px
      9px;

    font-size: 0.54rem;
  }
}

/* ============================================================
   ANIMACION
   ============================================================ */

@keyframes rlPremiumCategoryWave {

  0% {
    opacity: 0;

    transform:
      translate3d(-130%, 0, 0)
      skewX(-13deg);
  }

  20% {
    opacity: 0.58;
  }

  55% {
    opacity: 0.82;
  }

  100% {
    opacity: 0;

    transform:
      translate3d(760%, 0, 0)
      skewX(-13deg);
  }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

  body.rl-premium-category *,
  body.rl-premium-category *::before,
  body.rl-premium-category *::after {
    scroll-behavior: auto;
  }

  body.rl-premium-category.rl-premium-category-effects-ready
  .rl-premium-category-reveal,

  body.rl-premium-category.rl-premium-category-effects-ready
  .rl-premium-category-reveal.is-visible {
    opacity: 1;

    transform: none;

    transition: none;
  }

  body.rl-premium-category
  .page-title.is-premium-category-wave::after {
    animation: none;
  }

  body.rl-premium-category
  article.post {
    transition: none;
  }
}
