/* Extracted from aviso-privacidad.php. Keep page-specific rules here. */
body{
      font-family: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      color: var(--ink);
      background:
        radial-gradient(1000px 600px at 10% -10%, rgba(122,201,67,.18), transparent 55%),
        radial-gradient(900px 560px at 95% 5%, rgba(31,63,147,.16), transparent 55%),
        linear-gradient(180deg, #ffffff 0%, var(--bg-soft) 42%, #ffffff 100%);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      min-height: 100vh;
    }
  
    /* ========= WAVES BACKGROUND (global) ========= */
    body::before,
    body::after{
      content:"";
      position: fixed;
      inset: -20%;
      z-index: -1;
      pointer-events: none;
      filter: blur(80px);
      opacity: .9;
    }
    body::before{
      background:
        radial-gradient(40% 35% at 20% 30%, var(--wave-blue-1), transparent 70%),
        radial-gradient(45% 40% at 80% 20%, var(--wave-blue-2), transparent 72%),
        radial-gradient(35% 30% at 60% 80%, var(--wave-blue-3), transparent 75%);
      animation: waveMoveA 22s linear infinite;
    }
    body::after{
      background:
        radial-gradient(35% 30% at 30% 70%, var(--wave-blue-2), transparent 70%),
        radial-gradient(40% 35% at 70% 60%, var(--wave-blue-1), transparent 72%);
      animation: waveMoveB 28s linear infinite;
      opacity: .7;
    }
    @keyframes waveMoveA{
      0%   { transform: translate(0,0) scale(1); }
      50%  { transform: translate(-6%, -4%) scale(1.05); }
      100% { transform: translate(0,0) scale(1); }
    }
    @keyframes waveMoveB{
      0%   { transform: translate(0,0) scale(1); }
      50%  { transform: translate(5%, 6%) scale(1.08); }
      100% { transform: translate(0,0) scale(1); }
    }
    /* ========= DOC ========= */
    .page{
      padding: 1.35rem 0 3.4rem;
    }
    .doc-hero{
      padding: 1.25rem 0 1rem;
    }
    .kicker{
      display:inline-flex; gap:.45rem; align-items:center;
      font-weight: 900; font-size: .85rem;
      color: var(--brand-700);
      background: rgba(31,63,147,.08);
      border: 1px solid rgba(31,63,147,.12);
      border-radius: 999px;
      padding: .28rem .6rem;
    }
    .dot{
      width: 8px; height: 8px; border-radius: 99px; background: var(--accent);
      box-shadow: 0 0 0 4px rgba(122,201,67,.18);
    }
  
    .page-title{
      font-weight: 950;
      letter-spacing: -.02em;
      margin: .65rem 0 .45rem;
      font-size: clamp(2rem, 2.8vw + 1rem, 3rem);
      line-height: 1.06;
      color: var(--brand-700);
    }
    .page-sub{
      color: var(--muted);
      max-width: 75ch;
      margin: 0;
    }
  
    .doc{
      border-radius: var(--r-lg);
      border: 1px solid rgba(15,23,42,.08);
      background: rgba(255,255,255,.82);
      box-shadow: var(--shadow-1);
    }
    .doc p{ margin-bottom: 1rem; }
    .doc li{ margin: .35rem 0; }
    .toc a{ text-decoration:none; }
    .toc a:hover{ text-decoration: underline; }
    h2.section{
      color: var(--brand-700);
      font-weight: 950;
      letter-spacing: -.01em;
      margin-top: 2.1rem;
      font-size: 1.35rem;
    }
  
    /* =======================
       FOOTER REDESIGN (Opción 1 + glass + blur)
       ======================= */
  
    .footer{
      position: relative;
      color:#fff;
      overflow: hidden;
      background:
        radial-gradient(900px 420px at 20% 15%, rgba(122,201,67,.12), transparent 60%),
        radial-gradient(900px 420px at 85% 25%, rgba(255,255,255,.10), transparent 60%),
        linear-gradient(180deg, #163a86 0%, var(--brand-700) 65%, #0c1f4f 100%);
    }
  
    /* luces suaves en movimiento (muy sutil) */
    .footer::before,
    .footer::after{
      content:"";
      position:absolute;
      inset:-40%;
      pointer-events:none;
      filter: blur(70px);
      opacity:.55;
    }
    .footer::before{
      background:
        radial-gradient(35% 35% at 25% 35%, rgba(255,255,255,.20), transparent 65%),
        radial-gradient(30% 30% at 65% 55%, rgba(122,201,67,.16), transparent 70%);
      animation: footerGlowA 18s linear infinite;
    }
    .footer::after{
      background:
        radial-gradient(30% 30% at 75% 30%, rgba(255,255,255,.16), transparent 65%),
        radial-gradient(25% 25% at 35% 70%, rgba(31,63,147,.35), transparent 75%);
      animation: footerGlowB 26s linear infinite;
      opacity:.42;
    }
  
    @keyframes footerGlowA{
      0%{ transform: translate(0,0) scale(1); }
      50%{ transform: translate(-5%, -3%) scale(1.04); }
      100%{ transform: translate(0,0) scale(1); }
    }
    @keyframes footerGlowB{
      0%{ transform: translate(0,0) scale(1); }
      50%{ transform: translate(6%, 5%) scale(1.06); }
      100%{ transform: translate(0,0) scale(1); }
    }
  
    .footer a{ color:#fff; text-decoration:none; }
    .footer a:hover{ text-decoration:underline; }
  
    /* contenedor glass interno (para que se vea premium) */
    .footer-shell{
      position: relative;
      z-index: 1;
      border-radius: 28px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.14);
      box-shadow: 0 20px 60px rgba(0,0,0,.18);
      backdrop-filter: blur(10px);
    }
  
    /* títulos chiquitos */
    .footer-title{
      font-weight: 900;
      letter-spacing: -.01em;
      margin: 0 0 .6rem;
      opacity: .95;
    }
  
    /* links con chevron */
    .footer-links{ padding-left:0; margin:0; }
    .footer-links li{
      list-style:none;
      margin:.45rem 0;
      padding-left:1.1rem;
      position:relative;
    }
    .footer-links li::before{
      content:"\00BB";
      position:absolute;
      left:0; top:0;
      opacity:.85;
    }
    .footer-links a{
      opacity:.92;
    }
    .footer-links a:hover{
      opacity:1;
    }
  
    /* texto dirección */
    .footer-address{
      color: rgba(255,255,255,.88);
      line-height: 1.55;
      margin: 0;
    }
  
    /* ====== LOGOS (ajuste: más pequeños + abajo) ====== */
  
    /* empuja el bloque de logos hacia abajo para liberar espacio arriba */
    .footer-logos{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      margin-top: 1.5rem;
    }
  
    /* hace que la columna derecha “asiente” el bloque hacia abajo */
    .col-lg-6:last-child{
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
    }
  
    /* tarjetas claras para logos (más discretas) */
    .logo-card{
      border-radius: 14px;
      min-height: 64px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding: 10px 12px;
  
      background: rgba(255,255,255,.88);
      border: 1px solid rgba(255,255,255,.45);
      box-shadow: 0 10px 26px rgba(0,0,0,.16);
  
      transition:
        transform var(--dur-2) var(--ease-out),
        box-shadow var(--dur-2) var(--ease-out),
        background-color var(--dur-2) var(--ease-out);
    }
    .logo-card:hover{
      transform: translateY(-2px);
      box-shadow: 0 14px 34px rgba(0,0,0,.20);
      background: rgba(255,255,255,.94);
    }
    .logo-card:active{
      transform: translateY(-1px);
    }
  
    .logo-card img{
      max-height: 38px;
      width: auto;
      filter: none;
      opacity: .9;
      transition:
        opacity var(--dur-1) var(--ease-out),
        transform var(--dur-2) var(--ease-out);
    }
    .logo-card:hover img{
      opacity: 1;
      transform: scale(1.04);
    }
  
    /* divisor */
    .footer-divider{
      border:0;
      height:1px;
      background: rgba(255,255,255,.16);
      margin: 22px 0 14px;
    }
  
    /* bottom bar */
    .footer-bottom{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      color: rgba(255,255,255,.78);
    }
    .footer-social{
      display:flex;
      gap: 14px;
      flex-wrap:wrap;
    }
    .footer-social a{
      opacity:.9;
      border-bottom: 1px solid rgba(255,255,255,.35);
      padding-bottom: 2px;
    }
    .footer-social a:hover{
      opacity:1;
      border-bottom-color: rgba(255,255,255,.7);
    }
  
    /* responsive */
    @media (max-width: 992px){
      .footer-logos{ grid-template-columns: 1fr; }
      /* en móvil no conviene forzar “hasta abajo” */
      .col-lg-6:last-child{ display:block; }
    }
  
    /* reduced motion */
    @media (prefers-reduced-motion: reduce){
      .footer::before, .footer::after{ animation:none!important; }
      .logo-card{ transition:none!important; }
      .logo-card img{ transition:none!important; }
    }
  
    @media (prefers-reduced-motion: reduce){
      *{ animation-duration:0.001ms!important; animation-iteration-count:1!important; transition-duration:0.001ms!important; scroll-behavior:auto!important; }
      body::before, body::after{ animation:none!important; }
    }
