/* CookieYes revisit-consent badge placement (web host only).

   The CookieYes vendor bundle injects a fixed floating badge (the "manage
   consent" button) at <body> end, defaulting to the bottom-LEFT corner
   (15px/15px). That left it stranded on its own, at the same height as the
   assistant chat FAB which lives bottom-RIGHT — visually two disconnected
   floating controls. We move the badge into the SAME bottom-right stack,
   sitting just above the chat FAB (.assistant-launcher, z-index 45), so the
   consent control and the chat control read as one column.

   The badge is injected outside every Blazor component, so it can't inherit the
   FAB's scoped --assistant-clearance custom property. Instead we mirror the
   FAB's v2 no-audio clearance formula from the SAME global design tokens
   (--os-bottom-nav-height, --os-space-*), plus the FAB's own height and a
   --os-space-md gap, at the SAME breakpoints the FAB uses
   (AssistantLauncher.razor.css). Verified against the live badge: the wrapper
   lands 16px above the FAB with right edges aligned at 390 / 800 / 1440px.

   Selector note: the wrapper carries a vendor position modifier
   (.cky-revisit-bottom-left etc., specificity 0,2,0); we list the two-class
   variants plus the bare wrapper and use !important so the override wins
   whichever corner the CookieYes dashboard is set to.

   Scope note: this only affects users who actually load CookieYes. An ad/privacy
   blocker that blocks cdn-cookieyes.com removes the badge (and banner) entirely
   — there is nothing to position then, and nothing CSS can do about it.

   Known limitation: while GlobalAudioPlayer is on screen the FAB rises above
   this fixed offset, so the badge can overlap the raised FAB. That is a
   transient state for a rarely-used control; not worth reproducing the FAB's
   audio-aware adjacent-sibling clearance matrix here. */

.cky-btn-revisit-wrapper.cky-revisit-bottom-left,
.cky-btn-revisit-wrapper.cky-revisit-bottom-right,
.cky-btn-revisit-wrapper.cky-revisit-top-left,
.cky-btn-revisit-wrapper.cky-revisit-top-right,
.cky-btn-revisit-wrapper {
    left: auto !important;
    top: auto !important;
    /* Desktop (>=1024px): FAB bottom = --os-space-lg + safe-area, FAB is 56px. */
    right: var(--os-space-md) !important;
    bottom: calc(var(--os-space-lg) + env(safe-area-inset-bottom, 0px) + 56px + var(--os-space-md)) !important;
}

/* Tablet portrait/landscape (<=1023px): BottomNav is visible, so the FAB clears
   it — v2 clearance = --os-bottom-nav-height + safe-area + 2×--os-space-sm; FAB
   still 56px, right offset still --os-space-md. */
@media (max-width: 1023px) {
    .cky-btn-revisit-wrapper.cky-revisit-bottom-left,
    .cky-btn-revisit-wrapper.cky-revisit-bottom-right,
    .cky-btn-revisit-wrapper.cky-revisit-top-left,
    .cky-btn-revisit-wrapper.cky-revisit-top-right,
    .cky-btn-revisit-wrapper {
        right: var(--os-space-md) !important;
        bottom: calc(var(--os-bottom-nav-height, 64px) + env(safe-area-inset-bottom, 0px) + var(--os-space-sm) + var(--os-space-sm) + 56px + var(--os-space-md)) !important;
    }
}

/* Phone (<=767px): FAB shrinks to 48px and its right offset tightens to
   --os-space-sm — match both so the badge stays centered/right-aligned on it. */
@media (max-width: 767px) {
    .cky-btn-revisit-wrapper.cky-revisit-bottom-left,
    .cky-btn-revisit-wrapper.cky-revisit-bottom-right,
    .cky-btn-revisit-wrapper.cky-revisit-top-left,
    .cky-btn-revisit-wrapper.cky-revisit-top-right,
    .cky-btn-revisit-wrapper {
        right: var(--os-space-sm) !important;
        bottom: calc(var(--os-bottom-nav-height, 64px) + env(safe-area-inset-bottom, 0px) + var(--os-space-sm) + var(--os-space-sm) + 48px + var(--os-space-md)) !important;
    }
}
