@import "@fontsource/playfair-display/400.css";
@import "@fontsource/playfair-display/500.css";
@import "@fontsource/playfair-display/600.css";
@import "@fontsource/playfair-display/700.css";
@import "@fontsource/outfit/300.css";
@import "@fontsource/outfit/400.css";
@import "@fontsource/outfit/500.css";
@import "@fontsource/outfit/600.css";

@tailwind base;
@tailwind components;
@tailwind utilities;

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Outfit", system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #FAFAF7;
    color: #2C2420;
}

::selection {
    background: #9A3B30;
    color: #FAFAF7;
}

.font-serif-display {
    font-family: "Playfair Display", Georgia, serif;
}

.font-sans-body {
    font-family: "Outfit", system-ui, sans-serif;
}

/* Subtle warm grain texture */
.grain-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.17 0 0 0 0 0.14 0 0 0 0 0.13 0 0 0 0.18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    opacity: 0.35;
    mix-blend-mode: multiply;
}

@layer base {
    :root {
        --background: 48 30% 97%;
        --foreground: 18 18% 15%;
        --card: 0 0% 100%;
        --card-foreground: 18 18% 15%;
        --popover: 0 0% 100%;
        --popover-foreground: 18 18% 15%;
        --primary: 8 53% 40%;
        --primary-foreground: 48 30% 97%;
        --secondary: 36 25% 93%;
        --secondary-foreground: 18 18% 15%;
        --muted: 36 20% 92%;
        --muted-foreground: 22 8% 50%;
        --accent: 30 65% 54%;
        --accent-foreground: 18 18% 15%;
        --destructive: 0 70% 50%;
        --destructive-foreground: 48 30% 97%;
        --border: 32 22% 88%;
        --input: 32 22% 88%;
        --ring: 8 53% 40%;
        --radius: 1rem;
    }
}

@layer base {
    * {
        @apply border-border;
    }
    body {
        @apply bg-background text-foreground;
    }
    h1, h2, h3, h4 {
        font-family: "Playfair Display", Georgia, serif;
        letter-spacing: -0.01em;
    }
}

/* Floating button gentle pulse */
@keyframes softPulse {
    0%, 100% { box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35); }
    50% { box-shadow: 0 12px 36px rgba(37, 211, 102, 0.55); }
}
.pulse-wa {
    animation: softPulse 2.4s ease-in-out infinite;
}

/* Marquee for trust bar */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.marquee-track {
    animation: marquee 28s linear infinite;
}
