.ce-consent { color: #17253b; font: 16px/1.5 ui-sans-serif, system-ui, -apple-system, sans-serif; }
.ce-consent *, .ce-consent *::before, .ce-consent *::after { box-sizing: border-box; }
.ce-consent__panel { position: fixed; z-index: 2147483000; inset: auto 1.15rem 1.15rem auto; width: min(39rem, calc(100vw - 2.3rem)); max-height: calc(100dvh - 2.3rem); overflow-y: auto; background: #fff; color: #17253b; padding: clamp(1.2rem, 3vw, 1.8rem); border: 1px solid #ccd5e3; border-top: 5px solid #254d8f; border-radius: 1rem; box-shadow: 0 18px 56px #0f244a3b; }
.ce-consent__panel[hidden], .ce-consent__settings[hidden] { display: none; }
.ce-consent h2 { margin: 0 0 .55rem; font-size: clamp(1.2rem, 3vw, 1.45rem); line-height: 1.2; color: #17253b; letter-spacing: -.02em; }
.ce-consent h2:focus { outline: none; }
.ce-consent p { margin: .5rem 0; }
.ce-consent__summary { margin: .7rem 0; padding-left: 1.2rem; font-size: .9rem; }
.ce-consent a { color: #174c9c; text-decoration: underline; text-underline-offset: .15em; }
.ce-consent__links { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.ce-consent__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.15rem; }
.ce-consent button { border: 1px solid #24508f; border-radius: .65rem; background: #f3f7ff; color: #153e77; padding: .72rem 1rem; min-height: 44px; cursor: pointer; font: inherit; font-weight: 650; }
.ce-consent button:hover { background: #e3edfc; }
.ce-consent button:focus-visible, .ce-consent input:focus-visible, .ce-consent a:focus-visible { outline: 3px solid #ffac1c; outline-offset: 3px; }
.ce-consent__actions button { flex: 1 1 9rem; }
.ce-consent__launcher { position: fixed; z-index: 2147482999; bottom: .75rem; left: .75rem; box-shadow: 0 3px 16px #10213a29; }
.ce-consent__settings fieldset { border: 1px solid #c5d1e0; border-radius: .7rem; padding: .8rem; margin: .9rem 0; }
.ce-consent__service-row + .ce-consent__service-row { border-top: 1px solid #dde4ee; margin-top: .8rem; padding-top: .8rem; }
.ce-consent__service { display: flex; gap: .7rem; padding: .35rem 0; align-items: flex-start; }
.ce-consent__service input { width: 1.25rem; height: 1.25rem; margin: .2rem 0 0; flex: none; }
.ce-consent__description { display: block; font-size: .9rem; }
.ce-consent__service-row > a { display: inline-block; margin: .25rem 0 .2rem 1.95rem; font-size: .9rem; }
.ce-consent__message { color: #a02020; }
