.legal-main { width: min(900px, calc(100% - 40px)); margin: 36px auto 80px; }
.legal-main h1 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(2.8rem, 6vw, 4.5rem); line-height: .98; max-width: 700px; margin: 0 0 28px; }
.legal-nav { display: flex; gap: 10px 20px; flex-wrap: wrap; padding: 22px 0; border-block: 1px solid #17323835; margin-bottom: 30px; }
.legal-nav a, .privacy-links a { text-underline-offset: 4px; }
.legal-section { scroll-margin-top: 25px; padding: 18px 0 25px; border-bottom: 1px solid #17323825; }
.legal-section h2 { font-family: 'Barlow Condensed', sans-serif; font-size: 2rem; line-height: 1.15; margin: 0 0 18px; }
.legal-section h3 { font-size: 1.3rem; margin-top: 0; }
.legal-section p { line-height: 1.65; margin: 0 0 18px; overflow-wrap: anywhere; }
.legal-page .bt-multiline { white-space: pre-line; }
.legal-page .bt-empty { display: none; }
.withdraw-link { font-weight: 800; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.withdrawal-form-section { border: 2px solid #173238; border-radius: 14px; padding: clamp(20px, 4vw, 36px); margin-top: 24px; background: #fffaf0; box-shadow: 0 5px 0 #173238; }
#withdraw-form { display: grid; gap: 20px; }
#withdraw-form label { display: grid; gap: 8px; font-weight: 700; }
#withdraw-form input, #withdraw-form textarea { width: 100%; min-height: 48px; font: inherit; font-weight: 400; color: inherit; padding: 12px; background: white; border: 1px solid #17323870; border-radius: 6px; }
#withdraw-form textarea { resize: vertical; }
#withdraw-form [aria-invalid="true"] { border: 2px solid #b63824; }
.withdraw-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.withdraw-actions button, #withdraw-form button { min-height: 48px; white-space: normal; }
#withdraw-details { display: grid; gap: 8px; }
#withdraw-details dt { font-weight: 700; }
#withdraw-details dd { margin: 0 0 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
#withdraw-status:empty { display: none; }
#withdraw-status { padding-top: 18px; margin-bottom: 0; font-weight: 700; }
.legal-model { border-left: 4px solid #097b91; padding-left: 20px; }
.privacy-links { display: flex; flex-wrap: wrap; gap: 20px; padding-top: 24px; }
.legal-page :focus-visible { outline: 3px solid #097b91; outline-offset: 4px; }
.legal-page [hidden] { display: none !important; }
@media (max-width: 600px) { .legal-main { width: calc(100% - 30px); margin-top: 24px; } .legal-page .header-actions { gap: 12px; } .legal-page .back-link { max-width: 110px; font-size: .9rem; } .withdraw-actions { flex-direction: column; } .withdraw-actions button { width: 100%; } }
@media print { .shop-header, .legal-nav, .shop-footer, #withdraw, .privacy-links { display: none; } .legal-main { width: 100%; margin: 0; } .legal-page { background: white; color: black; } .legal-section { break-inside: avoid; } }
