/* ==================================================
   POLÍTICA DE PROTECCIÓN DE DATOS
================================================== */


/* ==================================================
   HEADER
================================================== */

.current-page{
  color:var(--blue) !important;
}



/* ==================================================
   HERO
================================================== */

.policy-hero{
  position:relative;

  padding:
    105px
    0
    100px;

  overflow:hidden;

  background:
    linear-gradient(
      180deg,
      #f4f9ff,
      #ffffff
    );
}


.policy-hero-inner{
  position:relative;

  z-index:2;

  max-width:900px;

  margin:auto;

  text-align:center;
}


.policy-hero h1{
  margin:
    14px
    auto
    22px;

  color:var(--dark);

  font-size:
    clamp(
      44px,
      6vw,
      72px
    );

  line-height:1;

  letter-spacing:-.05em;
}


.policy-hero h1 span{
  display:block;

  color:var(--blue);
}


.policy-hero p{
  max-width:720px;

  margin:
    0
    auto;

  color:var(--muted);

  font-size:17px;

  line-height:1.75;
}


.policy-hero-tags{
  margin-top:32px;

  display:flex;

  flex-wrap:wrap;

  justify-content:center;

  gap:10px;
}


.policy-hero-tags span{
  padding:
    10px
    15px;

  border:
    1px solid
    var(--border);

  border-radius:999px;

  color:#355779;

  background:#fff;

  font-size:11px;

  font-weight:800;

  box-shadow:
    0 8px 22px
    rgba(14,45,90,.05);
}



/* ==================================================
   DECORACIÓN
================================================== */

.policy-decoration{
  position:absolute;

  border-radius:50%;

  pointer-events:none;
}


.policy-decoration-one{
  width:360px;

  height:360px;

  top:-180px;

  left:-130px;

  background:#dfeaff;

  opacity:.55;
}


.policy-decoration-two{
  width:300px;

  height:300px;

  right:-120px;

  bottom:-150px;

  background:#e8e4ff;

  opacity:.5;
}



/* ==================================================
   INTRODUCCIÓN
================================================== */

.policy-intro{
  background:#fff;
}


.policy-intro-grid{
  display:grid;

  grid-template-columns:
    .8fr
    1.2fr;

  gap:80px;

  align-items:start;
}


.policy-intro-title h2{
  margin:
    10px
    0
    0;

  color:var(--dark);

  font-size:
    clamp(
      36px,
      4vw,
      52px
    );

  line-height:1.08;

  letter-spacing:-.04em;
}


.policy-intro-content p{
  margin:
    0
    0
    18px;

  color:var(--muted);

  font-size:15px;

  line-height:1.9;
}



/* ==================================================
   CONTENIDO
================================================== */

.policy-content-section{
  background:var(--soft);
}


.policy-layout{
  display:grid;

  grid-template-columns:
    250px
    minmax(0,1fr);

  gap:38px;

  align-items:start;
}



/* ==================================================
   SIDEBAR
================================================== */

.policy-sidebar{
  position:sticky;

  top:110px;
}


.policy-sidebar-card{
  padding:24px;

  border:
    1px solid
    var(--border);

  border-radius:22px;

  background:#fff;

  box-shadow:
    0 15px 40px
    rgba(14,45,90,.07);
}


.policy-sidebar-label{
  display:block;

  margin-bottom:16px;

  color:var(--blue);

  font-size:10px;

  font-weight:900;

  letter-spacing:.14em;
}


.policy-index{
  display:grid;

  gap:5px;
}


.policy-index a{
  padding:
    10px
    12px;

  border-radius:10px;

  color:#536b84;

  font-size:12px;

  font-weight:700;

  text-decoration:none;

  transition:
    color .2s ease,
    background .2s ease,
    transform .2s ease;
}


.policy-index a:hover,
.policy-index a.active{
  color:var(--blue);

  background:var(--soft-blue);

  transform:translateX(3px);
}



/* ==================================================
   TARJETAS
================================================== */

.policy-content{
  display:grid;

  gap:24px;
}


.policy-card{
  scroll-margin-top:110px;

  padding:
    38px
    40px;

  border:
    1px solid
    var(--border);

  border-radius:26px;

  background:#fff;

  box-shadow:
    0 14px 35px
    rgba(14,45,90,.06);
}


.policy-number{
  width:48px;

  height:48px;

  margin-bottom:21px;

  display:grid;

  place-items:center;

  border-radius:14px;

  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--blue-light),
      var(--blue)
    );

  font-size:12px;

  font-weight:900;
}


.policy-card h2{
  margin:
    0
    0
    18px;

  color:var(--dark);

  font-size:
    clamp(
      25px,
      3vw,
      34px
    );

  line-height:1.15;

  letter-spacing:-.03em;
}


.policy-card > p{
  margin:
    0
    0
    18px;

  color:var(--muted);

  font-size:14px;

  line-height:1.85;
}


.policy-card ul{
  margin:
    22px
    0
    0;

  padding-left:0;

  display:grid;

  gap:12px;

  list-style:none;
}


.policy-card li{
  position:relative;

  padding:
    15px
    17px
    15px
    43px;

  border:
    1px solid
    var(--border);

  border-radius:14px;

  color:var(--muted);

  background:#fafdff;

  font-size:13px;

  line-height:1.7;
}


.policy-card li::before{
  content:"✓";

  position:absolute;

  top:16px;

  left:17px;

  width:18px;

  height:18px;

  display:grid;

  place-items:center;

  border-radius:50%;

  color:#fff;

  background:var(--blue);

  font-size:9px;

  font-weight:900;
}


.policy-card li strong{
  color:var(--dark);
}



/* ==================================================
   FINALIDADES
================================================== */

.policy-purpose-grid{
  margin-top:24px;

  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:13px;
}


.policy-purpose-item{
  padding:18px;

  display:flex;

  align-items:flex-start;

  gap:13px;

  border:
    1px solid
    var(--border);

  border-radius:16px;

  background:#fafdff;
}


.policy-purpose-item > span{
  width:34px;

  height:34px;

  flex:
    0
    0
    34px;

  display:grid;

  place-items:center;

  border-radius:10px;

  color:var(--blue);

  background:var(--soft-blue);

  font-size:10px;

  font-weight:900;
}


.policy-purpose-item strong{
  display:block;

  margin-bottom:4px;

  color:var(--dark);

  font-size:13px;
}


.policy-purpose-item p{
  margin:0;

  color:var(--muted);

  font-size:12px;

  line-height:1.6;
}



/* ==================================================
   TRANSFERENCIAS
================================================== */

.policy-highlight-list{
  margin:
    23px
    0;

  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:14px;
}


.policy-highlight{
  padding:20px;

  border-radius:17px;

  background:
    linear-gradient(
      135deg,
      var(--soft-blue),
      #f8fbff
    );

  border:
    1px solid
    var(--border);
}


.policy-highlight strong{
  display:block;

  margin-bottom:7px;

  color:var(--dark);

  font-size:14px;
}


.policy-highlight p{
  margin:0;

  color:var(--muted);

  font-size:12px;

  line-height:1.7;
}



/* ==================================================
   DERECHOS
================================================== */

.rights-grid{
  margin-top:24px;

  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:13px;
}


.right-card{
  padding:20px;

  border:
    1px solid
    var(--border);

  border-radius:17px;

  background:#fafdff;
}


.right-card strong{
  display:block;

  margin-bottom:7px;

  color:var(--blue);

  font-size:15px;
}


.right-card p{
  margin:0;

  color:var(--muted);

  font-size:12px;

  line-height:1.7;
}



/* ==================================================
   CONTACTO LEGAL
================================================== */

.policy-contact-box{
  margin-top:25px;

  padding:
    25px
    27px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:30px;

  border-radius:21px;

  color:#fff;

  background:
    linear-gradient(
      145deg,
      var(--navy),
      var(--blue)
    );
}


.policy-contact-box .eyebrow{
  color:#bcd4ff;
}


.policy-contact-box h3{
  margin:
    8px
    0;

  color:#fff;

  font-size:25px;
}


.policy-contact-box p{
  max-width:430px;

  margin:0;

  color:
    rgba(255,255,255,.78);

  font-size:12px;

  line-height:1.65;
}


.policy-contact-links{
  display:grid;

  gap:9px;

  flex-shrink:0;
}


.policy-contact-links a{
  padding:
    10px
    13px;

  border-radius:10px;

  color:#fff;

  background:
    rgba(255,255,255,.11);

  font-size:11px;

  font-weight:800;

  text-decoration:none;
}


.policy-contact-links a:hover{
  background:
    rgba(255,255,255,.18);
}


.policy-small-note{
  margin-top:14px !important;

  font-size:11px !important;
}



/* ==================================================
   NOTA FINAL
================================================== */

.policy-final-note{
  margin-top:23px;

  padding:
    20px
    22px;

  border-left:
    4px solid
    var(--blue);

  border-radius:
    0
    16px
    16px
    0;

  background:var(--soft-blue);
}


.policy-final-note strong{
  display:block;

  margin-bottom:5px;

  color:var(--dark);

  font-size:14px;
}


.policy-final-note p{
  margin:0;

  color:var(--muted);

  font-size:12px;

  line-height:1.7;
}



/* ==================================================
   CTA
================================================== */

.policy-cta{
  background:#fff;
}



/* ==================================================
   TABLET
================================================== */

@media(max-width:1000px){


  .policy-intro-grid{
    grid-template-columns:1fr;

    gap:35px;
  }


  .policy-intro-title{
    text-align:center;
  }


  .policy-intro-content{
    max-width:750px;

    margin:auto;
  }


  .policy-layout{
    grid-template-columns:1fr;
  }


  .policy-sidebar{
    position:relative;

    top:auto;
  }


  .policy-sidebar-card{
    max-width:none;
  }


  .policy-index{
    grid-template-columns:
      repeat(
        4,
        minmax(0,1fr)
      );
  }


}



/* ==================================================
   MOBILE
================================================== */

@media(max-width:700px){


  .policy-hero{
    padding:
      75px
      0
      70px;
  }


  .policy-hero h1{
    font-size:44px;
  }


  .policy-hero p{
    font-size:15px;
  }


  .policy-card{
    padding:
      28px
      22px;

    border-radius:21px;
  }


  .policy-index{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }


  .policy-purpose-grid,
  .policy-highlight-list,
  .rights-grid{
    grid-template-columns:1fr;
  }


  .policy-contact-box{
    flex-direction:column;

    align-items:flex-start;
  }


  .policy-contact-links{
    width:100%;
  }


  .policy-contact-links a{
    overflow-wrap:anywhere;
  }


}



/* ==================================================
   MOBILE PEQUEÑO
================================================== */

@media(max-width:480px){


  .policy-hero h1{
    font-size:38px;
  }


  .policy-index{
    grid-template-columns:1fr;
  }


}