.privacy-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .6rem 1.4rem; margin: 1.5rem auto 0; padding: 0 1rem; font-size: .9rem; }
.privacy-links a { text-decoration: underline; text-underline-offset: .2em; }
.consent-preferences { border: 0; padding: .6rem 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.consent-panel { position: fixed; z-index: 100; right: 1rem; bottom: 1rem; left: 1rem; width: min(44rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; margin: 0 auto; padding: 1.3rem; border: 2px solid #542b1d; border-radius: .8rem; background: #fffdf9; color: #351a12; box-shadow: 0 .5rem 3rem #0004; font: 1rem/1.5 system-ui, sans-serif; }
.consent-panel[hidden] { display: none !important; }
.consent-panel h2 { margin: 0 0 .5rem; color: inherit; font: 700 1.3rem/1.3 system-ui, sans-serif; }
.consent-panel p { margin: .5rem 0; color: inherit; }
.consent-panel a { color: #542b1d; text-decoration: underline; }
.consent-current, .consent-note { font-size: .85rem; }
.consent-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.consent-actions button { flex: 1 1 10rem; min-height: 44px; padding: .65rem .8rem; border: 1px solid #542b1d; border-radius: .35rem; background: #fffdf9; color: #351a12; font: 600 .95rem/1.4 system-ui, sans-serif; cursor: pointer; }
.consent-actions button:hover { background: #f6efe5; }
.consent-panel :focus-visible, .consent-preferences:focus-visible { outline: 3px solid #1566a1; outline-offset: 3px; }
.privacy-page { max-width: 52rem; margin: 0 auto; padding: 3rem 1.25rem; }
.privacy-page h1 { font-size: clamp(2rem, 5vw, 3rem); }
.privacy-page h2 { margin-top: 2rem; font-size: 1.5rem; }
.privacy-page p, .privacy-page li { line-height: 1.7; }
.privacy-page a { text-decoration: underline; }
@media print { .consent-panel, .consent-preferences { display: none !important; } }
