/* ==========================================================================
   Design tokens — Fort Myers Beach Vacation Rentals
   Coastal, warm, editorial. Real photography leads; color supports it.
   ========================================================================== */
:root {
  /* Color — ocean blues + warm sand + sunset coral */
  --ocean-900: #0C3A42;
  --ocean-800: #0E4B55;
  --ocean-700: #105B67;
  --ocean-600: #14707C;
  --ocean-500: #1B8792;
  --ocean-100: #D8ECEF;
  --ocean-50:  #ECF5F6;

  --sand-50:  #FCF9F4;
  --sand-100: #F5EEE2;
  --sand-200: #E9DEC8;

  --coral-500: #E06E48;
  --coral-600: #C95633;
  --coral-700: #B84A28;
  --coral-800: #9E3A1E;
  --coral-100: #FBE4DB;

  --ink-900: #142E37;
  --ink-700: #334E58;
  --ink-500: #5C727B;
  --ink-300: #94A6AD;

  --white: #FFFFFF;
  --focus: #1B8792;

  /* Semantic */
  --color-bg: var(--sand-50);
  --color-surface: var(--white);
  --color-text: var(--ink-900);
  --color-text-muted: var(--ink-700);
  --color-primary: var(--ocean-700);
  --color-primary-hover: var(--ocean-800);
  --color-accent: var(--coral-700);
  --color-accent-hover: var(--coral-800);
  --color-on-accent: var(--white);

  /* Typography */
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  --text-3xl: clamp(2.2rem, 5vw, 3.6rem);
  --text-2xl: clamp(1.8rem, 3.5vw, 2.6rem);
  --text-xl:  clamp(1.4rem, 2.5vw, 1.75rem);
  --text-lg: 1.25rem;
  --text-md: 1.0625rem;
  --text-sm: 0.9375rem;
  --text-xs: 0.8125rem;

  --leading-tight: 1.15;
  --leading-normal: 1.6;

  /* Spacing (4px grid) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 3rem;
  --space-10: 4rem;
  --space-14: 6rem;
  --section-y: 5rem;

  /* Radii */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;

  /* Shadow */
  --shadow-sm: 0 1px 3px rgba(20, 46, 55, 0.10);
  --shadow-md: 0 8px 24px rgba(20, 46, 55, 0.12);
  --shadow-lg: 0 18px 48px rgba(20, 46, 55, 0.16);

  /* Layout */
  --container: 72rem;
  --container-narrow: 44rem;
}
