/* Block: CTA */

.block-cta .cols { gap: var(--spacing-gap-large); }

.block-cta h2 {
    opacity: 0;
}

.block-cta h2 .line {
    padding-bottom: 0.2em;
    margin-bottom: -0.2em;
}

.block-cta .cta-description {
    gap: var(--spacing-gap-medium);
    justify-content: space-between;
    color: var(--color-subtext);
}

.block-cta .cta-description .side-text-large {
    text-wrap: balance;
}

.block-cta .cta-button-text { overflow: hidden; justify-content:flex-end; }

/* ── CTA button nudge loop ── */
.block-cta .cta-button .cta-button-patch {
    animation: cta-nudge-patch 2.3s cubic-bezier(0.4, 0, 0.2, 1) infinite paused;
    transition: transform 320ms var(--ease-spring),
                translate 320ms var(--ease-spring),
                border-radius 320ms var(--ease-spring);
}

.block-cta .cta-button.cta-nudge-active .cta-button-patch {
    animation-play-state: running;
}

.block-cta .cta-button:hover .cta-button-patch {
    animation-play-state: paused;
    translate: 0 !important;
}

@keyframes cta-nudge-patch {
    0%, 100% { translate: -2px; }
    40%      { translate: 2.5px; }
    70%      { translate: -2px; }
}

@container page-content (max-width: 1024px) {
    .block-cta .text-content p { text-align: center; }
    .block-cta .buttons { justify-content: center; }
    .block-cta .cta-description { gap: var(--spacing-gap-large); }
}

/* ── Layout: Vertical ── */
.block-cta.cta-layout-vertical .cols {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 30px;
}

.block-cta.cta-layout-vertical .cta-media {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    border-radius: var(--radius-large, 16px);
    overflow: hidden;
}

.block-cta.cta-layout-vertical .cta-media__image,
.block-cta.cta-layout-vertical .cta-media__video {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: auto;
}

.block-cta.cta-layout-vertical .col {
    /* width: 100%;
    max-width: 100%; */
}

.block-cta.cta-layout-vertical .cta-description { width:50%; max-width: 500px; min-width:400px; }

.block-cta.cta-layout-vertical .title-heading-wrap {
    align-items: center;
}

.block-cta.cta-layout-vertical .single-chips {
    justify-content: center;
}

.block-cta.cta-layout-vertical h2 {
    text-align: center;
}

.block-cta.cta-layout-vertical .cta-description .side-text-large {
    text-align: center;
    text-wrap: balance;
}

.block-cta.cta-layout-vertical .cta-button-wrap {
    align-items: center;
}

.block-cta.cta-layout-vertical .cta-button-text {
    justify-content: center;
}

.block-cta.cta-layout-vertical .cta-disclaimer {
    text-align: left;
}

@container page-content (max-width: 768px){
    .block-cta.cta-layout-vertical .cols {gap:20px; }
    .block-cta.cta-layout-vertical .cta-description { max-width: unset; min-width: unset; width: 100%;}
    .block-cta.cta-layout-vertical .cta-media { max-width: 100%; }
}