/* ----------------------------------------
   WebX Side Buttons — sticky quick-access rail
   ---------------------------------------- */
.webx-side-buttons {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
    display: flex;
    flex-direction: column;
    gap: var(--sb-gap, 6px);
}

.webx-side-buttons--right {
    right: 0;
}

.webx-side-buttons--left {
    left: 0;
}

.webx-side-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 20px 18px;
    color: #fff;
    text-decoration: none;
    font-family: var(--wp--preset--font-family--body, inherit);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background-color: var(--sb-bg, var(--wp--preset--color--accent, #005995));
    transition:
        padding 0.25s ease,
        box-shadow 0.25s ease;
    white-space: nowrap;
}

/* Rounded outer edges (toggle). Radius sits on the edge facing the viewport. */
.webx-side-buttons--rounded.webx-side-buttons--right .webx-side-button {
    border-radius: 8px 0 0 8px;
}

.webx-side-buttons--rounded.webx-side-buttons--left .webx-side-button {
    border-radius: 0 8px 8px 0;
}

.webx-side-button:hover,
.webx-side-button:focus-visible {
    padding-right: 22px;
    color: #fff;
    text-decoration: none;
}

.webx-side-buttons--left .webx-side-button:hover,
.webx-side-buttons--left .webx-side-button:focus-visible {
    padding-right: 18px;
    padding-left: 22px;
}

.webx-side-button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -2px;
}

.webx-side-button__icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.webx-side-button__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.webx-side-button__label {
    display: inline;
}

/* ----------------------------------------
   Mobile (<= 782px)
   ---------------------------------------- */
@media (max-width: 782px) {

    /* Hide completely on mobile (opt-in). */
    .webx-side-buttons--hide-mobile {
        display: none;
    }

    /* Multiple buttons → slim full-width bottom bar with icon + small text. */
    .webx-side-buttons--multi {
        top: auto;
        bottom: 0;
        right: 0;
        left: 0;
        transform: none;
        flex-direction: row;
        gap: 0;
    }

    .webx-side-buttons--multi .webx-side-button {
        flex: 1;
        flex-direction: column;
        justify-content: center;
        gap: 3px;
        padding: 8px 6px;
        font-size: 10px;
        letter-spacing: 0.02em;
    }

    .webx-side-buttons--multi .webx-side-button:hover,
    .webx-side-buttons--multi .webx-side-button:focus-visible {
        padding-right: 6px;
        padding-left: 6px;
    }

    .webx-side-buttons--multi .webx-side-button__icon {
        width: 18px;
        height: 18px;
    }

    .webx-side-buttons--multi .webx-side-button__label {
        display: block;
    }

    /* Single button → one rounded floating button, bottom right. */
    .webx-side-buttons--single {
        top: auto;
        bottom: 16px;
        left: auto;
        right: 16px;
        transform: none;
    }

    .webx-side-buttons--single .webx-side-button {
        padding: 16px 24px;
        font-size: 13px;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
    }

    .webx-side-buttons--single .webx-side-button__icon {
        width: 22px;
        height: 22px;
    }

    .webx-side-buttons--single .webx-side-button:hover,
    .webx-side-buttons--single .webx-side-button:focus-visible {
        padding-right: 24px;
        padding-left: 24px;
    }

    /* Corner rounding on mobile is decided purely by button count and overrides
       the desktop one-sided rounding (matched specificity, later in source):
       one button → fully rounded, two or more → no rounding at all. */
    .webx-side-buttons--single.webx-side-buttons--right .webx-side-button,
    .webx-side-buttons--single.webx-side-buttons--left .webx-side-button {
        border-radius: 999px;
    }

    .webx-side-buttons--multi.webx-side-buttons--right .webx-side-button,
    .webx-side-buttons--multi.webx-side-buttons--left .webx-side-button {
        border-radius: 0;
    }
}
