/* ===== GENERAL STYLES ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

body {
  background: #fff;
  color: #333;
  line-height: 1.6;
}
/* Remove default browser spacing */
body {
  margin: 0;
  padding: 0;
}
/* ===== HEADER / NAVBAR ===== */
header {
  background: #0a3d62;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 30px;
  position: sticky;
  top: 0;
  z-index: 1000;
}

.logo {
  font-size: 1.6rem;
  font-weight: bold;
  max-height: 70px;
}

.menu {
  list-style: none;
  display: flex;
  gap: 20px;
}

.menu li {
  position: relative;
}

.menu a {
  color: #fff;
  text-decoration: none;
  padding: 8px 12px;
  transition: background 0.3s;
  }

.menu a:hover,
.menu a.active {
  background: #1e5799;
  border-radius: 5px;
}

/* ===== DROPDOWN ===== */
.dropdown:hover .submenu {
  display: block;
}

.submenu {
  display: none;
  position: absolute;
  top: 38px;
  left: 0;
  background: #1e5799;
  list-style: none;
  min-width: 220px;
  border-radius: 5px;
  padding: 5px 0;
}

.submenu li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.submenu li:last-child {
  border-bottom: none;
}
.submenu a {
  display: block;
  padding: 10px 15px;
  color: #fff;
}

.submenu a:hover {
  background: #417cbf;
}

/* ===== HERO ===== */
.hero {
  background: url('hero-image.jpg') center/cover no-repeat;
  color: #fff;
  text-align: center;
  padding: 120px 20px;
  background-color: #0a3d62;
}

.hero h1 {
  font-size: 2.5rem;
  margin-bottom: 10px;
}

.hero p {
  font-size: 1.1rem;
  margin-bottom: 25px;
}
.btn {
  background: #1e5799;
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 6px;
  margin: 5px;
  transition: background 0.3s;
}

.btn:hover {
  background: #417cbf;
}
.btn.secondary {
  background: #fff;
  color: #0a3d62;
}

.btn.secondary:hover {
  background: #ddd;
}

/* ===== ABOUT ===== */
.about {
  padding: 60px 20px;
  text-align: center;
  background: #f9f9f9;
}
.about h2 {
  margin-bottom: 20px;
  font-size: 2rem;
}

/* ===== WHY CHOOSE US ===== */
.why {
  padding: 60px 20px;
  text-align: center;
}

.why-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 30px;
}
.card {
  background: #eaf2f8;
  padding: 25px;
  border-radius: 8px;
  font-weight: 600;
}

/* ===== FOOTER ===== */
footer {
  background: #0a3d62;
  color: #fff;
  padding: 40px 20px 20px;
}
.footer-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.footer-info a {
  color: #ffd700;
  text-decoration: none;
}
.footer-info a:hover {
  text-decoration: underline;
}

.footer-newsletter form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.footer-newsletter input {
  padding: 10px;
  border: none;
  border-radius: 5px;
  flex: 1;
}
.footer-newsletter button {
  padding: 10px 20px;
  background: #1e5799;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.footer-newsletter button:hover {
  background: #417cbf;
}
footer p {
  text-align: center;
  font-size: 0.9rem;
  opacity: 0.9;
}
.footer-content a {
    pointer-events: auto;
    cursor: pointer;
    text-decoration: none;
    color: #1e5799;
}

.footer-content a:hover {
    color: #0d3d73;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  header {
    flex-direction: column;
    align-items: flex-start;
  }
  .menu {
    flex-direction: column;
    width: 100%;
  }

  .submenu {
    position: static;
    background: #1e5799;
  }

  .hero h1 {
    font-size: 1.8rem;
  }
}
/* ===== GENERAL LAYOUT IMPROVEMENTS ===== */

/* Keep content away from the browser edges */
body {
  margin: 0;
  padding: 0;
  background-color: #fff;
}

/* Add space around main content sections */
section {
  max-width: 1200px;      /* keeps content centered and not too wide */
  margin: 60px auto;      /* centers content + adds top/bottom space */
  padding: 0 30px;        /* adds left/right margin inside sections */
}
/* Improve footer and header spacing */
header, footer {
  padding: 20px 40px;
}

/* Make text easier to read */
p {
  margin-bottom: 1.2em;
  line-height: 1.6;
}

/* Optional: limit hero text width so it doesn't stretch too wide */
.hero-text {
  max-width: 800px;
  margin: 0 auto;
  }

/* Add subtle separation between sections */
section:not(.hero):not(.page-banner) {
  border-bottom: 1px solid #eee;
  padding-bottom: 40px;
}
/* ===== CONTACT PAGE STYLES ===== */

.contact-section {
  max-width: 1200px;
  margin: 60px auto;
  padding: 20px;
}

.contact-container {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  background: #f9f9f9;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  padding: 40px;
}
.contact-form-box,
.contact-info-box {
  flex: 1 1 400px;
}

.contact-form-box h2,
.contact-info-box h2 {
  margin-bottom: 15px;
  color: #1e5799;
}

.contact-form label {
  display: block;
  margin-top: 15px;
  font-weight: 600;
  color: #333;
  }

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 1rem;
}

.contact-form button {
  margin-top: 20px;
  padding: 12px 20px;
  background: #1e5799;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-weight: bold;
  transition: background 0.3s;
}

.contact-form button:hover {
  background: #417cbf;
}

.contact-info-box p {
  margin-bottom: 10px;
  line-height: 1.5;
}
.contact-info-box a {
  color: #1e5799;
  text-decoration: none;
}

.contact-info-box a:hover {
  text-decoration: underline;
}

/* Responsive layout */
@media (max-width: 768px) {
  .contact-container {
    flex-direction: column;
    padding: 20px;
  }
}


/* Mobile view: stack vertically */
@media (max-width: 600px) {
  .topbar-content {
	  flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    font-size: 0.9rem;
  }
}

/* ===== FIXED NAVBAR BELOW TOPBAR ===== */
header {
  position: fixed;
  top: 38px; /* height of topbar */
  left: 0;
  width: 100%;
  padding: 2px 15px
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  z-index: 999;
}
/* Keep your logo + menu nicely aligned */
header .logo {
  font-size: 1.5rem;
  font-weight: bold;
  color: #1e5799;
}

/* Add space so page content isn’t hidden behind the fixed bars */
body {
  margin: 0;
  padding-top: 120px; /* enough space for topbar + header height */
}
/* Responsive topbar for mobile */
@media (max-width: 600px) {
  .topbar-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    font-size: 0.9rem;
    padding-left: 20px;
  }
}


/* Make the menu bar directly below contact bar */
header {
  position: fixed;
  top: 34px; /* height of the top contact bar */
  left: 0;
  width: 100%;
  background-color: #1e5799;
  color: #fff;
   z-index: 1000;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}

/* Adjust body so content is not hidden under fixed bars */
body {
  margin: 0;
  padding-top: 110px; /* height of top-contact + header */
}

/* Menu styling */
.menu {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin: 0;
  padding: 12px 0;
}

.menu li a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: color 0.3s;
}
.menu li a:hover,
.menu li a.active {
  color: #ffd700; /* gold highlight */
}

/* Dropdown styling */
.dropdown {
  position: relative;
}

.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #1e5799;
  list-style: none;
  margin: 0;
  padding: 10px 0;
  min-width: 220px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  border-radius: 0 0 5px 5px;
}

.dropdown:hover .submenu {
  display: block;
}

.submenu li a {
  color: #fff;
  padding: 8px 16px;
  display: block;
}

.submenu li a:hover {
  background-color: #17497e;
}

/* Responsive view */
@media (max-width: 768px) {
  .top-contact {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
.menu {
    flex-wrap: wrap;
    gap: 20px;
  }
}
/* ===== HERO IMAGE SECTION ===== */
.hero-image {
  position: relative;
  width: 100%;
  height: 500px; /* you can adjust this height */
  overflow: hidden;
}

.hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* keeps image nicely cropped */
  display: block;
}
/* Text over the image */
.hero-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
  max-width: 90%;
}

.hero-text h1 {
  font-size: 2.5rem;
  margin-bottom: 10px;
}
.hero-text p {
  font-size: 1.2rem;
}

/* Add a dark overlay for better text visibility */
.hero-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3); /* semi-transparent dark overlay */
  z-index: 1;
}
.hero-text {
  position: absolute;
  z-index: 2; /* make sure text is above overlay */
}
/* ===== IMAGE SLIDESHOW STYLES ===== */
.slideshow {
  position: relative;
  margin: 0 auto;
  max-width: 100%;
   height: 85vh; /* slideshow fits screen */
  overflow: hidden;
  background: #000;
}
.slides {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
}

.slides img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.caption {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  text-shadow: 0 2px 6px rgba(0,0,0,0.7);
  background: rgba(0,0,0,0.3);
  padding: 10px 20px;
  border-radius: 5px;
}

.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 22px;
  transition: 0.3s;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.4);
}
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from { opacity: 0.4; }
  to { opacity: 1; }
}
/* ===== LOGO + MENU ON SAME LINE ===== */
.header-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center; /* keeps logo and menu vertically aligned */
  min-height: 90px;    /* makes header taller to fit bigger logo */
  padding: 10px 20px;
}

/* Logo image */
.logo img {
	height: 84px;     /* increase from 50px to 80px */
  width: 125px;      /* keeps proportions correct */
  display: block;
}

/* Fix the header to top (blue bar) */
header {
  position: fixed;
  top: 34px; /* under the top-contact bar */
  left: 0;
  height: 19%;
  width: 100%;
  background-color: #1e5799;
  color: #fff;
  z-index: 1000;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}
/* Adjust menu styling to align right */
.menu {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 30px;
  margin: 0;
  padding: 0;
}

.menu li a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: color 0.3s;
}

.menu li a:hover,
.menu li a.active {
  color: #ffd700; /* gold hover */
}

/* Responsive layout */
@media (max-width: 768px) {
  .header-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .logo img {
    height: 50px;
  }

  .menu {
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
  }
}
.about-box {
  max-width: 800px;      /* width of text column */
  margin: 0 auto;        /* centers the text on the page */
  text-align: justify;   /* makes left & right edges straight */
  line-height: 1.7;
}
.mvt-container {
    display: flex;
    justify-content: space-between; /* spreads items left, center, right */
    align-items: flex-start;
    gap: 40px; /* spacing between sections */
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
}

.mvt-container > div {
    flex: 1;           /* all 3 columns equal width */
    text-align: justify;
}
/* Optional: center the tagline text */
.tagline {
    text-align: center;
}
@media (max-width: 768px) {
    .mvt-container {
        flex-direction: column;
        text-align: center;
    }
}
.core-values ul li {
  margin-bottom: 20px;
  line-height: 1.6;
}
.our-story-section {
  display: flex;
  gap: 30px;
  align-items: flex-start;
  margin-top: 40px;
}
.story-img {
  width: 100%;
  margin-top: 20px;
  border-radius: 10px;
}
.page-banner {
  background-image: url("images/nyungwe.jpg"); /* Change the file name */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 300px; /* you can increase if needed */
}
.page-banner {
  background-image: url('images/akagera.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 350px; /* Increase if you want a bigger banner */
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
}
/* Banner container */
.sliding-bg {
  position: relative;
  height: 350px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  overflow: hidden;
  color: #fff; /* Text color */
}


/* Text on top */
.banner-content {
  position: relative;  
  z-index: 2;          
  padding: 20px;
}
.normal-list li {
    font-weight: normal;
}
/* Welcome Section */
.welcome-section {
    padding: 60px 20px;
    text-align: center;
    background: #f8f9fa;
}

.welcome-section h2 {
    font-size: 32px;
    margin-bottom: 15px;
}

.welcome-section p {
    font-size: 18px;
    color: #444;
    max-width: 800px;
    margin: auto;
	}


/* Services Section */
.services-section {
    padding: 60px 20px;
    text-align: center;
}

.services-section h2 {
    font-size: 32px;
    margin-bottom: 40px;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 25px;
	}

.service-card {
    padding: 25px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

.service-card h3 {
    margin-bottom: 10px;
    font-size: 20px;
}
/* Featured Tours */
.featured-tours {
    padding: 60px 20px;
    background: #f8f9fa;
    text-align: center;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-top: 40px;
}
.feature-card {
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    padding-bottom: 15px;
}

.feature-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.feature-card h3 {
    padding: 15px;
    font-size: 18px;
}
p {
    text-align: justify;
    text-justify: inter-word;
}
.cta-button {
  display: block;
  width: 100%;
  max-width: 380px;
  margin: 10px auto;
  padding: 15px 20px;
  background: #0a4b2d;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  border-radius: 8px;
  transition: 0.3s;
}

.cta-button:hover {
  background: #0e603a;
}
/* Form box left side */
.form-left-box {
  max-width: 550px;       /* prevent the form from becoming too wide */
  background: #fff;       /* clean white form area */
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0,0,0,0.08); /* light shadow for structure */
  margin: 0;              /* keep aligned left */
}

/* spacing helpers */
.date-box,
.traveler-box {
  display: flex;
  gap: 10px;
}

/* make checkboxes vertical + clean */
.checkbox-row label {
  display: block;
  margin-bottom: 6px;
}

/* reduce overall width of inputs */
.form-left-box input,
.form-left-box select,
.form-left-box textarea {
  width: 100%;
  box-sizing: border-box;
}

/* Button style */
.form-left-box button {
  margin-top: 10px;
}
/* Two-column grid */
.tour-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  max-width: 900px;
  margin: 0;
  padding: 20px 0;
}

/* Left / right column boxes */
.form-left, .form-right {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0,0,0,0.08);
}

/* Inside field spacing */
.form-left input,
.form-left select,
.form-right input,
.form-right select,
.form-right textarea {
  width: 100%;
  margin-bottom: 12px;
  padding: 10px;
  box-sizing: border-box;
}

/* Two small inputs (dates or adults/children) */
.two-inputs {
  display: flex;
  gap: 10px;
}

.two-inputs input {
  flex: 1;
}

/* Checkbox list alignment */
.checkbox-list label {
  display: block;
  margin-bottom: 6px;
}

/* Button styling */
.submit-btn {
  margin-top: 10px;
  padding: 12px;
  width: 100%;
  cursor: pointer;
}
/* Tour request two-column layout */
.tour-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  max-width: 980px;    /* adjust to your design */
  margin: 0 auto 30px; /* centers the grid in the container */
  padding: 10px 0;
}

.form-left, .form-right {
  background: #fff;
  padding: 18px;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  border: 1px solid #eee;
}

/* inputs/textarea/select full width */
.form-left input,
.form-left select,
.form-left textarea,
.form-right input,
.form-right select,
.form-right textarea {
  width: 100%;
  padding: 10px;
  margin: 8px 0 14px;
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-radius: 6px;
}

/* pair inputs */
.two-inputs {
  display: flex;
  gap: 10px;
}
.two-inputs input { flex: 1; }

/* checkboxes */
.checkbox-list label { display: block; margin-bottom: 8px; }

/* button */
.submit-btn {
  background: #2d6a4f;
  color: #fff;
  border: none;
  padding: 12px;
  border-radius: 6px;
  cursor: pointer;
  width: 100%;
  font-weight: 600;
}
.submit-btn:hover { opacity: 0.95; }

/* responsiveness: single column on small screens */
@media (max-width: 820px) {
  .tour-form-grid { grid-template-columns: 1fr; }
}


/* Our Story Section Layout */
.our-story-section {
  padding: 60px 20px;
}

.our-story-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  max-width: 1200px;
  margin: auto;
}
/* ===== FINAL FIXED OUR STORY LAYOUT ===== */

.our-story-section {
  margin-top: 40px;
  padding: 40px 0;
}

.our-story-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 40px;
  max-width: 1200px;
  margin: auto;
}

.our-story-text {
  flex: 1;
  min-width: 300px;
}

.our-story-image {
  flex: 1;
  min-width: 300px;
  text-align: right;
}

.our-story-image img {
  width: 100%;
  max-width: 500px;
  border-radius: 10px;
  object-fit: cover;
}

/* Responsive layout */
@media (max-width: 900px) {
  .our-story-container {
    flex-direction: column !important;
    text-align: center;
  }

  .our-story-image {
    text-align: center;
  }
}
/* ===== FINAL FIXED WHO WE ARE LAYOUT ===== */

.who-we-are-section {
  margin-top: 40px;
  padding: 40px 0;
}

.who-we-are-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 40px;
  max-width: 1200px;
  margin: auto;
}

.who-we-are-text {
  flex: 1;
  min-width: 300px;
}

.who-we-are-image {
  flex: 1;
  min-width: 300px;
  text-align: right;
}

.who-we-are-image img {
  width: 100%;
  max-width: 500px;
  border-radius: 10px;
  object-fit: cover;
}

/* Responsive layout */
@media (max-width: 900px) {
  .who-we-are-container {
    flex-direction: column !important;
    text-align: center;
  }

  .who-we-are-image {
    text-align: center;
  }
}
/* ===== FINAL FIXED OUR CORE VALUES LAYOUT ===== */

.core-values-section {
  margin-top: 40px;
  padding: 40px 0;
}

.core-values-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 40px;
  max-width: 1200px;
  margin: auto;
}

.core-values-text {
  flex: 1;
  min-width: 300px;
}

.core-values-image {
  flex: 1;
  min-width: 300px;
  text-align: right;
}

.core-values-image img {
  width: 100%;
  max-width: 500px;
  border-radius: 10px;
  object-fit: cover;
}

/* Responsive layout */
@media (max-width: 900px) {
  .core-values-container {
    flex-direction: column !important;
    text-align: center;
  }

  .core-values-image {
    text-align: center;
  }
}

* Section Title Styling */
.section-title {
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    margin-top: 50px;          /* Space above title */
    margin-bottom: 25px;       /* Space below title */
    color: #1a1a1a;            /* Professional dark color */
    letter-spacing: 1px;
    text-transform: uppercase; /* Makes title stand out */
}

/* Add spacing between tours grid and consultancy grid */
.services-grid {
    margin-bottom: 40px;       /* Extra space under each grid */
}

/* Optional (makes the two groups more separated visually) */
.section-title:first-of-type {
    margin-top: 20px;          /* Slightly smaller top space for first section */
}

/* ===== GLOBAL SECTION SPACING ===== */
section {
  max-width: 1200px;
  margin: 5px auto;      /* spacing above and below */
  padding: 0 30px;        /* spacing left and right */
}

/* Remove border line from some sections */
section.about,
section.why,
footer {
  border-bottom: none !important;
}

/* Footer 3-column layout */
.footer-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    padding: 40px 20px;
}

/* Each column */
.footer-column {
    flex: 1;
}

/* Center column alignment */
.footer-center {
    text-align: center;
}


/* Subscribe form */
.subscribe-form {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.subscribe-form input {
    padding: 10px;
    width: 100%;
    max-width: 240px;
    margin-bottom: 10px;
}

.subscribe-form button {
    padding: 10px 20px;
    background: #1e5799;
    color: #fff;
    border: none;
    cursor: pointer;
    border-radius: 4px;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
        text-align: center;
    }

    .subscribe-form {
        align-items: center;
    }
}

.tour-card {
    display: flex;
    background: #ffffff;
    border: 1px solid #ddd;
    border-radius: 12px;
    margin-bottom: 30px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.tour-card:hover {
    transform: translateY(-3px);
    transition: 0.3s;
}
.tour-img {
    width: 35%;
    height: 260px;
    object-fit: cover;
}
.tour-info {
    padding: 20px;
    width: 65%;
}
.btn-details, .btn-request, .btn-back {
    display: inline-block;
    padding: 10px 18px;
    border: none;
    background: #1e5799;
    color: white;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    margin-right: 10px;
    margin-top: 15px;
}

.btn-back {
    background: #555;
}


/* ===== PERFECT TOUR GRID LAYOUT (Matches Provided Screenshot) ===== */

.tour-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* increase gap for sanity */
    justify-content: space-between;
}

/* PERFECT 3 per row */
.tour-card {
    flex: 0 0 calc(33.33% - 10px); 
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0,0,0,0.15);
    border: 1px solid #ddd;
    display: flex;
    flex-direction: column;
}

/* Each card */
.tour-card {
     flex: 33%;
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    transition: 0.3s ease;
    border: 1px solid #ddd;
}

.tour-card:hover {
    transform: translateY(-6px);
}

/* Image */
.tour-card img {
    width: 100%;
    height: 230px;
    object-fit: cover;
}

/* Text content */
.tour-info {
    padding: 20px;
    flex: 1;
    text-align: left;
}

/* Title */
.tour-info h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #1a2f33;
}

/* Summary text */
.tour-info p {
    color: #333;
    font-size: 15px;
    line-height: 1.5;
}

/* Buttons section */
.tour-buttons {
    padding: 15px 20px 20px;
    text-align: left;
}

/* Buttons */
.tour-buttons button,
.tour-buttons a {
    display: inline-block;
    background: #1e5799;
    color: white;
    padding: 10px 16px;
    border-radius: 6px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    margin-right: 10px;
    margin-top: 5px;
    font-weight: 600;
}

.tour-buttons button:hover,
.tour-buttons a:hover {
    background: #17497e;
}

/* Responsive */
@media (max-width: 900px) {
    .tour-card { width: 48%; }
}

@media (max-width: 600px) {
    .tour-card { width: 100%; }
}

.tour-buttons {
    display: flex;
    justify-content: space-between; /* left + right */
    margin-top: 15px;
}

.btn-details,
.btn-request {
    padding: 10px 18px;
    border: none;
    color: white;
    background: #1e5799;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
}

.btn-request {
    background: #0a7a3f; /* optional: different color for request */
}

.btn-details:hover,
.btn-request:hover {
    opacity: 0.8;
}


.message-box {
    border: 1px solid #888;
    background: #f9f9f9;
    padding: 18px 22px;
    border-radius: 6px;
    margin: 20px 0;
    font-size: 16px;
    line-height: 1.65;
}
<style>
  #tourRequestForm {
    display: none;
  }
</style>

/* ============================= */
/*        BRAND COLORS           */
/* ============================= */

:root {
  --forest: #154734;
  --gold: #D7A74A;
  --charcoal: #2A2E31;
  --sand: #F7F2E9;
  --medium-gray: #666666;
}

/* ============================= */
/*        GLOBAL RESET           */
/* ============================= */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', sans-serif;
  background: var(--sand);
  color: var(--charcoal);
  line-height: 1.6;
}

h1, h2, h3 {
  font-family: Georgia, serif;
  font-weight: 500;
}

a {
  text-decoration: none;
}

/* ============================= */
/*        BRAND COLORS           */
/* ============================= */
:root {
  --forest: #154734;
  --gold: #D7A74A;
  --charcoal: #2A2E31;
  --sand: #F7F2E9;
  --medium-gray: #666666;
}

/* ============================= */
/*        GLOBAL RESET           */
/* ============================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', sans-serif;
  background:;
  color: var(--charcoal);
  line-height: 1.6;
}

h1, h2, h3 {
  font-family: Georgia, serif;
  font-weight: 400;
}

a { text-decoration: none; }

/* ============================= */
/*          NAVBAR               */
/* ============================= */
.navbar {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  padding: 0px 8%;
  z-index: 1000;
}

.nav-container {
  width: 100%;
  margin: auto;
  display: flex;
  align-items: center;
}

/* Push menu away from logo */
.nav-menu {
  display: flex;
  gap: 50px;
  margin-left: auto;   /* pushes menu fully right */
  padding-left: 200px;  /* extra 90px gap from logo */
}

.logo img { height: 80px; }

.nav-menu {
  list-style: none;
  display: flex;
  gap: 40px;   /* Space between menu items */
  align-items: center;
  margin-left: auto;  /* This pushes menu fully right */
}

.nav-menu li a {
  color: white;
  font-weight: 500;
  transition: 0.3s;
}

.nav-menu li a:hover { color: var(--gold); }
.nav-menu li a.active { color: var(--gold); }

.nav-btn {
  background: var(--gold);
  padding: 5px 18px;
  border-radius: 25px;
  color: black;
  font-weight: bold;
  transition: 0.3s;
}

.nav-btn:hover { background: var(--forest); }
/* ===== NAVBAR BACKGROUND ===== */
.navbar {
  background: var(--grey); /* Change from blue to grey */
  /* or use var(--charcoal) for grey: background: var(--charcoal); */
}



/* ============================= */
/*           HERO                */
/* ============================= */
.hero {
  position: relative;
  height: 95vh;
  background: url('../images/akagera.jpg') center/cover no-repeat;
  display: flex;
  align-items: center;
  padding: 0 8%;
  color: white;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(26,90,76,0.5);
}

.hero-content {
  position: relative;
  max-width: 550px;
}

.hero h1 {
  font-size: 48px;
  margin-bottom: 20px;
}

.hero p {
  font-size: 18px;
  margin-bottom: 15px;
}

.hero-buttons {
  display: flex;
  gap: 15px;
}



/* ============================= */
/*        EXPERTISE SECTION      */
/* ============================= */
.expertise {
  padding: 100px 8%;
  text-align: left;
  background: var(--sand);
}

.section-subtitle {
  margin-top: 10px;
  color: var(--medium-gray);
}

.expertise-grid {
  display: flex;
  gap: 40px;
  margin-top: 50px;
  flex-wrap: wrap;
  justify-content: center;
}

.expertise-card {
  background: white;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(0,0,0,0.08);
  max-width: 470px;
  flex: 1;
  text-align: center;
  transition: 0.3s;
}

.expertise-card:hover { transform: translateY(-5px); }

.expertise-card img {
  width: 100%;
  height: 280px;
  object-fit: cover;
}

.expertise-card h3 { margin-top: 20px; }
.expertise-card p { padding: 0 20px; margin: 15px 0; color: var(--medium-gray); }

/* ============================= */
/*        CTA SECTION            */
/* ============================= */
.cta {
  position: relative;
  background: url('../images/nyungwe.jpg') center/cover no-repeat;
  padding: 120px 8%;
  text-align: center;
  color: white;
}

.cta-overlay {
  position: absolute;
  inset: 0;
  background: rgba(42,46,49,0.6);
}

.cta-content {
  position: relative;
  max-width: 700px;
  margin: auto;
}

.cta h2 { font-size: 38px; margin-bottom: 20px; }

/* ============================= */
/*           FOOTER              */
/* ============================= */
footer {
  background: var(--charcoal);
  color: var(--sand);
  padding: 50px 8%;
  text-align: center;
}

footer h3 { margin-bottom: 10px; }
footer p { margin-bottom: 8px; font-size: 14px; }
footer a { color: var(--gold); }

/* ============================= */
/*        RESPONSIVE             */
/* ============================= */
@media(max-width: 992px){
  .hero h1 { font-size: 38px; }
  .hero p { font-size: 16px; }
}

@media(max-width: 768px){
  .hero h1 { font-size: 32px; }
  .hero p { font-size: 14px; }
  .hero-buttons { flex-direction: column; gap: 12px; }
  .expertise-grid { flex-direction: column; gap: 30px; }
  .nav-menu { flex-direction: column; gap: 12px; }
}




.hero {
  position: relative;
  height: 95vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0 8%;
  color: white;
}

/* Image behind everything */
.hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}


/* Text & buttons on top of image */
.hero-content {
  position: relative;
  z-index: 3;
  max-width: 600px;
  text-align: left;
}

/* Hero Buttons */
.hero-buttons {
  display: flex;
  gap: 15px;
  margin-top: 15px;
}




.expertise-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}

.expertise-card {
  flex: 1 1 calc(50% - 30px); /* Two cards per row, responsive */
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  padding-bottom: 20px;
}

.expertise-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.tour-info {
  padding: 15px 20px;
}

.tour-info h3 {
  margin-top: 10px;
}

.tour-info p {
  margin: 10px 0;
  color: #666666;
}
.btn-primary {
	margin-top: 15px;
    background-color: #154734;   
    color: white;               
    padding: 10px 20px;
    border-radius: 25px;
	text-align: center;
    display: inline-block;
	font-weight: bold;
}
.btn-primary:hover {
    background-color: #0056b3;  /* darker blue */
    transform: scale(1.05);     /* small zoom effect */
}

.btn-secondary {
  margin-top: 15px;
  background: #154734;
  color: white;
  padding: 10px 20px;
  border-radius: 25px;
  display: inline-block;
  text-align: center;
  font-weight: bold;
}

.btn-secondary:hover {
  background: #D7A74A;
}

/* Responsive: stack on small screens */
@media (max-width: 768px) {
  .expertise-card {
    flex: 1 1 100%; /* full width */
  }
}


/* NAV LINKS */
.nav-menu li a {
  color: white;
  text-decoration: none;
  font-weight: 500;
}

/* Hover effect */
.nav-menu li a:hover {
  color: #A8C64A;
}

/* Active link */
.nav-menu li a.active {
  color: #A8C64A;
}



footer {
  background-color: #0B3F4F;
  color: white;
  padding: 60px 20px;
}

footer a {
  color: white;
}

footer a:hover {
  color: #A8C64A;
}




/* ============================= */
/* DROPDOWN FIX: Only on consultancy page */
/* ============================= */

/* Hide all submenus by default */
.submenu {
  display: none !important;  /* ensures no page shows it automatically */
}

/* Only show submenu when hovering on consultancy page */
body.page-consultancy .dropdown:hover .submenu {
  display: block !important;
}


/* Remove dropdown arrow for non-dropdown menu items */
.nav-menu li:not(.dropdown) > a::after {
    content: none !important;
}


.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.service-card {
  display: flex;
  flex-direction: column;
  text-align: center;
  background: #f9f9f9;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  color: #333;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
  transition: transform 0.3s, box-shadow 0.3s;
}

.service-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.service-card h3 {
  padding: 15px 10px;
  font-size: 18px;
  font-weight: 600;
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}





/* ============================= */
/* CONSULTANCY PAGE SPACING FIX */
/* ============================= */

.page-consultancy .content {
    padding: 40px 0;
}

.page-consultancy .content .container {
    max-width: 1100px;
    margin: auto;
    padding: 0 25px;   /* left & right spacing */
}

.page-consultancy .content h2 {
    margin-top: 50px;
    margin-bottom: 20px;
}

.page-consultancy .content p {
    line-height: 1.8;
    margin-bottom: 15px;
}

.page-consultancy .content ul {
    list-style: disc;
    padding-left: 25px;   /* indent bullets properly */
    margin-bottom: 20px;
}

.page-consultancy .content ul li {
    margin-bottom: 12px;
}



/* ===== LUXURY TRANSPARENT FIXED NAVBAR ===== */
.navbar {
  position: fixed;     /* stays when scrolling */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;

  background: transparent;  /* fully transparent */
  padding: 20px 60px;

  display: flex;
  align-items: center;
}



.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;

  background: #0B3F4F;   /* your dark luxury blue */   
}

.hero {
  height: 100vh;
  background: url("images/your-hero-image.jpg") center/cover no-repeat;
  display: flex;
  align-items: center;
}


body {
  background-color: white;
}

.nav-menu li a {
  color: fffff;
}

.nav-menu li a:hover {
  color: #D4AF37;   /* gold hover */
}


/* Parent */
.nav-menu li {
  position: relative;
}

/* Dropdown menu */
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  min-width: 200px;
  display: none;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
  border-radius: 6px;
  padding: 10px 0;
  z-index: 2000;   /* VERY IMPORTANT */
}

/* Dropdown links */
.dropdown-menu li a {
  color: #0B3F4F;
  padding: 10px 20px;
  display: block;
}

/* Show on hover */
.nav-menu li:hover .dropdown-menu {
  display: block;
}


.navbar {
  position: fixed;
  width: 100%;
  z-index: 3000;  /* higher than dropdown */
}

.dropdown-menu {
  margin-top: 0;
}

/* Banner styling */
.tour-banner {
    background-image: url('images/tours1.jpeg');
    background-size: cover;
    background-position: center;
    height: 500px;
    display: flex;
    align-items: flex-start; /* Align content to the top */
    position: relative;
    padding-top: 80px;       /* distance from top edge */
}

/* Optional dark overlay */
.tour-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.20);
    z-index: 1;
}

/* Content container */
.tour-banner-content {
    position: relative;
    z-index: 2;
    text-align: left;        /* left align text */
    padding-left: 70px;      /* distance from left edge */
    max-width: 800px;        /* limit width */
}

/* Heading */
.tour-banner-content h1 {
    color: white;
    font-size: 50px;
    margin-bottom: 20px;
}

/* Buttons container */
.tour-banner-buttons {
    margin-top: 10px;
}

/* Buttons */
.tour-btn {
    padding: 12px 28px;
    text-decoration: none;
    color: white;
    border-radius: 5px;
    margin-right: 15px;
    display: inline-block;
    transition: all 0.3s ease;
    font-size: 18px;
}

.tour-btn-primary {
    background-color: #2f5d50; /* green */
}

.tour-btn-primary:hover {
    background-color: #3d7c6a;
    transform: scale(1.05);
}

.tour-btn-secondary {
    background-color: #2c3553; /* dark blue */
}

.tour-btn-secondary:hover {
    background-color: #404b70;
    transform: scale(1.05);
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px; /* adjust based on navbar height */
}

/* Tablet and Mobile responsiveness */
@media (max-width: 1024px) {
    .tour-banner {
        height: 450px;
        padding-left: 60px;
        padding-top: 60px;
    }

    .tour-banner-content h1 {
        font-size: 42px;
    }

    .tour-btn {
        font-size: 16px;
        padding: 10px 24px;
    }
}

@media (max-width: 768px) {
    .tour-banner {
        height: 400px;
        padding-left: 40px;
        padding-top: 50px;
    }

    .tour-banner-content h1 {
        font-size: 36px;
    }

    .tour-btn {
        display: block;       /* Stack buttons vertically */
        margin-bottom: 10px;
        width: 180px;         /* optional fixed width */
    }

    .tour-banner-buttons {
        display: flex;
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .tour-banner {
        height: 350px;
        padding-left: 20px;
        padding-top: 40px;
    }

    .tour-banner-content h1 {
        font-size: 28px;
    }

    .tour-btn {
        width: 150px;
        font-size: 14px;
    }
}






/* Full-width image for details section */
.details-section {
  display: none;
  padding: 20px;
  box-sizing: border-box;
  max-width: 100%;
}



/* Optional: adjust container padding if needed */
.details-section .container {
  max-width: 1200px;   /* keeps text readable */
  margin: 0 auto;
}
.details-section .details-img {
  width: 100vw;        /* full viewport width */
  height: auto;
  display: block;
  margin: 0 auto 20px;
  object-fit: cover;
}

.details-section .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}



.form-buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}

.btn-back {
  background: #777;
  color: white;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}

.btn-back:hover {
  background: #555;
}





/* Container row for tours */
.tour-row {
  display: flex;
  justify-content: space-between; /* Spread evenly across row */
  gap: 20px;
  margin-top: 20px;
  flex-wrap: wrap; /* Optional: wraps on small screens */
}

/* Individual tour card */
.tour-card {
  flex: 1 1 30%; /* 3 cards per row, adjust spacing */
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  padding: 15px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tour-img {
  width: 110%;
  height: 200px;
  object-fit: cover;
  border-radius: 10px;
}

.tour-card h3 {
  margin: 15px 0 10px;
  text-align: center;
}

.tour-card p {
  text-align: center;
  flex: 1;
}

.btn-request {
  background: #1e90ff;
  color: #fff;
  border: none;
  padding: 8px 15px;
  cursor: pointer;
  border-radius: 5px;
  margin-top: 10px;
}

.btn-request:hover {
  background: #1c86ee;
}


@media (max-width: 992px) {
  .tour-card {
    flex: 1 1 45%; /* 2 per row */
  }
}

@media (max-width: 600px) {
  .tour-card {
    flex: 1 1 100%; /* 1 per row */
  }
}



.page-tailor .page-banner {
  background: #f4f4f4;
}




/* Hide top contact bar only on Tailor-Made Experiences */
body.no-topbar .top-bar {
  display: none !important;
}

/* Remove extra space if top bar was pushing content */
body.no-topbar header,
body.no-topbar .navbar {
  margin-top: 0 !important;
}



/* ===== CHECKBOX FIX (SAFE PATCH) ===== */

.checkbox-row,
.checkbox-column,
.checkbox-list {
  margin-bottom: 12px;
}

.checkbox-row label,
.checkbox-column label,
.checkbox-list label {
  display: flex !important;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.checkbox-row input[type="checkbox"],
.checkbox-column input[type="checkbox"],
.checkbox-list input[type="checkbox"] {
  width: auto !important;
  margin: 0 !important;
}



footer {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}

.core-values-image {
    float: right !important;
    width: 45% !important;
    margin-left: 50px !important;
    margin-bottom: 20px !important;
    margin-top: 28px !important; /* adjust this to match heading */
}








/* ===================================== */
/*   FULL BIG & ULTRA-WIDE SCREEN FIX    */
/* ===================================== */
@media (min-width: 1400px) {

  /* Body and html */
  html, body {
    width: 100% !important;
    overflow-x: hidden !important;
    font-size: 18px !important; /* base font for large screens */
  }

  /* Navbar */
  .nav-container {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 25px 40px !important;
    position: relative !important;
    z-index: 1000 !important;
  }

  /* Hero section */
  .hero {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: column !important;
    padding: 60px 50px !important;
    text-align: center !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  .hero-content {
    max-width: 1400px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .hero h1 {
    font-size: 56px !important;
    line-height: 1.2 !important;
    margin-bottom: 25px !important;
  }

  /* Page banner */
  .page-banner {
    width: 100% !important;
    max-width: 90% !important;
    margin-top: 60px !important;
    margin-bottom: 50px !important;
    padding: 0 50px !important;
  }

  /* Main containers */
  section,
  .container,
  .hero-content,
  .tour-grid,
  .services-grid {
    max-width: 1600px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  /* Grids */
  .tour-grid,
  .services-grid {
    gap: 30px !important;
  }

  /* Images */
  img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }
}

/* Ultra-wide screens (1600px+) */
@media (min-width: 1600px) {

  html, body {
    font-size: 20px !important;
  }

  .hero {
    padding: 80px 50px !important;
  }

  .hero h1 {
    font-size: 64px !important;
  }

  .page-banner {
    margin-top: 80px !important;
    margin-bottom: 60px !important;
    padding: 0 60px !important;
  }

  section,
  .container,
  .hero-content,
  .tour-grid,
  .services-grid {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }

  .tour-grid,
  .services-grid {
    gap: 35px !important;
  }
}
/* =========================================================
   HOME & TOURS BANNER FIX FOR LARGE/ULTRA SCREENS
   ========================================================= */

/* Ensure page-specific targeting */
.page-home .hero,
.page-tours .tour-banner {
    margin-top: 5px;      /* space below navbar */
    min-height: 80vh;      /* banner height: 80% of viewport */
    display: flex;
    align-items: center;   /* center content vertically */
    justify-content: center; /* center content horizontally */
    text-align: center;
    padding: 20px;         /* internal padding for content */
}
.page-home .home-banner {
    margin-top: 40px;      /* space below navbar */
    min-height: 80vh;      /* banner height: 80% of viewport */
    display: flex;
    align-items: center;   /* center content vertically */
    justify-content: center; /* center content horizontally */
    text-align: center;
    padding: 20px;         /* internal padding for content */
}

/* Ensure images inside banners cover area */
.page-home .hero img,
.page-tours .tour-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;     /* cover banner without distortion */
}

/* Adjust spacing for ultra-wide screens */
@media screen and (min-width: 1600px) {
    .page-home .hero,
    .page-tours .tour-banner {
        margin-top: 80px;    /* bigger gap from navbar */
        min-height: 90vh;    /* taller on ultra-wide screens */
    }
}

/* Optional: adjust banner text size on big screens */
@media screen and (min-width: 1200px) {
    .page-home .hero h1,
    .page-tours .tour-banner h1 {
        font-size: 4rem; /* larger heading */
    }

    .page-home .hero p,
    .page-tours .tour-banner p {
        font-size: 1.25rem;
    }
}


/* Tablet */
@media (max-width: 992px) {

  .tour-card,
  .service-card {
    width: 48% !important;
  }

  .nav-menu {
    gap: 20px;
  }
}

/* Mobile */
@media (max-width: 768px) {

  body {
    padding-top: 80px;
  }

  .navbar {
    padding: 15px 20px;
  }

  .nav-menu {
    flex-direction: column;
    gap: 10px;
  }

  .tour-card,
  .service-card {
    width: 100% !important;
  }

  .hero {
    height: auto;
    padding: 100px 20px;
    text-align: center;
  }

  .hero h1 {
    font-size: 28px;
  }

  .hero-buttons {
    flex-direction: column;
    gap: 10px;
  }
}

/* Extra small phones */
@media (max-width: 480px) {
  h1 { font-size: 22px; }
  h2 { font-size: 18px; }
}




/* ================================= */
/*     MOBILE PORTRAIT FIX           */
/* ================================= */

@media screen and (max-width: 480px) {

  body {
    font-size: 16px;
    padding: 0;
  }

  section {
    padding: 0 15px;
    margin: 40px 0;
  }

  h1 {
    font-size: 24px !important;
    line-height: 1.3;
  }

  h2 {
    font-size: 20px !important;
  }

  p {
    font-size: 15px !important;
  }

  /* HERO FIX */
  .hero {
    height: auto !important;
    padding: 80px 20px !important;
    text-align: center;
  }

  .hero-content {
    max-width: 100%;
  }

  .hero-buttons {
    flex-direction: column;
    width: 100%;
  }

  .hero-buttons a {
    width: 100%;
    text-align: center;
  }

  /* NAVBAR FIX */
  .navbar {
    padding: 15px 15px;
  }

  .nav-menu {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  /* CARDS FIX */
  .tour-card,
  .service-card {
    width: 100% !important;
    margin-bottom: 20px;
  }

  .tour-grid,
  .services-grid {
    display: block;
  }

  img {
    height: auto !important;
  }

}





