.l2g-privacy-banner, .l2g-privacy-banner * { box-sizing: border-box; letter-spacing: 0; }
.l2g-privacy-banner { position: fixed; z-index: 9500; bottom: 20px; right: 20px; width: min(620px, calc(100% - 40px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 22px 24px; background: #fff; border: 1px solid #dcdde5; border-radius: 8px; box-shadow: 0 6px 28px #25233621; color: #30313b; font: 14px/1.55 "Open Sans", "Segoe UI", Arial, sans-serif; }
.l2g-privacy-copy strong { font-size: 16px; }
.l2g-privacy-copy p { margin: 8px 0 12px; }
.l2g-privacy-banner a { color: #7c2d91; text-decoration: underline; }
.l2g-privacy-options { margin: 0 0 14px; }
.l2g-privacy-options summary { color: #7c2d91; cursor: pointer; padding: 6px 0; }
.l2g-privacy-options label { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; margin: 0; }
.l2g-privacy-options input { appearance: auto; flex: none; width: 18px; height: 18px; margin: 3px 0 0; accent-color: #7c2d91; }
.l2g-privacy-options small { display: block; color: #666774; font-size: 12px; }
.l2g-privacy-banner button { cursor: pointer; border: 1px solid #dcdde5; border-radius: 6px; padding: 10px 16px; min-height: 44px; font: 600 13px/1.4 "Open Sans", "Segoe UI", Arial, sans-serif; background: #fff; color: #30313b; }
.l2g-privacy-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.l2g-privacy-actions button { flex: 1; }
.l2g-privacy-actions [data-all], .l2g-privacy-options [data-save] { background: #7c2d91; border-color: #7c2d91; color: #fff; }
.l2g-privacy-banner button:focus-visible, .l2g-privacy-banner summary:focus-visible, .l2g-privacy-banner a:focus-visible { outline: 3px solid #7c2d91; outline-offset: 3px; }
@media (max-width: 640px) { .l2g-privacy-banner { bottom: max(12px, env(safe-area-inset-bottom)); right: 12px; width: calc(100% - 24px); padding: 16px; max-height: calc(100dvh - 24px); } .l2g-privacy-actions button { min-width: 112px; } }
@media print { .l2g-privacy-banner { display: none; } }
