.privacy-banner { position: fixed; z-index: 9998; bottom: 18px; left: 18px; width: min(560px,calc(100% - 36px)); max-height: calc(100dvh - 36px); overflow-y: auto; padding: 24px; border: 1px solid #d9c5b4; border-radius: 18px; background: #fff8ed; color: #291a15; box-shadow: 0 8px 40px #291a1533; font: 16px/1.5 Arial,sans-serif; }
.privacy-banner[hidden] { display: none; }
.privacy-banner h2 { margin: 0 0 10px; font-size: 22px; line-height: 1.3; }
.privacy-banner p { margin: 0 0 14px; }
.privacy-banner a { color: inherit; text-decoration: underline; }
.privacy-banner summary { cursor: pointer; font-weight: 700; }
.privacy-banner label { display: flex; align-items: start; gap: 10px; margin: 14px 0; }
.privacy-banner input { width: 20px; height: 20px; margin-top: 2px; accent-color: #a6402c; }
.privacy-actions { display: flex; gap: 10px; margin-top: 18px; }
.privacy-banner button { flex: 1; border: 1px solid #a6402c; background: #fff8ed; color: #722b1d; border-radius: 9px; padding: 12px; min-height: 46px; font: inherit; font-weight: 700; cursor: pointer; }
.privacy-banner button:hover { background: #f2e1ca; }
.privacy-banner :focus-visible { outline: 3px solid #637042; outline-offset: 3px; }
.privacy-settings { border: 0; padding: 0; background: none; color: inherit; font: inherit; text-align: left; text-decoration: underline; cursor: pointer; }
@media(max-width: 420px) { .privacy-banner { padding: 18px; bottom: 10px; left: 10px; width: calc(100% - 20px); } .privacy-actions { flex-direction: column; } }
