/* Clean minimal background */
.premium-bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(180deg, #101114 0%, #0c0d0f 100%);
}

.premium-bg-base,
.premium-bg-grid,
.premium-bg-grid-fine,
.premium-bg-vignette {
    display: none;
}

body {
    background: #0c0d0f !important;
}

/* ── Hero entrance (CSS only) ── */
@keyframes landing-fade-up {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes landing-highlight-shift {
    to {
        background-position: 200% center;
    }
}

@keyframes landing-logo-float {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-6px);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .landing-header {
        animation: landing-fade-up 0.55s ease both;
    }

    .hero-badge-wrap {
        animation: landing-fade-up 0.6s ease 0.1s both;
    }

    .hero-title {
        animation: landing-fade-up 0.65s ease 0.18s both;
    }

    .hero-subtitle {
        animation: landing-fade-up 0.6s ease 0.28s both;
    }

    .hero-section .hero-cta {
        animation: landing-fade-up 0.55s ease 0.36s both;
    }

    .hero-dots .hero-dot:nth-child(1) { animation: landing-fade-up 0.4s ease 0.42s both; }
    .hero-dots .hero-dot:nth-child(2) { animation: landing-fade-up 0.4s ease 0.5s both; }
    .hero-dots .hero-dot:nth-child(3) { animation: landing-fade-up 0.4s ease 0.58s both; }
    .hero-dots .hero-dot:nth-child(4) { animation: landing-fade-up 0.4s ease 0.66s both; }
    .hero-dots .hero-dot:nth-child(5) { animation: landing-fade-up 0.4s ease 0.74s both; }

    .hero-title .highlight {
        animation: landing-highlight-shift 4s linear 1.2s infinite;
    }

    .hero-badge-logo {
        animation: landing-logo-float 2.4s ease-in-out 1.5s infinite alternate;
    }
}

.hero-title .highlight {
    display: inline-block;
    background-size: 200% auto;
}

/* ── Scroll reveal ── */
.fade-in-up,
.fade-in-left,
.fade-in-right,
.scale-in,
#funcionalidades .section-card.card-modern,
#pricing .pricing-plan-card.card-modern,
.tool-card-wrapper {
    opacity: 0;
    transition:
        opacity 0.55s ease,
        transform 0.55s ease;
    will-change: opacity, transform;
}

.fade-in-up,
#funcionalidades .section-card.card-modern,
#pricing .pricing-plan-card.card-modern,
.tool-card-wrapper {
    transform: translateY(24px);
}

.fade-in-left {
    transform: translateX(-24px);
}

.fade-in-right {
    transform: translateX(24px);
}

.scale-in {
    transform: scale(0.96);
}

.fade-in-up.is-visible,
.fade-in-left.is-visible,
.fade-in-right.is-visible,
.scale-in.is-visible,
#funcionalidades .section-card.card-modern.is-visible,
#pricing .pricing-plan-card.card-modern.is-visible,
.tool-card-wrapper.is-visible {
    opacity: 1;
    transform: none;
}

.section-card.is-revealed .card-list li {
    animation: landing-list-in 0.35s ease both;
}

.section-card.is-revealed .card-list li:nth-child(1) { animation-delay: 0.04s; }
.section-card.is-revealed .card-list li:nth-child(2) { animation-delay: 0.08s; }
.section-card.is-revealed .card-list li:nth-child(3) { animation-delay: 0.12s; }
.section-card.is-revealed .card-list li:nth-child(4) { animation-delay: 0.16s; }
.section-card.is-revealed .card-list li:nth-child(5) { animation-delay: 0.2s; }

@keyframes landing-list-in {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Header scroll state */
.landing-header.is-scrolled {
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

@media (prefers-reduced-motion: reduce) {
    .landing-header,
    .hero-badge-wrap,
    .hero-title,
    .hero-subtitle,
    .hero-section .hero-cta,
    .hero-dots .hero-dot,
    .hero-title .highlight,
    .hero-badge-logo {
        animation: none !important;
    }

    .fade-in-up,
    .fade-in-left,
    .fade-in-right,
    .scale-in,
    #funcionalidades .section-card.card-modern,
    #pricing .pricing-plan-card.card-modern,
    .tool-card-wrapper {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .card-modern:hover,
    .card-modern.is-hover,
    .card-modern:hover .card-modern-inner,
    .card-modern.is-hover .card-modern-inner {
        transform: none !important;
    }
}

/* ─── Modern cards (desktop) ─── */
.card-modern {
    --accent-rgb: 34, 197, 94;
    --spot-x: 50%;
    --spot-y: 50%;
}

.card-modern[data-accent="green"]  { --accent-rgb: 34, 197, 94; }
.card-modern[data-accent="purple"] { --accent-rgb: 147, 51, 234; }
.card-modern[data-accent="blue"]   { --accent-rgb: 59, 130, 246; }
.card-modern[data-accent="amber"]  { --accent-rgb: 234, 179, 8; }
.card-modern[data-accent="pink"]   { --accent-rgb: 236, 72, 153; }
.card-modern[data-accent="indigo"] { --accent-rgb: 99, 102, 241; }

#channels-showcase {
    background: transparent;
}

#pricing {
    background: transparent;
}

#pricing .pricing-plan-card {
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

@media (min-width: 1024px) {
    .cards-grid,
    #features .grid,
    #como-funciona .grid,
    #pricing .grid {
        perspective: 1400px;
    }

    .card-modern.section-card,
    .card-modern.feature-card,
    .card-modern.tool-card,
    .card-modern.pricing-plan-card {
        position: relative;
        transform-style: preserve-3d;
        border-radius: 24px;
        overflow: hidden;
        isolation: isolate;
        transition: box-shadow 0.35s ease, border-color 0.35s ease;
    }

    .card-modern.section-card {
        padding: 0;
        background: transparent;
        border: none;
        box-shadow: none;
    }

    .card-modern-inner {
        position: relative;
        z-index: 1;
        padding: 2rem 2.25rem;
        border-radius: 24px;
        background:
            linear-gradient(155deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.02) 38%, rgba(0, 0, 0, 0.35) 100%);
        border: 1px solid rgba(255, 255, 255, 0.09);
        box-shadow:
            0 0 0 1px rgba(255, 255, 255, 0.03) inset,
            0 20px 50px rgba(0, 0, 0, 0.45),
            0 0 0 rgba(var(--accent-rgb), 0);
        backdrop-filter: blur(24px) saturate(160%);
        -webkit-backdrop-filter: blur(24px) saturate(160%);
        transform: translateZ(0);
        transition: transform 0.25s ease, border-color 0.35s ease, box-shadow 0.35s ease;
    }

    .card-modern::before {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: inherit;
        padding: 1px;
        background: linear-gradient(
            135deg,
            rgba(var(--accent-rgb), 0.55),
            rgba(255, 255, 255, 0.08) 40%,
            rgba(var(--accent-rgb), 0.25) 100%
        );
        background-size: 220% 220%;
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        opacity: 0.35;
        transition: opacity 0.35s ease;
        pointer-events: none;
        z-index: 2;
    }

    .card-modern::after {
        content: '';
        position: absolute;
        width: 320px;
        height: 320px;
        left: var(--spot-x);
        top: var(--spot-y);
        transform: translate(-50%, -50%);
        background: radial-gradient(circle, rgba(var(--accent-rgb), 0.22) 0%, transparent 68%);
        opacity: 0;
        transition: opacity 0.3s ease;
        pointer-events: none;
        z-index: 0;
    }

    .card-modern.is-hover::after,
    .card-modern:hover::after {
        opacity: 1;
    }

    .card-modern.is-hover::before,
    .card-modern:hover::before {
        opacity: 1;
        animation: cardBorderShift 3s ease infinite;
    }

    .card-modern.is-hover .card-modern-inner,
    .card-modern:hover .card-modern-inner {
        transform: translateY(-4px) translateZ(0);
        border-color: rgba(var(--accent-rgb), 0.35);
        box-shadow:
            0 0 0 1px rgba(var(--accent-rgb), 0.12) inset,
            0 28px 60px rgba(0, 0, 0, 0.55),
            0 0 48px rgba(var(--accent-rgb), 0.18);
    }

    @keyframes cardBorderShift {
        0%, 100% { background-position: 0% 50%; }
        50% { background-position: 100% 50%; }
    }

    .card-icon {
        position: relative;
        flex-shrink: 0;
        border: 1px solid rgba(var(--accent-rgb), 0.25);
        box-shadow: 0 0 24px rgba(var(--accent-rgb), 0.12);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .card-modern.is-hover .card-icon,
    .card-modern:hover .card-icon {
        transform: scale(1.06) translateZ(12px);
        box-shadow: 0 0 32px rgba(var(--accent-rgb), 0.28);
    }

    .card-list li {
        opacity: 0.85;
        transform: translateX(0);
        transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .card-modern.is-hover .card-list li,
    .card-modern:hover .card-list li {
        opacity: 1;
    }

    .card-modern.feature-card {
        min-height: 420px;
        border: 1px solid rgba(255, 255, 255, 0.1);
        background: rgba(0, 0, 0, 0.4);
        box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
    }

    .card-modern.feature-card::before {
        z-index: 3;
    }

    .card-modern.feature-card video {
        transition: transform 0.5s ease, filter 0.4s ease;
    }

    .card-modern.feature-card.is-hover video,
    .card-modern.feature-card:hover video {
        transform: scale(1.06);
        filter: brightness(1);
    }

    .card-modern.tool-card {
        border-radius: 20px;
        border: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    }

    .card-modern.tool-card::before {
        border-radius: 20px;
    }

    .tool-card-wrapper {
        width: 300px;
    }

    .card-modern.pricing-plan-card {
        transform-style: preserve-3d;
    }

    .card-modern.pricing-plan-card.is-hover,
    .card-modern.pricing-plan-card:hover {
        box-shadow:
            0 24px 60px rgba(0, 0, 0, 0.55),
            0 0 40px rgba(34, 197, 94, 0.2) !important;
    }

    .section-card.card-modern:hover,
    .feature-card.card-modern:hover,
    .tool-card.card-modern:hover,
    .pricing-card.card-modern:hover {
        transform: none;
    }

    #como-funciona .card-modern .card-modern-inner {
        text-align: center;
    }

    #como-funciona .card-modern .w-20 {
        transition: transform 0.4s ease, box-shadow 0.4s ease;
    }

    #como-funciona .card-modern.is-hover .w-20,
    #como-funciona .card-modern:hover .w-20 {
        transform: scale(1.08) translateZ(20px);
        box-shadow: 0 0 40px rgba(var(--accent-rgb), 0.35);
    }
}
