/* Warm-premium theme for legal pages (terms / refund / privacy) — scoped, standalone */
.legal-shell {
    --c-ink: #1C1917;
    --c-ink-soft: #4b423b;
    --c-ink-faint: #9C8E81;
    --c-gold: #E8A13A;
    --c-gold-deep: #C2613A;
    --c-line: rgba(194, 97, 58, .14);
    --c-line-strong: rgba(232, 161, 58, .42);
    color: var(--c-ink);
    font-family: "Plus Jakarta Sans", "Noto Sans TC", "Noto Sans JP", sans-serif;
    background:
        radial-gradient(760px 420px at 12% -6%, rgba(232, 161, 58, .16), transparent 60%),
        linear-gradient(180deg, #FBF7F0, #F6EFE3 60%, #FFFDF8);
    min-height: 100vh;
    margin: 0;
}
.legal-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 50;
    background: rgba(255, 253, 248, .85);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--c-line);
}
.legal-nav-inner {
    max-width: 880px; margin: 0 auto; padding: 12px 20px;
    display: flex; align-items: center; justify-content: space-between;
}
.legal-logo {
    width: 32px; height: 32px; border-radius: 9px;
    background: linear-gradient(135deg, var(--c-gold), var(--c-gold-deep));
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 800; box-shadow: 0 6px 16px rgba(194, 97, 58, .26);
}
.legal-back {
    font-size: 13px; font-weight: 700; color: var(--c-gold-deep);
    text-decoration: none; padding: 7px 12px; border-radius: 10px;
    border: 1px solid var(--c-line-strong); background: #FFF9EE;
}
.legal-back:hover { background: #FFF3DF; }
.legal-main { max-width: 760px; margin: 0 auto; padding: 104px 20px 64px; }
.legal-card {
    background: #FFFDF8; border: 1px solid var(--c-line);
    border-radius: 22px; padding: 40px 38px;
    box-shadow: 0 18px 44px rgba(194, 97, 58, .10);
}
.legal-card h1 { font-size: 30px; font-weight: 800; letter-spacing: -.02em; margin: 0; }
.legal-updated { font-size: 13px; color: var(--c-ink-faint); margin-top: 8px; }
.legal-lead { font-size: 15.5px; line-height: 1.7; color: var(--c-ink-soft); margin: 22px 0 8px; }
.legal-card h2 { font-size: 18px; font-weight: 800; margin: 28px 0 8px; }
.legal-card p { font-size: 14.5px; line-height: 1.75; color: var(--c-ink-soft); margin: 0; }
.legal-card a { color: var(--c-gold-deep); font-weight: 700; text-decoration: none; }
.legal-card a:hover { text-decoration: underline; }
.link-warm { color: var(--c-gold-deep); font-weight: 700; text-decoration: none; }
.legal-contact {
    margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--c-line);
}
@media (max-width: 560px) {
    .legal-card { padding: 28px 22px; }
    .legal-card h1 { font-size: 25px; }
}
