/* Consent must stay above configured site layers, below modal backdrops. */
#cookie-consent-banner {
 z-index:12980; isolation:isolate; max-height:100vh; max-height:100dvh; overflow-y:auto;
}
#cookie-consent-banner .cookie-consent-surface,
#cookie-preferences-modal .modal-content {
 background-color:#fff; color:#212529; opacity:1;
 --bs-body-color:#212529; --bs-secondary-color:#5c636a;
}
#cookie-consent-banner .cookie-consent-surface { --bs-card-bg:#fff; --bs-card-color:#212529; }
.cookie-appearance-button {
 --cookie-side-safe:min(var(--cookie-side,16px),max(8px,calc((var(--cookie-viewport-width,100vw) - var(--cookie-size,44px)) / 2)));
 position:fixed; z-index:1100; bottom:min(var(--cookie-bottom,16px),calc(100dvh - var(--cookie-size,44px) - 8px));
 left:var(--cookie-side-safe);
 width:var(--cookie-size,44px); height:var(--cookie-size,44px); max-width:calc(var(--cookie-viewport-width,100vw) - var(--cookie-side-safe) - 8px);
 display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0;
 background:var(--cookie-accent,#212529); color:var(--cookie-icon-color,#ffffff); border:1px solid #0002; border-radius:50%;
 font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; letter-spacing:0; box-shadow:0 4px 16px #0003;
}
.cookie-appearance-button i { font-size:min(var(--cookie-icon-size,20px),calc(var(--cookie-size,44px) - 16px)); flex-shrink:0; }
.cookie-appearance-button span { display:none; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cookie-appearance-button[data-cookie-mode="icon_text"] { width:max-content; min-width:var(--cookie-size,44px); padding:0 14px; border-radius:999px; }
.cookie-appearance-button[data-cookie-mode="icon_text"] span { display:block; }
.cookie-appearance-button[data-cookie-position="bottom_right"] { left:auto; right:var(--cookie-side-safe); }
.cookie-appearance-button[data-cookie-shape="rounded"] { border-radius:8px; }
.cookie-appearance-button[data-cookie-shadow="0"] { box-shadow:none; }
.cookie-appearance-button:hover,.cookie-appearance-button:focus-visible { background:var(--cookie-accent-dark,#343a40); }
.cookie-appearance-button[data-cookie-animation="1"] { transition:background-color .15s,transform .15s; }
.cookie-appearance-button[data-cookie-animation="1"]:hover { transform:translateY(-2px); }
#cookie-preferences-modal .modal-dialog { width:min(var(--cookie-panel-width,500px),calc(100% - 16px)); max-width:none; margin:8px auto; min-height:calc(100% - 16px); }
#cookie-preferences-modal .modal-content { height:min(var(--cookie-panel-height,600px),calc(100dvh - 16px)); max-height:calc(100dvh - 16px); border-radius:8px; }
#cookie-preferences-modal[data-cookie-shadow="1"] .modal-content { box-shadow:0 16px 40px #0003; }
#cookie-preferences-modal[data-cookie-shadow="0"] .modal-content { box-shadow:none; }
#cookie-preferences-modal .modal-body { overflow:auto; min-height:0; }
#cookie-preferences-modal .modal-header { background:var(--cookie-header-bg,#ffffff); color:var(--cookie-header-color,#212529); }
#cookie-preferences-modal .modal-header button { color:inherit; margin-inline-start:auto; flex-shrink:0; }
#cookie-preferences-modal .modal-footer { flex-shrink:0; }
.cookie-appearance-fallback { display:none; text-align:center; padding:8px; }
@media(max-width:767.98px) {
 #cookie-preferences-button[data-cookie-mobile="0"] { display:none!important; }
 .cookie-appearance-fallback[data-cookie-mobile="0"] { display:block; }
}
@media(min-width:768px) {
 #cookie-preferences-button[data-cookie-desktop="0"] { display:none!important; }
 .cookie-appearance-fallback[data-cookie-desktop="0"] { display:block; }
}
@media(prefers-reduced-motion:reduce) {
 .cookie-appearance-button[data-cookie-animation="1"] { transition:none; }
 .cookie-appearance-button[data-cookie-animation="1"]:hover { transform:none; }
}
.cookie-appearance-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:28px; }
.cookie-appearance-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.cookie-appearance-fields > div { min-width:0; }
.cookie-preview-canvas { position:relative; height:510px; max-width:100%; background:#f5f7f8; border:1px solid #d7dce3; border-radius:8px; overflow:hidden; }
.cookie-preview-canvas[data-device="mobile"] { max-width:320px; margin:auto; }
.cookie-preview-canvas .cookie-appearance-button { position:absolute; }
.cookie-preview-canvas [hidden] { display:none!important; }
.cookie-preview-panel { position:absolute; bottom:8px; left:8px; width:min(var(--cookie-panel-width,500px),calc(100% - 16px)); height:min(var(--cookie-panel-height,600px),calc(100% - 16px)); background:white; border:1px solid #d7dce3; border-radius:8px; color:#212529; overflow:auto; }
.cookie-preview-panel header { display:flex; align-items:center; justify-content:space-between; padding:16px; background:var(--cookie-header-bg,#ffffff); color:var(--cookie-header-color,#212529); }
.cookie-preview-panel header button { color:inherit; }
.cookie-preview-hidden { position:absolute; top:50%; width:100%; text-align:center; color:#555; }
@media(max-width:1100px) { .cookie-appearance-layout { grid-template-columns:minmax(0,1fr); } .cookie-appearance-layout aside { max-width:480px; width:100%; } }
@media(max-width:420px) { .cookie-appearance-fields { grid-template-columns:minmax(0,1fr); } }
