:root {
  --jr-privacy-blue:#1664d6;
  --jr-privacy-black:#07090c;
  --jr-privacy-ink:#151515;
  --jr-privacy-cream:#f3f0eb;
  --jr-privacy-white:#fff;
  --jr-privacy-muted:#6d7076;
  --jr-privacy-line:rgba(7,9,12,.14);
  --jr-privacy-max:1380px;
}

body.jr-privacy-page-active .entry-title,
body.jr-privacy-page-active .et_post_meta_wrapper,
body.jr-privacy-page-active #main-content > .container:before { display:none!important; }
body.jr-privacy-page-active #main-content .container,
body.jr-privacy-page-active #left-area,
body.jr-privacy-page-active .et_pb_row { width:100%!important; max-width:none!important; padding:0!important; }
body.jr-privacy-page-active #left-area { float:none!important; }

.jr-privacy-page,
.jr-privacy-page *,
.jr-privacy-page *::before,
.jr-privacy-page *::after { box-sizing:border-box; }

.jr-privacy-page {
  /* Importante: no crear un scroll-container aquí; de lo contrario
     position:sticky del índice deja de seguir el viewport. */
  overflow:visible;
  overflow-x:clip;
  background:var(--jr-privacy-cream);
  color:var(--jr-privacy-ink);
  font-family:"Raleway",Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
}

.jr-privacy-page :where(h1,h2,h3,p,ul,ol,dl,dd,dt,address) { margin-top:0; }
.jr-privacy-page a { color:inherit; }
.jr-privacy-page__shell { width:min(calc(100% - 56px),var(--jr-privacy-max)); margin:0 auto; }
.jr-privacy-page__eyebrow { margin:0 0 24px!important; font-size:10px!important; font-weight:800!important; line-height:1!important; letter-spacing:.2em!important; text-transform:uppercase; }

.jr-privacy-page__hero { position:relative; min-height:76svh; display:flex; align-items:flex-end; padding:150px 0 82px; background:var(--jr-privacy-black); color:#fff; overflow:hidden; }
.jr-privacy-page__hero::before { content:""; position:absolute; width:min(44vw,650px); aspect-ratio:1; right:-8%; top:-28%; border-radius:50%; background:var(--jr-privacy-blue); opacity:.9; }
.jr-privacy-page__hero-grid { position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size:76px 76px; mask-image:linear-gradient(to bottom,transparent,#000 34%,#000); }
.jr-privacy-page__hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:clamp(50px,8vw,120px); align-items:end; }
.jr-privacy-page__hero-copy h1 { margin:0!important; color:#fff!important; font-size:clamp(72px,10vw,162px)!important; font-weight:900!important; line-height:.8!important; letter-spacing:-.085em!important; }
.jr-privacy-page__hero-copy h1 span { color:var(--jr-privacy-blue); }
.jr-privacy-page__hero-lead { max-width:720px; margin:42px 0 0!important; color:rgba(255,255,255,.72)!important; font-size:clamp(17px,1.5vw,22px)!important; line-height:1.55!important; }
.jr-privacy-page__hero-card { padding:30px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.04); backdrop-filter:blur(12px); }
.jr-privacy-page__hero-card > span { display:block; margin-bottom:13px; color:var(--jr-privacy-blue); font-size:9px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.jr-privacy-page__hero-card > strong { display:block; max-width:360px; font-size:clamp(22px,2vw,32px); line-height:1.05; letter-spacing:-.045em; }
.jr-privacy-page__hero-card dl { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:34px 0 0!important; padding-top:23px; border-top:1px solid rgba(255,255,255,.12); }
.jr-privacy-page__hero-card dl div { min-width:0; }
.jr-privacy-page__hero-card dt { color:rgba(255,255,255,.42); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.jr-privacy-page__hero-card dd { margin:8px 0 0!important; color:#fff; font-size:12px; font-weight:600; line-height:1.4; }

.jr-privacy-page__intro { padding:clamp(80px,10vw,150px) 0; background:var(--jr-privacy-blue); color:#fff; }
.jr-privacy-page__intro-inner { display:grid; grid-template-columns:120px minmax(0,950px); gap:clamp(30px,6vw,90px); }
.jr-privacy-page__intro-index { color:rgba(255,255,255,.55)!important; font-size:11px!important; font-weight:800!important; letter-spacing:.18em; }
.jr-privacy-page__intro h2 { margin:0!important; color:#fff!important; font-size:clamp(48px,6.5vw,98px)!important; font-weight:900!important; line-height:.88!important; letter-spacing:-.07em!important; }
.jr-privacy-page__intro div > p:last-child { max-width:820px; margin:38px 0 0!important; color:rgba(255,255,255,.82)!important; font-size:clamp(16px,1.35vw,20px)!important; line-height:1.65!important; }

.jr-privacy-page__document { padding:clamp(80px,9vw,150px) 0; background:var(--jr-privacy-cream); }
.jr-privacy-page__document-grid { display:grid; grid-template-columns:250px minmax(0,880px); gap:clamp(50px,9vw,140px); align-items:start; justify-content:center; }
.jr-privacy-page__toc {
  position:-webkit-sticky;
  position:sticky;
  top:105px;
  align-self:start;
  padding-top:7px;
  max-height:calc(100vh - 130px);
}
.jr-privacy-page__toc > p { margin:0 0 24px!important; color:var(--jr-privacy-muted)!important; font-size:9px!important; font-weight:800!important; letter-spacing:.18em!important; text-transform:uppercase; }
.jr-privacy-page__toc nav { display:grid; }
.jr-privacy-page__toc a { position:relative; padding:9px 0 9px 18px; color:rgba(21,21,21,.55)!important; font-size:11px; font-weight:600; line-height:1.25; text-decoration:none; transition:color .2s ease,transform .2s ease; }
.jr-privacy-page__toc a::before { content:""; position:absolute; left:0; top:50%; width:6px; height:6px; border-radius:50%; background:rgba(21,21,21,.18); transform:translateY(-50%); transition:background .2s ease,transform .2s ease; }
.jr-privacy-page__toc a:hover,.jr-privacy-page__toc a.is-active { color:var(--jr-privacy-black)!important; transform:translateX(3px); }
.jr-privacy-page__toc a.is-active::before { background:var(--jr-privacy-blue); transform:translateY(-50%) scale(1.35); }

.jr-privacy-page__article { min-width:0; }
.jr-privacy-page__legal-section { position:relative; scroll-margin-top:110px; padding:0 0 clamp(72px,8vw,120px); margin:0 0 clamp(72px,8vw,120px); border-bottom:1px solid var(--jr-privacy-line); }
.jr-privacy-page__legal-section:last-child { border-bottom:0; }
.jr-privacy-page__section-number { margin-bottom:28px; color:var(--jr-privacy-blue); font-size:10px; font-weight:800; letter-spacing:.18em; }
.jr-privacy-page__article h2 { max-width:780px; margin:0 0 34px!important; color:var(--jr-privacy-black)!important; font-size:clamp(40px,4.7vw,72px)!important; font-weight:850!important; line-height:.93!important; letter-spacing:-.06em!important; }
.jr-privacy-page__article h3 { margin:40px 0 14px!important; color:var(--jr-privacy-black)!important; font-size:18px!important; font-weight:800!important; line-height:1.2!important; letter-spacing:-.025em!important; }
.jr-privacy-page__article p,.jr-privacy-page__article li { color:rgba(21,21,21,.76)!important; font-size:15.5px!important; font-weight:450!important; line-height:1.78!important; }
.jr-privacy-page__article p { margin-bottom:19px!important; }
.jr-privacy-page__article strong { color:var(--jr-privacy-black); font-weight:750; }
.jr-privacy-page__article a { color:var(--jr-privacy-blue)!important; font-weight:650; text-decoration-thickness:1px; text-underline-offset:4px; }
.jr-privacy-page__article ul { margin:19px 0 28px!important; padding:0 0 0 22px!important; }
.jr-privacy-page__article li { padding-left:8px; margin-bottom:11px; }
.jr-privacy-page__article li::marker { color:var(--jr-privacy-blue); }

.jr-privacy-page__data-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:40px 0; background:var(--jr-privacy-line); border:1px solid var(--jr-privacy-line); }
.jr-privacy-page__data-grid > div { padding:26px; background:var(--jr-privacy-cream); }
.jr-privacy-page__data-grid h3 { margin:0 0 10px!important; font-size:15px!important; }
.jr-privacy-page__data-grid p { margin:0!important; font-size:13.5px!important; line-height:1.6!important; }
.jr-privacy-page__note { margin-top:36px; padding:25px 28px; border-left:3px solid var(--jr-privacy-blue); background:#eae6df; }
.jr-privacy-page__note > strong { display:block; margin-bottom:8px; }
.jr-privacy-page__note p { margin:0!important; font-size:14px!important; }

.jr-privacy-page__legal-section--featured { margin-left:-40px; margin-right:-40px; padding:55px 40px 70px; border:0; background:var(--jr-privacy-black); color:#fff; }
.jr-privacy-page__legal-section--featured .jr-privacy-page__section-number { color:var(--jr-privacy-blue); }
.jr-privacy-page__legal-section--featured h2,.jr-privacy-page__legal-section--featured h3,.jr-privacy-page__legal-section--featured strong { color:#fff!important; }
.jr-privacy-page__legal-section--featured p,.jr-privacy-page__legal-section--featured li { color:rgba(255,255,255,.72)!important; }
.jr-privacy-page__legal-section--featured a { color:var(--jr-privacy-blue)!important; }
.jr-privacy-page__large-copy { max-width:760px; color:#fff!important; font-size:clamp(21px,2vw,28px)!important; line-height:1.45!important; }
.jr-privacy-page__arco-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:38px 0 48px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); }
.jr-privacy-page__arco-grid > div { min-height:210px; padding:24px 20px; background:#0d1118; }
.jr-privacy-page__arco-grid b { display:block; color:var(--jr-privacy-blue)!important; font-size:42px; font-weight:900; letter-spacing:-.06em; }
.jr-privacy-page__arco-grid span { display:block; margin:34px 0 9px; color:#fff; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.jr-privacy-page__arco-grid small { display:block; color:rgba(255,255,255,.52); font-size:11px; line-height:1.5; }
.jr-privacy-page__deadline { display:grid; grid-template-columns:160px 1fr; gap:8px 25px; align-items:start; margin-top:42px; padding:25px 0 0; border-top:1px solid rgba(255,255,255,.14); }
.jr-privacy-page__deadline > span { grid-row:1 / 3; color:var(--jr-privacy-blue); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.jr-privacy-page__deadline > strong { font-size:28px; line-height:1; letter-spacing:-.04em; }
.jr-privacy-page__deadline p { margin:0!important; font-size:12px!important; }

.jr-privacy-page__contact-block { margin-bottom:0; padding-bottom:20px; }
.jr-privacy-page__contact-block h2 { max-width:760px; }
.jr-privacy-page__button { display:inline-flex; align-items:center; gap:18px; min-height:54px; margin-top:18px; padding:15px 22px; border-radius:999px; background:var(--jr-privacy-blue); color:#fff!important; font-size:10px; font-weight:800!important; letter-spacing:.13em; text-transform:uppercase; text-decoration:none!important; transition:transform .2s ease,box-shadow .2s ease; }
.jr-privacy-page__button:hover { transform:translateY(-2px); box-shadow:0 15px 30px rgba(22,100,214,.24); }
.jr-privacy-page__contact-block address { margin:44px 0 0!important; padding-top:25px; border-top:1px solid var(--jr-privacy-line); color:rgba(21,21,21,.58); font-size:12px; font-style:normal; line-height:1.7; }

.jr-privacy-page__closing { padding:clamp(85px,10vw,150px) 0; background:var(--jr-privacy-black); color:#fff; }
.jr-privacy-page__closing p { color:var(--jr-privacy-blue)!important; font-size:9px!important; font-weight:800!important; letter-spacing:.18em!important; }
.jr-privacy-page__closing h2 { margin:22px 0 50px!important; color:#fff!important; font-size:clamp(64px,9vw,138px)!important; font-weight:900!important; line-height:.82!important; letter-spacing:-.08em!important; }
.jr-privacy-page__closing h2 span { color:var(--jr-privacy-blue); }
.jr-privacy-page__closing div > div { display:flex; flex-wrap:wrap; gap:24px; }
.jr-privacy-page__closing a { color:#fff!important; font-size:11px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; text-underline-offset:6px; }

@media (max-width:1050px) {
  .jr-privacy-page__hero-inner { grid-template-columns:1fr; }
  .jr-privacy-page__hero-card { max-width:620px; }
  .jr-privacy-page__document-grid { grid-template-columns:200px minmax(0,1fr); gap:55px; }
  .jr-privacy-page__arco-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:800px) {
  .jr-privacy-page__shell { width:min(calc(100% - 34px),var(--jr-privacy-max)); }
  .jr-privacy-page__hero { min-height:auto; padding:132px 0 68px; }
  .jr-privacy-page__hero::before { width:420px; right:-180px; top:-180px; }
  .jr-privacy-page__hero-copy h1 { font-size:clamp(64px,18vw,105px)!important; }
  .jr-privacy-page__intro-inner { grid-template-columns:1fr; gap:20px; }
  .jr-privacy-page__document-grid { grid-template-columns:1fr; }
  .jr-privacy-page__toc { position:relative; top:auto; overflow:auto; margin:0 -17px 20px; padding:0 17px 24px; border-bottom:1px solid var(--jr-privacy-line); }
  .jr-privacy-page__toc > p { margin-bottom:14px!important; }
  .jr-privacy-page__toc nav { display:flex; gap:8px; min-width:max-content; }
  .jr-privacy-page__toc a { padding:9px 13px; border:1px solid var(--jr-privacy-line); border-radius:999px; background:rgba(255,255,255,.28); }
  .jr-privacy-page__toc a::before { display:none; }
  .jr-privacy-page__toc a:hover,.jr-privacy-page__toc a.is-active { transform:none; background:#fff; }
  .jr-privacy-page__legal-section--featured { margin-left:-17px; margin-right:-17px; padding-left:17px; padding-right:17px; }
}

@media (max-width:580px) {
  .jr-privacy-page__hero-card dl { grid-template-columns:1fr; }
  .jr-privacy-page__data-grid { grid-template-columns:1fr; }
  .jr-privacy-page__arco-grid { grid-template-columns:1fr; }
  .jr-privacy-page__arco-grid > div { min-height:0; }
  .jr-privacy-page__deadline { grid-template-columns:1fr; }
  .jr-privacy-page__deadline > span { grid-row:auto; }
  .jr-privacy-page__article p,.jr-privacy-page__article li { font-size:15px!important; }
}

@media (prefers-reduced-motion:reduce) {
  .jr-privacy-page *, .jr-privacy-page *::before, .jr-privacy-page *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation:none!important; }
}


/* V1.0.2 — ÍNDICE FIJO DURANTE LA LECTURA
   El índice permanece visible mientras avanza el contenido del lado derecho. */
@media (min-width:801px) {
  .jr-privacy-page__document-grid {
    overflow:visible!important;
  }

  .jr-privacy-page__toc {
    position:-webkit-sticky!important;
    position:sticky!important;
    top:105px!important;
    align-self:start!important;
    z-index:3;
  }
}


/* V1.0.3 — corrige contraste del CTA frente a reglas globales de enlaces */
.jr-privacy-page__article a.jr-privacy-page__button {
  color:#fff!important;
  text-decoration:none!important;
}
.jr-privacy-page__article a.jr-privacy-page__button .jr-privacy-page__button-label,
.jr-privacy-page__article a.jr-privacy-page__button .jr-privacy-page__button-arrow {
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
.jr-privacy-page__button-label {
  display:inline-block;
  white-space:nowrap;
}
.jr-privacy-page__button-arrow {
  display:inline-block;
  font-size:15px;
  line-height:1;
  transition:transform .2s ease;
}
.jr-privacy-page__button:hover .jr-privacy-page__button-arrow {
  transform:translate(2px,-2px);
}


/* V1.0.4 — página legal limpia: sin bloque final y sin espacio superior de Divi */
body.jr-privacy-page-active #main-content,
body.jr-privacy-page-active #main-content > .container,
body.jr-privacy-page-active #main-content .container,
body.jr-privacy-page-active #left-area,
body.jr-privacy-page-active article.et_pb_post,
body.jr-privacy-page-active .entry-content,
body.jr-privacy-page-active .et-l--body,
body.jr-privacy-page-active .et-l--body .et_builder_inner_content {
  margin-top:0!important;
  padding-top:0!important;
}

body.jr-privacy-page-active #main-content > .container {
  width:100%!important;
  max-width:none!important;
}

body.jr-privacy-page-active .jr-privacy-page {
  margin-top:0!important;
  padding-top:0!important;
}

/* Evita el pequeño separador/espacio que algunos templates de Divi
   insertan antes del contenido de una página estándar. */
body.jr-privacy-page-active #main-content .container::before,
body.jr-privacy-page-active #main-content .container::after {
  display:none!important;
}


/* V1.0.5 — elimina definitivamente el hueco superior generado por Divi.
   En esta página el header global ya gestiona su propia altura/posición,
   por lo que ningún wrapper del contenido debe reservar espacio arriba. */
body.jr-privacy-page-active #page-container,
body.jr-privacy-page-active #et-main-area,
body.jr-privacy-page-active #main-content,
body.jr-privacy-page-active #main-content > .container,
body.jr-privacy-page-active #main-content .container,
body.jr-privacy-page-active #left-area,
body.jr-privacy-page-active article,
body.jr-privacy-page-active article.et_pb_post,
body.jr-privacy-page-active .entry-content {
  margin-top:0!important;
  padding-top:0!important;
}

/* Si el shortcode se colocó dentro de Divi, neutraliza únicamente los
   wrappers inmediatos que pueden añadir el padding vertical por defecto. */
body.jr-privacy-page-active .entry-content > .et-l,
body.jr-privacy-page-active .entry-content > .et_pb_section,
body.jr-privacy-page-active .entry-content > .et_pb_section:first-child,
body.jr-privacy-page-active .entry-content > .et_pb_section:first-child > .et_pb_row,
body.jr-privacy-page-active .entry-content > .et_pb_section:first-child .et_pb_column,
body.jr-privacy-page-active .entry-content > .et_pb_section:first-child .et_pb_module,
body.jr-privacy-page-active .entry-content > .et_pb_section:first-child .et_pb_code,
body.jr-privacy-page-active .entry-content > .et_pb_section:first-child .et_pb_code_inner,
body.jr-privacy-page-active .et-l--body > .et_builder_inner_content,
body.jr-privacy-page-active .et-l--body > .et_builder_inner_content > .et_pb_section:first-child,
body.jr-privacy-page-active .et-l--body > .et_builder_inner_content > .et_pb_section:first-child > .et_pb_row {
  margin-top:0!important;
  padding-top:0!important;
}

/* El shortcode comienza exactamente en el primer píxel disponible. */
body.jr-privacy-page-active .jr-privacy-page,
body.jr-privacy-page-active .jr-privacy-page__hero {
  margin-top:0!important;
}
