.fn-privacy-control { padding: 1rem; text-align: center; background: #fff; color: #102747; }
.fn-privacy-control button { background: transparent; border: 0; text-decoration: underline; color: inherit; min-height: 44px; cursor: pointer; }
.fn-privacy-control [role="status"] { display: block; font-size: .875rem; }
.fn-privacy-panel { position: fixed; z-index: 10000; inset: auto 1rem 1rem; max-width: 680px; margin-inline: auto; padding: 1.5rem; border: 1px solid #b5c2d2; border-radius: 8px; background: #fff; color: #102747; box-shadow: 0 8px 35px #10274730; max-height: 85dvh; overflow-y: auto; }
.fn-privacy-panel[hidden] { display: none; }
.fn-privacy-panel h2 { margin: 0 40px .5rem 0; font-size: 1.5rem; }
.fn-privacy-close { position: absolute; right: 10px; top: 10px; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.fn-privacy-close:hover { background: #edf1f5; }
.fn-privacy-panel p { margin: .5rem 0 1rem; font-size: .95rem; line-height: 1.6; }
.fn-privacy-panel a { color: inherit; text-decoration: underline; }
.fn-privacy-actions { display: flex; gap: .75rem; }
.fn-privacy-actions button { flex: 1; min-height: 48px; padding: .75rem; border: 1px solid #102747; border-radius: 4px; background: #102747; color: #fff; font: inherit; cursor: pointer; }
.fn-privacy-control button:focus-visible, .fn-privacy-panel button:focus-visible, .fn-privacy-panel a:focus-visible { outline: 3px solid #e51e3b; outline-offset: 3px; }
@media (max-width: 480px) { .fn-privacy-panel { padding: 1rem; } .fn-privacy-actions { flex-direction: column; } }
