#hc-privacy,
#hc-cookie-page {
    --hc-ink: #0b2a46;
    --hc-muted: #52677e;
    --hc-rose: #be3866;
    --hc-purple: #312d85;
    --hc-line: #e6e9f0;
    font: 400 15px/1.6 'Open Sans', system-ui, sans-serif;
    color: var(--hc-ink);
    text-align: left;
    letter-spacing: normal;
    color-scheme: light;
}
#hc-privacy *, #hc-cookie-page * { box-sizing: border-box; }
#hc-privacy [hidden] { display: none !important; }
#hc-privacy a, #hc-cookie-page a { color: var(--hc-purple); text-decoration: underline; text-underline-offset: 3px; }
#hc-privacy a:hover, #hc-cookie-page a:hover { color: var(--hc-rose); }
#hc-privacy h2 { font: 600 21px/1.4 'Poppins', system-ui, sans-serif; color: var(--hc-ink); margin: 0; letter-spacing: -.4px; }
#hc-privacy p, #hc-cookie-page p { margin: 0; }
#hc-privacy .hc-cookie-intro, #hc-cookie-page .hc-cookie-intro { color: var(--hc-muted); margin-top: 12px; }
.hc-cookie-banner {
    position: fixed;
    inset: auto auto 24px 24px;
    width: min(460px, calc(100% - 48px));
    max-height: calc(100dvh - 48px);
    overflow: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    background: #fff;
    border: 1px solid var(--hc-line);
    border-radius: 14px;
    padding: 18px;
    z-index: 1000;
    box-shadow: 0 8px 32px #0b2a461a, 0 2px 6px #0b2a4608;
}
.hc-cookie-mark { display: none; }
#hc-privacy .hc-cookie-banner h2 { font: 600 16px/1.5 'Open Sans', system-ui, sans-serif; letter-spacing: normal; }
#hc-privacy .hc-cookie-copy { color: var(--hc-muted); margin-top: 6px; font-size: 13px; line-height: 1.5; }
#hc-privacy .hc-cookie-links, #hc-cookie-page .hc-cookie-links { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; font-size: 13px; }
#hc-privacy .hc-cookie-banner .hc-cookie-links { margin-top: 8px; font-size: 12px; }
.hc-cookie-settings {
    position: fixed;
    bottom: 16px;
    left: 16px;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid var(--hc-line);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 3px 16px #0b2a4612;
    z-index: 999;
    font-size: 13px;
}
.hc-cookie-pending > .hc-cookie-settings { display: none; }
.hc-cookie-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
#hc-privacy button, #hc-cookie-page button, #hc-privacy .hc-cookie-actions > a {
    font: 600 14px/1.4 'Open Sans', system-ui, sans-serif;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f4f3fd;
    color: var(--hc-purple);
    border: 1px solid #dedcf3;
    border-radius: 10px;
    padding: 12px 18px;
    min-height: 46px;
    cursor: pointer;
    text-decoration: none;
    box-shadow: none;
    transition: background-color .15s, border-color .15s;
}
#hc-privacy button:hover, #hc-cookie-page button:hover { background: #eae8fa; border-color: #b8b3df; }
#hc-privacy button:disabled, #hc-cookie-page button:disabled { cursor: not-allowed; opacity: .7; }
#hc-privacy .hc-cookie-actions > a { background: #fff; border-color: var(--hc-line); color: var(--hc-ink); }
#hc-privacy .hc-cookie-actions > a:hover { background: #f7f8fc; border-color: #c4cddb; }
.hc-cookie-banner .hc-cookie-actions { gap: 8px; }
#hc-privacy .hc-cookie-banner .hc-cookie-actions > button,
#hc-privacy .hc-cookie-banner .hc-cookie-actions > a { font-size: 13px; padding: 10px 12px; min-height: 44px; border-radius: 6px; }
#hc-privacy .hc-cookie-banner .hc-cookie-actions > a { margin-left: auto; }
#hc-privacy .hc-cookie-banner [data-cookie-status] { flex-basis: 100%; }
#hc-privacy .hc-cookie-banner [data-cookie-status]:empty { display: none; }
#hc-privacy :focus-visible, #hc-cookie-page :focus-visible { outline: 3px solid var(--hc-rose); outline-offset: 3px; }
#hc-cookie-dialog {
    border: 1px solid var(--hc-line);
    border-radius: 24px;
    padding: 28px;
    width: min(620px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    overflow: auto;
    color: var(--hc-ink);
    background: #fff;
    margin: auto;
    box-shadow: 0 24px 80px #0b2a4640;
}
#hc-cookie-dialog::backdrop { background: #0b2a4670; backdrop-filter: blur(3px); }
.hc-cookie-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#hc-privacy .hc-cookie-close { background: #fff; border-color: var(--hc-line); padding: 10px; width: 44px; height: 44px; flex-shrink: 0; }
.hc-cookie-close svg { width: 18px; height: 18px; }
.hc-cookie-purpose-list { display: grid; gap: 12px; margin-block: 20px; }
.hc-cookie-purpose { border: 1px solid var(--hc-line); border-radius: 14px; padding: 16px; background: #fff; }
.hc-cookie-purpose-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#hc-privacy .hc-cookie-purpose p, #hc-cookie-page .hc-cookie-purpose p { color: var(--hc-muted); font-size: 13px; margin-top: 8px; }
.hc-cookie-required { font-size: 11px; font-weight: 600; color: var(--hc-purple); background: #f4f3fd; border-radius: 999px; padding: 4px 9px; white-space: nowrap; }
#hc-privacy label, #hc-cookie-page label { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; font-weight: 600; cursor: pointer; }
#hc-privacy input[type=checkbox], #hc-cookie-page input[type=checkbox] { width: 22px; height: 22px; flex: 0 0 22px; margin: 0; accent-color: var(--hc-purple); cursor: pointer; }
#hc-privacy .hc-cookie-detail, #hc-cookie-page .hc-cookie-detail { font-size: 12px; color: var(--hc-muted); }
#hc-privacy .hc-cookie-form-actions, #hc-cookie-page .hc-cookie-form-actions { margin-top: 20px; }
.hc-cookie-form-actions button { flex: 1 1 150px; }
#hc-privacy .hc-cookie-signal, #hc-cookie-page .hc-cookie-signal { padding: 12px; margin-top: 16px; border-radius: 10px; background: #f4f3fd; color: var(--hc-purple); }
#hc-privacy [data-cookie-status]:not(:empty), #hc-cookie-page [data-cookie-status]:not(:empty) { color: #962b4f; font-size: 13px; padding-top: 12px; }
@media (max-width: 700px) {
    .hc-cookie-banner { inset: auto auto 12px 12px; width: min(460px, calc(100% - 24px)); max-height: calc(100dvh - 24px); padding: 16px; }
    #hc-privacy .hc-cookie-banner .hc-cookie-actions > button,
    #hc-privacy .hc-cookie-banner .hc-cookie-actions > a { padding-inline: 9px; }
    #hc-privacy h2 { font-size: 18px; }
    #hc-cookie-dialog { padding: 20px; border-radius: 18px; }
    .hc-cookie-purpose-top { flex-wrap: wrap; }
}
@media (max-width: 380px) {
    .hc-cookie-banner .hc-cookie-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    #hc-privacy .hc-cookie-banner .hc-cookie-actions > a { grid-column: 1 / -1; margin-left: 0; }
    #hc-privacy .hc-cookie-banner [data-cookie-status] { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { #hc-privacy *, #hc-cookie-page * { transition: none; scroll-behavior: auto; } }
@media (forced-colors: active) { .hc-cookie-mark, .hc-cookie-required { border: 1px solid CanvasText; } }
