.nnc-quick-call-wrap {
    display: none;
}

.nnc-quick-call-wrap,
.nnc-quick-call-wrap * {
    box-sizing: border-box;
}

.nnc-quick-call-wrap {
    position: fixed;
    top: var(--nnc-qc-top, 35%);
    transform: translateY(-50%);
    z-index: 999999;
    pointer-events: none;
    direction: rtl;
}

.nnc-side-right {
    right: var(--nnc-qc-side-offset, -10px);
}

.nnc-side-left {
    left: var(--nnc-qc-side-offset, -10px);
}

.nnc-quick-call-btn {
    display: inline-flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none !important;
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
}

.nnc-side-right .nnc-quick-call-btn {
    align-items: flex-end;
}

.nnc-side-left .nnc-quick-call-btn {
    align-items: flex-start;
}

.nnc-quick-call-main {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    box-shadow: 0 10px 22px rgba(13, 17, 28, .15), 0 3px 8px rgba(13, 17, 28, .10);
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.nnc-side-right .nnc-quick-call-main {
    flex-direction: row-reverse;
    padding: 0 10px 0 0;
    border-radius: 999px 0 0 999px;
    background: var(--nnc-qc-label-bg, #FFFFFF);
}

.nnc-side-left .nnc-quick-call-main {
    flex-direction: row;
    padding: 0 0 0 10px;
    border-radius: 0 999px 999px 0;
    background: var(--nnc-qc-label-bg, #FFFFFF);
}

.nnc-quick-call-btn:hover .nnc-quick-call-main,
.nnc-quick-call-btn:focus-visible .nnc-quick-call-main {
    transform: translateX(0);
}

.nnc-side-right .nnc-quick-call-btn:hover .nnc-quick-call-main,
.nnc-side-right .nnc-quick-call-btn:focus-visible .nnc-quick-call-main {
    transform: translateX(-4px);
}

.nnc-side-left .nnc-quick-call-btn:hover .nnc-quick-call-main,
.nnc-side-left .nnc-quick-call-btn:focus-visible .nnc-quick-call-main {
    transform: translateX(4px);
}

.nnc-quick-call-btn:active .nnc-quick-call-main {
    opacity: .96;
}

.nnc-quick-call-icon {
    width: var(--nnc-qc-icon-size, 56px);
    height: var(--nnc-qc-icon-size, 56px);
    min-width: var(--nnc-qc-icon-size, 56px);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #20d169;
    color: #fff !important;
    position: relative;
    box-shadow: 0 7px 16px rgba(32, 209, 105, .33), inset 0 0 0 1px rgba(255,255,255,.22);
    transform-origin: 50% 62%;
}

.nnc-side-right .nnc-quick-call-icon {
    margin: -4px 0 -4px 10px;
}

.nnc-side-left .nnc-quick-call-icon {
    margin: -4px 10px -4px 0;
}

.nnc-quick-call-icon::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(145deg, rgba(255,255,255,.20), rgba(255,255,255,0));
    pointer-events: none;
}

.nnc-quick-call-icon::after {
    content: '';
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    border: 1px solid rgba(32, 209, 105, .58);
    opacity: 0;
    pointer-events: none;
}

.nnc-quick-call-icon svg {
    width: var(--nnc-qc-icon-svg, 24px);
    height: var(--nnc-qc-icon-svg, 24px);
    fill: #fff !important;
    position: relative;
    z-index: 2;
}

.nnc-quick-call-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--nnc-qc-label-width, 128px);
    max-width: var(--nnc-qc-label-width, 128px);
    min-height: 38px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--nnc-qc-label-text, #1B1F2A) !important;
}

.nnc-side-right .nnc-quick-call-label {
    padding: 0 14px 0 4px;
}

.nnc-side-left .nnc-quick-call-label {
    padding: 0 4px 0 14px;
}

.nnc-quick-call-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 34px;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--nnc-qc-hint-bg, #FFFFFF);
    color: var(--nnc-qc-hint-text, #394150) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .10), 0 2px 6px rgba(15, 23, 42, .06);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nnc-side-right .nnc-quick-call-hint {
    margin-right: 36px;
}

.nnc-side-left .nnc-quick-call-hint {
    margin-left: 36px;
}

.nnc-quick-call-hint::after {
    content: '';
    position: absolute;
    bottom: -6px;
    width: 12px;
    height: 12px;
    background: var(--nnc-qc-hint-bg, #FFFFFF);
    transform: rotate(45deg);
}

.nnc-side-right .nnc-quick-call-hint::after {
    right: 18px;
}

.nnc-side-left .nnc-quick-call-hint::after {
    left: 18px;
}

/* Animation modes */
.nnc-anim-none .nnc-quick-call-icon,
.nnc-anim-none .nnc-quick-call-icon::after {
    animation: none !important;
}

.nnc-anim-ring .nnc-quick-call-icon {
    animation: nnc-qc-ring var(--nnc-qc-duration, 4.8s) ease-in-out infinite;
}

.nnc-anim-ring .nnc-quick-call-icon::after {
    animation: nnc-qc-pulse var(--nnc-qc-duration, 4.8s) ease-out infinite;
}

.nnc-anim-pulse .nnc-quick-call-icon::after {
    animation: nnc-qc-pulse-only var(--nnc-qc-duration, 4.8s) ease-out infinite;
}

.nnc-anim-float .nnc-quick-call-icon {
    animation: nnc-qc-float var(--nnc-qc-duration, 4.8s) ease-in-out infinite;
}

.nnc-anim-float .nnc-quick-call-icon::after {
    animation: nnc-qc-soft-glow var(--nnc-qc-duration, 4.8s) ease-in-out infinite;
}

@keyframes nnc-qc-ring {
    0%, 80%, 100% { transform: translateX(0) rotate(0deg); }
    84% { transform: translateX(calc(var(--nnc-qc-shift, 1px) * -1)) rotate(calc(var(--nnc-qc-rotate, 2deg) * -1)); }
    88% { transform: translateX(var(--nnc-qc-shift, 1px)) rotate(var(--nnc-qc-rotate, 2deg)); }
    92% { transform: translateX(calc(var(--nnc-qc-shift, 1px) * -.7)) rotate(calc(var(--nnc-qc-rotate, 2deg) * -.6)); }
    96% { transform: translateX(calc(var(--nnc-qc-shift, 1px) * .5)) rotate(calc(var(--nnc-qc-rotate, 2deg) * .4)); }
}

@keyframes nnc-qc-pulse {
    0%, 80%, 100% { transform: scale(.94); opacity: 0; }
    86% { opacity: var(--nnc-qc-pulse-opacity, .12); }
    98% { transform: scale(var(--nnc-qc-pulse-scale, 1.14)); opacity: 0; }
}

@keyframes nnc-qc-pulse-only {
    0%, 82%, 100% { transform: scale(.92); opacity: 0; }
    88% { opacity: var(--nnc-qc-pulse-opacity, .14); }
    98% { transform: scale(var(--nnc-qc-pulse-scale, 1.18)); opacity: 0; }
}

@keyframes nnc-qc-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(calc(var(--nnc-qc-float-distance, 2px) * -1)); }
}

@keyframes nnc-qc-soft-glow {
    0%, 100% { opacity: 0; transform: scale(.98); }
    50% { opacity: calc(var(--nnc-qc-pulse-opacity, .12) * .9); transform: scale(1.08); }
}

@media (max-width: 480px) {
    .nnc-quick-call-hint {
        font-size: 12px;
        max-width: 135px;
    }

    .nnc-quick-call-label {
        font-size: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nnc-quick-call-icon,
    .nnc-quick-call-icon::after,
    .nnc-quick-call-main {
        animation: none !important;
        transition: none !important;
    }
}
