/* ==========================================================
   PIMO — Páginas de Policies
   Theme: Silver & Modern (Graphite / Silver / Steel Blue / Gold)
   Fuente única: Manrope
   Mobile-first + Accesibilidad
   ========================================================== */

:root{
  --graphite:#1E1E1E;
  --graphite-2:#141414;
  --porcelain:#F2F2F2;
  --muted:#C9CED6;
  --silver:#E5E5E5;
  --steel:#4A6FA5;
  --gold:#C9A646;

  --px: clamp(16px, 4vw, 32px);
  --ff: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ===== Base ===== */
body.policy,
body.policy-page{
  background: var(--graphite);
  color: var(--porcelain);
  font-family: var(--ff);
  font-size: 16px;
  line-height: 1.6;
  margin:0;
}

/* ===== Header ===== */
.policy__header{
  background: var(--graphite);
  border-bottom: 1px solid rgba(255,255,255,.10);
  padding: 18px var(--px);
  text-align: center;
}
.policy__brand{
  font-weight: 800;
  font-size: 20px;
  color: var(--gold);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing:.08em;
}
.policy__back{
  font:600 14px/1.4 var(--ff);
  color: var(--porcelain);
  text-decoration: none;
}
.policy__back:hover,
.policy__back:focus-visible{
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ===== Main ===== */
.policy__main{
  max-width: 860px;
  margin: clamp(24px,6vw,40px) auto;
  padding: 0 var(--px);
}
.policy__title{
  font-weight: 800;
  font-size: clamp(22px, 5.6vw, 36px); /* igual al H2 del sitio */
  line-height: 1.12;
  margin-bottom: 12px;
  text-align: center;
  color: var(--porcelain);
  text-transform: uppercase;
  letter-spacing:.02em;
}
.policy__updated{
  text-align:center;
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 28px;
}

/* Subtítulos internos */
.policy__content h2{
  font-weight: 800;
  font-size: clamp(16px, 3.6vw, 22px);
  line-height: 1.18;
  margin: 28px 0 12px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing:.02em;
}

/* Cuerpo */
.policy__content p,
.policy__content li{
  font-size: clamp(14.5px, 3.8vw, 15.5px);
  color: var(--porcelain);
  opacity: .95;
}
.policy__content ul{
  margin: 0 0 18px 20px;
  padding: 0;
}
.policy__content li{ margin-bottom: 8px; }

/* Medios y tablas seguros */
.policy__content img,
.policy__content video,
.policy__content iframe{
  max-width:100%;
  height:auto;
}
.policy__content table{
  width:100%;
  border-collapse: collapse;
  overflow:auto;
}
.policy__content th,
.policy__content td{
  border-bottom:1px solid rgba(255,255,255,.12);
  padding:10px 8px;
  text-align:left;
}

/* ===== CTA final (volver al inicio) ===== */
.policy__footer-cta{
  text-align:center;
  margin-top: 40px;
}
.policy__footer-cta a{
  color: var(--gold);
  font-weight: 700;
  text-decoration:none;
}
.policy__footer-cta a:hover,
.policy__footer-cta a:focus-visible{
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ===== Footer (consistente con Index) ===== */
.policy-page footer,
.policy footer{
  border-top: 1px solid rgba(255,255,255,.10);
  margin-top: 40px;
  background: var(--graphite-2);
}
.policy-page footer .footer__disclaimer,
.policy footer .footer__disclaimer{
  color: var(--muted);
}
.policy-page footer .social-ic,
.policy footer .social-ic{
  width:20px; height:20px; color: var(--gold);
}

/* --- Links dentro del contenido --- */
.policy-page .policy__content a,
.policy .policy__content a{
  color: var(--gold);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color .2s ease, outline-color .2s ease;
}
.policy-page .policy__content a:visited,
.policy .policy__content a:visited{ color: var(--gold); }
.policy-page .policy__content a:hover,
.policy-page .policy__content a:focus-visible,
.policy .policy__content a:hover,
.policy .policy__content a:focus-visible{
  color: var(--porcelain);
  outline: 2px solid rgba(201,166,70,.35);
  outline-offset: 2px;
}
.policy-page .policy__content a[href^="mailto:"],
.policy .policy__content a[href^="mailto:"]{
  font-weight: 800;
}

/* ===== Responsivo menor ajuste ===== */
@media (min-width: 960px){
  .policy__main{ padding: 0 28px; }
}
