
/* v185 - LIvVE legal information pages */
.legal-grid { margin-top: 24px; }
.legal-panel { background: var(--paper); border-radius: 13px; box-shadow: var(--shadow); padding: 34px 38px 40px; color:#313136; }
.legal-heading { max-width: 860px; margin: 0 auto 24px; text-align:center; }
.legal-eyebrow { margin:0 0 8px; color:var(--pink-dark); font-size:12px; font-weight:900; letter-spacing:.16em; }
.legal-heading h1 { margin:0 0 12px; color:#171717; font-size:clamp(30px,5vw,46px); line-height:1.08; letter-spacing:-.03em; }
.legal-heading > p { margin:0 auto 13px; max-width:760px; color:#55555a; font-size:14px; line-height:1.65; }
.legal-meta { display:inline-block; padding:8px 12px; border:1px solid #eadbe3; border-radius:8px; background:#fff7fb; color:#5b4a53; font-size:12px; }
.legal-notice { max-width:880px; margin:0 auto 24px; padding:14px 16px; border-left:4px solid var(--pink); border-radius:7px; background:#fff7fb; color:#4f454a; font-size:13px; line-height:1.55; }
.legal-notice a { color:var(--pink-dark); font-weight:800; }
.legal-toc { display:flex; flex-wrap:wrap; gap:7px; justify-content:center; max-width:960px; margin:0 auto 28px; padding:14px; border:1px solid #ececef; border-radius:10px; background:#fafafa; }
.legal-toc a { padding:6px 9px; border-radius:7px; color:#55555a; font-size:11px; font-weight:800; text-decoration:none; }
.legal-toc a:hover,.legal-toc a:focus-visible { background:#fff0f7; color:var(--pink-dark); outline:none; }
.legal-section { max-width:920px; margin:0 auto; padding:22px 0; border-top:1px solid #ececef; }
.legal-intro { border-top:0; padding-top:0; }
.legal-section h2 { margin:0 0 12px; color:#242428; font-size:18px; line-height:1.3; }
.legal-section p { margin:0; color:#4f4f55; font-size:14px; line-height:1.72; }
.legal-verbatim { white-space:pre-wrap; overflow-wrap:anywhere; color:#4a4a50; font-family:Arial,Helvetica,sans-serif; font-size:13px; line-height:1.65; }
.legal-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; max-width:920px; margin:28px auto 0; padding-top:24px; border-top:1px solid #ececef; }
.legal-primary,.legal-secondary { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:10px 18px; border-radius:9px; font-size:12px; font-weight:900; text-decoration:none; }
.legal-primary { border:1px solid var(--pink-dark); background:var(--pink); color:#fff; }
.legal-primary:hover,.legal-primary:focus-visible { background:var(--pink-dark); color:#fff; outline:none; }
.legal-secondary { border:1px solid var(--line); background:#f5f5f6; color:#3f3f43; }
.legal-secondary:hover,.legal-secondary:focus-visible { background:#ececef; color:#222226; outline:none; }
@media (max-width:760px){ .legal-grid{margin-top:18px}.legal-panel{padding:26px 18px 32px}.legal-heading{text-align:left}.legal-heading>p{margin-left:0}.legal-toc{justify-content:flex-start}.legal-section{padding:18px 0}.legal-actions{justify-content:flex-start} }

/* v186 - keep long legal documents inside a compact scrolling reader */
.legal-scroll {
    max-width: 960px;
    height: 560px;
    margin: 0 auto;
    padding: 20px 24px 24px;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    border: 1px solid #e4e4e8;
    border-radius: 10px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.035);
}
.legal-scroll:focus-visible {
    border-color: var(--pink);
    outline: 2px solid rgba(231, 75, 145, .18);
    outline-offset: 2px;
}
.legal-scroll .legal-toc {
    margin-top: 0;
}
.legal-scroll .legal-notice {
    margin-top: 0;
}
@media (max-width:760px) {
    .legal-scroll {
        height: 500px;
        padding: 16px 16px 20px;
    }
}
@media (max-height:720px) and (min-width:761px) {
    .legal-scroll { height: 430px; }
}
