/* Blog estilo revista «Čokoládový magazín» (scripts/revista.py, 29-10-2026). Sobre actividad.css (.pa, .pa-btn).
   Prefijo rv-. Una sola tipografía (Raleway): el aire de revista sale del contraste entre 800-900 y 200 en itálica. */
.rv { --rv-oro: #F2B544; --rv-kicker: #8A5530; --rv-rojo-texto: #B3242D; --rv-linea: #E5D2BB; padding-bottom: 8px; }
.rv-ancho { max-width: 1240px; margin: 0 auto; padding-left: 32px; padding-right: 32px; }
.rv em { font-style: italic; font-weight: 200; letter-spacing: -0.01em; }
.rv a, .rv a:visited { text-decoration: none; }

/* Cabecera */
.rv-cabecera { padding-top: 40px; }
.rv-linea { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--pa-tinta); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--pa-suave); }
.rv-titular { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; flex-wrap: wrap; padding: 34px 0 30px; }
.rv-marca { margin: 0; font-size: clamp(60px, 8.4vw, 116px); line-height: .9; font-weight: 900; letter-spacing: -0.035em; color: var(--pa-tinta); }
.rv-marca em { letter-spacing: -0.02em; }
.rv-marca-chica { width: 100%; margin: 0 0 6px; font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--rv-kicker); }
.rv-marca-chica em { font-weight: 400; letter-spacing: .1em; }
.rv-intro { max-width: 400px; padding-bottom: 8px; }
.rv .rv-intro h1 { margin: 0 0 10px; font-size: 22px; line-height: 1.25; font-weight: 800; letter-spacing: -0.01em; }
.rv-intro p { font-size: 17px; line-height: 1.6; color: var(--pa-suave); }
.rv-titular--cat { align-items: flex-start; flex-direction: column; gap: 0; padding-top: 30px; }
.rv-intro--cat { max-width: 760px; }
.rv .rv-intro--cat h1 { font-size: clamp(48px, 7vw, 96px); line-height: .95; font-weight: 900; letter-spacing: -0.035em; margin-bottom: 18px; }
.rv-intro--cat p { max-width: 620px; font-size: 18px; }
.rv-chips { display: flex; gap: 10px; flex-wrap: wrap; padding: 18px 0; border-top: 1px solid var(--rv-linea); border-bottom: 3px double var(--pa-tinta); }
.rv .rv-chip, .rv .rv-chip:visited { padding: 10px 20px; border-radius: 999px; border: 1px solid #CDB59B; color: var(--pa-tinta); font-size: 15px; font-weight: 600; line-height: 1.2; transition: background-color .2s, color .2s, border-color .2s; }
.rv .rv-chip:hover, .rv .rv-chip:focus-visible, .rv .rv-chip.is-on { background: var(--pa-tinta); border-color: var(--pa-tinta); color: var(--pa-crema); }
.rv .rv-chip.is-on { font-weight: 700; }

/* Piezas comunes */
.rv-kicker { display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--rv-kicker); }
.rv-kicker--rojo { color: var(--rv-rojo-texto); }
.rv-kicker--oro { color: var(--rv-oro); }
.rv-titulo { display: block; font-weight: 800; line-height: 1.2; color: var(--pa-tinta); transition: color .2s; }
.rv-texto { display: block; font-size: 15px; line-height: 1.55; color: var(--pa-suave); }
.rv-rotulo { margin: 0 !important; font-size: 14px !important; font-weight: 800 !important; letter-spacing: .16em !important; text-transform: uppercase; }
.rv .rv-h2 { margin: 0; font-size: clamp(36px, 4.4vw, 58px); line-height: 1; font-weight: 800; letter-spacing: -0.03em; }
.rv .rv-h2--chico { font-size: clamp(30px, 3vw, 40px); margin-bottom: 10px; }
.rv-foto { display: block; overflow: hidden; background: var(--pa-crema-2); }
.rv-foto img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.rv a:hover .rv-foto img { transform: scale(1.05); }
.rv a:hover .rv-titulo, .rv a:hover .rv-tapa__titulo, .rv a:hover .rv-grande__titulo { color: var(--rv-rojo-texto); }
.rv .rv-subrayado, .rv .rv-subrayado:visited { display: inline-block; font-size: 16px; font-weight: 700; color: var(--pa-tinta); border-bottom: 2px solid var(--rv-oro); padding-bottom: 2px; white-space: nowrap; }
.rv .rv-subrayado:hover { color: var(--rv-rojo-texto); border-color: var(--rv-rojo-texto); }
.rv-regla { display: flex; align-items: center; gap: 24px; margin-bottom: 34px; }
.rv-regla > span { flex: 1 1 auto; height: 1px; background: var(--pa-tinta); }
.rv-regla__nota { flex: none; font-size: 15px; font-style: italic; color: var(--pa-suave); }
.rv-bloque { padding-top: 112px; }

/* Nota de tapa + Právě oblíbené */
.rv-tapa { display: flex; gap: 48px; flex-wrap: wrap; align-items: flex-start; padding-top: 48px; }
.rv-tapa__nota { position: relative; display: block; flex: 999 1 620px; min-width: 0; padding-bottom: 120px; }
.rv-tapa__foto { height: 540px; border-radius: 28px; }
.rv-sello { position: absolute; top: 24px; left: 24px; padding: 8px 14px; border-radius: 999px; background: var(--pa-crema); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--pa-tinta); }
.rv-tapa__tarjeta { position: absolute; left: 48px; right: 120px; bottom: 0; display: flex; flex-direction: column; gap: 12px; padding: 36px 40px 34px; border-radius: 24px; background: #FFFDF8; box-shadow: 0 30px 60px rgba(36, 19, 7, .14); }
.rv-tapa__titulo { display: block; font-size: clamp(32px, 3.6vw, 48px); line-height: 1.02; font-weight: 800; letter-spacing: -0.025em; color: var(--pa-tinta); transition: color .2s; }
.rv-tapa__tarjeta .rv-texto { font-size: 18px; line-height: 1.6; }
.rv-tapa:not(:has(.rv-oblibene)) .rv-tapa__nota { flex-basis: 100%; }
.rv-oblibene { flex: 1 1 320px; min-width: 0; }
.rv-oblibene .rv-rotulo { padding-bottom: 14px; border-bottom: 1px solid var(--pa-tinta); }
.rv-fila { display: flex; gap: 18px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--rv-linea); }
.rv-num { flex: none; width: 56px; font-size: 52px; line-height: 1; font-weight: 200; font-style: italic; color: var(--pa-rojo); }
.rv-fila__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.rv-fila .rv-titulo { font-size: 19px; }
.rv-redonda { flex: none; width: 72px; height: 72px; border-radius: 50%; }
.rv-tip { margin-top: 26px; padding: 26px; border-radius: 22px; background: var(--pa-crema-2); }
.rv-tip__texto { margin: 8px 0 14px !important; font-size: 21px; line-height: 1.4; font-weight: 300; font-style: italic; color: var(--pa-tinta); }

/* Estación */
.rv-sezona { padding-top: 112px; }
.rv-sezona__cabeza { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 34px; }
.rv-sezona__cabeza .rv-kicker { margin-bottom: 10px; font-size: 13px; }
.rv-sezona__grilla { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 28px; }
.rv-grande { display: flex; flex-direction: column; gap: 18px; }
.rv-grande .rv-foto { height: 470px; border-radius: 24px; }
.rv-grande__pie { display: flex; gap: 28px; align-items: flex-start; }
.rv-grande__pie > .rv-kicker { flex: none; max-width: 130px; padding-top: 8px; }
.rv-grande__titulo { display: block; margin-bottom: 8px; font-size: 34px; line-height: 1.08; font-weight: 800; letter-spacing: -0.02em; color: var(--pa-tinta); transition: color .2s; }
.rv-grande .rv-texto { font-size: 17px; line-height: 1.6; }
.rv-sezona__chicas { display: flex; flex-direction: column; gap: 28px; }
.rv-mini { display: flex; gap: 20px; align-items: stretch; padding: 14px; border-radius: 24px; background: #FFFDF8; box-shadow: 0 1px 0 var(--rv-linea); }
.rv-mini .rv-foto { flex: none; width: 190px; height: 210px; border-radius: 16px; }
.rv-mini__txt { display: flex; flex-direction: column; justify-content: center; gap: 10px; padding-right: 10px; }
.rv-mini .rv-titulo { font-size: 25px; line-height: 1.12; }

/* Grillas de tarjetas */
.rv-grilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 28px; align-items: start; }
.rv-grilla--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rv-tarjeta { display: flex; flex-direction: column; gap: 12px; }
.rv-tarjeta .rv-foto { aspect-ratio: 4 / 3; border-radius: 20px; margin-bottom: 4px; }
.rv-grilla--4 .rv-tarjeta .rv-foto { aspect-ratio: 1 / 1; }
.rv-grilla--4 .rv-tarjeta--alta .rv-foto { aspect-ratio: 3 / 4; }
.rv-tarjeta .rv-titulo { font-size: 23px; line-height: 1.15; }

/* Banda oscura de guías */
.rv-oscuro { position: relative; margin-top: 128px; background: var(--pa-tinta); color: var(--pa-crema); }
.rv-chorreo { position: absolute; top: -1px; left: 0; width: 100%; height: 60px; fill: var(--pa-crema); }
.rv-oscuro__envoltura { display: flex; gap: 72px; flex-wrap: wrap; align-items: flex-start; padding-top: 136px; padding-bottom: 112px; }
.rv-oscuro__intro { flex: 1 1 340px; min-width: 0; }
.rv-oscuro__intro .rv-kicker { margin-bottom: 18px; font-size: 13px; }
.rv .rv-oscuro .rv-h2 { margin-bottom: 24px; color: var(--pa-crema); font-size: clamp(40px, 4.6vw, 64px); }
.rv-oscuro__texto { margin-bottom: 26px !important; font-size: 18px; line-height: 1.65; color: #E9D7C1; }
.rv .rv-subrayado--claro, .rv .rv-subrayado--claro:visited { color: var(--pa-crema); }
.rv .rv-subrayado--claro:hover { color: var(--rv-oro); border-color: var(--pa-crema); }
.rv-oscuro__foto { height: 300px; margin-top: 34px; border-radius: 24px; }
.rv-guias { flex: 999 1 540px; min-width: 0; border-top: 1px solid rgba(255, 246, 234, .25); }
.rv-guias li { border-bottom: 1px solid rgba(255, 246, 234, .25); }
.rv .rv-guia, .rv .rv-guia:visited { display: flex; align-items: center; gap: 26px; padding: 22px 0; color: var(--pa-crema); }
.rv-guia .rv-num { width: 64px; font-size: 42px; color: var(--rv-oro); }
.rv-guia__foto { flex: none; width: 112px; height: 80px; border-radius: 14px; }
.rv-guia__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.rv-guia__titulo { font-size: 24px; line-height: 1.15; font-weight: 800; transition: color .2s; }
.rv-guia__sub { font-size: 15px; line-height: 1.5; color: #D9C4AB; }
.rv-flecha { flex: none; color: var(--rv-oro); transition: transform .25s; }
.rv-guia:hover .rv-guia__titulo { color: var(--rv-oro); }
.rv-guia:hover .rv-flecha { transform: translateX(6px); }

/* Obsah (índice de todo) */
.rv-obsah__grilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 48px; }
.rv-obsah__col h3 { margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--pa-tinta); font-size: 20px; font-weight: 800; }
.rv-obsah__col h3 a, .rv-obsah__col h3 a:visited { color: var(--pa-tinta); }
.rv-obsah__col h3 span { font-weight: 200; font-style: italic; color: var(--pa-rojo); }
.rv-obsah__col li { padding: 7px 0; border-bottom: 1px dotted #CDB59B; }
.rv .rv-obsah__col li a, .rv .rv-obsah__col li a:visited { color: var(--pa-cafe); font-size: 16px; line-height: 1.4; }
.rv .rv-obsah__col a:hover { color: var(--rv-rojo-texto); }

/* Workshop: se ve solo el primero que corresponde (Halloween → Advent → el regular) */
.rv-taller { display: flex; flex-wrap: wrap; overflow: hidden; border-radius: 32px; background: #FFE7C1; }
.rv-taller:not(.rp-fuera) ~ .rv-taller { display: none; }
.rv-taller__foto { flex: 1 1 480px; min-width: 0; min-height: 460px; position: relative; }
.rv-taller__foto img { position: absolute; inset: 0; }
.rv-taller__txt { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: 56px; }
.rv-taller .rv-h2 { font-size: clamp(34px, 3.6vw, 50px); }
.rv-taller__nombre { font-size: 18px; font-weight: 800; color: var(--pa-cafe); }
.rv-taller .rv-texto { font-size: 17px; color: #5A4334; }
.rv-botones { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.rv-taller .pa-solo-hasta { align-self: flex-start; margin-top: 4px; background: rgba(217, 54, 63, .1); color: var(--rv-rojo-texto); }
.rv-taller .pa-solo-hasta svg { color: var(--rv-rojo-texto); }

/* E-book */
.rv-ebook { display: flex; gap: 40px; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 40px 0; border-top: 3px double var(--pa-tinta); border-bottom: 1px solid var(--pa-tinta); margin-bottom: 112px; }
.rv-ebook > div { flex: 1 1 420px; max-width: 640px; }
.rv-ebook .rv-kicker { margin-bottom: 10px; }
.rv-ebook .rv-texto { font-size: 17px; }
.pa-btn--oscuro, .pa-btn--oscuro:visited { background: var(--pa-tinta); color: var(--pa-crema); }
.pa-btn--oscuro:hover, .pa-btn--oscuro:focus, .pa-btn--oscuro:focus-visible { background: var(--pa-rojo); color: #fff; }

/* Tableta */
@media (max-width: 1024px) {
  .rv-grilla--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rv-sezona__grilla { grid-template-columns: minmax(0, 1fr); }
  .rv-obsah__grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Celular */
@media (max-width: 767px) {
  .rv-ancho { padding-left: 16px; padding-right: 16px; }
  .rv-cabecera { padding-top: 22px; }
  .rv-linea { font-size: 11px; }
  .rv-linea > span:first-child { display: none; }
  .rv-titular { padding: 22px 0 18px; gap: 14px; }
  .rv-marca { font-size: 58px; }
  .rv .rv-intro h1 { font-size: 19px; }
  .rv .rv-intro--cat h1 { font-size: 52px; margin-bottom: 12px; }
  .rv-intro p { font-size: 16px; }
  .rv-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 14px 16px; scrollbar-width: none; }
  .rv .rv-chip { flex: none; padding: 11px 18px; font-size: 14px; }
  .rv-tapa { padding-top: 24px; gap: 44px; }
  .rv-tapa__nota { margin: 0 -16px; padding-bottom: 0; }
  .rv-tapa__foto { height: 330px; border-radius: 0; }
  .rv-sello { top: 16px; left: 16px; }
  .rv-tapa__tarjeta { position: relative; left: auto; right: auto; margin: -64px 16px 0; padding: 24px 22px 22px; border-radius: 22px; }
  .rv-tapa__tarjeta .rv-texto { font-size: 16px; }
  .rv-num { width: 44px; font-size: 40px; }
  .rv-redonda { width: 60px; height: 60px; }
  .rv-fila { gap: 14px; padding: 16px 0; }
  .rv-tip__texto { font-size: 19px; }
  .rv-sezona, .rv-bloque { padding-top: 64px; }
  .rv-grande .rv-foto { height: 300px; }
  .rv-grande__pie { flex-direction: column; gap: 8px; }
  .rv-grande__pie > .rv-kicker { max-width: none; padding-top: 0; }
  .rv-grande__titulo { font-size: 26px; }
  .rv-mini { padding: 10px; gap: 14px; }
  .rv-mini .rv-foto { width: 120px; height: 140px; }
  .rv-mini .rv-titulo { font-size: 19px; }
  .rv-mini .rv-texto { display: none; }
  .rv-regla { gap: 14px; margin-bottom: 20px; }
  .rv-regla__nota { display: none; }
  .rv-grilla, .rv-grilla--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
  .rv-tarjeta .rv-titulo { font-size: 17px; }
  .rv-tarjeta .rv-kicker { font-size: 10px; letter-spacing: .1em; }
  .rv-tarjeta .rv-texto { display: none; }
  .rv-oscuro { margin-top: 72px; }
  .rv-chorreo { height: 30px; }
  .rv-oscuro__envoltura { padding-top: 72px; padding-bottom: 56px; gap: 24px; }
  .rv-oscuro__foto { display: none; }
  .rv-guia { gap: 14px; padding: 16px 0; }
  .rv-guia .rv-num { width: 40px; font-size: 30px; }
  .rv-guia__foto { width: 64px; height: 52px; border-radius: 10px; }
  .rv-guia__titulo { font-size: 18px; }
  .rv-guia__sub { display: none; }
  .rv-obsah__grilla { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .rv-taller { border-radius: 26px; }
  .rv-taller__foto { flex-basis: 100%; min-height: 240px; }
  .rv-taller__txt { padding: 26px 22px; }
  .rv-taller .pa-btn { width: 100%; }
  .rv-ebook { margin-bottom: 64px; padding: 28px 0; gap: 18px; }
  .rv-ebook .pa-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .rv-foto img, .rv-flecha { transition: none; }
  .rv a:hover .rv-foto img { transform: none; }
}

/* Popup del e-book (Elementor, solo en las páginas del blog). 29-10: en el celular quedaba muy alto y el botón
   muy abajo (debajo del sello de reCAPTCHA): foto más baja, textos más juntos y el consentimiento en 3 líneas. */
.ct-ebook-pop .elementor-field-type-acceptance, .ct-ebook-pop .elementor-field-subgroup { line-height: 1.4 !important; }
.ct-ebook-pop .elementor-field-option { display: flex; gap: 8px; align-items: flex-start; }
.ct-ebook-pop .elementor-field-option input { flex: none; margin-top: 2px; }
@media (max-width: 767px) {
  .ct-ebook-pop { max-height: 88vh; padding: 18px 6px 6px !important; }
  .ct-ebook-pop img { display: block; width: auto !important; max-width: 100%; height: 132px !important; margin: 0 auto; object-fit: contain; }
  .ct-ebook-pop h3 { font-size: 19px !important; margin-top: 2px !important; }
  .ct-ebook-pop .ct-pop-sub { margin: 2px 0 8px; font-size: 14px; }
  .ct-ebook-pop .elementor-field-group { margin-bottom: 8px !important; }
  .ct-ebook-pop .elementor-widget:not(:last-child) { margin-bottom: 6px !important; }
  .ct-ebook-pop .elementor-field-type-acceptance label, .ct-ebook-pop .elementor-field-type-acceptance a { font-size: 12px !important; }
  .ct-ebook-pop .elementor-button[type="submit"] { margin-right: 64px; } /* que no lo tape el sello de reCAPTCHA */
  .ct-ebook-pop .elementor-field-group:has(> .elementor-button[type="submit"]) { padding-right: 0; }
}
