/* Local Fonts Setup (GDPR Compliant) */
@font-face {
    font-family: 'Pacifico';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../assets/fonts/Pacifico.woff2') format('woff2');
}

@font-face {
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 300 700;
    /* Variable Font Range */
    font-display: swap;
    src: url('../assets/fonts/Quicksand.woff2') format('woff2');
}

/* Design Tokens */
:root {
    /* Colors */
    --color-brand-pink: #F4ACB7;
    --color-brand-pink-light: #FDE2E4;
    --color-brand-pink-dark: #E5989B;
    --color-brand-brown: #3c3735;
    /* Prev: --color-brand-blue: #1D3557 */
    --color-brand-white: #FFFFFF;

    /* Semantic Colors */
    --color-background: var(--color-brand-white);
    /* Was pink-light, but App.tsx used white */
    --color-text-main: var(--color-brand-brown);
    --color-surface: var(--color-brand-white);

    /* Typography */
    --font-sans: 'Quicksand', sans-serif;
    --font-handwriting: 'Pacifico', cursive;

    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    --font-size-4xl: 2.25rem;
    --font-size-5xl: 3rem;

    /* Spacing */
    --space-2xs: 0.25rem;
    --space-xs: 0.5rem;
    --space-s: 0.75rem;
    --space-m: 1rem;
    --space-l: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;

    /* 
     * Breakpoints (Referenz-Werte für @media Queries)
     * Hinweis: CSS-Variablen können nicht direkt in @media verwendet werden.
     * Diese Werte dienen als zentrale Dokumentation.
     * 
     * --breakpoint-sm: 640px   (Mobile landscape)
     * --breakpoint-md: 768px   (Tablet)
     * --breakpoint-lg: 1024px  (Desktop)
     * --breakpoint-xl: 1280px  (Large Desktop)
     */

    /* Layout */
    --container-width: 1200px;
    /* equivalent to max-w-6xl */
    --header-height: 56px;
    /* Adjusted to match sticky nav */

    /* Radii */
    --radius-m: 0.75rem;
    /* rounded-xl */
    --radius-l: 1rem;
    /* rounded-2xl */
    --radius-xl: 1.5rem;
    /* rounded-3xl */
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --shadow-menu: 0 5px 30px 5px rgba(0, 0, 0, 0.15);

    /* Transitions */
    --transition-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    /* Bouncy like framer-motion */
    --transition-fast: 150ms ease;
    --transition-base: 300ms ease;
    --transition-slow: 500ms ease;
}

/* Dark Mode - Disabled for now to match original look perfectly as requested by user feedback */
/* 
@media (prefers-color-scheme: dark) {
    :root {
       --color-background: #0f1c2e; 
       --color-text-main: #f0f0f0;
       --color-surface: #1D3557; 
       --color-brand-blue: #dceaf7;
    }
}
*/