/* CP Cookie Banner — re-consent floating button.
   Theme tokens scoped to .cppb-fab via theme-*.css. */

.cppb-fab {
    position: fixed;
    z-index: 8990;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--cppb-bg, #fff);
    color: var(--cppb-focus, #30B230);
    border: 1px solid var(--cppb-border, rgba(0, 0, 0, 0.1));
    box-shadow: 0 6px 16px rgba(15, 30, 15, 0.12), 0 2px 4px rgba(15, 30, 15, 0.06);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    text-decoration: none;
    opacity: 0.94;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
    box-sizing: border-box;
}

.cppb-fab[hidden] {
    display: none !important;
}

.cppb-fab:hover,
.cppb-fab:focus {
    opacity: 1;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 30, 15, 0.18), 0 4px 8px rgba(15, 30, 15, 0.08);
    border-color: var(--cppb-focus, #30B230);
    color: var(--cppb-focus, #30B230);
    text-decoration: none;
}

.cppb-fab:focus-visible {
    outline: 2px solid var(--cppb-focus, #30B230);
    outline-offset: 2px;
}

.cppb-fab svg {
    width: 20px;
    height: 20px;
    pointer-events: none;
}

/* ---------- Positions -------------------------------------------------- */

.cppb-fab--bottom-left {
    bottom: calc(24px + var(--cppb-footer-offset, 0px));
    left: 24px;
}

.cppb-fab--bottom-right {
    bottom: calc(24px + var(--cppb-footer-offset, 0px));
    right: 24px;
}

.cppb-fab--top-left {
    top: 24px;
    left: 24px;
}

.cppb-fab--top-right {
    top: 24px;
    right: 24px;
}

.cppb-fab--bottom-center {
    bottom: calc(24px + var(--cppb-footer-offset, 0px));
    left: 50%;
    transform: translateX(-50%);
}

.cppb-fab--bottom-center:hover,
.cppb-fab--bottom-center:focus {
    transform: translateX(-50%) translateY(-1px);
}

@media (max-width: 720px) {
    .cppb-fab {
        width: 38px;
        height: 38px;
    }

    .cppb-fab--bottom-left,
    .cppb-fab--bottom-right,
    .cppb-fab--bottom-center {
        bottom: calc(12px + var(--cppb-footer-offset, 0px));
    }

    .cppb-fab--top-left,
    .cppb-fab--top-right {
        bottom: auto;
        top: 12px;
    }

    .cppb-fab--bottom-left { left: 12px; }
    .cppb-fab--bottom-right { right: 12px; }
    .cppb-fab--top-left { left: 12px; }
    .cppb-fab--top-right { right: 12px; }
}
