.fp-workout-generator-cta {
    --fp-wpg-primary: #0084ff;
    --fp-wpg-primary-2: #00b3ff;
    --fp-wpg-dark: #0f172a;
    position: relative;
    box-sizing: border-box;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    width: 100%;
    max-width: 1180px;
    margin: 24px auto;
    padding: clamp(22px, 3vw, 32px);
    overflow: hidden;
    border: 1px solid rgba(0, 132, 255, 0.2);
    border-radius: 28px;
    background:
        radial-gradient(circle at 88% 12%, rgba(0, 179, 255, 0.22), transparent 34%),
        linear-gradient(135deg, #071a36 0%, #113e73 58%, #087ac7 100%);
    color: #fff;
    box-shadow: 0 22px 56px rgba(0, 72, 145, 0.2);
    font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.fp-workout-generator-cta::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -80% auto -80% -24%;
    width: 22%;
    transform: skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
    animation: fp-wpg-shine 5.4s ease-in-out infinite;
}

.fp-workout-generator-cta__copy { min-width: 0; }
.fp-workout-generator-cta__copy > span {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    margin-bottom: 10px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: #cfefff;
    font-size: .78rem;
    font-weight: 800;
}

.fp-workout-generator-cta h2 {
    margin: 0 0 9px;
    color: #fff;
    font-family: "Unbounded", "Manrope", system-ui, sans-serif;
    font-size: clamp(1.25rem, 2.25vw, 1.9rem);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -.045em;
    overflow-wrap: anywhere;
}

.fp-workout-generator-cta p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.8);
    font-size: 1rem;
    line-height: 1.58;
}

.fp-workout-generator-cta small {
    display: block;
    margin-top: 10px;
    color: #fff;
    font-size: .9rem;
    font-weight: 800;
}

.fp-workout-generator-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 13px 20px;
    border-radius: 999px;
    background: #fff;
    color: var(--fp-wpg-dark);
    text-decoration: none;
    white-space: nowrap;
    font-weight: 900;
    box-shadow: 0 14px 32px rgba(3, 20, 42, .2);
    transition: transform .18s ease, box-shadow .18s ease;
}

.fp-workout-generator-cta__button:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(3,20,42,.28); }
.fp-workout-generator-cta__button:focus-visible { outline: 3px solid #93ddff; outline-offset: 3px; }
.fp-workout-generator-cta__button b { color: var(--fp-wpg-primary); font-size: 1.15em; }

.fp-workout-generator-cta--compact { margin: 18px auto; padding: 22px; border-radius: 24px; }
.fp-workout-generator-cta[data-workout-generator-cta-viewed="true"] { border-color: rgba(0,179,255,.34); }

html.fp-pwa-mode .fp-workout-generator-cta { display: none !important; }

@keyframes fp-wpg-shine {
    0%, 62% { transform: translateX(0) skewX(-18deg); opacity: 0; }
    70% { opacity: 1; }
    88%, 100% { transform: translateX(600%) skewX(-18deg); opacity: 0; }
}

@media (max-width: 720px) {
    .fp-workout-generator-cta { grid-template-columns: 1fr; gap: 18px; margin: 18px auto; padding: 20px; border-radius: 22px; }
    .fp-workout-generator-cta p { font-size: .95rem; }
    .fp-workout-generator-cta__button { width: 100%; white-space: normal; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
    .fp-workout-generator-cta::before { animation: none; display: none; }
    .fp-workout-generator-cta__button { transition: none; }
}
