/* --- HERO --- */
.terms-hero {
    padding: 80px 20px 40px; text-align: center;
    background: var(--surface-sunken); border-bottom: 1px solid var(--border-muted);
}
.terms-hero h1 {
    font-family: var(--font-serif); font-size: 3rem; margin-bottom: 10px; color: var(--text);
}
.terms-hero p { color: var(--text-faint); font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; }

/* --- LAYOUT --- */
.terms-container {
    display: grid; grid-template-columns: 250px 1fr; gap: 60px;
    padding-top: 60px; padding-bottom: 100px;
}

/* --- SIDEBAR NAV --- */
.terms-nav { position: sticky; top: 120px; height: fit-content; }
.terms-nav ul { border-left: 1px solid var(--border); padding-left: 20px; }
.terms-nav li { margin-bottom: 15px; }
.terms-nav a {
    color: var(--text-faint); font-size: 0.9rem; transition: var(--transition);
    display: block;
}
.terms-nav a:hover, .terms-nav a.active {
    color: var(--accent-gold); transform: translateX(5px);
}

/* --- CONTENT --- */
.terms-content { max-width: 800px; }
section { margin-bottom: 60px; scroll-margin-top: 120px; }

h2 {
    font-family: var(--font-serif); font-size: 1.8rem;
    color: var(--accent-gold); margin-bottom: 20px;
}
p {
    color: var(--text-muted); line-height: 1.8; margin-bottom: 20px;
    font-size: 1.05rem;
}
ul { list-style: square; margin-left: 20px; color: var(--text-muted); margin-bottom: 20px; }
li { margin-bottom: 10px; padding-left: 10px; }
strong { color: var(--text); }

.legal-contact {
    color: var(--text); font-family: monospace; font-size: 1.1rem;
    border: 1px dashed var(--border); padding: 10px; display: inline-block;
}

/* --- BACK TO TOP --- */
#backToTop {
    position: fixed; bottom: 30px; right: 30px;
    width: 45px; height: 45px; background: var(--accent-gold);
    color: var(--on-accent); border: none; font-size: 1.2rem; cursor: pointer;
    opacity: 0; pointer-events: none; transition: var(--transition);
    z-index: 900;
}
#backToTop.visible { opacity: 1; pointer-events: auto; }
#backToTop:hover { transform: translateY(-3px); background: var(--text-strong); color: var(--bg); }

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    .terms-container { grid-template-columns: 1fr; }
    .terms-nav { display: none; }
    .terms-hero h1 { font-size: 2.2rem; }
}
