/* Consent styling follows the R3 light theme; receipt bridge remains unchanged. */
.consent-panel { position: fixed; z-index: 1000; right: 22px; bottom: 22px; width: min(440px, calc(100vw - 44px)); background: #fffefa; color: #192f46; border: 1px solid #aebfc9; border-radius: 20px; padding: 26px; box-shadow: 0 16px 70px #17364b30; font: 14px/1.7 Arial, Helvetica, sans-serif; max-height: calc(100dvh - 44px); overflow: auto; }
.consent-panel__top { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.consent-kicker { font-size: 11px; letter-spacing: .13em; font-weight: 700; margin: 0; color: #176e7c; }
.consent-panel h2 { font: normal 29px/1.2 Georgia, serif; letter-spacing: -.02em; margin: 13px 0; color: #192f46; }
.consent-panel p { margin: 12px 0; color: #4b5d6a; }
.consent-panel .consent-kicker { margin: 0; color: #176e7c; }
.consent-close { border: 0; background: none; color: #192f46; font-size: 25px; min-width: 40px; min-height: 40px; }
.consent-detail, .consent-preview { font-size: 13px; color: #4b5d6a; }
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 21px; }
.consent-actions button { border: 1px solid #879db4; border-radius: 28px; padding: 11px 10px; min-height: 46px; font-size: 13px; font-weight: 700; color: #244baf; background: #fffefa; }
.consent-actions button:hover { background: #e9eef8; color: #183989; }
.consent-panel a { color: #244baf; }
.consent-panel :focus-visible { outline: 3px solid #244baf; outline-offset: 3px; }
[data-consent-open] { cursor: pointer; }
@media (max-width: 760px) {
  .consent-panel { right: 12px; bottom: 80px; width: calc(100vw - 24px); padding: 22px; max-height: calc(100dvh - 105px); }
  .consent-panel h2 { font-size: 26px; }
  .consent-actions button { font-size: 12px; }
}
