.privacy-settings { border: 0; padding: 0; background: none; color: inherit; text-decoration: underline; }
.consent-dialog { box-sizing: border-box; width: min(540px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; border: 1px solid var(--line); border-radius: 16px; padding: 24px; color: var(--ink); background: var(--paper); box-shadow: var(--shadow); }
.consent-dialog::backdrop { background: rgba(26,22,19,.65); }
.consent-dialog h2 { font-size: clamp(24px, 5vw, 28px); line-height: 1.15; margin: 0 0 12px; }
.consent-dialog .consent-intro { font-size: 15px; line-height: 1.5; margin: 0 0 16px; }
.consent-necessary { font-size: 13px; line-height: 1.4; color: var(--body); margin: 0 0 4px; }
.consent-dialog label { display: flex; gap: 10px; align-items: center; min-height: 40px; margin: 0; font-size: 14px; line-height: 1.4; font-weight: 600; cursor: pointer; }
.consent-dialog input { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--orange-dark); }
.consent-services { margin-top: 8px; font-size: 13px; line-height: 1.5; }
.consent-services summary { min-height: 36px; padding: 8px 0; cursor: pointer; font-weight: 600; }
.consent-services p { margin: 4px 0 12px; color: var(--body); }
.consent-alternative { font-size: 13px; line-height: 1.5; margin: 8px 0 0; }
.consent-alternative a { text-decoration: underline; text-underline-offset: 3px; }
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 16px 0 12px; }
.consent-actions button { min-height: 44px; border: 1px solid var(--orange-dark); border-radius: 8px; background: var(--paper); color: var(--ink); padding: 10px 8px; font-size: 14px; line-height: 1.3; font-weight: 600; }
.consent-actions [data-choice="selected"] { grid-column: 1 / -1; }
.consent-actions-form { grid-template-columns: .7fr 1.5fr; }
.consent-actions button:hover { background: var(--cream-deep); }
.consent-dialog nav { font-size: 13px; line-height: 1.5; }
.consent-dialog :focus-visible { outline: 3px solid var(--orange-dark); outline-offset: 3px; }
@media (max-width: 480px) { .consent-dialog { padding: 20px; } }
.consent-dialog nav a, .legal-page a { text-decoration: underline; text-underline-offset: 3px; }
.legal-nav { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.legal-page main { max-width: 800px; margin: 65px auto; }
.legal-page h1 { font-family: var(--serif); color: var(--ink); font-size: clamp(38px, 7vw, 60px); }
.legal-page h2 { color: var(--ink); font-size: 23px; margin-top: 32px; }
.legal-page footer { padding: 30px 0; border-top: 1px solid var(--line); }
.legal-draft { padding: 16px 20px; border-left: 3px solid var(--orange); background: var(--cream-deep); }
