@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Source+Sans+3:wght@300;400;500;600;700&display=swap');

:root {
  /* ——— Backgrounds ——— */
  --bg-primary: #faf9f7;
  --bg-secondary: #f0ede8;
  --bg-card: #ffffff;
  --bg-card-alt: #f5f3f0;
  --bg-hover: #e8e5e0;
  --bg-deep: #f7f5f2;
  --bg-deeper: #f2efeb;

  /* RGB channels for rgba() usage */
  --bg-primary-rgb: 250, 249, 247;
  --bg-card-rgb: 255, 255, 255;

  /* ——— Text ——— */
  --text-primary: #1a1a1a;
  --text-secondary: #4a4540;
  --text-muted: #7a756f;

  /* RGB channels */
  --white-rgb: 0, 0, 0;
  --black-rgb: 0, 0, 0;

  /* ——— Cream Accents ——— */
  --accent-cream: #162d52;
  --accent-cream-hover: #1e3a66;
  --accent-cream-dark: #0f2040;
  --accent-cream-rgb: 22, 45, 82;

  /* ——— Brown Luxury Accents ——— */
  --accent-brown-dark: #e8e3dc;
  --accent-brown-medium: #d4cfc8;
  --accent-brown-text: #6b6560;
  --accent-brown-subtle: #f5f3f0;
  --accent-brown-highlight: #ebe7e2;

  /* ——— Gold ——— */
  --accent-gold: #b8860b;
  --accent-gold-rgb: 184, 134, 11;

  /* ——— Status Colors ——— */
  --success: #2d8a4e;
  --success-rgb: 45, 138, 78;

  --success-bright: #1e7a3d;
  --success-bright-rgb: 30, 122, 61;

  --success-vivid: #22915a;
  --success-vivid-rgb: 34, 145, 90;

  --warning: #c48520;
  --warning-rgb: 196, 133, 32;

  --warning-vivid: #d4900a;
  --warning-vivid-rgb: 212, 144, 10;

  --danger: #b84233;
  --danger-rgb: 184, 66, 51;

  --error-red: #dc3545;
  --error-red-rgb: 220, 53, 69;

  --neutral-gray: #6b6560;
  --neutral-gray-rgb: 107, 101, 96;

  /* ——— Utility Colors ——— */
  --toast-error: #dc3545;
  --toast-error-rgb: 220, 53, 69;
  --toast-error-dark-rgb: 180, 30, 30;
  --toast-info: #2563eb;
  --toast-info-rgb: 37, 99, 235;
  --toast-success: #0d9668;
  --toast-success-rgb: 13, 150, 104;

  /* Debug visualization colors */
  --dbg-wash: #4a7dd4;
  --dbg-wash-rgb: 74, 125, 212;
  --dbg-addon: #7c3aed;
  --dbg-addon-rgb: 124, 58, 237;

  /* ——— Borders ——— */
  --border-color: #d4cfc8;
  --border-subtle: #e8e3dc;
  --border-accent: #162d52;

  /* ——— Fonts ——— */
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Source Sans 3', 'Segoe UI', sans-serif;
}

/* ——— Brand Defense: No Browser Blue ——— */
::selection { background: rgba(22, 45, 82, 0.2); color: #1a1a1a; }
::-moz-selection { background: rgba(22, 45, 82, 0.2); color: #1a1a1a; }

a { color: inherit; text-decoration: none; transition: color 0.25s ease; }
a:visited { color: inherit; }
a:hover { color: var(--accent-cream); }
a:focus-visible { outline: 2px solid var(--accent-cream); outline-offset: 2px; border-radius: 4px; }

* { -webkit-tap-highlight-color: transparent; }
button, input, select, textarea { font-family: inherit; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px var(--bg-primary) inset !important;
  -webkit-text-fill-color: var(--text-primary) !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* ——— Native App Feel ——— */
::-webkit-scrollbar { display: none; }
* { scrollbar-width: none; -ms-overflow-style: none; }
body { -webkit-overflow-scrolling: touch; overscroll-behavior-y: none; user-select: none; }
input, textarea, select { user-select: auto; }

/* ——— Hero ——— */
.hero-photo img { filter: brightness(1.05); }
.hero::before { background: none; }
.hero-content { background: #ffffff; border: none; backdrop-filter: none; box-shadow: 0 8px 40px rgba(0,0,0,0.12); border-radius: 16px; text-align: left; padding: 28px 36px 32px; }
.hero-content * { text-align: left; }
.hero-content h1 { color: #0f1a2e; text-shadow: none; font-weight: 600; margin-bottom: 2px; }
.hero-location { color: #162d52; opacity: 0.7; text-shadow: none; font-size: 12px; font-weight: 500; letter-spacing: 2.5px; margin-bottom: 16px; }
.hero-badges { margin: 0 0 16px 0; justify-content: flex-start; }
.hero-pill { color: #6b6560; text-shadow: none; font-size: 13px; }
.hero-pill .star { color: #b8860b; }
.hero-subtitle, .hero-content p { color: #4a4540; text-shadow: none; font-size: 16px; line-height: 1.55; }
.hero-greeting { text-shadow: none; }
.hero-buttons { justify-content: flex-start; margin-bottom: 0; }
.btn-primary.hero-cta-btn { background: #162d52; color: #ffffff; box-shadow: 0 4px 16px rgba(22,45,82,0.3); }
.btn-primary.hero-cta-btn:hover { background: #1e3a66; }
.btn-secondary.hero-cta-btn { border-color: rgba(22,45,82,0.2); color: #162d52; }

/* ——— Nav ——— */
nav .nav-brand span, nav .nav-links a { color: #1a1a1a; }
nav .nav-my-bookings-btn { background: #162d52; color: #ffffff; }

/* ——— Reviews ticker ——— */
.reviews-ticker { background: rgba(250,249,247,0.92); border-bottom-color: #e8e3dc; }
.review-name { color: #1a1a1a; }
.review-text { color: #4a4540; }
.reviews-ticker::before { background: linear-gradient(to right, rgba(250,249,247,0.92), transparent); }
.reviews-ticker::after { background: linear-gradient(to left, rgba(250,249,247,0.92), transparent); }

/* ——— Service cards ——— */
.service-card { box-shadow: 0 2px 12px rgba(0,0,0,0.04); border-color: #e8e3dc; background: #ffffff; }
.service-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.1); border-color: #162d52; }
.service-card::before { background: #162d52; }
.service-badge { background: rgba(184,134,11,0.08); border-color: rgba(184,134,11,0.25); color: #8b6914; }
.service-divider { background: rgba(22,45,82,0.12); }

/* ——— Booking form ——— */
.booking-form-wrap { box-shadow: 0 4px 24px rgba(0,0,0,0.06); border-color: #e8e3dc; background: #ffffff; }
.booking-form-wrap .btn-primary { background: #162d52; color: #ffffff; }
.form-group input, .form-group select, .form-group textarea { background: #f7f5f2; border-color: #e8e3dc; color: #1a1a1a; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: #162d52; }

/* ——— Location sections ——— */
.location-banner { background: #f0ede8; }
.area-tag { background: #ffffff; border-color: #e8e3dc; }
.area-tag:hover { border-color: #162d52; }
.services-strip { background: #f0ede8; }
.explore-link { color: #162d52; }

/* ——— Footer stays dark ——— */
footer, .footer { background: #1a1a1a; color: #f5f0eb; }
footer a, .footer a { color: #f5f0eb; }

/* ——— Stars ——— */
.review-stars { color: #f4b400; }
