/* Design tokens + utility classes required by the ported booking system.
   Names are namespaced (blue/teal/gray) so they don't collide with Blue Bay's
   own tokens. Loaded only on booking pages. */
:root {
  --color-blue-50: #eff6ff;
  --color-blue-100: #dbeafe;
  --color-blue-400: #60a5fa;
  --color-blue-600: #2563eb;
  --color-blue-700: #1d4ed8;
  --color-teal-50: #f0fdfa;
  --color-teal-500: #14b8a6;
  --color-teal-600: #0d9488;

  --color-white: #ffffff;
  --color-gray-50: #f9fafb;
  --color-gray-100: #f3f4f6;
  --color-gray-200: #e5e7eb;
  --color-gray-400: #9ca3af;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-gray-800: #1f2937;
  --color-gray-900: #111827;

  --color-green-500: #22c55e;
  --color-green-600: #16a34a;

  --gradient-primary: linear-gradient(120deg, #4D6BFF 0%, #2F49D6 100%);
  --gradient-primary-hover: linear-gradient(120deg, #3B5BF5 0%, #2438B0 100%);
  --gradient-bg-light: linear-gradient(to bottom right, var(--color-blue-50), var(--color-teal-50));

  --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;
  --font-size-7xl: 4.5rem;

  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;
  --spacing-24: 6rem;

  --max-width: 80rem;
  --max-width-narrow: 64rem;
  --border-radius: 0.75rem;
  --border-radius-full: 9999px;

  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);

  --transition-fast: 150ms ease;
  --transition-base: 300ms ease;
  --transition-slow: 500ms ease;
}

.container {
  width: 100%;
  max-width: var(--max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--spacing-4);
  padding-right: var(--spacing-4);
}
@media (min-width: 640px) {
  .container { padding-left: var(--spacing-6); padding-right: var(--spacing-6); }
}
@media (min-width: 1024px) {
  .container { padding-left: var(--spacing-8); padding-right: var(--spacing-8); }
}
.container--narrow { max-width: var(--max-width-narrow); }

.btn--full-width { width: 100%; }
