:root {
    --cwc-purple: #7C3AED;
    --cwc-green: #16A34A;
    --cwc-blue: #2563EB;
    --cwc-dark: #0F172A;
    --cwc-dark-soft: #1E293B;
    --cwc-accent: #7C3AED;
}

body {
    font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--cwc-dark);
    background-color: #F8FAFC;
}

h1, h2, h3, h4, h5, .navbar-brand { font-weight: 800; letter-spacing: -0.02em; }

/* Navbar */
.cwc-navbar { background: var(--cwc-dark); }
.cwc-navbar .nav-link { color: rgba(255,255,255,.8); font-weight: 500; }
.cwc-navbar .nav-link:hover { color: #fff; }
.text-accent { color: #A78BFA; }

.btn-accent {
    background: linear-gradient(135deg, var(--cwc-purple), var(--cwc-blue));
    color: #fff;
    border: none;
    font-weight: 600;
}
.btn-accent:hover { color: #fff; opacity: .92; }

/* Hero */
.cwc-hero {
    background: radial-gradient(circle at top right, #1E293B, var(--cwc-dark) 60%);
    color: #fff;
    padding: 6rem 0 5rem;
}
.cwc-hero .lead { color: rgba(255,255,255,.75); }
.cwc-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: rgba(124, 58, 237, .15);
    border: 1px solid rgba(124, 58, 237, .4);
    color: #C4B5FD;
    padding: .4rem 1rem;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
}

/* Product cards */
.product-card {
    border: 1px solid #E2E8F0;
    border-radius: 1rem;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
    height: 100%;
}
.product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 35px -15px rgba(15, 23, 42, .18);
}
.product-card.featured { border: 2px solid var(--cwc-blue); position: relative; }
.product-card .card-icon {
    width: 56px; height: 56px;
    display: flex; align-items: center; justify-content: center;
    border-radius: .9rem;
    font-size: 1.5rem;
    color: #fff;
}
.icon-purple { background: linear-gradient(135deg,#7C3AED,#A78BFA); }
.icon-green { background: linear-gradient(135deg,#16A34A,#4ADE80); }
.icon-blue { background: linear-gradient(135deg,#2563EB,#60A5FA); }

.badge-featured {
    position: absolute; top: -14px; right: 1.5rem;
    background: var(--cwc-blue); color: #fff;
    padding: .35rem .9rem; border-radius: 999px; font-size: .78rem; font-weight: 700;
}

.price-tag { font-size: 2.2rem; font-weight: 800; }
.price-sub { color: #64748B; font-size: .95rem; }

.feature-check { color: var(--cwc-green); margin-right: .5rem; }

/* Footer */
.cwc-footer { background: var(--cwc-dark); }
.footer-link { color: rgba(255,255,255,.65); text-decoration: none; }
.footer-link:hover { color: #fff; }

/* Dashboard */
.stat-card { border-radius: 1rem; border: 1px solid #E2E8F0; background: #fff; }

.section-title { font-weight: 800; letter-spacing: -.02em; }
.section-eyebrow { color: var(--cwc-purple); font-weight: 700; text-transform: uppercase; font-size: .8rem; letter-spacing: .08em; }
