/* ═══════════════════════════════════════════════════════════════════════════
   ISHARA — REDISEÑO VISUAL FASE 1 · PÁGINAS LEGALES
   Sprint: 2026-04-11
   Aplica a: /privacidad, /terminos, /pqr
   Estrategia: override !important encima del CSS legacy de cada página.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Base ── */
html{background:#070B14 !important;scroll-behavior:smooth;scroll-padding-top:100px;}
body{
  background:transparent !important;
  color:rgba(180,195,190,0.55) !important;
  font-family:'Outfit','Inter',sans-serif !important;
  font-size:14px !important;
  line-height:1.8 !important;
  font-weight:300 !important;
}

a{color:#14B8A6 !important;}
a:hover{color:#1D9E75 !important;opacity:1 !important;}

/* ── Top header ── */
.top-header,
.site-header{
  background:rgba(7,11,20,0.92) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-backdrop-filter:blur(16px) !important;
  border-bottom:1px solid rgba(255,255,255,0.06) !important;
  max-width:none !important;
  padding:14px 24px !important;
}
.top-header .brand,
.site-header .logo{
  font-family:'Outfit',sans-serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  letter-spacing:2.5px !important;
  color:#D0DBD6 !important;
}
.top-header .brand img{filter:brightness(1.1);}
.back-link{
  color:#14B8A6 !important;
  font-family:'Outfit',sans-serif !important;
  font-weight:400 !important;
  font-size:13px !important;
}

/* ── Section nav (existente en privacidad/terminos, horizontal arriba) ── */
/* Desktop: transformar en sidebar sticky izquierda */
@media (min-width:1100px){
  .section-nav{
    position:fixed !important;
    top:86px !important;
    left:calc(50% - 600px) !important;
    width:240px !important;
    max-height:calc(100vh - 110px) !important;
    background:rgba(10,15,26,0.85) !important;
    backdrop-filter:blur(20px) !important;
    -webkit-backdrop-filter:blur(20px) !important;
    border:1px solid rgba(255,255,255,0.06) !important;
    border-radius:14px !important;
    padding:18px 10px !important;
    overflow-y:auto !important;
    white-space:normal !important;
    display:flex !important;
    flex-direction:column !important;
    gap:2px !important;
    right:auto !important;
    border-bottom:none !important;
    box-shadow:0 4px 24px rgba(0,0,0,0.3) !important;
  }
  .section-nav::before{
    content:'Índice';
    display:block;
    padding:0 14px 12px;
    font-size:10px;
    letter-spacing:0.15em;
    color:rgba(150,165,160,0.4);
    text-transform:uppercase;
    border-bottom:1px solid rgba(255,255,255,0.04);
    margin-bottom:8px;
  }
  .section-nav a{
    display:block !important;
    padding:8px 14px !important;
    margin:0 !important;
    color:rgba(200,210,205,0.5) !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    font-size:12.5px !important;
    font-family:'Outfit','Inter',sans-serif !important;
    font-weight:300 !important;
    border-bottom:none !important;
    border-radius:8px !important;
    transition:all 0.25s !important;
    line-height:1.3 !important;
  }
  .section-nav a:hover{
    color:#E0EBE6 !important;
    background:rgba(255,255,255,0.03) !important;
    opacity:1 !important;
  }
  .section-nav a.active{
    color:#E0EBE6 !important;
    background:rgba(29,158,117,0.08) !important;
    font-weight:400 !important;
    opacity:1 !important;
    border-left:2px solid #1D9E75 !important;
    padding-left:12px !important;
  }
}
/* Mobile/tablet: sticky horizontal compacto */
@media (max-width:1099px){
  .section-nav{
    background:rgba(7,11,20,0.95) !important;
    border-bottom:1px solid rgba(255,255,255,0.06) !important;
  }
  .section-nav a{
    color:rgba(200,210,205,0.5) !important;
    text-transform:none !important;
    font-size:12px !important;
    font-family:'Outfit',sans-serif !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
  }
  .section-nav a.active,
  .section-nav a:hover{
    color:#14B8A6 !important;
    border-bottom-color:#14B8A6 !important;
    opacity:1 !important;
  }
}

/* ── Container ── */
.container,
main.container,
.content{
  max-width:720px !important;
  margin:0 auto !important;
  padding:130px 24px 60px !important;
}

/* Título principal */
.page-title{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:1.9rem !important;
  font-weight:400 !important;
  color:#D8E2DD !important;
  margin-bottom:0.5rem !important;
  letter-spacing:0 !important;
  line-height:1.25 !important;
}
.page-subtitle{
  font-family:'Outfit','Inter',sans-serif !important;
  font-size:14px !important;
  color:rgba(200,215,210,0.55) !important;
  font-weight:300 !important;
  margin-bottom:0.3rem !important;
}
.page-meta{
  font-family:'Outfit','Inter',sans-serif !important;
  font-size:12px !important;
  color:rgba(150,165,160,0.4) !important;
  font-weight:300 !important;
  margin-bottom:2.5rem !important;
}

/* ═══ Accordion (privacidad + terminos) ═══ */
/* Siempre abierto, sin click */
.accordion-item{
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid rgba(255,255,255,0.04) !important;
  border-radius:0 !important;
  margin-bottom:0 !important;
  padding:0.6rem 0 1.2rem !important;
}
.accordion-item:hover,
.accordion-item.open{
  border-bottom-color:rgba(255,255,255,0.04) !important;
}
.accordion-header{
  background:transparent !important;
  color:#D0DBD6 !important;
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:1.15rem !important;
  font-weight:500 !important;
  padding:1rem 0 0.6rem !important;
  cursor:default !important;
  pointer-events:none !important;
  border:none !important;
  width:100% !important;
}
.accordion-header:hover{background:transparent !important;}
.accordion-header .num{
  display:inline-flex !important;
  align-items:baseline !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  color:#14B8A6 !important;
  border-radius:0 !important;
  font-family:'Outfit','Inter',sans-serif !important;
  font-size:12px !important;
  font-weight:400 !important;
  opacity:0.7 !important;
  margin-right:14px !important;
  letter-spacing:0.02em !important;
}
.accordion-header .num::before{content:'§';}
.accordion-header .arrow{display:none !important;}
.accordion-header .title-text{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  color:#D0DBD6 !important;
  font-weight:500 !important;
}
.accordion-body{
  max-height:none !important;
  overflow:visible !important;
  transition:none !important;
}
.accordion-body-inner{
  padding:0.2rem 0 0.6rem !important;
  color:rgba(180,195,190,0.62) !important;
  font-family:'Outfit','Inter',sans-serif !important;
  font-size:14px !important;
  line-height:1.8 !important;
  font-weight:300 !important;
}
.accordion-body-inner p{
  color:rgba(180,195,190,0.62) !important;
  margin-bottom:0.9rem !important;
}
.accordion-body-inner strong{
  color:#D0DBD6 !important;
  font-weight:500 !important;
}
.accordion-body-inner em{
  color:#14B8A6 !important;
  font-style:normal !important;
}
.accordion-body-inner h4{
  color:#D0DBD6 !important;
  font-family:'Cormorant Garamond',serif !important;
  font-size:1rem !important;
  font-weight:500 !important;
  margin:1.2rem 0 0.5rem !important;
  letter-spacing:0 !important;
}
.accordion-body-inner a{color:#14B8A6 !important;}
.accordion-body-inner ul,
.accordion-body-inner ol{
  color:rgba(180,195,190,0.55) !important;
  margin-left:1.4rem !important;
}
.accordion-body-inner li{
  margin-bottom:0.4rem !important;
  color:rgba(180,195,190,0.62) !important;
}

/* Tablas dentro del accordion */
.accordion-body-inner table{
  margin:0.8rem 0 1.1rem !important;
  font-size:13px !important;
  border-collapse:collapse !important;
  width:100% !important;
}
.accordion-body-inner th{
  background:rgba(29,158,117,0.06) !important;
  color:#D0DBD6 !important;
  font-family:'Outfit',sans-serif !important;
  font-weight:500 !important;
  font-size:12px !important;
  text-align:left !important;
  padding:8px 10px !important;
  border-bottom:1px solid rgba(29,158,117,0.15) !important;
  letter-spacing:0.02em !important;
  text-transform:uppercase !important;
}
.accordion-body-inner td{
  color:rgba(180,195,190,0.7) !important;
  border-bottom:1px solid rgba(255,255,255,0.04) !important;
  padding:8px 10px !important;
  vertical-align:top !important;
}

/* ═══ PQR (.section-block / .section-title) ═══ */
.section-title{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:1.2rem !important;
  font-weight:500 !important;
  color:#D0DBD6 !important;
  border-bottom:1px solid rgba(255,255,255,0.04) !important;
  padding-bottom:0.5rem !important;
  margin-bottom:1rem !important;
}
.section-block{margin-bottom:2rem !important;}
.info-label{
  color:rgba(200,215,210,0.55) !important;
  font-family:'Outfit',sans-serif !important;
  font-size:11px !important;
  font-weight:400 !important;
  letter-spacing:0.08em !important;
  text-transform:uppercase !important;
}
.info-value{
  color:rgba(180,195,190,0.75) !important;
  font-family:'Outfit','Inter',sans-serif !important;
  font-weight:300 !important;
}
.response-table th,
.response-table td{
  color:rgba(180,195,190,0.7) !important;
  border-color:rgba(255,255,255,0.04) !important;
}
.response-table th{
  background:rgba(29,158,117,0.06) !important;
  color:#D0DBD6 !important;
  font-family:'Outfit',sans-serif !important;
  font-size:12px !important;
}

/* Formulario PQR: inputs sobre fondo oscuro */
.content form input,
.content form select,
.content form textarea,
.content form label{
  font-family:'Outfit','Inter',sans-serif !important;
}
.content form label{
  color:rgba(200,215,210,0.55) !important;
  font-size:12px !important;
  font-weight:400 !important;
  letter-spacing:0.04em !important;
}
.content form input,
.content form select,
.content form textarea{
  background:rgba(255,255,255,0.02) !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  color:#D0DBD6 !important;
  border-radius:8px !important;
}
.content form input:focus,
.content form select:focus,
.content form textarea:focus{
  border-color:rgba(29,158,117,0.4) !important;
  outline:none !important;
}

/* Botones */
.btn-pdf,
.btn,
.btn-submit{
  background:rgba(29,158,117,0.08) !important;
  border:1px solid rgba(29,158,117,0.3) !important;
  color:#14B8A6 !important;
  font-family:'Outfit',sans-serif !important;
  font-weight:400 !important;
  border-radius:8px !important;
  padding:10px 22px !important;
}
.btn-pdf:hover,
.btn:hover,
.btn-submit:hover{
  background:rgba(29,158,117,0.15) !important;
  border-color:rgba(29,158,117,0.6) !important;
  color:#1D9E75 !important;
}

/* ── Footer ── */
.footer,
.site-footer{
  border-top:1px solid rgba(255,255,255,0.04) !important;
  padding:2.5rem 0 1.6rem !important;
  text-align:center !important;
  margin-top:2rem !important;
}
.footer p,
.site-footer p{
  font-family:'Outfit','Inter',sans-serif !important;
  font-size:11px !important;
  color:rgba(150,165,160,0.4) !important;
  font-weight:300 !important;
  letter-spacing:0.04em !important;
  margin:0 !important;
}
.footer-links{margin-bottom:10px !important;}
.footer-links a{
  color:rgba(180,195,190,0.5) !important;
  font-family:'Outfit',sans-serif !important;
  font-size:12px !important;
  font-weight:300 !important;
  margin:0 10px !important;
}
.footer-links a:hover{color:#14B8A6 !important;}

/* ═══════════════════════════════════════════════════════════════════════════
   BRIDGE — terminos usa clases .accordion / .accordion-toggle / .accordion-inner
   (distintas a .accordion-item / .accordion-header / .accordion-body-inner de
   privacidad). Este bloque mapea los overrides a ambos patrones para que las
   3 páginas legales se rendericen idénticas. (Sprint unificación 2026-04-11)
   ═══════════════════════════════════════════════════════════════════════════ */
.accordion{
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid rgba(255,255,255,0.04) !important;
  border-radius:0 !important;
  margin-bottom:0 !important;
  padding:0.6rem 0 1.2rem !important;
  overflow:visible !important;
}
.accordion:hover,
.accordion.open{
  border-bottom-color:rgba(255,255,255,0.04) !important;
}
.accordion-toggle{
  background:transparent !important;
  color:#D0DBD6 !important;
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:1.15rem !important;
  font-weight:500 !important;
  padding:1rem 0 0.6rem !important;
  cursor:default !important;
  pointer-events:none !important;
  border:none !important;
  width:100% !important;
  text-align:left !important;
  justify-content:flex-start !important;
}
.accordion-toggle:hover{background:transparent !important;}
.accordion-toggle::after,
.accordion-toggle::before{display:none !important;content:none !important;}
.accordion .accordion-body{
  max-height:none !important;
  overflow:visible !important;
  transition:none !important;
}
.accordion-inner{
  padding:0.2rem 0 0.6rem !important;
  color:rgba(180,195,190,0.62) !important;
  font-family:'Outfit','Inter',sans-serif !important;
  font-size:14px !important;
  line-height:1.8 !important;
  font-weight:300 !important;
}
.accordion-inner p{
  color:rgba(180,195,190,0.62) !important;
  margin-bottom:0.9rem !important;
}
.accordion-inner strong{
  color:#D0DBD6 !important;
  font-weight:500 !important;
}
.accordion-inner em{
  color:#14B8A6 !important;
  font-style:normal !important;
}
.accordion-inner h4{
  color:#D0DBD6 !important;
  font-family:'Cormorant Garamond',serif !important;
  font-size:1rem !important;
  font-weight:500 !important;
  margin:1.2rem 0 0.5rem !important;
  letter-spacing:0 !important;
}
.accordion-inner a{color:#14B8A6 !important;}
.accordion-inner ul,
.accordion-inner ol{
  color:rgba(180,195,190,0.55) !important;
  margin-left:1.4rem !important;
}
.accordion-inner li{
  margin-bottom:0.4rem !important;
  color:rgba(180,195,190,0.62) !important;
}
.accordion-inner table{
  margin:0.8rem 0 1.1rem !important;
  font-size:13px !important;
  border-collapse:collapse !important;
  width:100% !important;
}
.accordion-inner th{
  background:rgba(29,158,117,0.06) !important;
  color:#D0DBD6 !important;
  font-family:'Outfit',sans-serif !important;
  font-weight:500 !important;
  font-size:12px !important;
  text-align:left !important;
  padding:8px 10px !important;
  border-bottom:1px solid rgba(29,158,117,0.15) !important;
  letter-spacing:0.02em !important;
  text-transform:uppercase !important;
}
.accordion-inner td{
  color:rgba(180,195,190,0.7) !important;
  border-bottom:1px solid rgba(255,255,255,0.04) !important;
  padding:8px 10px !important;
  vertical-align:top !important;
}

/* Numerador §N manual para terminos (que no tiene .num spans como privacidad).
   El HTML de terminos embebe "1. " o similares en el título — los dejamos
   como están. Este bridge garantiza que el color del título siga el patrón. */

/* ── Responsive final tweaks ── */
@media (max-width:600px){
  .container,
  main.container,
  .content{
    padding:120px 18px 50px !important;
  }
  .page-title{font-size:1.5rem !important;}
  .accordion-header,
  .accordion-toggle{font-size:1rem !important;padding:0.8rem 0 0.4rem !important;}
  .accordion-body-inner,
  .accordion-inner{font-size:13.5px !important;line-height:1.75 !important;}
}
