:root {
  --primary: #f9c20d;
  --black: #000000;
  --white: #ffffff;
  --muted: #6c757d;
}
* {
  box-sizing: border-box;
}
body {
  font-family:
    Inter,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
  color: var(--black);
  background: #fff;
}
.logo-mark {
  width: 48px;
  height: 48px;
  background: var(--primary);
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 700;
}
.brand-name {
  font-weight: 700;
}
.hero {
  position: relative;
  background:
    linear-gradient(135deg, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)),
    url("/images/landing/hero-landing.webp") center/cover no-repeat;
  min-height: 420px;
  display: flex;
  align-items: center;
  color: var(--white);
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.hero .overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.55));
}
.hero .lead {
  color: rgba(255, 255, 255, 0.95);
  font-size: 1.05rem;
  max-width: 720px;
}
.hero .display-5 {
  line-height: 1.05;
  margin-bottom: 0.5rem;
}
.hero .list-inline {
  margin-top: 0.5rem;
  margin-bottom: 1.25rem;
}
.hero .btn-warning {
  box-shadow: 0 6px 18px rgba(249, 194, 13, 0.12);
}
.hero-card {
  max-width: 320px;
  margin: auto;
}
.card-title {
  font-weight: 600;
}
footer a {
  text-decoration: none;
}
.btn-warning {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--black);
}
.btn-warning:hover {
  opacity: 0.95;
}
@media (max-width: 767px) {
  .hero {
    padding: 3rem 1rem;
  }
  .hero-card {
    display: none;
  }
}

/* Featured tours */
.tour-card .card-img-top {
  height: 180px;
  object-fit: cover;
}

/* Ensure buttons in featured cards align at the bottom */
.tour-card .card-body {
  display: flex;
  flex-direction: column;
}
.tour-card .card-body .btn {
  margin-top: auto;
}
.tour-card .card-body .card-title {
  margin-bottom: 0.5rem;
}

/* Make featured card 'Enquire' buttons match site palette (muted/black) */
.tour-card .btn-outline-primary {
  color: var(--muted);
  border-color: var(--muted);
}
.tour-card .btn-outline-primary:hover,
.tour-card .btn-outline-primary:focus {
  color: var(--white);
  background: var(--black);
  border-color: var(--black);
}

/* Reusable muted-outline button for use outside tour cards */
.btn-muted-outline {
  color: var(--muted);
  border-color: var(--muted);
  background: transparent;
}
.btn-muted-outline:hover,
.btn-muted-outline:focus {
  color: var(--white);
  background: var(--black);
  border-color: var(--black);
}

/* Testimonials */
.testimonial {
  min-height: 140px;
}

/* FAQ spacing */
.accordion-button {
  font-weight: 600;
}

/* Make service cards look clickable */
.card-link {
  cursor: pointer;
  display: block;
}
.card-link .card {
  height: 100%;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.card-link:hover .card {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}
.card-link:focus .card {
  outline: none;
  box-shadow:
    0 12px 30px rgba(0, 0, 0, 0.12),
    0 0 0 4px rgba(249, 194, 13, 0.12);
}
.card-link .card .card-body {
  transition: color 0.12s ease;
}
