/* VIA Derm — статична (фіксована) кнопка «Записатись на консультацію −20%».
   Завжди на виду під час прокручування. */

.via-sticky-cta {
    position: fixed;
    z-index: 9985;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 22px;
    border-radius: 50px;
    text-decoration: none;
    color: #14140e;
    background: linear-gradient(135deg, #e8d8a8 0%, #d4af37 55%, #c89b2c 100%);
    box-shadow: 0 12px 30px rgba(160, 120, 20, .42), 0 2px 6px rgba(0, 0, 0, .2);
    border: 1px solid rgba(255, 255, 255, .35);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
    -webkit-tap-highlight-color: transparent;
    animation: viaStickyPulse 2.8s ease-in-out infinite;
}
.via-sticky-cta:hover,
.via-sticky-cta:focus-visible {
    color: #14140e;
    transform: translateY(-2px) translateX(-50%);
    box-shadow: 0 16px 38px rgba(160, 120, 20, .55);
    filter: brightness(1.03);
}

.via-sticky-cta__icon {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(20, 20, 14, .12);
}
.via-sticky-cta__icon svg { width: 18px; height: 18px; }

.via-sticky-cta__text { display: flex; flex-direction: column; line-height: 1.15; }
.via-sticky-cta__text b { font-size: 14px; font-weight: 700; letter-spacing: .01em; }
.via-sticky-cta__text small { font-size: 11.5px; font-weight: 500; opacity: .85; }

@keyframes viaStickyPulse {
    0%, 100% { box-shadow: 0 12px 30px rgba(160, 120, 20, .42), 0 0 0 0 rgba(212, 175, 55, .5); }
    50%      { box-shadow: 0 12px 30px rgba(160, 120, 20, .42), 0 0 0 10px rgba(212, 175, 55, 0); }
}

/* ─── Desktop / планшет: нижній центр ─── */
@media (min-width: 768px) {
    .via-sticky-cta {
        left: 50%;
        bottom: 24px;
        transform: translateX(-50%);
    }
    .via-sticky-cta:hover,
    .via-sticky-cta:focus-visible { transform: translateY(-2px) translateX(-50%); }
}

/* ─── Mobile: над панеллю швидкого зв'язку (вона ~60px) ─── */
@media (max-width: 767.98px) {
    .via-sticky-cta {
        left: 50%;
        transform: translateX(-50%);
        bottom: calc(60px + env(safe-area-inset-bottom, 0px) + 10px);
        width: calc(100% - 24px);
        max-width: 420px;
        justify-content: center;
        padding: 11px 18px;
        animation: none;
    }
    .via-sticky-cta:hover,
    .via-sticky-cta:focus-visible { transform: translateX(-50%); }
    .via-sticky-cta__text b { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
    .via-sticky-cta { animation: none; }
}
