/* ==========================================================
   footer-cta.css — Footer CTA Banner
   ========================================================== */

/* ── Wrapper ── */
.jyl-footer-cta-wrap {
    padding: 1rem;
}
@media (min-width: 898px) {
    .jyl-footer-cta-wrap { padding: 1.5rem; }
}
@media (min-width: 1198px) {
    .jyl-footer-cta-wrap { padding: 2rem; }
}

/* ── CTA container ── */
.jyl-footer-cta {
    position: relative;
    overflow: hidden;
    border-radius: var(--jyl-radius-lg);
    background: var(--jyl-footer-bg);
    padding: 3rem var(--jyl-gap-sm);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}
@media (min-width: 1198px) {
    .jyl-footer-cta { padding: 3rem var(--jyl-gap-lg); }
}

/* ── Glow ball outer ──
   Position is driven entirely by JS transform(x, y) each frame.
   top/left are both 0; the JS step() function handles placement.
   width is set via --jyl-ball-size custom property which the PHP
   widget writes as an inline style on each .jyl-glow-ball so that
   the Elementor colour/size controls take effect without extra CSS.
   will-change: transform keeps animation on the compositor thread.  ── */
.jyl-glow-ball {
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    will-change: transform;
}

/* ── Glow ball inner ──
   Holds the colour fill and blur.
   --jyl-ball-blur is written as an inline style by the PHP widget.  ── */
.jyl-glow-ball__inner {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    opacity: 0.7;
    will-change: transform;
    transition: none;
}

/* ── Text ── */
.jyl-footer-cta__text {
    position: relative;
    z-index: 1;
    font-size: var(--jyl-fs-24);
    font-weight: var(--jyl-fw-medium);
    line-height: var(--jyl-lh-snug);
    color: var(--jyl-white);
    margin: 0;
    text-wrap: balance;
}

/* ── Button ── */
.jyl-footer-cta__btn {
    position: relative;
    z-index: 1;
}