/* ── Legal pages layout (terms.php, privacy.php) ── */

/* Standalone page shell (these pages don't use header.php) */
.legal-page body {
  background: var(--bg); color: var(--text);
  font-family: var(--font-sans); min-height: 100vh;
}
.legal-top-bar {
  position: fixed; top: 0; left: 0; right: 0;
  height: 3px; background: var(--yellow); z-index: 100;
}
.legal-nav {
  position: sticky; top: 3px; background: var(--bg-nav);
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 32px; height: 56px; z-index: 50;
}
.legal-nav img { max-height: 26px; max-width: 110px; width: auto; }
.legal-back { font-size: 13px; color: var(--text-sub); text-decoration: none; font-weight: 500; }
.legal-back:hover { color: var(--text); }
.legal-wrap { max-width: 760px; margin: 0 auto; padding: 56px 24px 80px; }
.legal-title { font-family: var(--font-display); font-size: 42px; letter-spacing: 2px; margin-bottom: 6px; }
.legal-date  { font-size: 12px; color: var(--text-muted); margin-bottom: 40px; }
.legal-card  { background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; }
.legal-section { padding: 28px 32px; border-bottom: 1px solid var(--border); }
.legal-section:last-child { border-bottom: none; }
.legal-section-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--yellow); margin-bottom: 14px; }
.legal-section p { font-size: 14px; line-height: 1.8; color: var(--text-sub); margin-bottom: 12px; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section p strong { color: var(--text); }
.legal-section ul { list-style: none; margin: 0 0 12px; display: flex; flex-direction: column; gap: 8px; }
.legal-section li { font-size: 14px; line-height: 1.7; color: var(--text-sub); padding-left: 16px; position: relative; }
.legal-section li::before { content: '–'; position: absolute; left: 0; color: var(--yellow); font-weight: 600; }
.legal-section li strong { color: var(--text); }
.legal-section a { color: var(--yellow); text-decoration: none; }
.legal-section a:hover { text-decoration: underline; }
.legal-box { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 16px 20px; margin-bottom: 16px; }
.legal-footer { text-align: center; padding: 24px; font-size: 12px; color: var(--text-muted); border-top: 1px solid var(--border); }
.legal-footer a { color: var(--yellow); margin: 0 8px; text-decoration: none; }
.legal-footer a:hover { text-decoration: underline; }


.pp-wrap   { max-width: 800px; margin: 0 auto; padding: 48px 24px 64px; }
.pp-title  { font-family: var(--font-display); font-size: 48px; letter-spacing: 2px; margin-bottom: 6px; }
.pp-date   { font-size: 13px; color: var(--text-muted); margin-bottom: 40px; }
.pp-card   { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 36px 40px; }
.pp-section { margin-bottom: 32px; }
.pp-section:last-child { margin-bottom: 0; }
.pp-h2     { font-size: 15px; font-weight: 600; color: var(--yellow); margin-bottom: 10px; letter-spacing: 0.2px; }
.pp-p      { font-size: 14px; color: var(--text-sub); line-height: 1.7; margin-bottom: 10px; }
.pp-p:last-child { margin-bottom: 0; }
.pp-p strong { color: var(--text); }
.pp-list   { list-style: none; margin: 10px 0 12px; padding: 0; }
.pp-list li { font-size: 14px; color: var(--text-sub); line-height: 1.6; padding: 5px 0 5px 14px; border-left: 2px solid var(--border); margin-bottom: 6px; }
.pp-list li strong { color: var(--text); }
.pp-box    { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 14px 18px; margin: 10px 0 14px; }
.pp-box .pp-p { margin-bottom: 3px; }
.pp-link   { color: var(--yellow); text-decoration: none; }
.pp-link:hover { text-decoration: underline; }
.pp-nav    { background: var(--bg-nav); border-bottom: 1px solid var(--border); height: 64px; display: flex; align-items: center; padding: 0 32px; position: sticky; top: 0; z-index: 50; }
.pp-logo   { text-decoration: none; display: flex; align-items: center; }
.pp-logo img { max-height: 26px; max-width: 110px; width: auto; }
.pp-back   { margin-left: auto; font-size: 13px; color: var(--text-sub); text-decoration: none; font-weight: 500; }
.pp-back:hover { color: var(--text); }
.pp-footer { border-top: 1px solid var(--border); padding: 20px 32px; text-align: center; font-size: 12px; color: var(--text-muted); }
.pp-footer a { color: var(--yellow); text-decoration: none; margin: 0 8px; }
.pp-footer a:hover { text-decoration: underline; }
