/*
Theme Name: El Correo
Description: Tema editorial para El Correo de Valdivia
Version: 1.1
Text Domain: elcorreo
*/

/* ─── Tokens idénticos al sitio principal ────────── */
:root {
  --bg:           #08090a;
  --surface:      #111214;
  --surface2:     #191a1c;
  --surface3:     #1f2023;
  --text:         #f7f8f8;
  --text2:        #a0a4ab;
  --muted:        #62666d;
  --accent:       #5e6ad2;
  --accent-h:     #828fff;
  --accent-glow:  rgba(94,106,210,0.15);
  --border:       rgba(255,255,255,0.08);
  --border-sub:   rgba(255,255,255,0.05);
  --white:        #ffffff;
  --max:          1180px;
  --gap:          1.5rem;
  --radius:       10px;
}

/* ─── Reset ─────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img { display: block; max-width: 100%; height: auto; }
a   { color: inherit; text-decoration: none; }

/* ─── Base ───────────────────────────────────────── */
html { scroll-behavior: smooth; }

body {
  background:              var(--bg);
  color:                   var(--text);
  font-family:             'Inter', 'Geist', system-ui, sans-serif;
  font-size:               16px;
  line-height:             1.6;
  -webkit-font-smoothing:  antialiased;
  font-feature-settings:   'cv01','ss03';
  overflow-x:              hidden;
}

/* ─── Orbes ambientales (igual que el home) ──────── */
.ambient {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  opacity: .07;
}
.orb-1 { width:700px; height:700px; background:var(--accent);  top:-250px;  left:-150px; }
.orb-2 { width:500px; height:500px; background:#7c3aed;        bottom:-200px; right:-150px; }

/* ─── Todo el contenido sobre los orbes ─────────── */
.site-header,
.category-bar,
.site-main,
.site-footer { position: relative; z-index: 1; }

/* ─── Header ─────────────────────────────────────── */
.site-header {
  background:    rgba(8,9,10,0.92);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: sticky;
  top: 0;
  z-index: 100;
}

.header-inner {
  max-width:   var(--max);
  margin:      0 auto;
  padding:     0 var(--gap);
  height:      60px;
  display:     flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.site-logo {
  display:     flex;
  align-items: center;
  gap:         .75rem;
  flex-shrink: 0;
}

.logo-icon {
  width:  36px;
  height: 36px;
  color:  var(--text);
  flex-shrink: 0;
}

.logo-text {
  display:       flex;
  flex-direction:column;
  line-height:   1;
}

.logo-name {
  font-family:     'Geist', 'Inter', system-ui, sans-serif;
  font-size:       1rem;
  font-weight:     600;
  letter-spacing: -.4px;
  color:           var(--text);
}

.logo-sub {
  font-family:     'Geist', monospace;
  font-size:       .6rem;
  letter-spacing:  .04em;
  color:           var(--muted);
  margin-top:      2px;
  text-transform:  uppercase;
}

.header-date {
  font-family:    'Geist', monospace;
  font-size:      .65rem;
  letter-spacing: .08em;
  color:          var(--muted);
  text-transform: uppercase;
  white-space:    nowrap;
}

/* ─── Barra de categorías ────────────────────────── */
.category-bar {
  background:  var(--surface);
  border-bottom: 1px solid var(--border);
  overflow:    hidden;
}

.category-bar-inner {
  max-width: var(--max);
  margin:    0 auto;
  padding:   0 var(--gap);
  display:   flex;
  gap:       .1rem;
}

.category-bar a {
  font-family:    'Geist', monospace;
  font-size:      .62rem;
  font-weight:    500;
  text-transform: uppercase;
  letter-spacing: .1em;
  color:          var(--text2);
  padding:        .55rem .85rem;
  display:        inline-block;
  transition:     color .15s, background .15s;
  white-space:    nowrap;
  border-bottom:  2px solid transparent;
}

.category-bar a:hover {
  color:         var(--accent-h);
  border-color:  var(--accent);
}

/* ─── Contenedor principal ───────────────────────── */
.site-main {
  max-width: var(--max);
  margin:    0 auto;
  padding:   2.5rem var(--gap) 6rem;
}

/* ─── Hero ───────────────────────────────────────── */
.hero-link { display: block; margin-bottom: 0; }

.hero {
  border-radius: var(--radius);
  overflow:      hidden;
  border:        1px solid var(--border);
  background:    var(--surface);
  display:       flex;
  flex-direction:column;
  transition:    border-color .25s;
}

.hero-link:hover .hero { border-color: rgba(255,255,255,.14); }

.hero-img {
  width:           100%;
  height:          400px;
  object-fit:      cover;
  object-position: center 30%;
  display:         block;
  opacity:         .92;
  transition:      opacity .4s, transform .5s;
}

.hero-link:hover .hero-img { opacity: 1; transform: scale(1.02); }

.hero-no-img {
  width:      100%;
  height:     400px;
  background: linear-gradient(135deg, var(--surface2) 0%, #1a1a3e 100%);
}

/* Overlay eliminado en el nuevo diseño */
.hero-overlay { display: none; }

.hero-content {
  position: static;
  padding:  1.5rem 1.75rem 2rem;
}

/* ─── Tags ────────────────────────────────────────── */
.tag {
  display:        inline-flex;
  align-items:    center;
  gap:            5px;
  background:     rgba(94,106,210,0.18);
  color:          var(--accent-h);
  border:         1px solid rgba(94,106,210,0.35);
  font-family:    'Geist', monospace;
  font-size:      .6rem;
  font-weight:    500;
  text-transform: uppercase;
  letter-spacing: .1em;
  padding:        .2rem .55rem;
  border-radius:  9999px;
  margin-bottom:  .65rem;
}

.tag::before {
  content:       '';
  width:         5px;
  height:        5px;
  border-radius: 50%;
  background:    var(--accent);
  flex-shrink:   0;
}

.hero-title {
  font-family:    'Geist', 'Inter', system-ui, sans-serif;
  font-size:      2.2rem;
  line-height:    1.22;
  font-weight:    800;
  letter-spacing: -.55px;
  margin-bottom:  .7rem;
  color:          var(--text);
}

.hero-excerpt {
  font-size:          .95rem;
  color:              var(--text2);
  line-height:        1.65;
  margin-bottom:      1rem;
  display:            -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow:           hidden;
}

.hero-meta {
  font-family:    'Geist', monospace;
  font-size:      .6rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color:          var(--muted);
  display:        flex;
  align-items:    center;
  gap:            .6rem;
}

.hero-meta .author { color: var(--text2); }

/* ─── Separador de sección ───────────────────────── */
.section-header {
  display:     flex;
  align-items: center;
  gap:         1rem;
  margin-top:    2.5rem;
  margin-bottom: 1.75rem;
}

.section-header h2 {
  font-family:    'Geist', monospace;
  font-size:      .65rem;
  font-weight:    500;
  text-transform: uppercase;
  letter-spacing: .12em;
  color:          var(--muted);
  white-space:    nowrap;
}

.section-header::after {
  content:    '';
  flex:       1;
  height:     1px;
  background: var(--border);
}

/* ─── Grid de noticias ───────────────────────────── */
/* Por defecto: cards idénticas al hero (ancho completo) */
.news-grid {
  display:        flex;
  flex-direction: column;
  gap:            2.5rem;
}

.news-card {
  border-radius: var(--radius);
  overflow:      hidden;
  border:        1px solid var(--border);
  background:    var(--surface);
  display:       flex;
  flex-direction:column;
  transition:    border-color .25s;
}

.news-card:hover { border-color: rgba(255,255,255,.14); }

.news-card-link {
  display:        flex;
  flex-direction: column;
  flex:           1;
  color:          inherit;
}

.card-img-wrap {
  width:           100%;
  height:          400px;
  aspect-ratio:    auto;
  flex-shrink:     0;
  border-radius:   0;
  overflow:        hidden;
  background:      var(--surface2);
  border:          none;
  margin-bottom:   0;
}

.card-img-wrap img {
  width:           100%;
  height:          100%;
  object-fit:      cover;
  object-position: center 30%;
  display:         block;
  opacity:         .92;
  transition:      opacity .4s, transform .5s;
}

.news-card:hover .card-img-wrap img {
  opacity:   1;
  transform: scale(1.02);
}

.card-no-img {
  width:         100%;
  height:        400px;
  aspect-ratio:  auto;
  background:    linear-gradient(135deg, var(--surface2) 0%, #1a1a3e 100%);
  border-radius: 0;
  flex-shrink:   0;
  margin-bottom: 0;
}

.card-overlay { display: none; }

.card-body {
  position:       static;
  padding:        1.5rem 1.75rem 2rem;
  display:        flex;
  flex-direction: column;
  gap:            .4rem;
  min-width:      0;
}

.card-tag {
  margin-bottom: .25rem;
  align-self:    flex-start; /* no estirar en flex column */
}

.card-title {
  font-family:    'Geist', 'Inter', system-ui, sans-serif;
  font-size:      2.2rem;
  line-height:    1.22;
  font-weight:    800;
  letter-spacing: -.5px;
  margin-bottom:  0;
  color:          var(--text);
}

.card-excerpt {
  font-size:          .95rem;
  color:              var(--text2);
  line-height:        1.65;
  margin-bottom:      0;
  display:            -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow:           hidden;
}

.card-meta {
  font-family:    'Geist', monospace;
  font-size:      .6rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color:          var(--muted);
  display:        flex;
  align-items:    center;
  gap:            .6rem;
  margin-top:     .15rem;
}

.card-meta .author { color: var(--text2); }

/* ─── Share bar de cada card ─────────────────────── */
.card-share {
  display:     flex;
  align-items: center;
  gap:         .4rem;
  padding:     .7rem 1.75rem .8rem;
  border-top:  1px solid var(--border-sub);
  background:  rgba(255,255,255,.012);
  flex-shrink: 0;
}

.card-share-label {
  font-family:    'Geist', monospace;
  font-size:      .55rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color:          var(--muted);
  margin-right:   .2rem;
}

.card-share-btn {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           30px;
  height:          30px;
  border-radius:   7px;
  background:      var(--surface3);
  border:          1px solid var(--border);
  color:           var(--text2);
  text-decoration: none;
  flex-shrink:     0;
  transition:      background .15s, border-color .15s, color .15s, transform .15s;
}

.card-share-btn svg { width: 14px; height: 14px; flex-shrink: 0; }

.card-share-btn:hover { transform: translateY(-1px); }

.card-share-btn.share-wa:hover    { background: rgba(37,211,102,.12);  border-color: rgba(37,211,102,.4);  color: #25D366; }
.card-share-btn.share-fb:hover    { background: rgba(24,119,242,.12);  border-color: rgba(24,119,242,.4);  color: #5B9FE8; }
.card-share-btn.share-tw:hover    { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.2); color: #f7f8f8; }
.card-share-btn.share-email:hover { background: rgba(94,106,210,.12);  border-color: rgba(94,106,210,.4);  color: var(--accent-h); }

/* Multi-grid: share más compacto */
.news-grid--multi .card-share       { padding: .55rem 0 .6rem; background: transparent; border-top-color: var(--border); }
.news-grid--multi .card-share-label { display: none; }

/* ─── Grid multi-columna (6+ noticias) ───────────── */
.news-grid--multi {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   2.25rem 1.75rem;
}

.news-grid--multi .news-card {
  border-radius: 0;
  overflow:      visible;
  border:        none;
  background:    transparent;
}

.news-grid--multi .news-card:hover { border-color: transparent; }

.news-grid--multi .card-img-wrap {
  height:        auto;
  aspect-ratio:  16 / 9;
  border-radius: 8px;
  border:        1px solid var(--border);
  margin-bottom: 1rem;
  overflow:      hidden;
}

.news-grid--multi .news-card:hover .card-img-wrap img {
  opacity:   1;
  transform: scale(1.04);
}

.news-grid--multi .card-no-img {
  height:        auto;
  aspect-ratio:  16 / 9;
  border-radius: 8px;
  margin-bottom: 1rem;
}

.news-grid--multi .card-body {
  padding: 0;
  gap:     .35rem;
}

.news-grid--multi .card-title {
  font-size:      1.2rem;
  line-height:    1.35;
  font-weight:    700;
  letter-spacing: -.25px;
}

.news-grid--multi .card-excerpt {
  font-size:          .82rem;
  -webkit-line-clamp: 2;
}

.news-grid--multi .card-meta { font-size: .58rem; margin-top: .1rem; }

/* ─── Single post ────────────────────────────────── */
.post-hero-wrap {
  max-width: var(--max);
  margin:    0 auto;
  padding:   2rem var(--gap) 0;
}

.post-hero {
  border-radius: var(--radius);
  overflow:      hidden;
  border:        1px solid var(--border);
  background:    var(--surface);
  max-height:    460px;
}

.post-hero img {
  width:          100%;
  max-height:     460px;
  object-fit:     cover;
  object-position:center 30%;
  opacity:        .75;
  display:        block;
}

/* Grid artículo + sidebar */
.post-layout {
  max-width:             var(--max);
  margin:                0 auto;
  padding:               0 var(--gap) 5rem;
  display:               grid;
  grid-template-columns: 1fr 300px;
  gap:                   2.5rem;
  align-items:           start;
}

.post-wrap {
  min-width: 0;
  padding-top: 2.5rem;
}

.back-link {
  display:        inline-flex;
  align-items:    center;
  gap:            .4rem;
  font-family:    'Geist', monospace;
  font-size:      .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color:          var(--muted);
  margin-bottom:  2rem;
  transition:     color .15s;
  border-bottom:  1px dashed var(--border);
  padding-bottom: 2px;
}
.back-link:hover { color: var(--accent); border-color: rgba(94,106,210,.4); }

.post-cats { margin-bottom: .8rem; }

.post-title {
  font-family:    'Geist', 'Inter', system-ui, sans-serif;
  font-size:      2rem;
  line-height:    1.2;
  font-weight:    700;
  letter-spacing: -.5px;
  color:          var(--text);
  margin-bottom:  1.2rem;
}

.post-meta-bar {
  display:     flex;
  align-items: center;
  gap:         1rem;
  font-family: 'Geist', monospace;
  font-size:   .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color:       var(--muted);
  padding:     1rem 0;
  border-top:  1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin-bottom: 2rem;
}

.post-meta-bar strong { color: var(--text2); }

.post-content {
  font-size:   1.05rem;
  line-height: 1.8;
  color:       var(--text2);
}

.post-content p         { margin-bottom: 1.4em; color: var(--text2); }
.post-content p:first-child { color: var(--text); }
.post-content h2        { font-family:'Geist','Inter',sans-serif; font-size:1.4rem; font-weight:700; letter-spacing:-.3px; color:var(--text); margin:2em 0 .6em; }
.post-content h3        { font-family:'Geist','Inter',sans-serif; font-size:1.15rem; font-weight:600; color:var(--text); margin:1.5em 0 .5em; }
.post-content a         { color:var(--accent); border-bottom:1px solid rgba(94,106,210,.3); transition:color .15s; }
.post-content a:hover   { color:var(--accent-h); }

/* Imágenes en contenido */
.post-content img {
  border-radius: var(--radius);
  border:        1px solid var(--border);
  max-width:     100%;
  height:        auto;
  display:       block;
}

/* Imágenes sin float → ancho completo */
.post-content .wp-block-image:not(.alignleft):not(.alignright) {
  margin: 1.5em 0;
}
.post-content .wp-block-image:not(.alignleft):not(.alignright) img {
  width: 100%;
}

/* Float izquierda (fotos de perfil) */
.post-content .wp-block-image.alignleft {
  float:          left;
  margin:         .2em 1.4em 1em 0;
  clear:          left;
}
.post-content .wp-block-image.alignleft img {
  width:     auto;  /* respetar width inline del bloque */
  max-width: 320px;
}

/* Float derecha */
.post-content .wp-block-image.alignright {
  float:          right;
  margin:         .2em 0 1em 1.4em;
  clear:          right;
}
.post-content .wp-block-image.alignright img {
  width:     auto;
  max-width: 320px;
}

/* Separadores limpian floats */
.post-content hr.wp-block-separator,
.post-content .wp-block-separator {
  border:     none;
  border-top: 1px solid var(--border);
  margin:     2em 0;
  clear:      both;
}

/* Clearfix al final */
.post-content::after {
  content: '';
  display: table;
  clear:   both;
}

.post-content blockquote {
  border-left: 2px solid var(--accent);
  padding:     .8rem 0 .8rem 1.4rem;
  margin:      1.5em 0;
  background:  rgba(94,106,210,0.06);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-style:  italic;
  color:       var(--text2);
  font-size:   1.05rem;
}

/* ─── Footer ─────────────────────────────────────── */
.site-footer {
  background:  rgba(8,9,10,.98);
  border-top:  1px solid var(--border-sub);
  text-align:  center;
  padding:     2rem var(--gap);
}

.site-footer p {
  font-family:    'Geist', monospace;
  font-size:      .6rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color:          var(--muted);
}

.site-footer a            { color: var(--muted); transition: color .15s; }
.site-footer a:hover      { color: var(--accent); }
.footer-links             { display:flex; justify-content:center; gap:1.2rem; flex-wrap:wrap; margin-top:.6rem; }
.footer-links a           { font-family:'Geist',monospace; font-size:.55rem; text-transform:uppercase; letter-spacing:1.5px; color:var(--muted); border-bottom:1px dashed var(--border); padding-bottom:1px; }
.footer-links a:hover     { color:var(--accent); border-color:rgba(94,106,210,.4); }
.footer-sep               { color:var(--border); margin:0 .3rem; }

/* ─── Sidebar de noticia ─────────────────────────── */
.post-sidebar {
  padding-top: 2.5rem;
  position:    sticky;
  top:         76px;
}

.sidebar-section {
  background:    var(--surface);
  border:        1px solid var(--border);
  border-radius: var(--radius);
  overflow:      hidden;
}

.sidebar-header {
  font-family:    'Geist', monospace;
  font-size:      .6rem;
  font-weight:    600;
  text-transform: uppercase;
  letter-spacing: .12em;
  color:          var(--muted);
  padding:        .7rem 1rem;
  border-bottom:  1px solid var(--border);
  background:     var(--surface2);
}

.sidebar-post {
  display:     flex;
  gap:         .75rem;
  padding:     .85rem 1rem;
  border-bottom: 1px solid var(--border-sub);
  text-decoration: none;
  color:       inherit;
  transition:  background .15s;
}

.sidebar-post:last-child { border-bottom: none; }
.sidebar-post:hover      { background: var(--surface2); }

.sidebar-post-img {
  width:        68px;
  height:       52px;
  flex-shrink:  0;
  border-radius:6px;
  overflow:     hidden;
  background:   var(--surface2);
  border:       1px solid var(--border);
}

.sidebar-post-img img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  opacity:    .85;
  transition: opacity .2s;
}

.sidebar-post:hover .sidebar-post-img img { opacity: 1; }

.sidebar-post-no-img {
  background: linear-gradient(135deg, var(--surface2), #1a1a3e);
}

.sidebar-post-body {
  flex:      1;
  min-width: 0;
  display:   flex;
  flex-direction: column;
  gap:       .15rem;
}

.sidebar-post-cat {
  font-family:    'Geist', monospace;
  font-size:      .55rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color:          var(--accent);
}

.sidebar-post-title {
  font-size:          .88rem;
  font-weight:        600;
  line-height:        1.3;
  color:              var(--text);
  display:            -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow:           hidden;
}

.sidebar-post:hover .sidebar-post-title { color: var(--accent-h); }

.sidebar-post-date {
  font-family:    'Geist', monospace;
  font-size:      .57rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color:          var(--muted);
  margin-top:     auto;
}

/* ─── Responsive ─────────────────────────────────── */
@media (max-width: 960px) {
  .post-layout {
    grid-template-columns: 1fr;
    gap:                   0;
  }
  .post-sidebar {
    position:    static;
    padding-top: 0;
    padding-bottom: 3rem;
  }
  .news-grid--multi {
    grid-template-columns: repeat(2, 1fr);
    gap:                   1.75rem 1.25rem;
  }
}

@media (max-width: 600px) {
  /* Hero-style cards en móvil */
  .card-img-wrap    { height: 240px; }
  .card-no-img      { height: 240px; }
  .card-body        { padding: 1.1rem 1.25rem 1.2rem; }
  .card-title       { font-size: 1.65rem; letter-spacing: -.35px; }
  .card-share       { padding: .6rem 1.25rem .7rem; }
  /* Multi-grid colapsa a 1 columna */
  .news-grid--multi { grid-template-columns: 1fr; gap: 2rem; }
  .news-grid--multi .card-img-wrap { height: auto; aspect-ratio: 16/9; }
  .news-grid--multi .card-no-img   { height: auto; aspect-ratio: 16/9; }
  .news-grid--multi .card-body     { padding: 0; }
  .news-grid--multi .card-title    { font-size: 1.1rem; }
  /* Hero */
  .hero-img, .hero-no-img { height: 240px; }
  .hero-content     { padding: 1.1rem 1.25rem 1.4rem; }
  .hero-title       { font-size: 1.45rem; letter-spacing: -.3px; }
  .hero-excerpt     { font-size: .88rem; }
  .header-inner     { padding: 0 1rem; }
  .site-main        { padding: 1.5rem 1rem 4rem; }
  .post-title       { font-size: 1.5rem; }
  .post-hero-wrap   { padding: 1rem 1rem 0; }
  .header-date      { display: none; }
  /* Float → bloque en móvil */
  .post-content .wp-block-image.alignleft,
  .post-content .wp-block-image.alignright {
    float:     none;
    margin:    1em 0;
    clear:     both;
  }
  .post-content .wp-block-image.alignleft img,
  .post-content .wp-block-image.alignright img {
    max-width: 100%;
    width:     100% !important;
  }
}

/* ─── Paywall ─────────────────────────────────────── */
.teaser-wrap {
  position: relative;
}

.teaser-fade {
  position:   absolute;
  bottom:     0;
  left:       0;
  right:      0;
  height:     140px;
  background: linear-gradient(to bottom, transparent, var(--bg) 85%);
  pointer-events: none;
}

.paywall-wall {
  text-align:    center;
  padding:       2.5rem 1.5rem 3rem;
  border:        1px solid var(--border);
  border-radius: var(--radius);
  background:    var(--surface);
  margin-top:    .5rem;
}

.paywall-badge {
  display:        inline-flex;
  align-items:    center;
  gap:            6px;
  font-family:    'Geist', monospace;
  font-size:      .62rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color:          var(--accent-h);
  background:     rgba(94,106,210,0.12);
  border:         1px solid rgba(94,106,210,0.25);
  padding:        .25rem .7rem;
  border-radius:  9999px;
  margin-bottom:  1.2rem;
}

.dot-accent {
  width:         6px;
  height:        6px;
  border-radius: 50%;
  background:    var(--accent);
  flex-shrink:   0;
  animation:     pulse 2s ease-in-out infinite;
}

@keyframes pulse { 0%,100%{opacity:.4} 50%{opacity:1} }

.paywall-title {
  font-family:    'Geist', 'Inter', sans-serif;
  font-size:      1.5rem;
  font-weight:    700;
  letter-spacing: -.4px;
  color:          var(--text);
  margin-bottom:  .5rem;
}

.paywall-desc {
  font-size:     .9rem;
  color:         var(--text2);
  margin-bottom: 1.5rem;
}

.paywall-btn {
  display:       inline-block;
  background:    var(--accent);
  color:         var(--white);
  border:        none;
  border-radius: 10px;
  padding:       .75rem 2rem;
  font-family:   'Inter', sans-serif;
  font-size:     .95rem;
  font-weight:   500;
  cursor:        pointer;
  transition:    background .2s, transform .2s;
  letter-spacing:-.2px;
}

.paywall-btn:hover {
  background: var(--accent-h);
  transform:  translateY(-1px);
}

.paywall-hint {
  font-size:  .75rem;
  color:      var(--muted);
  margin-top: .8rem;
}

/* ─── Modal de registro / desbloqueo ─────────────── */
.ecv-overlay {
  display:    none;
  position:   fixed;
  inset:      0;
  background: rgba(0,0,0,.85);
  z-index:    1000;
  align-items:    center;
  justify-content:center;
  padding:    1.25rem;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.ecv-overlay.active { display: flex; }

.ecv-modal {
  background:    var(--surface);
  border:        1px solid var(--border);
  border-radius: 16px;
  max-width:     480px;
  width:         100%;
  padding:       2.2rem;
  position:      relative;
  box-shadow:    0 24px 64px rgba(0,0,0,.6), 0 0 0 1px rgba(94,106,210,0.08);
  animation:     modalIn .25s ease;
}

@keyframes modalIn {
  from { opacity:0; transform:translateY(16px) scale(.97); }
  to   { opacity:1; transform:translateY(0)    scale(1);   }
}

.ecv-close {
  position:   absolute;
  top:        .9rem;
  right:      .9rem;
  width:      30px;
  height:     30px;
  border:     1px solid var(--border);
  border-radius: 8px;
  background: rgba(255,255,255,0.04);
  color:      var(--muted);
  font-size:  1.1rem;
  cursor:     pointer;
  display:    flex;
  align-items:center;
  justify-content:center;
  transition: background .15s, color .15s;
  line-height:1;
}
.ecv-close:hover { background:rgba(255,255,255,0.09); color:var(--text); }

.ecv-badge {
  display:        inline-flex;
  align-items:    center;
  gap:            6px;
  font-family:    'Geist', monospace;
  font-size:      .6rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color:          var(--accent-h);
  background:     rgba(94,106,210,0.12);
  border:         1px solid rgba(94,106,210,0.25);
  padding:        .22rem .65rem;
  border-radius:  9999px;
  margin-bottom:  1rem;
}

.ecv-modal-title {
  font-family:    'Geist', 'Inter', sans-serif;
  font-size:      1.4rem;
  font-weight:    700;
  letter-spacing: -.5px;
  color:          var(--text);
  margin-bottom:  .5rem;
}

.ecv-modal-desc {
  font-size:     .88rem;
  color:         var(--text2);
  line-height:   1.6;
  margin-bottom: 1.5rem;
}

.ecv-form {
  display:        flex;
  flex-direction: column;
  gap:            .65rem;
}

.ecv-label {
  font-family:    'Geist', monospace;
  font-size:      .62rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color:          var(--muted);
}

.ecv-input {
  width:       100%;
  padding:     .75rem 1rem;
  background:  rgba(255,255,255,0.04);
  border:      1px solid var(--border);
  border-radius:10px;
  color:       var(--text);
  font-size:   .95rem;
  font-family: 'Inter', sans-serif;
  outline:     none;
  transition:  border-color .2s, box-shadow .2s, background .2s;
}

.ecv-input::placeholder { color: var(--muted); }

.ecv-input:focus {
  border-color: var(--accent);
  background:   rgba(94,106,210,0.07);
  box-shadow:   0 0 0 3px var(--accent-glow);
}

.ecv-input-mono {
  font-family:    'Geist', monospace;
  letter-spacing: .3em;
  font-size:      1.2rem;
  text-align:     center;
}

.ecv-btn {
  width:         100%;
  padding:       .8rem;
  background:    var(--accent);
  color:         var(--white);
  border:        none;
  border-radius: 10px;
  font-family:   'Inter', sans-serif;
  font-size:     .97rem;
  font-weight:   500;
  cursor:        pointer;
  transition:    background .2s, transform .2s, box-shadow .2s;
  letter-spacing:-.2px;
  margin-top:    .3rem;
}

.ecv-btn:hover:not(:disabled) {
  background: var(--accent-h);
  transform:  translateY(-1px);
  box-shadow: 0 4px 20px var(--accent-glow);
}

.ecv-btn:disabled { opacity:.5; cursor:not-allowed; }

.ecv-link-btn {
  background:  none;
  border:      none;
  color:       var(--muted);
  font-size:   .78rem;
  cursor:      pointer;
  padding:     .5rem 0 0;
  transition:  color .15s;
  font-family: 'Inter', sans-serif;
}
.ecv-link-btn:hover { color: var(--accent); }

.ecv-msg {
  font-size: .83rem;
  min-height:1.2em;
  text-align:center;
  margin-top:.2rem;
}
.ecv-msg.ok  { color: #27a644; }
.ecv-msg.err { color: #ef4444; }

/* ─── Encabezado de categoría ────────────────────── */
.cat-header {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}

.cat-header-inner {
  display:     flex;
  align-items: center;
  gap:         .75rem;
  margin-bottom: .5rem;
}

.cat-sep {
  color: var(--border);
  font-size: .9rem;
}

.cat-badge {
  display:        inline-flex;
  align-items:    center;
  gap:            7px;
  font-family:    'Geist', monospace;
  font-size:      .75rem;
  font-weight:    600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color:          var(--accent-h);
  background:     rgba(94,106,210,0.12);
  border:         1px solid rgba(94,106,210,0.28);
  padding:        .3rem .85rem;
  border-radius:  9999px;
}

.cat-desc {
  font-size:   .85rem;
  color:       var(--muted);
  line-height: 1.6;
  margin-top:  .4rem;
}

/* ─── Lista de artículos (4+ en categoría) ──────── */
.post-list {
  display:        flex;
  flex-direction: column;
  gap:            1px;
  background:     var(--border);
  border:         1px solid var(--border);
  border-radius:  var(--radius);
  overflow:       hidden;
}

.post-list-item {
  display:     flex;
  align-items: center;
  gap:         1.2rem;
  background:  var(--surface);
  padding:     1rem 1.2rem;
  transition:  background .15s;
}

.post-list-item:hover {
  background: var(--surface2);
}

.pli-img {
  width:     72px;
  height:    52px;
  flex-shrink: 0;
  border-radius: 6px;
  overflow:  hidden;
  background:var(--surface2);
}

.pli-img img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  opacity:    .85;
  transition: opacity .2s;
}

.post-list-item:hover .pli-img img { opacity: 1; }

.pli-body { flex: 1; min-width: 0; }

.pli-title {
  font-family:    'Geist', 'Inter', sans-serif;
  font-size:      .93rem;
  font-weight:    600;
  letter-spacing: -.2px;
  color:          var(--text);
  line-height:    1.3;
  margin-bottom:  .25rem;
  white-space:    nowrap;
  overflow:       hidden;
  text-overflow:  ellipsis;
}

.post-list-item:hover .pli-title { color: var(--accent-h); }

.pli-meta {
  font-family:    'Geist', monospace;
  font-size:      .6rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color:          var(--muted);
}

/* ─── Share bar ──────────────────────────────────── */
.share-bar {
  display:     flex;
  align-items: center;
  gap:         .5rem;
  flex-wrap:   wrap;
  padding:     1rem 0;
  border-top:  1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin:      1.5rem 0 2rem;
  position:    relative;
}

.share-label {
  font-family:    'Geist', monospace;
  font-size:      .6rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color:          var(--muted);
  margin-right:   .25rem;
  flex-shrink:    0;
}

.share-btn {
  display:        inline-flex;
  align-items:    center;
  gap:            .4rem;
  padding:        .38rem .75rem;
  background:     var(--surface2);
  border:         1px solid var(--border);
  border-radius:  8px;
  color:          var(--text2);
  font-family:    'Inter', sans-serif;
  font-size:      .75rem;
  font-weight:    500;
  cursor:         pointer;
  text-decoration:none;
  transition:     background .18s, border-color .18s, color .18s, transform .15s;
  line-height:    1;
  white-space:    nowrap;
}

.share-btn svg {
  width:      15px;
  height:     15px;
  flex-shrink:0;
}

.share-btn:hover { transform: translateY(-1px); }

/* Colores de marca en hover */
.share-wa:hover  { background: rgba(37,211,102,.12); border-color: rgba(37,211,102,.4);  color: #25D366; }
.share-fb:hover  { background: rgba(24,119,242,.12); border-color: rgba(24,119,242,.4);  color: #5B9FE8; }
.share-tw:hover  { background: rgba(255,255,255,.07);border-color: rgba(255,255,255,.2); color: #f7f8f8; }
.share-tg:hover  { background: rgba(42,171,238,.12); border-color: rgba(42,171,238,.4);  color: #2AABEE; }
.share-ig:hover  {
  background:   rgba(225,48,108,.1);
  border-color: rgba(225,48,108,.35);
  color:        #E1306C;
}

/* Toast "¡Link copiado!" */
.share-copied {
  position:      absolute;
  bottom:        calc(100% + .5rem);
  left:          50%;
  transform:     translateX(-50%) translateY(4px);
  background:    var(--surface2);
  border:        1px solid rgba(94,106,210,.35);
  border-radius: 8px;
  padding:       .4rem .9rem;
  font-size:     .75rem;
  color:         var(--accent-h);
  font-family:   'Geist', monospace;
  white-space:   nowrap;
  opacity:       0;
  pointer-events:none;
  transition:    opacity .2s, transform .2s;
}

.share-copied.show {
  opacity:   1;
  transform: translateX(-50%) translateY(0);
}

@media (max-width: 480px) {
  .share-btn span { display: none; }
  .share-btn      { padding: .45rem .55rem; }
  .share-btn svg  { width: 17px; height: 17px; }
}

/* ─── Share email button ─────────────────────────── */
.share-email:hover {
  background:   rgba(94,106,210,.12);
  border-color: rgba(94,106,210,.4);
  color:        var(--accent-h);
}

/* ─── Footer rediseñado ──────────────────────────── */
.site-footer {
  background:    rgba(8,9,10,.98);
  border-top:    1px solid var(--border-sub);
  padding:       2.5rem var(--gap) 2rem;
  position:      relative;
  z-index:       1;
}

.footer-top {
  max-width:     var(--max);
  margin:        0 auto 1.5rem;
  display:       flex;
  align-items:   center;
  justify-content: space-between;
  flex-wrap:     wrap;
  gap:           .75rem;
}

.footer-top-links {
  display:     flex;
  align-items: center;
  gap:         .6rem;
  flex-wrap:   wrap;
}

.footer-top-links a,
.footer-collab {
  font-family:    'Geist', monospace;
  font-size:      .72rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color:          var(--text2);
  text-decoration:none;
  transition:     color .15s;
  border-bottom:  1px dashed rgba(255,255,255,.12);
  padding-bottom: 1px;
}

.footer-top-links a:hover,
.footer-collab:hover {
  color:        var(--accent-h);
  border-color: rgba(94,106,210,.4);
}

.footer-collab {
  color:        var(--accent);
  border-color: rgba(94,106,210,.3);
}

.footer-top-sep {
  color:       var(--border);
  font-size:   .9rem;
  line-height: 1;
}

.footer-divider {
  max-width:  var(--max);
  margin:     0 auto 1.5rem;
  height:     1px;
  background: var(--border-sub);
}

.footer-tagline {
  font-family:    'Geist', monospace;
  font-size:      .62rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color:          var(--muted);
  text-align:     center;
  margin-bottom:  1rem;
}

.footer-links {
  display:         flex;
  justify-content: center;
  align-items:     center;
  gap:             .2rem;
  flex-wrap:       wrap;
}

.footer-links a {
  font-family:    'Geist', monospace;
  font-size:      .58rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color:          var(--muted);
  text-decoration:none;
  padding:        .25rem .6rem;
  border-radius:  4px;
  transition:     color .15s, background .15s;
}

.footer-links a:hover {
  color:       var(--accent-h);
  background:  rgba(94,106,210,.08);
}

@media (max-width: 600px) {
  .footer-top {
    flex-direction: column;
    align-items:    flex-start;
    gap:            .5rem;
  }
}

/* ─── FAB "¿Tienes una historia?" ────────────────── */
.tip-fab {
  position:      fixed;
  bottom:        2rem;
  right:         2rem;
  z-index:       900;
  height:        48px;
  border-radius: 24px;
  background:    var(--accent);
  border:        none;
  color:         #fff;
  cursor:        pointer;
  display:       flex;
  align-items:   center;
  gap:           10px;
  padding:       0 20px 0 16px;
  box-shadow:    0 4px 24px rgba(94,106,210,.4), 0 0 0 1px rgba(94,106,210,.2);
  font-family:   'Inter', 'Geist', system-ui, sans-serif;
  font-size:     .85rem;
  font-weight:   500;
  letter-spacing:-.2px;
  white-space:   nowrap;
  transition:    background .2s, transform .2s, box-shadow .2s;
  animation:     fabPulse 3s ease-in-out infinite;
}

.tip-fab:hover {
  background:  var(--accent-h);
  transform:   translateY(-2px) scale(1.04);
  box-shadow:  0 8px 32px rgba(94,106,210,.5);
}

.tip-fab svg { width:20px; height:20px; flex-shrink:0; }

@keyframes fabPulse {
  0%,100% { box-shadow: 0 4px 24px rgba(94,106,210,.4), 0 0 0 1px rgba(94,106,210,.2); }
  50%     { box-shadow: 0 4px 24px rgba(94,106,210,.6), 0 0 0 4px rgba(94,106,210,.1); }
}

/* ─── Modal tip ──────────────────────────────────── */
.tip-overlay {
  display:         none;
  position:        fixed;
  inset:           0;
  background:      rgba(0,0,0,.85);
  z-index:         1001;
  align-items:     center;
  justify-content: center;
  padding:         1.25rem;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.tip-overlay.active { display: flex; }

.tip-modal {
  background:    var(--surface);
  border:        1px solid var(--border);
  border-radius: 16px;
  max-width:     560px;
  width:         100%;
  max-height:    92vh;
  overflow-y:    auto;
  padding:       2rem;
  position:      relative;
  box-shadow:    0 24px 64px rgba(0,0,0,.6);
  animation:     modalIn .25s ease;
}

.tip-header   { margin-bottom: 1.5rem; }

.tip-inspire {
  margin-top:    .8rem;
  padding:       .75rem 1rem;
  background:    rgba(94,106,210,.07);
  border-left:   2px solid var(--accent);
  border-radius: 0 8px 8px 0;
  font-size:     .83rem;
  line-height:   1.6;
  color:         var(--text2);
  font-style:    italic;
}

.tip-form {
  display:        flex;
  flex-direction: column;
  gap:            .9rem;
}

.tip-textarea {
  width:       100%;
  min-height:  130px;
  padding:     .75rem 1rem;
  background:  rgba(255,255,255,.04);
  border:      1px solid var(--border);
  border-radius:10px;
  color:       var(--text);
  font-size:   .92rem;
  font-family: 'Inter', sans-serif;
  outline:     none;
  resize:      vertical;
  line-height: 1.6;
  transition:  border-color .2s, background .2s, box-shadow .2s;
}

.tip-textarea::placeholder { color: var(--muted); }
.tip-textarea:focus {
  border-color: var(--accent);
  background:   rgba(94,106,210,.07);
  box-shadow:   0 0 0 3px var(--accent-glow);
}

/* File drop */
.file-drop {
  border:        2px dashed var(--border);
  border-radius: 10px;
  padding:       1.2rem 1rem;
  text-align:    center;
  cursor:        pointer;
  background:    rgba(255,255,255,.02);
  transition:    border-color .2s, background .2s;
}

.file-drop:hover, .file-drop.dragover {
  border-color: var(--accent);
  background:   rgba(94,106,210,.06);
}

.drop-icon { font-size: 1.4rem; margin-bottom: .3rem; opacity: .5; }
.drop-text { font-size: .82rem; color: var(--text2); margin-bottom: .25rem; }
.drop-hint { font-size: .7rem;  color: var(--muted); }
.file-drop input[type="file"] { display: none; }

.file-list { display: flex; flex-direction: column; gap: 5px; }

.file-item {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  padding:         5px 10px;
  background:      rgba(255,255,255,.04);
  border:          1px solid var(--border);
  border-radius:   7px;
  font-size:       .78rem;
  color:           var(--text2);
}

.file-name   { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }

.file-remove {
  background:  none;
  border:      none;
  color:       var(--muted);
  cursor:      pointer;
  font-size:   .85rem;
  padding:     0 3px;
  transition:  color .15s;
  flex-shrink: 0;
}
.file-remove:hover { color: #ef4444; }

/* Checkbox anonimato */
.anon-check {
  display:      flex;
  align-items:  center;
  gap:          10px;
  padding:      .65rem .9rem;
  background:   rgba(255,255,255,.03);
  border:       1px solid var(--border);
  border-radius:10px;
  cursor:       pointer;
  user-select:  none;
  transition:   background .15s;
}
.anon-check:hover { background: rgba(255,255,255,.05); }

.anon-check input[type="checkbox"] {
  appearance:  none;
  -webkit-appearance: none;
  width:       18px;
  height:      18px;
  min-width:   18px;
  border:      1px solid var(--border);
  border-radius:5px;
  background:  rgba(255,255,255,.04);
  cursor:      pointer;
  position:    relative;
  transition:  all .2s;
}
.anon-check input:checked               { background: var(--accent); border-color: var(--accent); }
.anon-check input:checked::after        { content:'✓'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:#fff; font-size:11px; font-weight:700; }

.anon-check span { font-size: .85rem; color: var(--text2); }

/* Responsive */
@media (max-width: 600px) {
  .tip-fab            { bottom:1.2rem; right:1.2rem; padding:0; width:48px; height:48px; border-radius:50%; justify-content:center; }
  .tip-fab-label      { display: none; }
  .tip-modal          { padding: 1.5rem; }
}

/* ─── Tokens naranja ─────────────────────────────────────────── */
:root {
  --orange:      #f97316;
  --orange-h:    #fb923c;
  --orange-glow: rgba(249,115,22,0.18);
  --orange-dim:  rgba(249,115,22,0.12);
}

/* ─── Layout Hero + Noticias Rápidas ─────────────────────────── */
.hero-rapidas-wrap {
  display:      grid;
  grid-template-columns: 1fr 310px;
  gap:          1.5rem;
  margin-bottom:3.5rem;
  align-items:  start;
}

.hero-rapidas-wrap.hero-full {
  grid-template-columns: 1fr;
}

/* Quitar el margin-bottom del hero-link dentro del wrapper */
.hero-col .hero-link { margin-bottom: 0; }

/* El hero no necesita min-height forzado */
.hero-col .hero { min-height: auto; }

/* ─── Panel Noticias Rápidas (sidebar) ───────────────────────── */
.rapidas-col {
  background:     var(--surface);
  border:         1px solid rgba(249,115,22,.35);
  border-radius:  12px;
  overflow:       hidden;
  display:        flex;
  flex-direction: column;
  box-shadow:     0 0 0 1px rgba(249,115,22,.08),
                  0 4px 24px rgba(0,0,0,.3);
}

/* Barra de título naranja sólida */
.rapidas-header-bar {
  background:     var(--orange);
  padding:        .6rem 1rem;
  font-family:    'Geist', monospace;
  font-size:      .62rem;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: .13em;
  color:          #fff;
  display:        flex;
  align-items:    center;
  gap:            .45rem;
  flex-shrink:    0;
  text-shadow:    0 1px 2px rgba(0,0,0,.25);
}

/* Stack de ítems */
.rapidas-stack {
  display:        flex;
  flex-direction: column;
  flex:           1;
}

/* Ítem individual */
.rapida-item {
  border-bottom: 1px solid rgba(249,115,22,.12);
  flex:          1;
}

.rapida-item:last-child { border-bottom: none; }

.rapida-item a {
  display:         flex;
  gap:             .75rem;
  padding:         .9rem;
  height:          100%;
  text-decoration: none;
  color:           inherit;
  transition:      background .15s;
}

.rapida-item:hover a { background: rgba(249,115,22,.06); }

/* Miniatura */
.rapida-thumb {
  width:        88px;
  height:       66px;
  flex-shrink:  0;
  border-radius:6px;
  overflow:     hidden;
  background:   var(--surface2);
  border:       1px solid rgba(249,115,22,.25);
}

.rapida-thumb img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  opacity:    .85;
  transition: opacity .25s, transform .3s;
}

.rapida-item:hover .rapida-thumb img {
  opacity:   1;
  transform: scale(1.05);
}

.rapida-thumb-ph {
  width:      100%;
  height:     100%;
  background: linear-gradient(135deg, var(--surface2) 0%, rgba(249,115,22,.22) 100%);
}

/* Texto */
.rapida-info {
  flex:           1;
  min-width:      0;
  display:        flex;
  flex-direction: column;
  gap:            .15rem;
}

.rapida-title {
  font-family:    'Geist', 'Inter', system-ui, sans-serif;
  font-size:      .87rem;
  font-weight:    600;
  line-height:    1.3;
  letter-spacing: -.2px;
  color:          var(--text);
  transition:     color .15s;
  display:        -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow:       hidden;
}

.rapida-item:hover .rapida-title { color: var(--orange-h); }

.rapida-exc {
  font-size:          .76rem;
  color:              var(--text2);
  line-height:        1.5;
  display:            -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow:           hidden;
}

.rapida-meta {
  font-family:    'Geist', monospace;
  font-size:      .57rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color:          var(--muted);
  margin-top:     auto;
  padding-top:    .3rem;
}

/* Link "ver todas" */
.rapidas-ver-mas {
  display:         block;
  padding:         .6rem 1rem;
  background:      rgba(249,115,22,.07);
  border-top:      1px solid rgba(249,115,22,.18);
  font-family:     'Geist', monospace;
  font-size:       .6rem;
  text-transform:  uppercase;
  letter-spacing:  .1em;
  color:           var(--orange);
  text-decoration: none;
  text-align:      center;
  transition:      background .15s, color .15s;
  flex-shrink:     0;
}

.rapidas-ver-mas:hover {
  background: rgba(249,115,22,.14);
  color:      var(--orange-h);
}

/* ─── Responsive ─────────────────────────────────────────────── */

/* Tablet: columna única, rapidas al tope */
@media (max-width: 900px) {
  .hero-rapidas-wrap {
    display:        flex;
    flex-direction: column;
  }

  /* Noticias Rápidas primero en móvil/tablet */
  .rapidas-col { order: -1; }

  /* Scroll horizontal en tablet/móvil */
  .rapidas-stack {
    flex-direction: row;
    overflow-x:     auto;
    scrollbar-width:none;
  }
  .rapidas-stack::-webkit-scrollbar { display: none; }

  .rapida-item {
    min-width:    220px;
    max-width:    260px;
    flex:         0 0 auto;
    border-bottom:none;
    border-right: 1px solid rgba(249,115,22,.12);
  }
  .rapida-item:last-child { border-right: none; }

  .rapida-item a {
    flex-direction: column;
    height:         auto;
  }

  .rapida-thumb {
    width:  100%;
    height: 120px;
  }
}

@media (max-width: 600px) {
  .rapida-item  { min-width: 190px; }
  .rapida-thumb { height: 105px; }
}

/* ─── Página de categoría: Noticias Rápidas ──────────────────── */

/* Banner de cabecera naranja */
.rapidas-cat-banner {
  background:    linear-gradient(135deg, #c2410c 0%, var(--orange) 60%, #fb923c 100%);
  border-bottom: 1px solid rgba(249,115,22,.4);
  margin-bottom: 2rem;
  position:      relative;
  overflow:      hidden;
}

.rapidas-cat-banner::before {
  content:    '';
  position:   absolute;
  inset:      0;
  background: radial-gradient(ellipse at 80% 50%, rgba(255,255,255,.08) 0%, transparent 70%);
  pointer-events: none;
}

.rapidas-cat-banner-inner {
  max-width:   var(--max);
  margin:      0 auto;
  padding:     1.5rem var(--gap);
  display:     flex;
  align-items: center;
  justify-content: space-between;
  gap:         1rem;
  position:    relative;
}

.rapidas-cat-title {
  display:        flex;
  align-items:    center;
  gap:            .6rem;
  font-family:    'Geist', monospace;
  font-size:      1.15rem;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color:          #fff;
  text-shadow:    0 1px 4px rgba(0,0,0,.25);
  margin-bottom:  .35rem;
}

.rapidas-cat-desc {
  font-family:  'Inter', system-ui, sans-serif;
  font-size:    .85rem;
  color:        rgba(255,255,255,.82);
  line-height:  1.5;
  max-width:    500px;
}

.rapidas-cat-back {
  font-family:     'Geist', monospace;
  font-size:       .6rem;
  text-transform:  uppercase;
  letter-spacing:  .1em;
  color:           rgba(255,255,255,.75);
  text-decoration: none;
  border:          1px solid rgba(255,255,255,.3);
  padding:         .4rem .85rem;
  border-radius:   6px;
  white-space:     nowrap;
  flex-shrink:     0;
  transition:      background .15s, color .15s;
}

.rapidas-cat-back:hover {
  background: rgba(255,255,255,.15);
  color:      #fff;
}

@media (max-width: 600px) {
  .rapidas-cat-banner-inner { flex-direction: column; align-items: flex-start; gap: .75rem; }
  .rapidas-cat-title        { font-size: .9rem; }
}

/* ─── Overrides naranjos para .is-rapidas ────────────────────── */

/* Tag sobre el hero */
.is-rapidas .tag {
  background:   rgba(249,115,22,.22);
  color:        #fed7aa;
  border-color: rgba(249,115,22,.45);
}

.is-rapidas .tag::before {
  background: var(--orange);
}

/* Línea del section-header */
.is-rapidas .section-header::after {
  background: rgba(249,115,22,.35);
}

.is-rapidas .section-header h2 {
  color: var(--orange);
}

/* Cards: separador naranja */
.is-rapidas .news-card,
.is-rapidas .news-card:first-child {
  border-color: rgba(249,115,22,.12);
}

.is-rapidas .card-tag,
.is-rapidas .tag               { background: rgba(249,115,22,.18); color: #fed7aa; border-color: rgba(249,115,22,.35); }
.is-rapidas .card-tag::before,
.is-rapidas .tag::before       { background: var(--orange); }

/* Lista (archivo) */
.is-rapidas .post-list           { border-color: rgba(249,115,22,.15); background: rgba(249,115,22,.04); }
.is-rapidas .post-list-item:hover { background: rgba(249,115,22,.07); }
.is-rapidas .post-list-item:hover .pli-title { color: var(--orange-h); }
.is-rapidas .pli-img             { border-radius: 6px; border: 1px solid rgba(249,115,22,.2); }

/* Back link */
.is-rapidas .back-link:hover     { color: var(--orange); border-color: rgba(249,115,22,.4); }
