/* Focus Mission Safaris — approved luxury safari palette
   Palette: #0D1B2A #3A4A5A #FBF7F1 #BDAF9A #6B3E26 */

:root {
  --focus-black: #0D1B2A;
  --focus-night: #0D1B2A;
  --focus-plum: #3A4A5A;
  --focus-brown: #6B3E26;
  --focus-earth: #6B3E26;
  --focus-clay: #BDAF9A;
  --focus-coral: #BDAF9A;
  --focus-cream: #FBF7F1;
  --primary: var(--focus-clay);
  --secondary: var(--focus-earth);
  --bs-primary: var(--focus-clay);
  --bs-primary-rgb: 189, 175, 154;
  --bs-dark: var(--focus-night);
  --bs-body-bg: var(--focus-cream);
  --bs-body-color: var(--focus-plum);
}

html { background: var(--focus-cream); scroll-behavior: smooth; }
body, button, input, select, textarea, label {
  font-family: 'Ubuntu', sans-serif;
  background-color: var(--focus-cream);
  color: var(--focus-plum);
}
h1, h2, h3, h4, h5, h6, .navbar-brand, .display-1, .display-2, .display-3, .display-4 {
  font-family: 'Hammersmith One', sans-serif;
  color: var(--focus-night);
  letter-spacing: .01em;
}
.font-script, em { font-family: 'Courgette', cursive; }
a { color: var(--focus-earth); }
a:hover, a:focus { color: var(--focus-coral); }
::selection { background: var(--focus-coral); color: var(--focus-black); }

/* Framework and shared-template palette overrides. */
.bg-dark, .footer, footer, .services-section { background-color: var(--focus-night) !important; }
.bg-white, .navbar, .card, .service-card { background-color: var(--focus-cream) !important; }
.text-primary, .text-success { color: var(--focus-coral) !important; }
.text-white, .text-light { color: var(--focus-cream) !important; }
.text-body, .text-dark { color: var(--focus-plum) !important; }
.btn-primary, .primary-btn, .submit-btn, button[type='submit'] {
  border-color: var(--focus-coral) !important;
  background: var(--focus-coral) !important;
  color: var(--focus-black) !important;
  font-family: 'Hammersmith One', sans-serif;
  letter-spacing: .03em;
}
.btn-primary:hover, .primary-btn:hover, .submit-btn:hover, button[type='submit']:hover {
  border-color: var(--focus-earth) !important;
  background: var(--focus-earth) !important;
  color: var(--focus-cream) !important;
}
.navbar, .sticky-top { border-bottom: 1px solid var(--focus-clay); }
.navbar .nav-link, .dropdown-item { color: var(--focus-plum) !important; font-family: 'Ubuntu', sans-serif; font-weight: 500; }
.navbar .nav-link:hover, .navbar .nav-link:focus, .dropdown-item:hover, .dropdown-item:focus { color: var(--focus-coral) !important; background: var(--focus-cream) !important; }
.dropdown-menu { background: var(--focus-cream) !important; border-color: var(--focus-clay) !important; }
.dropdown-header { color: var(--focus-earth) !important; border-color: var(--focus-clay) !important; }

/* A few legacy templates use inline colour declarations. Keep those pages in
   the approved palette without touching their written content. */
[style*="color: #FBF7F1" i], [style*="color:#FBF7F1" i], [style*="color: #FBF7F1" i] { color: var(--focus-cream) !important; }
[style*="color: #0D1B2A" i], [style*="color:#0D1B2A" i], [style*="color: #0D1B2A" i] { color: var(--focus-night) !important; }
[style*="background: #FBF7F1" i], [style*="background-color: #FBF7F1" i], [style*="background:#FBF7F1" i], [style*="background: #FBF7F1" i] { background-color: var(--focus-cream) !important; }
[style*="background: #0D1B2A" i], [style*="background-color: #0D1B2A" i], [style*="background:#0D1B2A" i], [style*="background: #0D1B2A" i] { background-color: var(--focus-night) !important; }

input, select, textarea {
  border: 1px solid var(--focus-clay) !important;
  border-radius: 2px !important;
  background: var(--focus-cream) !important;
  color: var(--focus-plum) !important;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--focus-coral) !important;
  box-shadow: 0 0 0 .2rem rgba(107, 62, 38, .25) !important;
}

.focus-page-shell { min-height: 100vh; background: linear-gradient(135deg, var(--focus-night), var(--focus-plum)); color: var(--focus-cream); }
.focus-page-shell h1 { color: var(--focus-cream); }
.focus-page-card { max-width: 760px; margin: 0 auto; padding: 4rem 2rem; text-align: center; }
.focus-page-card p { color: var(--focus-cream); }
.focus-page-card .focus-page-action { display: inline-block; margin-top: 1.5rem; padding: .85rem 1.25rem; background: var(--focus-coral); color: var(--focus-black); text-decoration: none; font-family: 'Hammersmith One', sans-serif; }

@media (max-width: 991px) {
  .dropdown-content { width: min(650px, 92vw) !important; }
}
