/**
 * Reference design tokens + global typography (testingfaredown.netlify.app).
 * Loaded after theme_style.css to override legacy Poppins / 13px defaults.
 */
:root {
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-md: 18px;
  --font-size-lg: 20px;
  --font-size-xl: 24px;
  --font-size-2xl: 32px;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.6;
  --line-height-loose: 1.75;
  --letter-spacing-tight: -0.02em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.02em;
  --space-px: 1px;
  --space-0-5: 2px;
  --space-1: 4px;
  --space-1-5: 6px;
  --space-2: 8px;
  --space-2-5: 10px;
  --space-3: 12px;
  --space-3-5: 14px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --border-radius-none: 0px;
  --border-radius-xs: 2px;
  --border-radius-sm: 4px;
  --border-radius-base: 6px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  --border-radius-xl: 16px;
  --border-radius-full: 9999px;
  --border-width-none: 0px;
  --border-width-thin: 1px;
  --border-width-base: 2px;
  --border-width-thick: 3px;
  --search-input-height-mobile: 40px;
  --search-input-height-desktop: 48px;
  --search-input-font-size: var(--font-size-sm);
  --search-input-font-weight: var(--font-weight-medium);
  --search-input-padding-horizontal: 12px;
  --search-input-padding-horizontal-mobile: 8px;
  --search-input-border-width: var(--border-width-base);
  --search-input-border-color: #0e36c9;
  --search-input-border-color-focus: #011463;
  --search-input-border-radius: var(--border-radius-sm);
  --search-input-icon-size: 16px;
  --search-input-icon-margin: 8px;
  --search-input-icon-color: #9ca3af;
  --search-input-text-color: #374151;
  --search-input-placeholder-color: #6b7280;
  --search-input-bg: #ffffff;
  --search-input-transition: border-color 0.2s ease;
  --color-primary: #0e36c9;
  --color-primary-dark: #0d2fa8;
  --color-primary-darker: #081d66;
  --color-primary-light: #e0ebfe;
  --color-gray-50: #f9fafb;
  --color-gray-100: #f3f4f6;
  --color-gray-200: #e5e7eb;
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-gray-800: #1f2937;
  --color-gray-900: #111827;
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-danger: #ef4444;
  --color-info: #0e36c9;
  --color-text-primary: #111827;
  --color-text-secondary: #6b7280;
  --color-text-tertiary: #9ca3af;
  --color-text-disabled: #d1d5db;
  --color-text-inverse: #ffffff;
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #f9fafb;
  --color-bg-tertiary: #f3f4f6;
  --color-bg-hover: #f3f4f6;
  --color-bg-focus: #f0f4ff;
  --color-border-default: #e5e7eb;
  --color-border-subtle: #f3f4f6;
  --color-border-strong: #d1d5db;
  --room-card-padding: var(--space-4);
  --room-card-gap: var(--space-3);
  --room-card-border-radius: var(--border-radius-md);
  --room-card-border-width: var(--border-width-thin);
  --room-card-border-color: var(--color-border-default);
  --room-card-title-font-size: var(--font-size-lg);
  --room-card-title-font-weight: var(--font-weight-semibold);
  --room-card-subtitle-font-size: var(--font-size-sm);
  --room-card-body-font-size: var(--font-size-sm);
  --room-card-label-font-size: var(--font-size-xs);
  --room-card-label-font-weight: var(--font-weight-medium);
  --room-card-price-font-size: var(--font-size-xl);
  --room-card-price-font-weight: var(--font-weight-bold);
  --room-card-price-color: var(--color-primary-dark);

  /* Reference bundle: global smoothing on :root + HSL tokens (shadcn / Tailwind hsl(var(--))) */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  --background: 0 0% 100%;
  --foreground: 214 31% 17%;
  --card: 0 0% 100%;
  --card-foreground: 214 31% 17%;
  --popover: 0 0% 100%;
  --popover-foreground: 214 31% 17%;
  --primary: 228 87% 42%;
  --primary-foreground: 0 0% 100%;
  --secondary: 228 87% 42%;
  --secondary-foreground: 0 0% 100%;
  --muted: 210 15% 96%;
  --muted-foreground: 214 16% 46%;
  --accent: 51 100% 50%;
  --accent-foreground: 226 98% 20%;
  --destructive: 0 75% 55%;
  --destructive-foreground: 0 0% 100%;
  --border: 214 20% 90%;
  --input: 214 20% 95%;
  --ring: 228 87% 42%;
  --radius: 1rem;
  --faredown-blue: 228 87% 42%;
  --faredown-blue-secondary: 228 87% 42%;
  --faredown-orange: 51 100% 50%;
  --faredown-orange-hover: 51 100% 45%;
  --faredown-orange-active: 51 100% 40%;
  --faredown-green: 142 70% 45%;
  --faredown-red: 0 75% 55%;
  --faredown-gray: 0 0% 85%;
  --faredown-light: 193 30% 87%;
  --price-up: 0 75% 55%;
  --price-down: 142 70% 45%;
  --price-neutral: 214 16% 46%;
  --sidebar-background: 0 0% 98%;
  --sidebar-foreground: 240 5.3% 26.1%;
  --sidebar-primary: 240 5.9% 10%;
  --sidebar-primary-foreground: 0 0% 98%;
  --sidebar-accent: 240 4.8% 95.9%;
  --sidebar-accent-foreground: 240 5.9% 10%;
  --sidebar-border: 220 13% 91%;
  --sidebar-ring: 217.2 91.2% 59.8%;
}

.dark {
  --background: 226 98% 15%;
  --foreground: 210 40% 98%;
  --card: 226 98% 12%;
  --card-foreground: 210 40% 98%;
  --popover: 226 98% 12%;
  --popover-foreground: 210 40% 98%;
  --primary: 228 87% 52%;
  --primary-foreground: 0 0% 100%;
  --secondary: 228 87% 52%;
  --secondary-foreground: 0 0% 100%;
  --muted: 226 98% 25%;
  --muted-foreground: 210 40% 75%;
  --accent: 51 100% 55%;
  --accent-foreground: 226 98% 20%;
  --destructive: 0 75% 60%;
  --destructive-foreground: 210 40% 98%;
  --border: 226 98% 22%;
  --input: 226 98% 15%;
  --ring: 228 87% 52%;
  --faredown-blue: 228 87% 52%;
  --faredown-blue-secondary: 228 87% 52%;
  --faredown-orange: 51 100% 55%;
  --faredown-orange-hover: 51 100% 50%;
  --faredown-orange-active: 51 100% 45%;
  --faredown-green: 142 70% 50%;
  --faredown-red: 0 75% 60%;
  --faredown-gray: 0 0% 85%;
  --faredown-light: 193 30% 87%;
  --sidebar-background: 240 5.9% 10%;
  --sidebar-foreground: 240 4.8% 95.9%;
  --sidebar-primary: 224.3 76.3% 48%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 240 3.7% 15.9%;
  --sidebar-accent-foreground: 240 4.8% 95.9%;
  --sidebar-border: 220 13% 20%;
  --sidebar-ring: 217.2 91.2% 59.8%;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  font-kerning: normal;
  font-variant-ligatures: contextual common-ligatures;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: var(--font-size-base) !important;
  line-height: var(--line-height-normal) !important;
  color: var(--color-text-primary) !important;
  background-color: var(--color-bg-secondary) !important;
}

html {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

/* Reference index-kme6FBCh.css: heading scale + body copy */
h1,
h2,
h3,
h4,
h5,
h6,
.heading {
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "liga" 1;
  font-kerning: normal;
  font-variant-ligatures: contextual common-ligatures;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,
.h1 {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.025em;
  font-feature-settings: "kern" 1, "liga" 1;
}

h2,
.h2 {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.025em;
  font-feature-settings: "kern" 1, "liga" 1;
}

h3,
.h3 {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.025em;
  font-feature-settings: "kern" 1, "liga" 1;
}

h4,
.h4 {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.025em;
  font-feature-settings: "kern" 1, "liga" 1;
}

@media (max-width: 768px) {
  h4,
  .h4 {
    font-size: 1.25rem;
  }
}

p,
.body-text {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.625;
  font-feature-settings: "kern" 1, "liga" 1;
}

@media (max-width: 768px) {
  p,
  .body-text {
    font-size: 1rem;
  }
}

.menu-item {
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  padding: 16px 20px;
  gap: 16px;
  display: flex;
  align-items: center;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  transition: all 0.2s ease;
}

.menu-item svg {
  flex-shrink: 0;
  stroke-width: 1.5;
  shape-rendering: geometricPrecision;
}

/* 16px inputs: match reference + reduce iOS zoom-on-focus */
input,
textarea,
select {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
textarea {
  font-size: 16px;
  line-height: 1.5;
}

::-webkit-scrollbar {
  height: 0.5rem;
  width: 0.5rem;
}

::-webkit-scrollbar-track {
  border-radius: 9999px;
  background-color: #f9fafb;
}

::-webkit-scrollbar-thumb {
  border-radius: 9999px;
  background-color: #d1d5db;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #9ca3af;
}

::selection {
  background-color: #dbeafe;
  color: #1e3a8a;
}

::-moz-selection {
  background-color: #dbeafe;
  color: #1e3a8a;
}
