/* ============================================================
   Continuus Nexus - estilos específicos de páginas editoriales
   Aplicado por clase PHP en body: page-disclaimer y page-guia-de-lectura
   ============================================================ */

body.page-disclaimer,
body.page-guia-de-lectura {
  background:
    radial-gradient(circle at 18% 0%, rgba(212, 168, 87, .20), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(86, 105, 145, .16), transparent 36rem),
    #0b0c0e;
}

/* Hero editorial */
body.page-disclaimer .section--hero,
body.page-guia-de-lectura .section--hero {
  min-height: 380px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  background:
    linear-gradient(135deg, rgba(0,0,0,.50), rgba(0,0,0,.12)),
    radial-gradient(circle at 15% 20%, rgba(212,168,87,.20), transparent 32rem);
}

body.page-disclaimer .section--hero .hero-bg,
body.page-guia-de-lectura .section--hero .hero-bg {
  opacity: .34;
  filter: saturate(.75) contrast(1.08);
}

body.page-disclaimer .section--hero .hero-content,
body.page-guia-de-lectura .section--hero .hero-content {
  max-width: 980px;
  padding-top: clamp(4rem, 8vw, 7rem);
  padding-bottom: clamp(3rem, 7vw, 6rem);
}

body.page-disclaimer .section--hero h1,
body.page-guia-de-lectura .section--hero h1 {
  max-width: 980px;
  font-size: clamp(2.4rem, 5.2vw, 5rem);
  line-height: .96;
  letter-spacing: -.05em;
  color: #f7f1e3;
  text-shadow: 0 18px 55px rgba(0,0,0,.55);
}

body.page-disclaimer .section--hero .lead,
body.page-guia-de-lectura .section--hero .lead {
  max-width: 880px;
  color: rgba(245,245,245,.84);
  font-size: clamp(1.05rem, 1.45vw, 1.28rem);
}

/* Contenedor principal de lectura */
body.page-disclaimer .section:not(.section--hero),
body.page-guia-de-lectura .section:not(.section--hero) {
  padding: clamp(2.2rem, 5vw, 5rem) 1rem;
}

body.page-disclaimer .section-inner,
body.page-guia-de-lectura .section-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: block;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.030)),
    rgba(12, 13, 15, .88);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 30px;
  padding: clamp(1.4rem, 3.4vw, 3.4rem);
  box-shadow:
    0 34px 90px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.08);
}

body.page-disclaimer .section-text,
body.page-guia-de-lectura .section-text {
  max-width: 920px;
  margin: 0 auto;
}

body.page-disclaimer .section-text h2,
body.page-guia-de-lectura .section-text h2 {
  font-size: clamp(2rem, 3.2vw, 3.2rem);
  line-height: 1.03;
  letter-spacing: -.035em;
  color: #f7f1e3;
  margin: 0 0 1.35rem;
}

body.page-disclaimer .section-text .eyebrow,
body.page-guia-de-lectura .section-text .eyebrow {
  color: #d4a857;
  letter-spacing: .18em;
}

/* Texto largo */
body.page-disclaimer .prose,
body.page-guia-de-lectura .prose {
  color: rgba(245,245,245,.88);
  font-size: clamp(1rem, 1.18vw, 1.12rem);
  line-height: 1.88;
}

body.page-disclaimer .prose p,
body.page-guia-de-lectura .prose p {
  margin: 0 0 1.2rem;
}

body.page-disclaimer .prose p:first-child,
body.page-guia-de-lectura .prose p:first-child {
  font-size: clamp(1.08rem, 1.38vw, 1.24rem);
  color: rgba(255,255,255,.94);
}

/* Disclaimer: apariencia documental */
body.page-disclaimer .prose p {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

body.page-disclaimer .prose p:last-child {
  border-bottom: 0;
}

body.page-disclaimer .section-inner::before {
  content: "Aviso legal";
  display: inline-flex;
  margin-bottom: 1.3rem;
  padding: .35rem .7rem;
  border: 1px solid rgba(212,168,87,.45);
  border-radius: 999px;
  color: #e3bd6a;
  background: rgba(212,168,87,.10);
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Guía de lectura: itinerario */
body.page-guia-de-lectura .prose p {
  position: relative;
  padding-left: 1.35rem;
}

body.page-guia-de-lectura .prose p::before {
  content: "";
  position: absolute;
  left: 0;
  top: .78em;
  width: .48rem;
  height: .48rem;
  border-radius: 999px;
  background: #d4a857;
  box-shadow: 0 0 0 5px rgba(212,168,87,.13);
}

body.page-guia-de-lectura .section-inner::before {
  content: "Ruta recomendada";
  display: inline-flex;
  margin-bottom: 1.3rem;
  padding: .35rem .7rem;
  border: 1px solid rgba(212,168,87,.45);
  border-radius: 999px;
  color: #e3bd6a;
  background: rgba(212,168,87,.10);
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Enlaces y botones */
body.page-disclaimer .prose a,
body.page-guia-de-lectura .prose a {
  color: #e5bf70;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}

body.page-disclaimer .btn,
body.page-guia-de-lectura .btn {
  border: 1px solid rgba(212,168,87,.58);
  background: linear-gradient(180deg, #e4bf74, #b98232);
  color: #120f0a;
  box-shadow: 0 16px 38px rgba(0,0,0,.40);
}

body.page-disclaimer .btn:hover,
body.page-guia-de-lectura .btn:hover {
  filter: brightness(1.07);
  transform: translateY(-1px);
}

@media (max-width: 720px) {
  body.page-disclaimer .section-inner,
  body.page-guia-de-lectura .section-inner {
    border-radius: 18px;
    padding: 1.15rem;
  }

  body.page-disclaimer .prose,
  body.page-guia-de-lectura .prose {
    line-height: 1.72;
  }

  body.page-guia-de-lectura .prose p {
    padding-left: 1rem;
  }
}

/* Continuus Nexus - refuerzo de disclaimer y glosario */
#condiciones .prose,
#disclaimer-condiciones .prose,
section[id*="condiciones"] .prose,
body.page-disclaimer .prose {
  text-align: justify;
  text-align-last: left;
  hyphens: auto;
}

#glosario-terminos .prose {
  text-align: justify;
  text-align-last: left;
  hyphens: auto;
}
