.ec-cookie-banner, .ec-cookie-dialog { box-sizing: border-box; color: #172033; background: #fff; font-family: var(--ec-font-body,Arial,Helvetica,sans-serif); text-align: left; }
.ec-cookie-banner { position: fixed; z-index: 10000; left: 24px; bottom: 24px; width: min(560px,calc(100% - 48px)); max-height: calc(100dvh - 48px); overflow: auto; padding: 24px; border: 1px solid #e1e5ed; border-radius: 12px; box-shadow: 0 12px 48px rgba(15,23,42,.2); }
.ec-cookie-banner[hidden], .ec-cookie-embed [hidden] { display: none !important; }
.ec-cookie-banner h2, .ec-cookie-dialog h2 { margin: 0 0 12px; color: #172033; font: 700 20px/1.3 var(--ec-font-heading,Arial,Helvetica,sans-serif); }
.ec-cookie-banner p, .ec-cookie-dialog>p { margin: 0; font-size: 14px; line-height: 1.6; color: #526079; }
.ec-cookie-banner p a { color: var(--ec-brand-primary,#2563eb); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.ec-cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.ec-cookie-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; box-sizing: border-box; padding: 10px 16px; border: 1px solid var(--ec-brand-primary,#2563eb); border-radius: 7px; color: var(--ec-brand-primary,#2563eb); background: #fff; font: 700 13px/1.4 var(--ec-font-body,Arial,Helvetica,sans-serif); text-transform: uppercase; cursor: pointer; }
.ec-cookie-button:hover { background: var(--ec-brand-soft,#eff6ff); }
.ec-cookie-button--primary { color: var(--ec-brand-on-primary,#fff); background: var(--ec-brand-primary,#2563eb); }
.ec-cookie-button--primary:hover { color: var(--ec-brand-on-hover,#fff); border-color: var(--ec-brand-hover,#1d4ed8); background: var(--ec-brand-hover,#1d4ed8); }
.ec-cookie-dialog { width: min(560px,calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 24px; border: 1px solid #dce2eb; border-radius: 12px; overflow: auto; box-shadow: 0 16px 64px rgba(15,23,42,.22); }
.ec-cookie-dialog:not([open]) { display: none; }
.ec-cookie-dialog::backdrop { background: rgba(15,23,42,.48); }
.ec-cookie-dialog__header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 14px; margin-bottom: 16px; border-bottom: 1px solid #e1e5ed; }
.ec-cookie-dialog__header h2 { margin: 0; }
.ec-cookie-dialog__close { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; padding: 6px; border: 0; border-radius: 6px; color: #526079; background: transparent; cursor: pointer; }
.ec-cookie-dialog__close:hover { background: #f1f5f9; }
.ec-cookie-dialog__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.ec-cookie-category { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 16px; padding: 16px 0; border-bottom: 1px solid #e1e5ed; }
.ec-cookie-category>div { min-width: 0; }
.ec-cookie-category strong { display: block; font-size: 14px; line-height: 1.4; color: #172033; }
.ec-cookie-category p { margin: 5px 0 0; color: #526079; font-size: 13px; line-height: 1.55; }
.ec-cookie-category__status { flex-shrink: 0; color: #526079; font-size: 12px; font-weight: 700; }
.ec-cookie-category input { flex: 0 0 20px; width: 20px; height: 20px; accent-color: var(--ec-brand-primary,#2563eb); cursor: pointer; }
.ec-cookie-dialog .ec-cookie-dialog__note { margin-top: 16px; font-size: 12px; }
.ec-cookie-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ec-cookie-banner :is(a,button):focus-visible, .ec-cookie-dialog :is(a,button,input):focus-visible, .ec-cookie-embed button:focus-visible { outline: 3px solid var(--ec-brand-primary,#2563eb); outline-offset: 3px; }
.ec-footer__links .ec-cookie-settings { margin: 0; padding: 0; border: 0; background: transparent; color: #a8adb4; font: inherit; font-size: 15px; cursor: pointer; text-align: left; }
.ec-footer__links .ec-cookie-settings:hover { text-decoration: underline; }
.ec-reader-dropdown .ec-reader-cookie-settings { display: block; width: 100%; padding: 4px 0 9px; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ec-reader-cookie-settings::before { content: ">"; margin-right: 8px; font-size: 14px; }
.ec-reader-cookie-settings:focus-visible, .ec-cookie-settings:focus-visible { outline: 3px solid var(--ec-brand-primary,#2563eb); outline-offset: 3px; }
.ec-cookie-embed { width: 100%; }
.ec-cookie-embed__notice { display: grid; justify-items: center; align-content: center; min-height: 200px; box-sizing: border-box; padding: 28px; border: 1px solid #dbe3ee; background: #f8fafc; text-align: center; }
.ec-cookie-embed__notice p { max-width: 440px; margin: 0 0 16px; color: #475569; font: 400 14px/1.55 var(--ec-font-body,Arial,Helvetica,sans-serif); }
.ec-cookie-embed__notice button { padding: 10px 16px; border: 1px solid var(--ec-brand-primary,#2563eb); border-radius: 7px; background: #fff; color: var(--ec-brand-primary,#2563eb); font: 700 14px/1.4 var(--ec-font-body,Arial,Helvetica,sans-serif); cursor: pointer; }
.ec-cookie-embed__content iframe { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16/9; border: 0; }
.ec-reader-video__frame>.ec-cookie-embed, .ec-reader-video__frame .ec-cookie-embed__content { height: 100%; }
.ec-reader-video__frame .ec-cookie-embed__notice { height: 100%; min-height: 0; overflow: auto; padding: 16px; }
@media(max-width:600px) {
    .ec-cookie-banner { left: 12px; bottom: 12px; width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 20px; }
    .ec-cookie-dialog { padding: 20px; }
    .ec-cookie-actions { gap: 8px; }
    .ec-cookie-button { flex: 1 1 auto; padding-inline: 12px; }
    .ec-cookie-category { gap: 14px; }
    .ec-cookie-embed__notice { padding: 20px; }
}
