/* ============================================================
   Legal Pages CSS (Popup-safe FINAL version)
   Works only inside .legal-page wrapper
   ============================================================ */


/* APPLY VARIABLES ONLY TO LEGAL PAGES */

.legal-page {

  --bg-dark:#0d1b2e;
  --bg-card:#112240;
  --accent:#3dc8c8;
  --text-main:#c8d8e8;
  --text-muted:#7a9ab8;
  --text-light:#e8f0f8;
  --border:rgba(61,200,200,.15);
  --font-body:'DM Sans',sans-serif;
  --font-heading:'Urbanist',sans-serif;

  background:var(--bg-dark);
  color:var(--text-main);
  font-family:var(--font-body);

}


/* HERO */

.legal-page .lp-hero{
background:linear-gradient(135deg,#0a1628 0%,#112240 60%,#0d1b2e 100%);
padding:70px 40px 60px;
text-align:center;
border-bottom:1px solid var(--border);
position:relative;
}

.legal-page .lp-hero-glow{
position:absolute;
top:-60px;
left:50%;
transform:translateX(-50%);
width:500px;
height:300px;
background:radial-gradient(ellipse,rgba(61,200,200,.08),transparent 70%);
}

.legal-page .lp-badge{
border:1px solid var(--accent);
color:var(--accent);
font-size:11px;
letter-spacing:2px;
padding:5px 16px; 
border-radius:20px;
display:inline-block;
margin-bottom:20px; 
margin-top: 120px;
}

.legal-page .lp-hero-title{
  font-family: var(--font-heading);
  font-size:clamp(28px,4vw,42px);
  font-weight: 700;
  margin-bottom:14px;
  color: white
}

.legal-page .lp-hero-title span{
color:var(--accent);
}

.legal-page .lp-hero-sub{
color:var(--text-muted);
font-size:15px;
max-width:560px;
margin:auto;
}


/* LAYOUT */

.legal-page .lp-container{
max-width:1100px;
margin:auto;
padding:60px 40px;
display:grid;
grid-template-columns:240px 1fr;
gap:40px;
}


/* SIDEBAR */

.legal-page .lp-toc{
background:var(--bg-card);
border:1px solid var(--border);
border-radius:12px;
padding:24px;
position:sticky;
top:90px;
}

.legal-page .lp-toc h3{
font-size:12px;
letter-spacing:2px;
text-transform:uppercase;
color:var(--accent);
margin-bottom:16px;
}

.legal-page .lp-toc ul{
list-style:none;
padding:0;
margin:0;
}

.legal-page .lp-toc ul li{
margin-bottom:6px;
}

.legal-page .lp-toc ul li a{
color:var(--text-muted);
text-decoration:none;
font-size:13px;
padding:6px 10px;
display:flex;
gap:8px;
border-radius:6px;
transition:.2s;
}

.legal-page .lp-toc ul li a:hover{
background:rgba(61,200,200,.07);
color:var(--accent);
}


/* CONTENT */

.legal-page .lp-section{
margin-bottom:32px;
background:var(--bg-card);
border:1px solid var(--border);
border-radius:12px;
padding:28px 30px;
}

.legal-page .lp-section h2{
font-size:17px;
color:var(--text-light);
margin-bottom:14px;
padding-bottom:12px;
border-bottom:1px solid var(--border);
display:flex;
gap:10px;
align-items:center;
}

.legal-page .lp-num{
background:rgba(61,200,200,.12);
color:var(--accent);
width:28px;
height:28px;
display:flex;
align-items:center;
justify-content:center;
border-radius:6px;
font-size:12px;
}

.legal-page .lp-section p{
font-size:14px;
color:var(--text-muted);
}


/* LIST */

.legal-page .lp-list{
list-style:none;
padding:0;
}

.legal-page .lp-list li{
padding-left:22px;
position:relative;
margin:6px 0;
font: menu;
}

.legal-page .lp-list li::before{
content:"→";
position:absolute;
left:0;
color:var(--accent);
}


/* HIGHLIGHT */

.legal-page .lp-highlight{
background:rgba(61,200,200,.06);
border-left:3px solid var(--accent);
padding:13px 18px;
border-radius:0 8px 8px 0;
margin-top:14px;
font: menu;
}


/* RESPONSIVE */

@media(max-width:768px){

.legal-page .lp-container{
grid-template-columns:1fr;
padding:30px 20px;
}

.legal-page .lp-toc{
position:static;
}

.legal-page .lp-hero{
padding:50px 20px 40px;
}

}