/* Faith & Fire Creations - Fantasy Typography Upgrade */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&family=Cinzel+Decorative:wght@700;900&family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    --font-fantasy-display: "Cinzel Decorative", "Cinzel", Georgia, serif;
    --font-fantasy-heading: "Cinzel", Georgia, serif;
    --font-storybook: "Cormorant Garamond", Georgia, serif;
    --font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Global Readability */
body {
    font-family: var(--font-body) !important;
    font-size: 16px;
    line-height: 1.7;
}

/* Fantasy Headings */
h1,
.hero h1,
.hero-section h1,
.page-hero h1,
.fantasy-heading,
.guild-title,
.adventure-pack-title {
    font-family: var(--font-fantasy-display) !important;
    letter-spacing: 0.015em;
    line-height: 1.05;
    text-transform: none;
}

/* Section Headings */
h2,
h3,
.storybook-heading,
.section-title {
    font-family: var(--font-fantasy-heading) !important;
    letter-spacing: 0.02em;
    line-height: 1.15;
}

/* Product Titles */
.product-title,
.product-card h3,
.collection-card h3 {
    font-family: var(--font-fantasy-heading) !important;
    font-weight: 700;
    letter-spacing: 0.015em;
}

/* Lore + Story Sections */
.lore-text,
.lore-card p,
.story-card p,
.our-story p {
    font-family: var(--font-storybook) !important;
    font-size: 1.15rem;
    line-height: 1.8;
}

/* Body Copy */
p,
.body-copy,
.product-description,
.cart-item,
.checkout-page,
.faq-page,
.policy-page,
input,
textarea,
select {
    font-family: var(--font-body);
}

/* Navigation */
.nav-link,
nav a,
.navbar a,
.site-header a {
    font-family: var(--font-fantasy-heading) !important;
    font-weight: 700;
    letter-spacing: 0.035em;
}

/* Buttons */
button,
.btn,
.button,
.cta-button,
.quick-add-button {
    font-family: var(--font-fantasy-heading) !important;
    font-weight: 800;
    letter-spacing: 0.04em;
}

/* Small Badges */
.badge,
.tag,
.trust-badge {
    font-family: var(--font-fantasy-heading) !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.78rem;
}

/* Mobile Font Control */
@media (max-width: 768px) {
    h1,
    .hero h1,
    .hero-section h1,
    .page-hero h1 {
        font-size: clamp(2.4rem, 11vw, 4rem);
        letter-spacing: 0.005em;
    }

    h2 {
        font-size: clamp(1.9rem, 8vw, 3rem);
    }

    .lore-text,
    .lore-card p,
    .story-card p {
        font-size: 1.05rem;
    }

    .nav-link,
    nav a,
    .navbar a,
    .site-header a {
        letter-spacing: 0.02em;
    }
}