.ef-privacy-panel[hidden], .ef-privacy-panel [hidden] { display:none!important; }
.ef-privacy-panel { position:fixed; bottom:16px; left:16px; z-index:999999; width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; box-sizing:border-box; padding:16px; border:1px solid #e8e8e8; border-radius:10px; background:#fff; color:#202020; box-shadow:0 12px 40px #0000001f,0 2px 8px #00000008; font-family:inherit; font-size:13px; line-height:1.6; text-align:left; }
/* The dialog receives programmatic focus; interactive controls keep visible focus rings. */
.ef-privacy-panel:focus { outline:none; }
.ef-privacy-panel *, .ef-privacy-opener { box-sizing:border-box; }
.ef-privacy-panel .ef-privacy-copy h2 { font-family:inherit; font-size:17px; font-weight:700; line-height:1.3; letter-spacing:-.035em; margin:0 32px 6px 0; color:inherit; }
.ef-privacy-panel p { font:inherit; color:#5a5a5a; margin:0 0 10px; white-space:pre-wrap; }
.ef-privacy-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ef-privacy-panel button,.ef-privacy-opener { font:inherit; font-size:12px; line-height:1.4; font-weight:600; cursor:pointer; min-height:34px; padding:6px 10px; border:1px solid #e5e5e5; border-radius:6px; background:#fff; color:#202020; text-transform:none; letter-spacing:normal; }
.ef-privacy-panel button:disabled { opacity:.6; cursor:wait; }
.ef-privacy-panel button:focus-visible,.ef-privacy-panel a:focus-visible,.ef-privacy-opener:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.ef-privacy-panel a { color:#353535; text-decoration:underline; display:inline-block; }
.ef-privacy-panel .ef-privacy-links { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:12px; margin:0 0 12px; }
.ef-privacy-preferences { margin-bottom:10px; }
.ef-privacy-panel label { display:block; margin:10px 0; cursor:pointer; }
.ef-privacy-panel label input { margin-right:8px; }
.ef-privacy-panel label span { display:block; }
.ef-privacy-panel .ef-privacy-close { position:absolute; top:0; right:0; display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; padding:0; border:0; font-size:22px; line-height:1; background:transparent; }
.ef-privacy-panel .ef-privacy-status { margin:8px 0 0; }
.ef-privacy-panel .ef-privacy-status:empty { display:none; }
.ef-privacy-footer-settings { padding:8px 16px; text-align:center; }
.ef-privacy-opener { position:static; min-height:44px; padding:8px; border:0; background:transparent; color:inherit; font-size:12px; text-decoration:underline; box-shadow:none; }
.ef-privacy-panel--bar { left:0; bottom:0; width:100%; border-radius:0; padding:16px 48px 16px 24px; }
@media(min-width:1100px) {
  .ef-privacy-panel--bar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 24px; align-items:center; }
  .ef-privacy-panel--bar .ef-privacy-copy { grid-column:1; grid-row:1; max-width:860px; }
  .ef-privacy-panel--bar .ef-privacy-copy p { margin-bottom:0; }
  .ef-privacy-panel--bar .ef-privacy-actions { grid-column:2; grid-row:1; }
  .ef-privacy-panel--bar .ef-privacy-preferences { grid-column:1 / -1; grid-row:3; margin-top:12px; }
  .ef-privacy-panel--bar .ef-privacy-links,.ef-privacy-panel--bar .ef-privacy-status { grid-column:1 / -1; }
}
@media(max-width:480px) {
  .ef-privacy-panel { padding:14px; left:8px; bottom:8px; width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
  .ef-privacy-panel--bar { left:0; bottom:0; width:100%; }
  .ef-privacy-panel button { min-height:44px; }
  .ef-privacy-panel .ef-privacy-close { width:44px; height:44px; top:0; right:0; }
  .ef-privacy-actions button { flex:1 1 auto; }
  .ef-privacy-panel .ef-privacy-copy h2 { margin-right:30px; }
}

.ef-privacy-panel .ef-privacy-primary { background:var(--ef-button-bg,var(--ef-primary,#3b82f6)); border-color:var(--ef-button-bg,var(--ef-primary,#3b82f6)); color:var(--ef-button-text,#fff); box-shadow:0 4px 12px #00000014; }
.ef-privacy-panel .ef-privacy-primary:hover { background:var(--ef-button-bg-hover,var(--ef-button-bg,var(--ef-primary,#3b82f6))); border-color:var(--ef-button-bg-hover,var(--ef-button-bg,var(--ef-primary,#3b82f6))); color:var(--ef-button-text-hover,var(--ef-button-text,#fff)); }
.ef-privacy-actions button { flex:1 1 auto; }
.ef-privacy-panel .ef-privacy-close { color:#555; box-shadow:none; }
@media(min-width:1100px) { .ef-privacy-panel--bar .ef-privacy-links { margin:8px 0 0; } }

.ef-privacy-actions button,.ef-privacy-preferences button { min-height:48px; padding:12px 18px; font-size:14px; }
@media(min-width:1100px) { .ef-privacy-panel--bar .ef-privacy-actions { flex-wrap:nowrap; } }

@media(max-width:480px) {
  .ef-privacy-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ef-privacy-actions button:last-child { grid-column:1 / -1; }
}
