/* ============================================================
   landing.css — Overrides für cakebot.ai Landing Page
   Ergänzt Tailwind CDN, ersetzt es nicht.
   ============================================================ */

/* ── 1. Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;800&family=Inter:wght@400;500;600&display=swap');

/* ── 2. Font Override: serif → Playfair Display ── */
.font-serif,
h1, h2, h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
}

body {
    font-family: 'Inter', system-ui, sans-serif;
}

/* ── 3. Section Spacing ── */
section {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

/* ── 4. Hero ── */
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: hsl(40 80% 96%);
    border: 1px solid hsl(30 60% 85%);
    border-radius: 999px;
    padding: 0.3rem 0.9rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: hsl(30 70% 40%);
    margin-bottom: 1.25rem;
}

/* Floating Badges im Hero-Bild */
.hero-float-badge {
    position: absolute;
    background: white;
    border-radius: 1rem;
    padding: 0.6rem 1rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: hsl(20 10% 15%);
}

/* ── 5. Karten ── */
.card-elevated {
    background: white;
    border-radius: 1.25rem;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07);
    border: 1px solid hsl(30 20% 90%);
    padding: 1.75rem;
    transition: box-shadow 0.2s ease;
}

.card-elevated:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,0.11);
}

/* ── 6. Pricing Cards ── */
.pricing-card {
    background: white;
    border-radius: 1.25rem;
    border: 1px solid hsl(30 20% 88%);
    padding: 2rem;
    transition: box-shadow 0.2s ease;
}

.pricing-card.featured {
    background: hsl(20 10% 13%);
    color: white;
    border-color: transparent;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18);
    transform: translateY(-8px);
}

.pricing-card.featured .text-muted-foreground {
    color: hsl(30 15% 65%) !important;
}

/* ── 7. How-It-Works Steps ── */
.step-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 0.875rem;
    background: hsl(40 80% 96%);
    border: 1px solid hsl(30 60% 85%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    margin-bottom: 1rem;
    flex-shrink: 0;
}

/* ── 8. FAQ Accordion ── */
.faq-item {
    border-bottom: 1px solid hsl(30 20% 88%);
}

.faq-question {
    width: 100%;
    text-align: left;
    padding: 1.1rem 0;
    font-weight: 600;
    font-size: 0.95rem;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: hsl(20 10% 15%);
    transition: color 0.15s;
}

.faq-question:hover {
    color: hsl(30 80% 45%);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    font-size: 0.9rem;
    color: hsl(20 8% 50%);
    line-height: 1.7;
}

.faq-answer.open {
    max-height: 300px;
    padding-bottom: 1rem;
}

.faq-chevron {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.faq-chevron.open {
    transform: rotate(180deg);
}

/* ── 9. CTA Banner ── */
.cta-banner {
    background: hsl(20 10% 13%);
    border-radius: 1.5rem;
    padding: 3.5rem 2rem;
    text-align: center;
    color: white;
}

.cta-banner h2 {
    color: white;
}

/* ── 10. Footer ── */
footer {
    border-top: 1px solid hsl(30 20% 88%);
    padding-top: 3rem;
    padding-bottom: 2rem;
    font-size: 0.875rem;
    color: hsl(20 8% 50%);
}

/* ── 11. Buttons ── */
.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: hsl(30 80% 45%);
    color: white;
    border-radius: 999px;
    padding: 0.7rem 1.5rem;
    font-weight: 600;
    font-size: 0.9rem;
    transition: background 0.2s ease, transform 0.15s ease;
    text-decoration: none;
}

.btn-primary:hover {
    background: hsl(30 80% 40%);
    transform: translateY(-1px);
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: transparent;
    color: hsl(20 10% 15%);
    border: 1px solid hsl(30 20% 80%);
    border-radius: 999px;
    padding: 0.7rem 1.5rem;
    font-weight: 600;
    font-size: 0.9rem;
    transition: background 0.2s ease;
    text-decoration: none;
}

.btn-outline:hover {
    background: hsl(30 15% 94%);
}

/* ── 12. Responsive ── */
@media (max-width: 768px) {
    section {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .pricing-card.featured {
        transform: none;
    }

    .hero-float-badge {
        display: none;
    }

    .cta-banner {
        padding: 2.5rem 1.25rem;
    }
}

