.cookie-banner{position:fixed;z-index:150;inset:auto 24px max(24px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;max-width:1180px;max-height:60dvh;overflow:auto;margin-inline:auto;padding:26px 28px;border:1px solid var(--line);border-radius:4px 4px 24px 4px;background:#fff;color:var(--ink);box-shadow:0 12px 60px var(--deep)30}
.cookie-intro{display:flex;gap:15px;align-items:flex-start;min-width:0}
.cookie-intro>svg{flex-shrink:0;color:var(--blue);margin-top:4px}
.cookie-banner h2,.cookie-dialog h2{margin:0 0 10px;font-size:1.35rem;line-height:1.35;letter-spacing:-.02em;font-weight:600}
.cookie-banner p,.cookie-dialog p{font-size:1rem;line-height:1.6;color:var(--muted);margin:0}
.cookie-text-button{padding:0;margin-top:10px;border:0;background:none;color:var(--blue);text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}
.cookie-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:310px}
.cookie-actions>button,.cookie-save{min-height:48px;padding:11px 16px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:#fff;font:inherit;font-size:.875rem;line-height:1.45;font-weight:600;cursor:pointer;white-space:normal}
.cookie-actions>button:hover{background:var(--deep)}
.cookie-actions>.cookie-configure{grid-column:1/-1;background:var(--light);color:var(--blue);border-color:var(--line)}
.cookie-actions>.cookie-configure:hover,.cookie-save:hover{background:#d8eaf5;color:var(--blue)}
.cookie-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:4px 4px 24px 4px;background:#fff;color:var(--ink);margin:auto;box-shadow:0 25px 90px var(--deep)40;overflow:auto;overscroll-behavior:contain}
.cookie-dialog::backdrop{background:var(--deep)88;backdrop-filter:blur(3px)}
.cookie-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 26px 18px;border-bottom:1px solid var(--line)}
.cookie-dialog-header .overline{color:var(--blue);font-size:.875rem;margin-bottom:8px;display:block}
.cookie-dialog-header h2{margin:0;font-size:1.5rem}
.cookie-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);border-radius:4px;background:var(--light);color:var(--blue);cursor:pointer}
.cookie-dialog-body{padding:22px 26px}
.cookie-category{padding:18px 0;border-bottom:1px solid var(--line)}
.cookie-category>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.cookie-category h3{margin:0;font-size:1rem;line-height:1.4;font-weight:600}
.cookie-category p{font-size:.94rem}
.cookie-status{font-size:.875rem;line-height:1.5;color:var(--muted);background:var(--light);padding:4px 10px;border-radius:6px}
.cookie-status.is-necessary{color:var(--blue);background:var(--light)}
.cookie-inventory{margin-top:20px;padding:16px;border-radius:4px 4px 24px 4px;background:var(--light);font-size:.94rem;overflow-wrap:anywhere}
.cookie-inventory summary{cursor:pointer;font-weight:600;line-height:1.5}
.cookie-inventory p{font-size:.875rem;margin-top:12px}
.cookie-inventory a{display:inline-block;margin-top:12px;color:var(--blue);text-decoration:underline}
.cookie-dialog .cookie-note{margin-top:18px;font-size:.875rem}
.cookie-dialog-footer{padding:18px 26px 24px;border-top:1px solid var(--line);background:var(--light)}
.cookie-dialog-footer .cookie-actions{min-width:0}
.cookie-save{width:100%;margin-top:10px;background:#fff;color:var(--blue);border-color:var(--blue)}
.cookie-banner button:focus-visible,.cookie-dialog button:focus-visible,.cookie-dialog summary:focus-visible,.footer-cookie-settings:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:1000px){.cookie-banner{grid-template-columns:1fr;gap:18px}.cookie-banner .cookie-actions{min-width:0;grid-template-columns:repeat(3,minmax(0,1fr))}.cookie-banner .cookie-configure{grid-column:auto}}
@media(max-width:600px){.cookie-banner{inset:auto 12px max(12px,env(safe-area-inset-bottom));padding:20px;border-radius:4px 4px 24px 4px;max-height:70dvh;gap:16px}.cookie-intro{gap:10px}.cookie-intro>svg{width:22px}.cookie-banner h2{font-size:1.15rem}.cookie-banner .cookie-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.cookie-banner .cookie-configure{grid-column:1/-1}.cookie-dialog{max-height:calc(100dvh - 24px);width:calc(100% - 24px);border-radius:4px 4px 24px 4px}.cookie-dialog-header{padding:20px}.cookie-dialog-header h2{font-size:1.3rem}.cookie-dialog-body{padding:18px 20px}.cookie-dialog-footer{padding:16px 20px 20px}}
@media(max-height:500px){.cookie-banner{max-height:80dvh;bottom:10px}.cookie-dialog{max-height:calc(100dvh - 20px)}}


.cookie-banner[hidden]{display:none}.cookie-dialog:not([open]){display:none}.cookie-dialog .cookie-close{font-size:26px}.cookie-dialog .cookie-legal-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px;font-size:.875rem;text-decoration:underline}.cookie-error{color:#8a282d!important;margin-top:12px!important;font-size:.875rem!important}.cookie-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(prefers-reduced-motion:no-preference){.cookie-banner{animation:cookie-appear .24s ease-out}.cookie-dialog[open]{animation:cookie-appear .2s ease-out}@keyframes cookie-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}

.cookie-banner h2,.cookie-dialog h2,.cookie-category h3{font-family:Ubuntu,Arial,sans-serif;font-weight:500}
.cookie-actions>button:first-child{border-bottom-left-radius:15px}
.cookie-actions>.cookie-configure{border-bottom-left-radius:15px}
.cookie-banner .cookie-actions:has(.cookie-configure)>button:first-child{border-bottom-left-radius:4px}
@media(min-width:601px) and (max-width:1000px){.cookie-banner .cookie-actions:has(.cookie-configure)>button:first-child{border-bottom-left-radius:15px}.cookie-banner .cookie-configure{border-bottom-left-radius:4px}}
.cookie-dialog .cookie-inventory summary{display:block;font-size:14px}
.cookie-dialog .cookie-inventory{border:1px solid var(--line)}
.cookie-dialog .cookie-close{font-size:26px;line-height:1}
.cookie-dialog .overline{max-width:360px;line-height:1.5}
.cookie-banner a:focus-visible,.cookie-dialog a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
