.privacy-panel[hidden], .privacy-panel [hidden] { display: none !important; }
.privacy-panel { position: fixed; bottom: 12px; left: 12px; right: 12px; z-index: 99999; max-width: 760px; margin: auto; padding: 16px; border: 1px solid #bfaf91; border-radius: 6px; background: #fcf8ef; color: #252019; box-shadow: 0 4px 24px #0003; font: 16px/1.45 sans-serif; max-height: 45vh; overflow: auto; }
.privacy-panel p { margin: 0 0 10px; font: inherit; }
.privacy-panel a { color: #493719; text-decoration: underline; }
.privacy-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.privacy-panel button { appearance: auto; display: inline-block; cursor: pointer; background: #fcf8ef; border: 1px solid #675437; border-radius: 3px; color: #252019; padding: 9px 12px; font: inherit; min-height: 44px; }
.privacy-panel button:focus-visible, .privacy-panel a:focus-visible { outline: 3px solid #704c1c; outline-offset: 3px; }
.privacy-status:empty { display: none; }
.privacy-status { margin-top: 10px !important; }
.privacy-notice { font-size: 14px; line-height: 1.5; }
.input > label { position: absolute; font-size: 12px; background: #f2eee7; top: -5px; left: 10px; padding: 0 2px; max-width: 80%; }
.privacy-links { box-sizing: border-box; width: 100%; margin: 0; padding: 12px 16px; background: #efe8da; text-align: center; font-size: 13px; line-height: 1.6; }
.privacy-links a, .privacy-links button { color: #bfaf91; text-decoration: underline; }
.privacy-links button { background: none; border: 0; font: inherit; padding: 0; cursor: pointer; }
@media (max-width: 600px) { .privacy-panel { bottom: 8px; left: 8px; right: 8px; padding: 12px; font-size: 14px; } }

.privacy-ack { display: flex; align-items: flex-start; gap: 8px; min-height: 44px; margin: 12px 0; font-size: 14px; line-height: 1.5; text-align: left; }
.privacy-ack input[type="checkbox"] { flex: 0 0 25px; margin: 0; }
.privacy-ack input:focus-visible { outline: 2px solid #704c1c; outline-offset: 3px; }
