.aksa-sticky,
.aksa-sticky * {
    box-sizing: border-box;
}

.aksa-sticky {
    position: fixed;
    z-index: var(--aksa-z, 1000);
    bottom: calc(var(--aksa-bottom, 12px) + env(safe-area-inset-bottom, 0px));
    width: min(calc(100vw - (var(--aksa-side, 12px) * 2)), var(--aksa-max-width, 920px));
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: transform .28s ease, opacity .2s ease, visibility .28s linear;
    visibility: visible;
    pointer-events: auto;
}

.aksa-sticky--center {
    left: 50%;
    transform: translate3d(-50%, 0, 0);
}

.aksa-sticky--left {
    left: var(--aksa-side, 12px);
}

.aksa-sticky--right {
    right: var(--aksa-side, 12px);
}

.aksa-sticky.is-hidden-by-content {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, calc(100% + var(--aksa-bottom, 12px) + 24px), 0);
}

.aksa-sticky--center.is-hidden-by-content {
    transform: translate3d(-50%, calc(100% + var(--aksa-bottom, 12px) + 24px), 0);
}

.aksa-sticky__surface {
    display: grid;
    grid-template-columns: repeat(var(--aksa-action-count, 4), minmax(0, 1fr));
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(42,52,68,.14);
    border-radius: 20px;
    background: rgba(249,250,252,.96);
    box-shadow: 0 18px 48px rgba(19,27,40,.26), 0 2px 8px rgba(19,27,40,.10);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.aksa-sticky__action {
    appearance: none;
    min-width: 0;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid rgba(32,38,50,.20);
    border-radius: 14px;
    background: linear-gradient(180deg, #f7f9fc, #edf1f6);
    color: #273448;
    font: inherit;
    font-size: 14px;
    line-height: 1.15;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 4px 10px rgba(32,38,50,.08);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.aksa-sticky__action:hover,
.aksa-sticky__action:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(32,38,50,.30);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 10px 24px rgba(32,38,50,.16);
    outline: none;
}

.aksa-sticky__action--phone {
    border-color: rgba(19,77,48,.58);
    background: linear-gradient(180deg, #2b7b51, #1f6843);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 7px 16px rgba(25,91,57,.24);
}

.aksa-sticky__action--request {
    border-color: rgba(181,79,42,.38);
    background: linear-gradient(180deg, #fbece5, #f5ddd2);
    color: #873a20;
}

.aksa-sticky__action--catalog {
    border-color: rgba(51,70,96,.28);
    background: linear-gradient(180deg, #eef2f7, #e2e8f0);
    color: #28384f;
}

.aksa-sticky__action--whatsapp {
    border-color: rgba(20,92,55,.52);
    background: linear-gradient(180deg, #33845a, #24734b);
    color: #fff;
}

.aksa-sticky__action--telegram {
    border-color: rgba(29,91,124,.48);
    background: linear-gradient(180deg, #438fb5, #317da4);
    color: #fff;
}

.aksa-sticky__action--extra {
    border-color: rgba(143,101,57,.30);
    background: linear-gradient(180deg, #f8f0e6, #f0e3d3);
    color: #6f4b28;
}

.aksa-sticky__icon {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 999px;
    background: currentColor;
    opacity: .76;
}

.aksa-sticky__action--phone .aksa-sticky__label,
.aksa-sticky__action--whatsapp .aksa-sticky__label,
.aksa-sticky__action--telegram .aksa-sticky__label {
    color: #fff;
    text-shadow: 0 1px 1px rgba(0,0,0,.24);
}

.aksa-sticky__action--phone .aksa-sticky__icon,
.aksa-sticky__action--whatsapp .aksa-sticky__icon,
.aksa-sticky__action--telegram .aksa-sticky__icon {
    background: #fff;
    opacity: .92;
}

@media (max-width: 767.98px) {
    .aksa-sticky--desktop {
        display: none;
    }

    .aksa-sticky {
        width: calc(100vw - 16px);
        --aksa-side: 8px;
    }

    .aksa-sticky__surface {
        gap: 5px;
        padding: 5px;
        border-radius: 17px;
    }

    .aksa-sticky--count-5 .aksa-sticky__surface,
    .aksa-sticky--count-6 .aksa-sticky__surface {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .aksa-sticky__action {
        min-height: 46px;
        flex-direction: column;
        gap: 4px;
        padding: 6px 4px;
        border-radius: 12px;
        font-size: 11.5px;
        line-height: 1.1;
    }

    .aksa-sticky__icon {
        width: 7px;
        height: 7px;
        flex-basis: 7px;
    }
}

@media (min-width: 768px) {
    .aksa-sticky--mobile {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aksa-sticky,
    .aksa-sticky__action {
        transition: none;
    }
}
