

.impulse-pricing-wrapper[data-hover]:not([data-hover="none"]) .impulse-pricing-card {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    position: relative;
}

.impulse-pricing-ribbon-banner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
    line-height: 1;
}

.impulse-pricing-wrapper[data-hover="lift"] .impulse-pricing-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

.impulse-pricing-wrapper[data-hover="tilt"] .impulse-pricing-card {
    transition: transform 0.4s ease-in-out, box-shadow 0.4s ease-in-out;
    transform-style: preserve-3d;
}
.impulse-pricing-wrapper[data-hover="tilt"] .impulse-pricing-card:hover {
    transform: perspective(800px) rotateX(-4deg) rotateY(2deg) translateY(-4px);
    box-shadow: 8px 16px 32px rgba(0, 0, 0, 0.12);
}

.impulse-pricing-wrapper[data-hover="glow"] .impulse-pricing-card:hover {
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.25), 0 0 80px rgba(0, 0, 0, 0.1);
    box-shadow:
        0 8px 40px color-mix(in srgb, var(--impulse-plans-glow, #1d2327) 25%, transparent),
        0 0 80px  color-mix(in srgb, var(--impulse-plans-glow, #1d2327) 10%, transparent);
}

@keyframes impulse-plans-float {
    0%, 100% { transform: translateY(-4px);  }
    50%      { transform: translateY(-10px); }
}
.impulse-pricing-wrapper[data-hover="float"] .impulse-pricing-card:hover {
    animation: impulse-plans-float 2s ease-in-out infinite;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
}

.impulse-pricing-wrapper .impulse-pricing-button {
    transition: filter 0.2s ease-in-out;
}
.impulse-pricing-wrapper .impulse-pricing-button:hover {
    filter: brightness(0.9);
}

.impulse-pricing-arc .impulse-pricing-card {
    backface-visibility: hidden;
    transform-origin: center top;
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), filter 0.3s ease-in-out;
    will-change: transform, filter;
}

@media (max-width: 768px) {
    .impulse-pricing-wrapper { max-width: none !important; }
    .impulse-pricing-wrapper .impulse-pricing-grid { grid-template-columns: 1fr !important; gap: 16px !important; }

    .impulse-pricing-wrapper:not([data-mobile-arc="1"]) .impulse-pricing-arc { perspective: none !important; }
    .impulse-pricing-wrapper:not([data-mobile-arc="1"]) .impulse-pricing-arc .impulse-pricing-card { transform: none !important; filter: none !important; }
    .impulse-pricing-wrapper[data-mobile-arc="1"] .impulse-pricing-arc { perspective: 1400px; perspective-origin: center center; }
    .impulse-pricing-wrapper[data-mobile-arc="1"] .impulse-pricing-arc .impulse-pricing-card { transform-origin: center center; }

    .impulse-pricing-wrapper .impulse-pricing-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .impulse-pricing-wrapper .impulse-pricing-ribbon-slot:empty { height: 0 !important; min-height: 0 !important; }
    .impulse-pricing-wrapper .impulse-pricing-header {
        padding: 20px 22px 0 !important;
        min-height: 0 !important;
        text-align: center !important;
        align-items: center !important;
    }
    .impulse-pricing-wrapper .impulse-pricing-title { font-size: 19px !important; letter-spacing: 0 !important; }
    .impulse-pricing-wrapper .impulse-pricing-subtitle { font-size: 12px !important; min-height: 0 !important; margin-top: 3px !important; }
    .impulse-pricing-wrapper .impulse-pricing-price {
        padding: 10px 22px !important;
        text-align: center !important;
    }
    .impulse-pricing-wrapper .impulse-price-display,
    .impulse-pricing-wrapper .impulse-price-monthly,
    .impulse-pricing-wrapper .impulse-price-yearly { white-space: nowrap; }
    .impulse-pricing-wrapper .impulse-price-currency { font-size: 16px !important; }
    .impulse-pricing-wrapper .impulse-price-amount { font-size: 34px !important; }
    .impulse-pricing-wrapper .impulse-price-period,
    .impulse-pricing-wrapper .impulse-pricing-period { font-size: 13px !important; }
    .impulse-pricing-wrapper .impulse-pricing-features {
        padding: 6px 26px 4px !important;
        flex: 0 1 auto !important;
    }
    .impulse-pricing-wrapper .impulse-pricing-feature { margin-bottom: 9px !important; gap: 10px !important; }
    .impulse-pricing-wrapper .impulse-pricing-feature svg { width: 15px !important; height: 15px !important; flex-shrink: 0; }
    .impulse-pricing-wrapper .impulse-pricing-feature > span { font-size: 13px !important; line-height: 1.3; }
    .impulse-pricing-wrapper .impulse-pricing-card > div:last-child {
        padding: 14px 22px 20px !important;
        align-self: stretch !important;
    }
    .impulse-pricing-wrapper .impulse-pricing-button {
        display: block !important;
        width: 100% !important;
        font-size: 15px !important;
        padding: 13px !important;
        letter-spacing: 0 !important;
        border-radius: 8px !important;
    }
}
