/* =============================================
   VARIABLES.CSS
   Global Design System for Her Digital Playbook
   Palette + type matched to the official brand reference:
   hot pink, blush, cream, Anton display caps, Caveat script.
   ============================================= */

:root {
    /* =============================================
       1. BRAND COLORS
       ============================================= */

    /* Primary Pinks */
    --color-soft-pink: #fdeef2;
    --color-blush-pink: #fbe0e8;
    --color-baby-pink: #f6c9d6;
    --color-rose-pink: #ec5c82;
    --color-pink-light: #fff5f8;

    /* Hot Pink Accent (buttons, links, badges, active states) */
    --color-accent: #ec5c82;
    --color-accent-dark: #d43e68;

    /* Warm Neutrals — pink-tinted rather than stark white/cream, for an all-pink feel */
    --color-cream: #fdeef2;
    --color-warm-white: #fff5f8;
    --color-pure-white: #ffffff; /* reserved for button/icon foreground text only */
    --color-beige: #f3e3cf;

    /* Gold Accent (used sparingly — small flourishes only) */
    --color-gold: #c9a253;
    --color-gold-light: #e3c37e;
    --color-gold-dark: #a9823a;

    /* Text Colors */
    --color-text-primary: #241219;      /* Near-black warm ink */
    --color-text-secondary: #7a626a;    /* Muted rose-brown */
    --color-text-muted: #8f7a80;
    --color-text-light: #ad939a;

    /* Border Colors */
    --color-border-light: #f4dce3;
    --color-border-medium: #e9b9c8;

    /* Functional Colors */
    --color-success: #4caf50;
    --color-warning: #f2b84b;
    --color-error: #e57373;

    /* =============================================
       2. GRADIENTS
       ============================================= */

    --gradient-hero: linear-gradient(135deg, #fdeef2 0%, #fbe0e8 50%, #fff8f2 100%);
    --gradient-splash: radial-gradient(circle at 30% 20%, #fddbe4 0%, #f6a9c0 45%, #ec5c82 100%);
    --gradient-soft: linear-gradient(145deg, #fffdf9, #fdeef2);
    --gradient-gold: linear-gradient(135deg, #ec5c82, #d43e68); /* name kept for compatibility — now the hot-pink CTA gradient */
    --gradient-pink-gold: linear-gradient(135deg, #fbe0e8, #ec5c82, #c9a253);
    --gradient-warm: linear-gradient(145deg, #fff8f2, #f3e3cf);

    /* =============================================
       3. TYPOGRAPHY
       ============================================= */

    /* Font Families */
    --font-body: 'Plus Jakarta Sans', sans-serif;
    --font-heading: 'Plus Jakarta Sans', sans-serif;   /* bold sans for card/article titles */
    --font-display: 'Anton', sans-serif;                /* big condensed caps — hero headline, splash, logo mark */
    --font-script: 'Caveat', cursive;                   /* pink handwritten accents — "Hey girl,", "Elevate.", section titles */

    /* Heading Sizes (clamp for responsiveness) */
    --h1-size: clamp(2.8rem, 5.5vw, 4.8rem);
    --h2-size: clamp(2.2rem, 4vw, 3.5rem);
    --h3-size: clamp(1.6rem, 3vw, 2.4rem);
    --h4-size: clamp(1.3rem, 2.2vw, 1.8rem);
    --h5-size: clamp(1.1rem, 1.8vw, 1.4rem);
    --h6-size: clamp(0.9rem, 1.2vw, 1.1rem);

    /* Hero Heading */
    --hero-heading-size: clamp(3rem, 7vw, 5.2rem);

    /* Paragraph & Body Sizes */
    --body-size: 1rem;
    --body-large: 1.125rem;
    --body-small: 0.875rem;
    --body-xsmall: 0.75rem;

    /* Font Weights */
    --weight-light: 300;
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
    --weight-extrabold: 800;

    /* Letter Spacing */
    --letter-spacing-tight: -0.02em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: 0.05em;
    --letter-spacing-wider: 0.1em;

    /* Line Heights */
    --line-height-tight: 1.1;
    --line-height-normal: 1.6;
    --line-height-loose: 2;

    /* =============================================
       4. SPACING SCALE
       ============================================= */

    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 2rem;
    --spacing-xl: 4rem;
    --spacing-2xl: 6rem;
    --spacing-3xl: 8rem;

    /* =============================================
       5. BORDER RADIUS
       ============================================= */

    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-xl: 32px;
    --radius-pill: 50px;
    --radius-circle: 50%;

    /* =============================================
       6. SHADOWS
       ============================================= */

    --shadow-soft: 0 8px 24px rgba(233, 90, 130, 0.10);
    --shadow-medium: 0 12px 40px rgba(233, 90, 130, 0.16);
    --shadow-large: 0 20px 60px rgba(233, 90, 130, 0.22);
    --shadow-xl: 0 30px 80px rgba(233, 90, 130, 0.28);
    --shadow-glow: 0 0 30px rgba(236, 92, 130, 0.35);

    /* =============================================
       7. TRANSITION VARIABLES
       ============================================= */

    --transition-fast: 0.2s ease;
    --transition-base: 0.3s ease;
    --transition-slow: 0.5s ease;
    --transition-extra-slow: 0.8s ease;
    --transition-bounce: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);

    /* =============================================
       8. ANIMATION DURATION VARIABLES
       ============================================= */

    --duration-fast: 0.3s;
    --duration-base: 0.6s;
    --duration-slow: 1s;
    --duration-extra-slow: 2s;

    /* =============================================
       9. Z-INDEX VARIABLES
       ============================================= */

    --z-backdrop: 0;
    --z-content: 10;
    --z-header: 100;
    --z-overlay: 500;
    --z-modal: 1000;
    --z-splash: 9999;

    /* =============================================
       10. CONTAINER WIDTHS
       ============================================= */

    --container-max: 1280px;
    --container-padding: 1.5rem;

    /* =============================================
       11. HEADER HEIGHT
       ============================================= */

    --header-height: 76px;

    /* =============================================
       12. FOOTER SPACING
       ============================================= */

    --footer-padding-top: var(--spacing-2xl);
    --footer-padding-bottom: var(--spacing-md);
    --footer-inner-gap: var(--spacing-xl);

    /* =============================================
       13. CARD PADDING
       ============================================= */

    --card-padding: var(--spacing-lg);
    --card-img-aspect-ratio: 4 / 3;

    /* =============================================
       14. BUTTON HEIGHTS
       ============================================= */

    --btn-height: 48px;
    --btn-height-small: 40px;
    --btn-height-large: 56px;

    /* =============================================
       15. IMAGE BORDER RADIUS
       ============================================= */

    --image-radius: var(--radius-lg);

    /* =============================================
       16. GLASSMORPHISM VARIABLES
       ============================================= */

    --glass-bg: rgba(253, 235, 240, 0.75);
    --glass-border: rgba(236, 92, 130, 0.16);
    --glass-blur: blur(14px);
    --glass-shadow: 0 8px 32px rgba(233, 90, 130, 0.08);

    /* =============================================
       17. RESPONSIVE BREAKPOINT VARIABLES
       ============================================= */

    --breakpoint-mobile-small: 480px;
    --breakpoint-mobile: 768px;
    --breakpoint-tablet: 1024px;
    --breakpoint-laptop: 1280px;
      }
