/* ============================================
   TRIPFLORIC DESIGN SYSTEM — CSS Variables
   Premium Travel Booking Platform
   ============================================ */

:root {
   /* -------- Color Palette (Premium Travel: Royal Blue + White) -------- */
   --primary: #0054A6;
   --primary-hover: #004488;
   --primary-light: #E8F0FA;

   /* Darker brand blue, used as the far end of CTA gradients and for dark
     brand panels (auth screens, hero overlays). */
   --primary-dark: #003D7A;

   /* Light blue tint for accents that sit ON dark surfaces — hero headline
     highlights, branded panels — where --primary would be unreadable. */
   --brand-tint: #60A5FA;

   /* Aliases — listing/search bar legacy names map to the same brand */
   --search-btn: #0054A6;
   --search-btn-hover: #004488;
   --bk-teal: #0054A6;
   --bk-blue: #0054A6;
   --bk-blue-light: #E8F0FA;
   --bk-border: #E2E8F0;
   --bk-text: #111827;
   --bk-text-sec: #475569;
   /* Dropdown footers (calendar summary bar). Both tokens were referenced by
     shared-search-bar.css but never defined, so colour fell back to inherit —
     which made the panels' white text invisible on the dark events hero. */
   --bk-gray-bg: #F8FAFC;

   --topbar-bg: #0054A6;

   --secondary: #0F172A;
   --secondary-hover: #1E293B;
   --secondary-light: #E2E8F0;

   --success: #16A34A;
   --success-light: #DCFCE7;
   --warning: #F59E0B;
   --warning-light: #FEF3C7;
   --rating-star: #F59E0B;
   --danger: #DC2626;
   --danger-light: #FEE2E2;
   --discount-ribbon: #DC2626;
   --info: #0EA5E9;
   --info-light: #E0F2FE;

   /* -------- Neutral Colors -------- */
   --bg-primary: #F8FAFC;
   --bg-secondary: #F1F5F9;
   --bg-card: #FFFFFF;

   --text-primary: #111827;
   --text-secondary: #475569;
   --text-tertiary: #64748B;
   --text-light: #FFFFFF;

   /* -------- Footer -------- */
   --footer-mailchimp-bg: #F1F5F9;
   --footer-heading: #0F172A;

   --border-light: #E2E8F0;
   --border-medium: #CBD5E1;

   /* -------- Shadows -------- */
   --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.05);
   --shadow-sm: 0 2px 4px rgba(15, 23, 42, 0.04);
   --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.06), 0 2px 4px rgba(15, 23, 42, 0.04);
   --shadow-lg: 0 15px 40px rgba(15, 23, 42, 0.08), 0 4px 12px rgba(15, 23, 42, 0.05);
   --shadow-xl: 0 25px 50px rgba(15, 23, 42, 0.12), 0 10px 20px rgba(15, 23, 42, 0.06);
   --shadow-2xl: 0 40px 80px rgba(15, 23, 42, 0.18);
   --shadow-inner: inset 0 2px 4px rgba(15, 23, 42, 0.05);
   --shadow-glow: 0 0 30px rgba(14, 165, 233, 0.2);

   /* -------- Typography — Plus Jakarta Sans (premium travel/SaaS) -------- */
   --font-primary: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
   --font-secondary: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
   /* Script accent used by Hotels / Tours / Events / Vacation Rentals heroes */
   --font-script: 'Dancing Script', 'Caveat', cursive;

   --text-xs: 0.75rem;
   --text-sm: 0.875rem;
   --text-base: 1rem;
   --text-lg: 1.125rem;
   --text-xl: 1.25rem;
   --text-2xl: 1.5rem;
   --text-3xl: 1.875rem;
   --text-4xl: 2.25rem;
   --text-5xl: 3rem;
   --text-6xl: 3.75rem;
   --text-7xl: 4.5rem;

   --font-normal: 400;
   --font-medium: 500;
   --font-semibold: 600;
   --font-bold: 700;
   --font-extrabold: 800;

   --leading-tight: 1.15;
   --leading-snug: 1.3;
   --leading-normal: 1.5;
   --leading-relaxed: 1.625;
   --leading-loose: 2;

   --tracking-tight: -0.025em;
   --tracking-normal: 0;
   --tracking-wide: 0.025em;
   --tracking-wider: 0.05em;

   /* -------- Spacing (8px system) -------- */
   --space-1: 0.25rem;
   --space-2: 0.5rem;
   --space-3: 0.75rem;
   --space-4: 1rem;
   --space-5: 1.25rem;
   --space-6: 1.5rem;
   --space-8: 2rem;
   --space-10: 2.5rem;
   --space-12: 3rem;
   --space-14: 3.5rem;
   --space-16: 4rem;
   --space-20: 5rem;
   --space-24: 6rem;
   --space-28: 7rem;
   --space-32: 8rem;

   /* -------- Border Radius -------- */
   --radius-sm: 8px;
   --radius-md: 12px;
   --radius-lg: 16px;
   --radius-xl: 20px;
   --radius-2xl: 24px;
   --radius-3xl: 32px;
   --radius-full: 9999px;

   /* -------- Transitions -------- */
   --transition-fast: 150ms ease;
   --transition-base: 250ms ease;
   --transition-slow: 350ms ease;
   --transition-spring: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

   /* -------- Z-Index -------- */
   --z-dropdown: 100;
   --z-sticky: 200;
   --z-navbar: 300;
   --z-overlay: 400;
   --z-modal: 500;
   --z-toast: 600;

   /* -------- Container -------- */
   --container-max: 1400px;
   --container-narrow: 960px;
   --container-wide: 1520px;

   /* -------- Header -------- */
   --header-height: 80px;
   --header-height-mobile: 64px;
   --header-height-topbar: 36px;
}