/* Sticky CTA — wspólny ze stroną główną (VideoAnalyzerPro.html) */
.sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 58px;
    z-index: 190;
    padding: 0 4vw;
    pointer-events: none;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px) translateZ(0);
    animation: none !important;
    transition:
        opacity 0.28s var(--ease),
        transform 0.28s var(--ease),
        visibility 0s linear 0.28s;
}
.sticky-cta.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(-7px) translateZ(0);
    pointer-events: auto;
    transition:
        opacity 0.28s var(--ease),
        transform 0.28s var(--ease),
        visibility 0s;
}
@keyframes vap-sticky-cta-float {
    0%, 100% { transform: translateY(-7px) translateZ(0); }
    50% { transform: translateY(-10px) translateZ(0); }
}
@keyframes vap-sticky-cta-float-mobile {
    0%, 100% { transform: translateY(-7px) translateZ(0); }
    50% { transform: translateY(-9px) translateZ(0); }
}
@keyframes vap-sticky-cta-accent-soft {
    0%, 100% { border-bottom-color: rgba(102, 126, 234, 0.18); }
    50% { border-bottom-color: rgba(108, 128, 214, 0.28); }
}
@media (prefers-reduced-motion: no-preference) {
    .sticky-cta.is-visible {
        animation: vap-sticky-cta-float 7s ease-in-out infinite;
    }
    .sticky-cta.is-visible .sticky-cta-inner {
        animation: vap-sticky-cta-accent-soft 9s ease-in-out infinite;
    }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 800px) {
    .sticky-cta.is-visible {
        animation: vap-sticky-cta-float-mobile 7s ease-in-out infinite;
    }
}
.sticky-cta-inner {
    position: relative;
    overflow: hidden;
    width: 80%;
    max-width: none;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding: 20px 28px;
    background: var(--vap-sticky-surface);
    border: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--vap-legal-surface-accent);
    border-radius: 39px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: var(--vap-legal-shadow-modal), inset 0 1px 0 rgba(255, 255, 255, 0.02);
    transition: transform 0.32s var(--ease), border-color 0.28s var(--ease), box-shadow 0.28s var(--ease);
}
@media (prefers-reduced-motion: no-preference) {
    .sticky-cta.is-visible:hover .sticky-cta-inner {
        transform: translateY(-2px);
    }
}
.sticky-cta-inner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--vap-sticky-surface-highlight);
    pointer-events: none;
}
.sticky-cta-inner > * { position: relative; z-index: 1; }
.sticky-cta-label {
    flex: 1 1 auto;
    min-width: 0;
    font-size: calc(0.95rem - 2px);
    font-weight: 600;
    color: var(--text);
    font-family: var(--font-hero-lead);
    letter-spacing: 0.01em;
    line-height: 1.35;
}
.sticky-cta-label .sticky-brand-base,
.sticky-cta-label .sticky-brand-pro,
.sticky-cta-label .sticky-label-sep,
.sticky-cta-label .sticky-label-accent {
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}
.sticky-brand-base {
    color: #d4d4dc;
    -webkit-text-fill-color: #d4d4dc;
}
.sticky-brand-pro {
    background: linear-gradient(120deg, #a8b8ff 0%, #667eea 55%, #8b9cff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.sticky-label-sep {
    color: var(--text-muted);
    -webkit-text-fill-color: var(--text-muted);
    font-weight: 500;
}
.sticky-label-accent {
    color: #c4c6d4;
    -webkit-text-fill-color: #c4c6d4;
    font-weight: 600;
}
@keyframes vap-sticky-label-accent-glow {
    0%, 100% {
        color: #c4c6d4;
        -webkit-text-fill-color: #c4c6d4;
        text-shadow: 0 0 0 rgba(196, 198, 212, 0);
    }
    50% {
        color: #dde1ed;
        -webkit-text-fill-color: #dde1ed;
        text-shadow:
            0 0 12px rgba(196, 198, 212, 0.34),
            0 0 22px rgba(102, 126, 234, 0.14);
    }
}
@media (prefers-reduced-motion: no-preference) {
    .sticky-cta.is-visible .sticky-label-accent {
        animation: vap-sticky-label-accent-glow 5.5s ease-in-out infinite;
    }
}
.sticky-cta-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 14px;
    flex-shrink: 0;
}
.sticky-cta-actions .btn-primary,
.sticky-cta-actions .btn-ghost {
    font-family: var(--font-section-title);
}
.sticky-cta-actions .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 20px;
    border-radius: 30px;
    background: transparent;
    border: none;
    border-left: 2px solid rgba(102, 126, 234, 0.55);
    border-right: 2px solid rgba(102, 126, 234, 0.55);
    color: #a1a1a1;
    -webkit-text-fill-color: #a1a1a1;
    font-size: calc(0.9rem - 2px);
    font-weight: 600;
    box-shadow: none;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.25s var(--ease), -webkit-text-fill-color 0.25s var(--ease), border-color 0.25s var(--ease), transform 0.2s var(--ease), background 0.28s var(--ease);
}
.sticky-cta-actions .btn-primary:hover,
.sticky-cta-actions .btn-primary:focus-visible {
    transform: translateY(-2px);
    color: #a1a1a1;
    -webkit-text-fill-color: #a1a1a1;
    border-left-color: rgba(102, 126, 234, 0.55);
    border-right-color: rgba(102, 126, 234, 0.55);
    background: var(--vap-hero-buy-bg-hover);
    box-shadow: none;
}
.sticky-cta-actions .btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(to bottom, #141414, #0a0a0a);
    border: none;
    border-bottom: var(--vap-nav-underline-width) solid rgba(255, 255, 255, 0.16);
    border-radius: 0;
    color: #a1a1a1;
    -webkit-text-fill-color: #a1a1a1;
    font-size: calc(0.9rem - 2px);
    font-weight: 600;
    padding: 11px 20px 10px;
    box-shadow: none;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.25s var(--ease), -webkit-text-fill-color 0.25s var(--ease), border-bottom-color 0.25s var(--ease), background 0.25s var(--ease);
}
.sticky-cta-actions .btn-ghost:hover,
.sticky-cta-actions .btn-ghost:focus-visible {
    transform: none;
    color: rgb(158, 178, 255);
    -webkit-text-fill-color: rgb(158, 178, 255);
    border-bottom-color: rgba(102, 126, 234, 0.72);
    background: linear-gradient(to bottom, #161616, #0c0c0c);
    box-shadow: none;
}
@media (max-width: 1000px) {
    .sticky-cta-actions .btn-primary,
    .sticky-cta-actions .btn-ghost.sticky-install-narrow-hide {
        font-size: calc((0.9rem - 2px) * 0.94);
        padding: 10px 16px;
    }
    .sticky-cta-actions .btn-ghost.sticky-install-narrow-hide {
        padding-bottom: 10px;
    }
}
@media (max-width: 870px) {
    .sticky-cta-inner {
        width: auto;
        max-width: 1100px;
        gap: 12px;
        padding: 14px 16px;
    }
    .sticky-cta-label {
        font-size: 0.80rem;
    }
    .sticky-cta-actions {
        gap: 10px;
    }
    .sticky-cta-actions .sticky-install-narrow-hide {
        display: none;
    }
    .sticky-cta-actions .btn-primary {
        padding: 9px 12px;
        white-space: nowrap;
        font-size: 0.70rem;
    }
}
@media (max-width: 700px) {
    .sticky-cta-actions .btn-primary {
        font-size: calc(0.70rem * 0.94);
        padding: 9px 11px;
    }
}
@media (max-width: 500px) {
    /* ≤500px: tylko marka jak w hero + Buy */
    .sticky-cta-label {
        font-family: var(--font-section-title);
        font-weight: 700;
        font-size: calc(0.80rem * 0.8);
    }
    .sticky-cta-label .sticky-brand-base,
    .sticky-cta-label .sticky-brand-pro {
        display: inline-block;
        font-family: inherit;
        font-weight: inherit;
        font-size: inherit;
    }
    .sticky-cta-label .sticky-brand-pro {
        margin-left: 0.12em;
    }
    .sticky-cta-label .sticky-label-sep,
    .sticky-cta-label .sticky-label-accent {
        display: none;
    }
    .sticky-cta-actions .btn-primary {
        font-size: calc(0.70rem * 0.92);
    }
}
@media (prefers-reduced-motion: reduce) {
    .sticky-cta.is-visible {
        animation: none !important;
        transform: translateY(-7px) translateZ(0);
    }
    .sticky-cta.is-visible .sticky-cta-inner,
    .sticky-cta.is-visible .sticky-label-accent {
        animation: none !important;
    }
}
