.pa-theme .pa-legal-page { max-width:1240px; margin-inline:auto; color:var(--pa-primary); }
.pa-theme .pa-legal-hero { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:20px; padding:28px; border:1px solid var(--pa-border); border-radius:20px; background:var(--pa-surface); }
.pa-theme .pa-legal-icon { display:grid; place-items:center; flex:0 0 56px; height:56px; border-radius:16px; background:var(--brand-blue-soft); color:var(--pa-link); font-size:25px; }
.pa-theme .pa-legal-hero > div { flex:1; min-width:0; }
.pa-theme .pa-legal-eyebrow { font-size:12px; color:var(--brand-green); }
.pa-theme .pa-legal-hero h1 { margin:8px 0; font-size:25px; font-weight:700; line-height:1.8; overflow-wrap:anywhere; }
.pa-theme .pa-legal-hero p { margin:0; font-size:13px; color:var(--pa-muted); line-height:2; }
.pa-theme .pa-legal-version { font-size:11px; color:var(--pa-muted); }
.pa-theme .pa-legal-notice { display:flex; align-items:flex-start; gap:10px; padding:16px 20px; margin-bottom:24px; border:1px solid var(--pa-border); border-inline-start:3px solid var(--brand-green); border-radius:12px; background:var(--pa-subtle); font-size:12px; line-height:2; }
.pa-theme .pa-legal-notice > i { margin-top:6px; color:var(--pa-link); }
.pa-theme .pa-legal-notice p { margin:0; }
.pa-theme .pa-legal-layout { display:grid; grid-template-columns:250px minmax(0,1fr); align-items:start; gap:24px; }
.pa-theme .pa-legal-toc { position:sticky; top:20px; padding:20px 16px; border:1px solid var(--pa-border); border-radius:18px; background:var(--pa-surface); }
.pa-theme .pa-legal-toc h2 { margin:0 8px 12px; font-size:15px; font-weight:700; }
.pa-theme .pa-legal-toc ol { list-style:none; padding:0; margin:0; }
.pa-theme .pa-legal-toc li { margin:3px 0; }
.pa-theme .pa-legal-toc a { display:block; padding:8px; border-radius:8px; font-size:12px; line-height:1.8; color:var(--pa-primary); text-decoration:none; transition:background-color .18s,color .18s; }
.pa-theme .pa-legal-toc a:hover { background:var(--brand-blue-soft); color:var(--pa-link); }
.pa-theme .pa-legal-toc a:focus-visible { outline:2px solid var(--pa-link); outline-offset:2px; }
.pa-theme .pa-legal-other { border-top:1px solid var(--pa-border); padding-top:10px; margin-top:12px; }
.pa-theme .pa-legal-other a { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--pa-link); }
.pa-theme .pa-legal-content { min-width:0; padding:8px 28px 24px; border:1px solid var(--pa-border); border-radius:20px; background:var(--pa-surface); }
.pa-theme .pa-legal-section { padding:24px 0; border-bottom:1px solid var(--pa-border); scroll-margin-top:24px; }
.pa-theme .pa-legal-section h2 { display:flex; align-items:baseline; gap:12px; margin:0 0 16px; font-size:18px; line-height:1.9; font-weight:700; }
.pa-theme .pa-legal-section h2 > span { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:9px; background:var(--brand-blue-soft); color:var(--pa-link); font-size:13px; }
.pa-theme .pa-legal-section p { margin:0 0 14px; font-size:14px; line-height:2.3; overflow-wrap:anywhere; }
.pa-theme .pa-legal-section p:last-child { margin-bottom:0; }
.pa-theme .pa-legal-contact { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding-top:24px; }
.pa-theme .pa-legal-contact > i { color:var(--pa-link); font-size:23px; }
.pa-theme .pa-legal-contact > div { flex:1; min-width:170px; }
.pa-theme .pa-legal-contact h2 { margin:0 0 7px; font-size:15px; line-height:1.7; }
.pa-theme .pa-legal-contact p { margin:0; color:var(--pa-muted); font-size:12px; line-height:1.9; }
.pa-theme .pa-footer-legal { display:flex; justify-content:center; flex-wrap:wrap; gap:18px; margin-top:12px; font-size:12px; }
.pa-theme .pa-footer-legal a { color:var(--pa-link); }
.pa-theme #footer .pa-footer-row { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 20px; }
.pa-theme .pa-copyright { display:inline-flex; align-items:baseline; justify-content:center; flex-wrap:wrap; gap:4px; line-height:1.9; min-width:0; max-width:100%; }
.pa-theme .pa-copyright-company { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.pa-theme #footer .pa-footer-legal { display:inline-flex; align-items:center; margin:0; }
.pa-theme #footer .pa-footer-legal a { text-decoration:underline; text-underline-offset:3px; }
.pa-theme :is(.phm-login-legal,.phm-register-welcome-footer) { flex-wrap:wrap; }
.pa-theme :is(.phm-login-legal,.phm-register-welcome-footer) .pa-footer-legal { margin:0; font-size:inherit; }
.pa-theme :is(.phm-login-legal,.phm-register-welcome-footer) .pa-footer-legal a { color:inherit; }
.pa-theme .phm-auth-story-footer .pa-footer-legal a { color:inherit; }
@media(max-width:1050px) { .pa-theme .pa-legal-layout { grid-template-columns:minmax(0,1fr); } .pa-theme .pa-legal-toc { position:static; } .pa-theme .pa-legal-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; } }
@media(max-width:600px) { .pa-theme .pa-legal-hero { padding:20px; } .pa-theme .pa-legal-hero h1 { font-size:21px; } .pa-theme .pa-legal-version { flex-basis:100%; } .pa-theme .pa-legal-content { padding-inline:18px; } .pa-theme .pa-legal-toc ol { grid-template-columns:minmax(0,1fr); } .pa-theme .pa-legal-section p { font-size:13px; } .pa-theme .pa-legal-contact .btn { flex:1; } }
@media(prefers-reduced-motion:reduce) { .pa-theme .pa-legal-toc a { transition:none; } }
@media print { .pa-theme .pa-legal-toc,.pa-theme .pa-legal-contact { display:none; } .pa-theme .pa-legal-layout { display:block; } .pa-theme .pa-legal-content { border:0; padding:0; } .pa-theme .pa-legal-section { break-inside:avoid; } }
