:root {
    --cta-bg: linear-gradient(135deg, #7be0ff, #57e39a);
    --cta-text: #042028;
    --cta-glow: 0 12px 30px rgba(123, 224, 255, .35), 0 6px 16px rgba(87, 227, 154, .35);
    --cta-radius: 18px;
}

.shop-cta {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .9rem 1.35rem;
    font: 700 1.05rem/1 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto;
    color: var(--cta-text);
    background: var(--cta-bg);
    border-radius: var(--cta-radius);
    box-shadow: var(--cta-glow);
    text-decoration: none;
    transform: translateZ(0);
    transition: transform .18s ease, box-shadow .25s ease, filter .25s ease;
    position: relative;
    isolation: isolate;
}

/* cute highlight line */
.shop-cta::after {
    content: "";
    position: absolute;
    inset: 2px 2px auto auto;
    width: 38%;
    height: 40%;
    background: linear-gradient(180deg, rgba(255, 255, 255, .75), rgba(255, 255, 255, 0));
    border-radius: calc(var(--cta-radius) - 2px);
    filter: blur(6px);
    opacity: .6;
    pointer-events: none;
}

/* entrance + idle bob */
.shop-cta {
    animation: shop-bounce-in .8s cubic-bezier(.25, .9, .35, 1.4) .15s both,
    shop-bob 3.2s ease-in-out 1.5s infinite;
}

.shop-emoji {
    display: inline-block;
    transform-origin: 60% 60%;
    animation: shop-emoji-pop .8s ease .35s both;
}

.shop-cta:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .35), var(--cta-glow);
}

.shop-cta:active {
    transform: translateY(0) scale(.98);
    filter: saturate(1.1);
}

.cannamed-mobile-center-1 {
    flex: 1;
    /* text-align: center; */
}

/* Keyframes */
@keyframes shop-bounce-in {
    0% {
        transform: translateY(24px) scale(.92);
        opacity: 0;
    }
    60% {
        transform: translateY(-6px) scale(1.03);
        opacity: 1;
    }
    100% {
        transform: translateY(0) scale(1);
    }
}

@keyframes shop-bob {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px);
    }
}

@keyframes shop-emoji-pop {
    0% {
        transform: scale(0) rotate(-20deg);
    }
    70% {
        transform: scale(1.15) rotate(8deg);
    }
    100% {
        transform: scale(1) rotate(0);
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .shop-cta, .shop-emoji {
        animation: none !important;
    }
}