/* Separate, keyboard-accessible preference panel. Not shown automatically while disabled. */
.consent-panel { width: min(620px,calc(100vw - 32px)); max-height: 88vh; overflow-y: auto; padding: 28px; border: 1px solid var(--border); border-radius: 14px; background: var(--white); color: var(--text); box-shadow: 0 16px 70px #0003; font: inherit; }
.consent-panel::backdrop { background: #1c18154d; }
.consent-panel h2 { font-size: 1.4rem; margin: 0 0 14px; }
.consent-panel h3 { font-size: 1.05rem; margin: 16px 0 8px; }
.consent-panel p { font-size: .94rem; line-height: 1.6; margin: 0 0 14px; }
.consent-panel a { text-underline-offset: 3px; }
.consent-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.consent-actions button { flex: 1 1 140px; min-height: 46px; border: 1px solid var(--brand); border-radius: 8px; padding: 11px 12px; color: var(--ink); background: var(--brand-light); font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; }
.consent-actions button:hover { background: var(--bg); }
.consent-option { border-top: 1px solid var(--border); padding: 15px 0 0; margin-top: 15px; }
.consent-option label { display: flex; gap: 12px; align-items: center; font-weight: 600; cursor: pointer; min-height: 44px; }
.consent-option input { width: 20px; height: 20px; accent-color: var(--brand); margin: 0; flex-shrink: 0; }
.consent-option p { margin: 8px 0 0; }
.consent-reload { color: var(--text-muted); font-size: .86rem !important; }
@media(max-width: 420px) { .consent-panel { padding: 20px; } .consent-actions { flex-direction: column; } .consent-actions button { flex: initial; width: 100%; } }
@media print { .consent-panel, .privacy-choice { display: none !important; } }

.consent-panel { margin: auto 24px 24px auto; max-width: 620px; }
.consent-panel::backdrop { background: #1c181526; }
.consent-actions button { border-color: var(--link); }
.consent-actions button:focus-visible { outline: 3px solid var(--link); outline-offset: 3px; }
.consent-panel .consent-receipt-info { margin: 16px 0 4px; font-size: .8rem; color: var(--text-muted); }
@media(max-width:700px) { .consent-panel { margin: auto auto 16px; width: calc(100vw - 32px); max-height: 85dvh; } }
