/* A single bottom-anchored surface grows from a launcher into a notice or sheet. */
.cookie-banner.cookie-consent { --cookie-width:min(560px,calc(100vw - 48px)); position:fixed; inset:auto auto 24px 24px; z-index:70; display:block; width:56px; height:56px; max-width:none; padding:0; border:1px solid #ffffff30; border-radius:28px; background:#080808; color:#fff; box-shadow:0 14px 42px #0004; overflow:hidden; opacity:0; transform:translateY(24px); transition:width .6s cubic-bezier(.22,1,.36,1),height .6s cubic-bezier(.22,1,.36,1),border-radius .6s,opacity .45s,transform .6s cubic-bezier(.22,1,.36,1); }
.cookie-consent.is-ready { opacity:1; transform:translateY(0); }
.cookie-consent:not(.cookie-view-collapsed) { width:var(--cookie-width); height:var(--cookie-panel-height); border-radius:24px; }
.cookie-consent .cookie-launcher { position:absolute; inset:auto auto 0 0; display:grid; place-items:center; width:54px; height:54px; border:0; padding:0; background:transparent; color:#fff; border-radius:50%; opacity:0; visibility:hidden; transition:opacity .2s,visibility .2s; }
.cookie-view-collapsed .cookie-launcher { opacity:1; visibility:visible; }
.cookie-consent .cookie-launcher:hover { background:#242424; }
.cookie-panel-content { position:absolute; inset:auto auto 0 0; width:var(--cookie-width); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s,visibility .2s; }
.cookie-panel-content.is-active { opacity:1; visibility:visible; pointer-events:auto; transition:opacity .25s .12s,visibility 0s; }
.cookie-consent button { font-family:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.cookie-consent button:focus-visible,.cookie-consent a:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.cookie-consent .cookie-launcher:focus-visible { outline-offset:-5px; }
.cookie-notice { padding:14px; }
.cookie-notice-toolbar { display:flex; align-items:center; gap:10px; }
.cookie-consent .cookie-icon-button { flex:none; display:grid; place-items:center; width:42px; height:44px; border:1px solid transparent; border-radius:13px; padding:0; background:transparent; color:#fff; }
.cookie-consent .cookie-icon-button:hover { background:#242424; }
.cookie-choice-actions { display:flex; flex:1; gap:10px; min-width:0; }
.cookie-consent .cookie-choice-button { flex:1; min-width:0; min-height:44px; padding:11px 15px; border:1px solid #fff; border-radius:999px; background:#fff; color:#111; font-size:14px; font-weight:600; line-height:1.3; transition:background .2s,color .2s; }
.cookie-consent .cookie-choice-button:hover { background:#e6e6e6; border-color:#e6e6e6; }
.cookie-consent p { margin:0; max-width:none; color:#bdbdbd; font-size:14px; line-height:1.6; }
.cookie-notice>p { margin:10px 5px 2px; font-size:12px; line-height:1.5; }
.cookie-notice>.cookie-notice-title { color:#fff; font-weight:600; }
.cookie-notice-links { display:flex; gap:16px; margin:8px 5px 2px; }
.cookie-provider-choice { display:flex; align-items:center; gap:10px; padding:0 0 15px; color:#fff; font-size:13px; cursor:pointer; }
.cookie-provider-choice input { width:20px; height:20px; margin:0; accent-color:#fff; }
.cookie-provider-choice input:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.cookie-sheet { display:flex; flex-direction:column; max-height:calc(100dvh - 48px); }
.cookie-sheet-header { flex:none; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:20px 22px 8px; }
.cookie-sheet-header h2 { flex:1; min-width:0; margin:0; font:600 24px/1.15 Arial,Helvetica,sans-serif; letter-spacing:-.035em; color:#fff; }
.cookie-sheet-header h2:focus { outline:none; }
.cookie-sheet-body { padding:8px 24px 22px; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:#777 #161616; scrollbar-width:thin; }
.cookie-categories { margin:22px 0 20px; padding:4px 16px; border-radius:17px; background:#1c1c1c; }
.cookie-category+.cookie-category { border-top:1px solid #ffffff26; }
.cookie-consent .cookie-category-toggle { display:flex; align-items:center; gap:12px; width:100%; min-height:64px; padding:15px 0; border:0; background:transparent; color:#fff; text-align:start; font-size:14px; font-weight:600; }
.cookie-category-toggle>span:first-child { flex:1; }
.cookie-category-state { display:flex; align-items:center; gap:5px; font-size:10px; font-weight:400; color:#bbb; white-space:nowrap; }
.cookie-category-toggle>svg { flex:none; transition:transform .35s; }
.cookie-category-toggle[aria-expanded=true]>svg { transform:rotate(180deg); }
.cookie-category-detail { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .35s cubic-bezier(.22,1,.36,1),opacity .25s; }
.cookie-category-detail.is-expanded { grid-template-rows:1fr; opacity:1; }
.cookie-category-detail>div { min-height:0; overflow:hidden; }
.cookie-category-detail p { padding:0 0 18px; font-size:13px; }
.cookie-consent .cookie-policy-link { display:inline-block; color:#dedede; font-size:12px; font-weight:400; text-underline-offset:4px; text-decoration:underline; }
.cookie-sheet-footer { flex:none; padding:16px 24px 22px; background:linear-gradient(#08080800,#080808 15px); }
.cookie-category-head { display:flex; align-items:center; gap:12px; }
.cookie-category-head .cookie-provider-choice { flex:1; min-width:0; padding:18px 0; margin:0; font-weight:600; }
.cookie-consent .cookie-category-head .cookie-category-toggle { flex:none; justify-content:center; width:44px; min-height:44px; padding:0; }
.cookie-region { margin-top:14px; font-size:13px; }
.cookie-region summary { cursor:pointer; font-weight:600; padding-block:7px; }
.cookie-region p { padding-top:8px; font-size:12px; }
.cookie-consent .cookie-essential { font-size:12px; }
.cookie-consent .cookie-categories { margin-block:14px; }
.cookie-consent .cookie-selection-save { display:block; width:100%; min-height:40px; margin-top:8px; padding:8px 12px; border:1px solid currentColor; border-radius:999px; color:inherit; background:transparent; font-size:13px; }
.cookie-consent .cookie-selection-save:hover { text-decoration:underline; text-underline-offset:3px; }
[dir=rtl] .cookie-banner.cookie-consent { left:auto; right:24px; }
[dir=rtl] .cookie-consent .cookie-launcher,[dir=rtl] .cookie-panel-content { left:auto; right:0; }
@media(max-width:760px) {
 .cookie-banner.cookie-consent { --cookie-width:calc(100vw - 24px); left:12px; right:auto; bottom:max(12px,env(safe-area-inset-bottom)); }
 .cookie-notice-toolbar,.cookie-choice-actions { gap:8px; }.cookie-notice { padding:12px; }.cookie-consent .cookie-icon-button { width:34px; }
 .cookie-consent .cookie-choice-button { font-size:13px; padding-inline:10px; }.cookie-sheet { max-height:calc(100dvh - 24px - env(safe-area-inset-bottom)); }
 .cookie-sheet-header { padding:18px 18px 8px; }.cookie-sheet-header h2 { font-size:23px; }.cookie-sheet-body { padding:8px 20px 18px; }.cookie-sheet-footer { padding:15px 20px 20px; }.cookie-categories { padding-inline:14px; }.cookie-category-toggle { gap:8px; }
 [dir=rtl] .cookie-banner.cookie-consent { left:auto; right:12px; }
}
@media(max-width:360px) { .cookie-consent .cookie-choice-button { font-size:12px; padding-inline:7px; }.cookie-consent .cookie-category-toggle { font-size:12px; }.cookie-category-state { font-size:9px; }.cookie-sheet-header h2 { font-size:21px; } }
@media(prefers-reduced-motion:reduce) { .cookie-banner.cookie-consent,.cookie-consent .cookie-launcher,.cookie-panel-content,.cookie-panel-content.is-active,.cookie-category-detail,.cookie-category-toggle>svg { transition:none; transform:none; } }
