/* Página: Política de Protección de Datos Personales */
.page-politica-datos,
body.page-politica-datos{
  background:#f6f9ff!important;
}
.policy-main{
  overflow:hidden;
}
.policy-container{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
}
.policy-hero{
  position:relative;
  padding:88px 0 78px;
  color:#fff;
  background:
    linear-gradient(120deg, rgba(15,24,45,.90), rgba(18,27,49,.72)),
    radial-gradient(circle at 10% 20%, rgba(37,130,194,.42), transparent 32%),
    linear-gradient(135deg,#10192f 0%,#263653 100%);
}
.policy-kicker{
  display:inline-flex;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  color:#e6effc;
  font-size:13px;
  font-weight:800;
  letter-spacing:.4px;
  margin:0 0 18px;
}
.policy-hero h1{
  max-width:860px;
  margin:0;
  color:#fff;
  font-family:'Inter',system-ui,sans-serif;
  font-size:clamp(34px,5vw,64px);
  line-height:1.05;
  letter-spacing:-1.2px;
  font-weight:900;
}
.policy-intro{
  max-width:760px;
  margin:20px 0 0;
  color:rgba(230,239,252,.90);
  font-size:18px;
  line-height:1.65;
}
.policy-content-section{
  padding:70px 0 90px;
}
.policy-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.policy-index{
  position:sticky;
  top:104px;
  background:#fff;
  border:1px solid #dce7f4;
  border-radius:24px;
  padding:24px;
  box-shadow:0 14px 34px rgba(18,27,49,.08);
}
.policy-index h2{
  margin:0 0 14px;
  color:#121b31;
  font-size:20px;
}
.policy-index a{
  display:block;
  padding:10px 0;
  color:#4c5871;
  text-decoration:none;
  border-bottom:1px solid #eef3fa;
  font-weight:700;
  font-size:14px;
}
.policy-index a:hover{
  color:#2582c2;
}
.policy-card{
  background:#fff;
  border:1px solid #dce7f4;
  border-radius:30px;
  padding:44px;
  box-shadow:0 24px 70px rgba(18,27,49,.12);
}
.policy-block{
  scroll-margin-top:120px;
  padding-bottom:34px;
  margin-bottom:34px;
  border-bottom:1px solid #e6edf7;
}
.policy-block:last-child{
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0;
}
.policy-block h2{
  color:#121b31;
  font-family:'Inter',system-ui,sans-serif;
  font-size:clamp(25px,2.6vw,36px);
  line-height:1.15;
  margin:0 0 18px;
  font-weight:900;
  letter-spacing:-.5px;
}
.policy-block h3{
  color:#202a45;
  font-size:21px;
  margin:26px 0 10px;
  line-height:1.25;
  font-weight:900;
}
.policy-block p,
.policy-block li,
.policy-block dd{
  color:#4c5871;
  font-size:16.5px;
  line-height:1.75;
}
.policy-block p{
  margin:0 0 14px;
}
.policy-block ul{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.policy-block li{
  position:relative;
  padding:14px 16px 14px 44px;
  background:#f6faff;
  border:1px solid #dce7f4;
  border-radius:16px;
}
.policy-block li::before{
  content:"";
  position:absolute;
  left:16px;
  top:22px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg,#2582c2,#db6404);
}
.policy-contact-box{
  background:linear-gradient(135deg,#f1f7ff,#fff);
  border:1px solid #dce7f4;
  border-radius:24px;
  padding:28px;
}
.policy-contact-box dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.policy-contact-box dl > div{
  background:#fff;
  border:1px solid #dce7f4;
  border-radius:16px;
  padding:14px 16px;
}
.policy-contact-box dt{
  color:#2582c2;
  font-weight:900;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.4px;
  margin-bottom:4px;
}
.policy-contact-box dd{
  margin:0;
  font-weight:800;
  color:#121b31;
}
.policy-table-wrap{
  overflow-x:auto;
  border:1px solid #dce7f4;
  border-radius:18px;
}
.policy-table{
  width:100%;
  border-collapse:collapse;
  min-width:560px;
  background:#fff;
}
.policy-table th,
.policy-table td{
  padding:13px 15px;
  border-bottom:1px solid #e6edf7;
  text-align:left;
  color:#4c5871;
}
.policy-table th{
  background:#d9f0f8;
  color:#121b31;
  font-weight:900;
  text-transform:uppercase;
  font-size:13px;
}
.policy-table tr:last-child td{
  border-bottom:0;
}
@media (max-width:900px){
  .policy-layout{
    grid-template-columns:1fr;
  }
  .policy-index{
    position:relative;
    top:auto;
  }
  .policy-card{
    padding:28px;
  }
}
@media (max-width:620px){
  .policy-container{
    width:min(100% - 28px, 1180px);
  }
  .policy-hero{
    padding:62px 0;
  }
  .policy-card{
    padding:22px;
    border-radius:22px;
  }
  .policy-contact-box dl{
    grid-template-columns:1fr;
  }
  .policy-block li{
    padding-left:18px;
  }
  .policy-block li::before{
    display:none;
  }
}
