.maze-cookie {
    --maze-cookie-navy:#022b50;
    --maze-cookie-teal:#127176;
    --maze-cookie-teal-hover:#0c5b60;
    --maze-cookie-gold:#f9a624;
    --maze-cookie-line:#cfdee6;
    --maze-cookie-pale:#e5f6f6;
    color:var(--maze-cookie-navy);
    font-family:inherit;
    font-size:15px;
    line-height:1.5;
}
.maze-cookie *, .maze-cookie *::before, .maze-cookie *::after {box-sizing:border-box}
.maze-cookie [hidden], .maze-cookie-dialog:not([open]) {display:none!important}
.maze-cookie-banner {
    position:fixed; inset:auto 0 max(16px,env(safe-area-inset-bottom)) 0;
    z-index:100001; margin-inline:auto; width:min(calc(100% - 32px),1100px);
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    padding:20px 24px; background:#fff; border:1px solid var(--maze-cookie-line);
    border-radius:14px; box-shadow:0 12px 42px rgb(2 43 80 / .2);
    max-height:calc(100dvh - 32px); overflow:auto;
    animation:maze-cookie-enter 300ms ease-in-out both;
}
.maze-cookie h2,.maze-cookie h3 {color:inherit; font-family:inherit; font-weight:700; padding:0; margin:0 0 6px; line-height:1.2}
.maze-cookie h2 {font-size:21px}
.maze-cookie p {padding:0; margin:0; line-height:1.5}
.maze-cookie a {color:var(--maze-cookie-teal); text-decoration:underline; text-underline-offset:2px}
.maze-cookie-actions {display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; flex:0 0 auto}
.maze-cookie :is(button,a), .maze-cookie-footer-link {cursor:pointer}
.maze-cookie .maze-cookie-button {
    appearance:none; display:inline-flex; justify-content:center; align-items:center; min-height:44px;
    border:1px solid var(--maze-cookie-navy); border-radius:8px; color:var(--maze-cookie-navy);
    background:#fff; font:inherit; font-size:13px; font-weight:500; line-height:1.2;
    text-transform:uppercase; letter-spacing:0; padding:10px 13px; text-align:center;
    transition:background-color 300ms ease-in-out,border-color 300ms ease-in-out,transform 300ms ease-in-out;
}
.maze-cookie .maze-cookie-primary {background:var(--maze-cookie-teal); border-color:var(--maze-cookie-teal); color:#fff}
.maze-cookie .maze-cookie-float {
    position:fixed; bottom:max(12px,env(safe-area-inset-bottom)); left:12px; z-index:100000;
    border:1px solid var(--maze-cookie-line); border-radius:8px; min-height:38px;
    padding:6px 12px; color:var(--maze-cookie-navy); background:#fff; font:inherit; font-size:13px;
    box-shadow:0 2px 12px rgb(2 43 80 / .12);
}
.maze-cookie-footer-link {
    appearance:none; border:0; background:none; padding:0; font:inherit; color:inherit;
    text-decoration:underline; text-underline-offset:2px;
}
.maze-cookie :is(button,a):focus-visible,.maze-cookie-footer-link:focus-visible,
.maze-cookie-switch input:focus-visible + span {
    outline:2px solid #022b50; outline-offset:2px; box-shadow:0 0 0 2px var(--maze-cookie-gold,#f9a624);
}
.maze-cookie .maze-cookie-dialog {
    position:fixed; inset:0; margin:auto; width:min(560px,calc(100% - 32px));
    max-height:calc(100dvh - 32px); max-width:none; padding:0;
    color:var(--maze-cookie-navy); background:#fff; border:0; border-radius:14px;
    box-shadow:0 14px 70px rgb(2 43 80 / .26); overscroll-behavior:contain;
}
.maze-cookie-dialog[open] {animation:maze-cookie-enter 300ms ease-in-out both}
.maze-cookie-dialog::backdrop {background:rgb(2 43 80 / .58)}
.maze-cookie-dialog-body {position:relative; padding:24px}
.maze-cookie .maze-cookie-kicker {
    color:#8d5400; font-size:12px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; margin:0 40px 4px 0;
}
.maze-cookie-dialog #maze-cookie-dialog-title {font-size:clamp(23px,5vw,30px); margin:0 36px 16px 0}
.maze-cookie-dialog #maze-cookie-dialog-title:focus {outline:0}
.maze-cookie .maze-cookie-close {
    position:absolute; top:12px; right:12px; width:42px; height:42px; padding:0;
    border:0; border-radius:50%; background:var(--maze-cookie-pale); color:var(--maze-cookie-navy);
    font:inherit; font-size:26px; line-height:1; transition:background-color 300ms ease-in-out;
}
.maze-cookie-category {
    display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px;
    border:1px solid var(--maze-cookie-line); border-radius:8px; padding:12px 14px; margin-bottom:10px;
}
.maze-cookie-category h3 {font-size:16px}
.maze-cookie-category small {color:#4f6170; font-weight:500; font-size:12px; margin-left:4px}
.maze-cookie-category p,.maze-cookie .maze-cookie-gpc {color:#455c70; font-size:14px}
.maze-cookie-switch {display:grid; place-items:center; position:relative; min-height:44px}
.maze-cookie-switch input {position:absolute; inset:0; opacity:0; margin:0; width:100%; height:100%; cursor:pointer}
.maze-cookie-switch span {display:block; width:44px; height:26px; border-radius:20px; background:#657789; padding:3px; pointer-events:none}
.maze-cookie-switch span::after {content:""; display:block; background:#fff; width:20px; height:20px; border-radius:50%; transition:transform 300ms ease-in-out}
.maze-cookie-switch input:checked + span {background:var(--maze-cookie-teal)}
.maze-cookie-switch input:checked + span::after {transform:translateX(18px)}
.maze-cookie-switch input:disabled {cursor:default}
.maze-cookie-switch input:disabled + span {background:#d6dce1}
.maze-cookie-dialog-footer {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; margin-top:16px}
.maze-cookie-dialog-footer .maze-cookie-button {margin-inline-start:auto}
.maze-cookie-sr {position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap}
@keyframes maze-cookie-enter {from {opacity:0;transform:translateY(6px)} to {opacity:1;transform:translateY(0)}}
@media(hover:hover) {
    .maze-cookie .maze-cookie-button:hover {transform:translateY(-3px);background:var(--maze-cookie-pale)}
    .maze-cookie .maze-cookie-primary:hover {background:var(--maze-cookie-teal-hover);border-color:var(--maze-cookie-teal-hover)}
    .maze-cookie .maze-cookie-close:hover,.maze-cookie .maze-cookie-float:hover {background:#ccebec}
}
@media(max-width:800px) {
    .maze-cookie-banner {flex-direction:column; align-items:stretch; gap:12px; padding:16px}
    .maze-cookie-actions {justify-content:stretch}
    .maze-cookie-actions button {flex:1 1 auto}
}
@media(max-width:490px) {
    .maze-cookie-banner {width:calc(100% - 20px);bottom:max(10px,env(safe-area-inset-bottom));font-size:14px}
    .maze-cookie-actions {display:grid;grid-template-columns:1fr;gap:6px}
    .maze-cookie-dialog-body {padding:20px 16px}
}
@media(prefers-reduced-motion:reduce) {
    .maze-cookie .maze-cookie-button,.maze-cookie-close,.maze-cookie-switch span::after {transition:none}
    .maze-cookie .maze-cookie-button:hover {transform:none}
    .maze-cookie-banner,.maze-cookie-dialog[open] {animation:none}
}
