/* ============================================================
   LYCEUM LEGAL 1.0
   Aviso legal · Privacidad · Cookies · Términos
   ============================================================ */

.ly-legal-hero{
  position:relative;
  padding:142px 0 58px;
  overflow:hidden;
}
.ly-legal-hero::before{
  content:'';
  position:absolute;
  width:430px;height:430px;
  right:-110px;top:60px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(93,224,255,.14),rgba(156,124,255,.11),transparent 68%);
  filter:blur(8px);
  opacity:.8;
  pointer-events:none;
}
.ly-legal-hero__inner{position:relative;z-index:1;max-width:960px}
.ly-legal-hero .ly-display{font-size:clamp(3rem,6.5vw,5.8rem)}
.ly-legal-updated{margin-top:20px;color:var(--ly-text-3);font-size:.66rem;letter-spacing:1.2px;text-transform:uppercase}

.ly-legal-draft{
  margin-top:26px;
  padding:14px 16px;
  border:1px solid rgba(255,190,105,.28);
  border-radius:18px;
  background:rgba(255,190,105,.07);
  color:#ffe4bb;
  font-size:.80rem;
  line-height:1.6;
}
.ly-legal-draft strong{color:#fff0d3}

.ly-legal-layout{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.ly-legal-index{
  position:sticky;
  top:88px;
  padding:16px;
}
.ly-legal-index__title{
  padding:8px 10px 12px;
  color:var(--ly-text-3);
  font-size:.62rem;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.ly-legal-index a{
  display:block;
  padding:9px 10px;
  border-radius:12px;
  color:var(--ly-text-2);
  font-size:.76rem;
  line-height:1.35;
}
.ly-legal-index a:hover{color:#fff;background:rgba(255,255,255,.06)}

.ly-legal-content{
  min-width:0;
  display:grid;
  gap:15px;
}
.ly-legal-section{
  padding:30px;
  scroll-margin-top:100px;
}
.ly-legal-section h2{
  margin:0 0 16px;
  font-family:var(--ly-serif);
  font-size:clamp(1.5rem,3vw,2.15rem);
  font-weight:400;
  line-height:1.2;
}
.ly-legal-section h3{
  margin:24px 0 10px;
  font-family:var(--ly-serif);
  font-size:1.16rem;
  font-weight:400;
}
.ly-legal-section p,
.ly-legal-section li{
  color:var(--ly-text-2);
  font-size:.88rem;
  line-height:1.82;
  font-weight:300;
}
.ly-legal-section p{margin:0 0 14px}
.ly-legal-section ul,
.ly-legal-section ol{margin:12px 0 16px;padding-left:22px}
.ly-legal-section li+li{margin-top:7px}
.ly-legal-section strong{color:#f4f8ff;font-weight:600}
.ly-legal-section a{color:#b9ddff;text-decoration:underline;text-decoration-color:rgba(185,221,255,.28);text-underline-offset:3px}
.ly-legal-section a:hover{color:#fff}

.ly-legal-data{
  display:grid;
  gap:0;
  margin-top:16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:19px;
  overflow:hidden;
}
.ly-legal-data__row{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:16px;
  padding:13px 15px;
  border-top:1px solid rgba(255,255,255,.07);
}
.ly-legal-data__row:first-child{border-top:0}
.ly-legal-data__key{
  color:var(--ly-text-3);
  font-size:.62rem;
  font-weight:600;
  letter-spacing:1px;
  text-transform:uppercase;
}
.ly-legal-data__value{
  color:var(--ly-text-2);
  font-size:.82rem;
  overflow-wrap:anywhere;
}

.ly-legal-table-wrap{
  margin:16px 0;
  overflow:auto;
  border:1px solid rgba(255,255,255,.10);
  border-radius:19px;
}
.ly-legal-table{
  width:100%;
  min-width:690px;
  border-collapse:collapse;
}
.ly-legal-table th,
.ly-legal-table td{
  padding:13px 14px;
  border-top:1px solid rgba(255,255,255,.07);
  text-align:left;
  vertical-align:top;
  color:var(--ly-text-2);
  font-size:.76rem;
  line-height:1.55;
}
.ly-legal-table tr:first-child th{border-top:0}
.ly-legal-table th{
  color:#dbeaff;
  background:rgba(255,255,255,.035);
  font-size:.60rem;
  letter-spacing:1px;
  text-transform:uppercase;
}

.ly-legal-note{
  margin:18px 0 0;
  padding:14px 16px;
  border-left:2px solid rgba(121,184,255,.55);
  border-radius:0 15px 15px 0;
  background:rgba(85,170,255,.055);
  color:var(--ly-text-2);
  font-size:.80rem;
  line-height:1.65;
}

.ly-legal-crosslinks{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:26px;
}
.ly-legal-crosslinks a{
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:17px;
  background:rgba(255,255,255,.045);
  color:var(--ly-text-2);
  font-size:.68rem;
  letter-spacing:.9px;
  text-transform:uppercase;
  text-align:center;
}
.ly-legal-crosslinks a:hover{color:#fff;background:rgba(255,255,255,.075)}

@media(max-width:900px){
  .ly-legal-layout{grid-template-columns:1fr}
  .ly-legal-index{position:relative;top:auto;display:flex;gap:5px;overflow-x:auto;white-space:nowrap}
  .ly-legal-index__title{display:none}
}
@media(max-width:760px){
  .ly-legal-hero{padding:122px 0 46px}
  .ly-legal-section{padding:23px}
  .ly-legal-data__row{grid-template-columns:1fr;gap:5px}
  .ly-legal-crosslinks{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* FIX 1.1 — Resiliencia de layout */
@media(max-width:1100px){
  .ly-legal-layout{
    grid-template-columns:1fr;
  }

  .ly-legal-index{
    position:relative;
    top:auto;
    display:flex;
    gap:6px;
    overflow-x:auto;
    white-space:nowrap;
    scrollbar-width:none;
  }

  .ly-legal-index::-webkit-scrollbar{display:none}
  .ly-legal-index__title{display:none}
}

@media(max-width:600px){
  .ly-legal-index a{
    flex:0 0 auto;
    padding:9px 11px;
  }
}
