#tac-cookie-ui {
    --tac-blue: #134984;
    --tac-cyan: #28c0d7;
    --tac-teal: #21cbbd;
    --tac-text: #435466;
    --tac-muted: #526373;
    --tac-border: #d5e0e9;
    --tac-offset: 16px;
    font-family: inherit;
    color: var(--tac-text);
    font-size: 14px;
    line-height: 1.55;
    text-align: start;
    color-scheme: light;
}
#tac-cookie-ui *, #tac-cookie-ui *::before, #tac-cookie-ui *::after { box-sizing: border-box; }
#tac-cookie-ui [hidden] { display: none !important; }
#tac-cookie-ui .tac-cb-panel, #tac-cookie-ui dialog {
    width: min(440px, calc(100vw - 32px));
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 26px;
    border: 0;
    border-radius: 14px;
    background: radial-gradient(ellipse at 100% 0%, #28c0d71c, transparent 62%), #fff;
    color: var(--tac-text);
    box-shadow: 0 8px 32px #103a6520;
    font: inherit;
    text-align: start;
}
#tac-cookie-ui .tac-cb-panel {
    position: fixed;
    inset-inline-start: max(var(--tac-offset), env(safe-area-inset-left));
    bottom: max(var(--tac-offset), env(safe-area-inset-bottom));
    z-index: 999999;
    margin: 0;
}
#tac-cookie-ui dialog { margin: auto; }
#tac-cookie-ui dialog::backdrop { background: #103a6566; }
#tac-cookie-ui h2 { color: var(--tac-blue); font-family: inherit; font-weight: 600; font-size: 22px; line-height: 1.25; margin: 0 0 12px; padding: 0; letter-spacing: 0; text-transform: none; }
#tac-cookie-ui p { color: inherit; font: inherit; margin: 0; padding: 0; }
#tac-cookie-ui .tac-cb-notice { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--tac-border); color: var(--tac-muted); font-size: 13px; }
#tac-cookie-ui .tac-cb-more { display: inline-flex; align-items: center; min-height: 44px; color: var(--tac-muted); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; padding: 7px 0; }
#tac-cookie-ui button {
    font-family: inherit; font-style: normal; font-weight: 600; line-height: 1.3;
    letter-spacing: 0; text-transform: none; min-width: 0; height: auto;
    margin: 0; border-radius: 8px; cursor: pointer;
    white-space: normal; overflow-wrap: anywhere;
    box-shadow: none; text-shadow: none; transition: background-color .15s, box-shadow .15s;
}
#tac-cookie-ui button::after { content: none; }
#tac-cookie-ui button:focus-visible, #tac-cookie-ui a:focus-visible, #tac-cookie-ui input:focus-visible { outline: 3px solid var(--tac-blue); outline-offset: 3px; }
#tac-cookie-ui .tac-cb-actions { margin-top: 18px; }
#tac-cookie-ui .tac-cb-primary { display: block; width: 100%; min-height: 54px; padding: 14px 20px; border: 1px solid transparent; background: linear-gradient(105deg, var(--tac-cyan), var(--tac-teal)); color: #fff; font-size: 17px; }
#tac-cookie-ui .tac-cb-primary:hover { box-shadow: inset 0 0 0 2px #103a6540; }
#tac-cookie-ui .tac-cb-secondary-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
#tac-cookie-ui .tac-cb-secondary { display: block; min-height: 40px; padding: 10px 12px; border: 1px solid var(--tac-border); background: #fff; color: var(--tac-blue); font-size: 14px; }
#tac-cookie-ui .tac-cb-secondary:hover { background: #28c0d71c; }
#tac-cookie-ui .tac-cb-wide { width: 100%; margin-top: 10px; }
#tac-cookie-ui .tac-cb-heading { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
#tac-cookie-ui .tac-cb-heading h2 { flex: 1; }
#tac-cookie-ui .tac-cb-close { flex: 0 0 44px; min-height: 44px; margin-top: -9px; margin-inline-end: -10px; padding: 0; font-size: 28px; border: 0; background: transparent; color: var(--tac-blue); }
#tac-cookie-ui .tac-cb-category { padding: 13px 0; border-bottom: 1px solid var(--tac-border); }
#tac-cookie-ui .tac-cb-label { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; min-height: 44px; margin: 0; color: var(--tac-blue); font-size: 15px; font-weight: 600; }
#tac-cookie-ui .tac-cb-always { font-size: 12px; font-weight: 400; color: var(--tac-muted); }
#tac-cookie-ui .tac-cb-category p { color: var(--tac-muted); font-size: 13px; }
#tac-cookie-ui input[type=checkbox] { appearance: none; width: 22px; height: 22px; flex: 0 0 22px; margin: 0; opacity: 1; position: static; border: 1px solid #768797; border-radius: 2px; background: #fff; cursor: pointer; }
/* Explicit white mark: native accent-color chooses a dark mark on bright turquoise. */
#tac-cookie-ui input[type=checkbox]:checked { border-color: var(--tac-cyan); background: var(--tac-cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px 18px no-repeat; }
@media (forced-colors: active) { #tac-cookie-ui input[type=checkbox], #tac-cookie-ui input[type=checkbox]:checked { appearance: auto; border: revert; background: revert; accent-color: auto; } }
#tac-cookie-ui .tac-cb-error { margin-top: 14px; color: var(--tac-blue); border: 1px solid var(--tac-blue); padding: 10px; font-size: 13px; }
@media (max-width: 480px) { #tac-cookie-ui .tac-cb-panel, #tac-cookie-ui dialog { padding: 22px 20px; } #tac-cookie-ui h2 { font-size: 21px; } }
@media (prefers-reduced-motion: reduce) { #tac-cookie-ui button { transition: none; } }
