/* ============================================================
   LEGAL PAGES — Terms & Privacy  (loaded only on /Legal/* pages)
   Depends on CSS tokens defined in peakshot-theme.css :root
   ============================================================ */

.ps-legal-page {
    max-width: 1100px;
}

.ps-legal-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 2.4rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--text-primary);
    letter-spacing: .02em;
    margin-bottom: .4rem;
}

.ps-legal-meta {
    color: var(--text-muted);
    font-size: .9rem;
    margin: 0;
}

.ps-legal-badge {
    background: var(--surface-2);
    color: var(--text-secondary);
    border: 1px solid var(--border);
    font-weight: 500;
    font-size: .75rem;
}

.ps-btn-outline-sm {
    border: 1px solid var(--border);
    color: var(--text-secondary);
    background: transparent;
    font-size: .85rem;
    padding: .35rem .9rem;
    border-radius: 6px;
    transition: border-color .2s, color .2s;
}
.ps-btn-outline-sm:hover {
    border-color: var(--ice);
    color: var(--ice);
}

.ps-legal-alert-minor {
    background: rgba(255, 170, 0, .08);
    border: 1px solid rgba(255, 170, 0, .3);
    border-left: 4px solid #ffa500;
    border-radius: 6px;
    color: var(--text-primary);
    padding: .85rem 1rem;
    font-size: .9rem;
}

.ps-legal-alert-danger {
    background: rgba(220, 53, 69, .08);
    border: 1px solid rgba(220, 53, 69, .25);
    border-left: 4px solid #dc3545;
    border-radius: 6px;
    color: var(--text-primary);
    padding: .85rem 1rem;
    font-size: .9rem;
    margin-bottom: 1.25rem;
}

/* Sidebar TOC */
.ps-legal-toc {
    position: sticky;
    top: 80px;
    background: var(--surface-1);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 1.25rem 1rem;
}

.ps-legal-toc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--text-muted);
    margin-bottom: .75rem;
}

.ps-legal-toc nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ps-legal-toc-link {
    display: block;
    padding: .35rem .6rem;
    font-size: .82rem;
    color: var(--text-secondary);
    text-decoration: none;
    border-radius: 5px;
    border-left: 2px solid transparent;
    transition: background .15s, color .15s, border-color .15s;
    line-height: 1.4;
}

.ps-legal-toc-link:hover {
    background: var(--surface-2);
    color: var(--text-primary);
    text-decoration: none;
}

.ps-legal-toc-link.active {
    background: rgba(123, 110, 232, .1);
    color: var(--ice);
    border-left-color: var(--ice);
    font-weight: 500;
}

/* Mobile TOC */
.ps-legal-accordion {
    background: var(--surface-1);
    border: 1px solid var(--border);
    border-radius: 8px !important;
}

.ps-legal-accordion-btn {
    background: var(--surface-1) !important;
    color: var(--text-primary) !important;
    font-size: .9rem;
    box-shadow: none !important;
}
.ps-legal-accordion-btn:not(.collapsed) {
    color: var(--ice) !important;
}

.ps-legal-toc-mobile {
    background: var(--surface-1);
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: .5rem .25rem;
}

.ps-legal-toc-mobile a {
    display: block;
    padding: .3rem .5rem;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: .85rem;
    border-radius: 4px;
    transition: background .15s, color .15s;
}
.ps-legal-toc-mobile a:hover {
    background: var(--surface-2);
    color: var(--text-primary);
    text-decoration: none;
}

/* Content body */
.ps-legal-body {
    color: var(--text-primary);
}

.ps-legal-section {
    padding-top: 2.5rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--border);
    scroll-margin-top: 80px;
}
.ps-legal-section:last-of-type {
    border-bottom: none;
}

.ps-legal-section-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.55rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--text-primary);
    letter-spacing: .03em;
    margin-bottom: 1rem;
    scroll-margin-top: 80px;
}

.ps-legal-subsection {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-top: 1.4rem;
    margin-bottom: .6rem;
}

.ps-legal-subsubsection {
    font-size: .95rem;
    font-weight: 600;
    color: var(--text-muted);
    margin-top: 1rem;
    margin-bottom: .4rem;
}

.ps-legal-list {
    padding-left: 1.4rem;
    line-height: 1.7;
}
.ps-legal-list li {
    margin-bottom: .35rem;
    font-size: .93rem;
}

.ps-legal-glossary dt {
    font-weight: 600;
    color: var(--text-primary);
    margin-top: .85rem;
    font-size: .93rem;
}
.ps-legal-glossary dd {
    color: var(--text-secondary);
    margin-left: 1rem;
    font-size: .9rem;
    line-height: 1.65;
}

.ps-legal-table {
    font-size: .875rem;
    border-color: var(--border);
    color: var(--text-primary);
}
.ps-legal-table th {
    background: var(--surface-1);
    color: var(--text-secondary);
    font-weight: 600;
    border-color: var(--border);
    white-space: nowrap;
}
.ps-legal-table td {
    border-color: var(--border);
    vertical-align: middle;
}
.ps-legal-table a {
    color: var(--ice);
}

.ps-legal-body p {
    line-height: 1.75;
    color: var(--text-secondary);
    font-size: .93rem;
}

.ps-legal-body a {
    color: var(--ice);
    text-decoration: none;
}
.ps-legal-body a:hover {
    text-decoration: underline;
}

.ps-legal-declaration {
    background: var(--surface-1);
    border: 1px solid var(--border);
    border-left: 4px solid var(--ice);
    border-radius: 8px;
    padding: 1.25rem 1.4rem;
    font-size: .9rem;
    color: var(--text-secondary);
    line-height: 1.75;
}
.ps-legal-declaration ol {
    margin-bottom: 0;
    padding-left: 1.2rem;
}
.ps-legal-declaration li {
    margin-bottom: .4rem;
}

.ps-legal-doc-footer {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border);
    font-size: .85rem;
    color: var(--text-muted);
}

/* Print styles */
@media print {
    .ps-navbar, .ps-footer, .ps-legal-toc, #tocAccordion,
    .ps-cookie-banner, .ps-btn-outline-sm { display: none !important; }
    .ps-legal-page { max-width: 100%; }
    .ps-legal-section { break-inside: avoid; }
    .col-lg-3 { display: none !important; }
    .col-lg-9 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
}
