
/* Consent controls: equally prominent choices, keyboard focus and mobile reflow. */
.privacy-banner, .privacy-dialog { color:#173d28; background:#fff; border:2px solid #154f2b; border-radius:12px; padding:20px; box-shadow:0 5px 24px #0003; font:16px/1.55 var(--font-body,sans-serif); }
.privacy-banner { position:fixed; z-index:1100; bottom:16px; left:16px; right:16px; max-width:780px; margin:auto; max-height:80vh; overflow:auto; }
.privacy-banner h2,.privacy-dialog h2 { font-size:1.25rem; margin:0 0 10px; color:#173d28; }
.privacy-banner p,.privacy-dialog p { margin:8px 0; color:#334e3e; }
.privacy-banner a,.privacy-dialog a { color:#154f2b; text-decoration:underline; }
.privacy-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.privacy-actions button { flex:1 1 160px; min-height:44px; padding:10px 14px; border:2px solid #154f2b; border-radius:7px; background:#154f2b; color:#fff; font:600 15px/1.3 var(--font-body,sans-serif); cursor:pointer; }
.privacy-actions button:hover { background:#0b3520; }
.privacy-actions button:disabled { opacity:.7; cursor:wait; }
.privacy-dialog { width:min(640px,calc(100vw - 24px)); max-height:85vh; overflow:auto; margin:auto; }
.privacy-dialog::backdrop { background:#0009; }
.privacy-option { display:flex; align-items:flex-start; gap:12px; margin:12px 0; padding:12px; background:#f0f6f1; border:1px solid #738779; border-radius:7px; cursor:pointer; }
.privacy-option input { flex:none; width:22px; height:22px; margin-top:3px; accent-color:#154f2b; }
.privacy-close,.privacy-open { padding:10px; min-height:44px; background:transparent; color:inherit; text-decoration:underline; border:1px solid currentColor; border-radius:6px; font:inherit; cursor:pointer; }
.privacy-close { margin-top:14px; }
.privacy-banner button:focus-visible,.privacy-dialog button:focus-visible,.privacy-open:focus-visible { outline:3px solid #995f00; outline-offset:3px; }
#privacy-error { color:#942019; }
.newsletter-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media(max-width:480px) { .privacy-banner { left:8px; right:8px; bottom:8px; padding:14px; } .privacy-actions { gap:8px; } .privacy-actions button { flex-basis:100%; } }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto!important;} *,*::before,*::after {scroll-behavior:auto!important;transition:none!important;} }

.ai-chat-privacy {padding:8px 14px;margin:0;font-size:12px;line-height:1.5;color:#334e3e;background:#fff;}
