.shop-public.legal-page { min-height: 100vh; display: flex; flex-direction: column; background: #f5f8ff; }
.shop-public .legal-header { background: #fff; border-bottom: 1px solid #dbe5f5; }
.shop-public .legal-header .nav { min-height: 90px; }
.shop-public .legal-main { width: 100%; padding: 52px 0 72px; flex: 1; }
.shop-public .legal-wrap { max-width: 940px; margin-inline: auto; padding: 0 32px; }
.shop-public .legal-kicker { color: #093ccc; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.shop-public .legal-main h1 { font-size: clamp(2.3rem, 6vw, 3.5rem); line-height: 1.1; letter-spacing: -.045em; margin: 14px 0 22px; overflow-wrap: anywhere; }
.shop-public .legal-main h2 { font-size: 1.45rem; line-height: 1.3; letter-spacing: -.02em; margin: 34px 0 14px; }
.shop-public .legal-main p, .shop-public .legal-main li { line-height: 1.75; }
.shop-public .legal-main a { text-decoration: underline; text-underline-offset: 3px; color: #093ccc; overflow-wrap: anywhere; }
.shop-public .legal-card { background: #fff; border: 1px solid #dbe5f5; border-radius: 24px; padding: 28px 32px; margin: 26px 0; }
.shop-public .legal-card h2 { margin-top: 0; }
.shop-public .legal-status { display: inline-block; background: #dff8ef; color: #075a3d; font-size: 14px; font-weight: 650; padding: 7px 12px; border-radius: 99px; }
.shop-public .legal-details { margin: 0; }
.shop-public .legal-details div { padding: 15px 0; border-bottom: 1px solid #e2e9f5; }
.shop-public .legal-details div:last-child { border-bottom: 0; }
.shop-public .legal-details dt { font-weight: 700; }
.shop-public .legal-details dd { margin: 4px 0 0; color: #53627b; }
.shop-public .legal-footer-links { display: flex; gap: 18px; flex-wrap: wrap; }
.shop-public .legal-footer-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.shop-public .legal-note { color: #53627b; font-size: 14px; }
.shop-public .draft-note { border: 2px solid #b85c00; background: #fff1d9; border-radius: 16px; padding: 20px; }
@media (max-width: 600px) {
 .shop-public .legal-wrap { padding-inline: 20px; }
 .shop-public .legal-main { padding-top: 32px; }
 .shop-public .legal-card { padding: 22px; border-radius: 20px; }
 .shop-public .legal-header .navlinks { width: auto; }
}
