/* ==== BASE STYLES ==== */
body, html {
  margin: 0;
  height: 100%;
  font-family: 'Inter', sans-serif;
  background: url('/assets/background5.jpg') no-repeat center center fixed;
  background-size: cover;
  
  flex-direction: column;
  color: #fff;
}

main {
  flex: 1;
}

/* ==== TYPOGRAPHY ==== */
h1, h2 {
  color: #81caff;
}


footer {
  text-align: center;
  padding: 1rem;
  font-size: 0.9rem;
  background: rgba(255, 255, 255, 0.6);
color: gray;
  
}

footer a {
  color:gray;
}

/* ==== BUTTONS ==== */
.btn-primary, .btn-secondary {
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: background 0.3s ease;
}

.btn-primary {
  background: #1c6dd0;
  color: white;
}

.btn-primary:hover {
  background-color: #1453a0;
}

.btn-secondary {
  background: white;
  color: #1453a0;
}

/* ==== NAVIGATION BAR ==== */
.main-nav {
  background-color: #1453a0;
  color: white;
  position: relative;
  z-index: 1000;
}

.nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 2rem;
  flex-wrap: wrap;
}

.logo {
  font-size: 1.6rem;
  font-weight: 700;
  color: white;
  text-decoration: none;
}

.logo:hover {
  color: #35afff;
}



/* === TOGGLE FOR MOBILE === */
.nav-toggle {
  display: none;
}

.nav-toggle-label {
  display: none;
  font-size: 1.8rem;
  color: white;
  cursor: pointer;
}

/* === NAV MENU === */
.nav-menu {
  flex: 1;
}

.nav-links {
  list-style: none;
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 0;
  margin: 0;
}

.nav-links li {
  position: relative;
}

.nav-links a,
.dropdown-toggle {
  display: inline-block;
  /* color: white; */
  font-weight: 500;
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  background: transparent;
  text-decoration: none;
  cursor: pointer;
  border: none;
  font-size: medium;
}

.nav-links a:hover,
.dropdown-toggle:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

/* === DROPDOWN === */
.dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  display: none;
  flex-direction: column;
  min-width: 160px;
  background: white;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  z-index: 1001;
  text-align: center;
  text-decoration: none;
}

.dropdown-menu li {
  padding: 0.5rem 1rem;
}

.dropdown-menu a {
  color: #333;
  text-decoration: none;
  display: block;
}

.dropdown-menu a:hover {
  background-color: #064cff;
}

.dropdown.open .dropdown-menu {
  display: flex;
}

/* === MOBILE NAVIGATION === */
@media screen and (max-width: 768px) {
  .nav-toggle,
  .nav-toggle-label {
    display: block;
  }

  .nav-links {
    flex-direction: column;
    width: 100%;
    background-color: #1453a0;
    margin-top: 1rem;
    display: none;
  }

  #nav-toggle:checked + .nav-toggle-label + .nav-menu .nav-links {
    display: flex;
  }

  .dropdown-menu {
    position: static;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: none;
  }

  .dropdown-menu a {
    color: white;
  }

  .dropdown-menu a:hover {
    background-color: rgba(255, 255, 255, 0.2);
  }
}




/* ==== CONTENT LAYOUT ==== */
.intro-container {
  max-width: 760px;
  margin: 3rem auto;
  background: rgba(0, 0, 0, 0.65);
  padding: 2rem 2.5rem;
  border-radius: 16px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.3);
}

.dashboard-container {
  width: 75%;
  max-width: 100%;
  margin: 3rem auto;
  padding: 0 1rem;
  text-align: center;
  border-radius: 8px;
  color: #1453a0;
}

.dashboard-header,
.trips-header {
  background: white;
  padding: 5px 0;
  border-radius: 8px;
  color: #1453a0;
}

.trips-wrapper {
  background: white;
  padding: 2rem 2.5rem;
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.06);
  max-width: 960px;
  margin: 3rem auto;
  color: #333;
}
.trips-container {
  width: 100%;
  max-width: 90%;
  margin: 3rem auto;
  padding: 0 1rem;
  text-align: center;
  border-radius: 8px;
  color: #1453a0;
}

.trips-header {
  padding-bottom: 1rem;
  /* border-bottom: 2px solid #1c6dd0; */
  margin-bottom: 1.5rem;
}

.trips-header h1 {
  color: #1c6dd0;
  margin: 0;
}


.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}

.card, .feature-card {
  background: white;
  color: #333;
  border-radius: 12px;
  padding: 2rem 1.5rem;
  text-decoration: none;
  box-shadow: 0 6px 12px rgba(0,0,0,0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.trip-card {
  background: rgb(232, 232, 232);
  color: #333;
  border-radius: 12px;
  padding: 2rem 1.5rem;
  text-decoration: none;
  box-shadow: 0 6px 12px rgba(0,0,0,0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover, .feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.12);
}

.card h2, .feature-card h3 {
  color: #1c6dd0;
  margin-bottom: 0.5rem;
}

.hero-banner {
  background: url('assets/background.jpg') no-repeat center center;
  background-size: cover;
  padding: 6rem 2rem;
  text-align: center;
  color: white;
}

.hero-content h1 {
  font-size: 2.8rem;
  margin-bottom: 1rem;
  color: white;
}

.hero-content p {
  font-size: 1.2rem;
  margin-bottom: 2rem;
}

.features-section,
.how-it-works,
.cta-section {
  padding: 3rem 2rem;
  background: white;
  color: #333;
  text-align: center;
}

.features-section h2,
.how-it-works h2,
.cta-section h2 {
  color: #1c6dd0;
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

/* ==== LOGIN & FORMS ==== */
.login-container {
  display: flex;
  justify-content: center;
  padding: 3rem 1rem;
  color: #1c6dd0;
}

.login-card {
  background: white;
  padding: 2rem 2.5rem;
  border-radius: 12px;
  max-width: 400px;
  width: 100%;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  text-align: center;
}

.login-card h2 {
  color: #1c6dd0;
  margin-bottom: 0.5rem;
}

.login-card p {
  font-size: 1rem;
  margin-bottom: 1.5rem;
}

form {
  display: flex;
  flex-direction: column;
}

form label {
  text-align: left;
  margin: 0.5rem 0 0.2rem;
  font-weight: 600;
}

form input {
  padding: 0.6rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  margin-bottom: 1rem;
  font-size: 1rem;
}

.form-hint,
.form-hint a {
  font-size: 0.95rem;
  color: #1c6dd0;
  text-decoration: none;
}

.form-error {
  background: #ffebeb;
  color: #c62828;
  padding: 0.75rem;
  margin-bottom: 1rem;
  border-radius: 6px;
  font-size: 0.95rem;
}

/* ==== TRIP DETAILS ==== */
.trip-details-wrapper {
  position: relative;
  background: white;
  padding: 2rem 2.5rem;
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.06);
  max-width: 800px;
  margin: 3rem auto;
  color: #333;
}

.trip-details-wrapper h1, h2 {
  color: #1c6dd0;
}

.trip-details-wrapper section {
  margin-top: 2rem;
}

.trip-details-wrapper ul {
  list-style: none;
  padding-left: 0;
}

.trip-details-wrapper li {
  margin-bottom: 0.5rem;
  line-height: 1.5;
}

.trip-status-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.85rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.trip-status-upcoming {
  background-color: #28a745; /* Green */
}

.trip-status-past {
  background-color: #6c757d; /* Grey */
}

/* ==== DOCUMENTS & CHECKLIST ==== */
.document-list {
  list-style: none;
  padding-left: 0;
}

.document-list li {
  margin-bottom: 0.75rem;
}

.delete-btn,
.delete-checklist {
  margin-left: 1rem;
  background-color: #ff5c5c;
  color: white;
  border: none;
  padding: 0.3rem 0.7rem;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
}

.checklist-list {
  list-style: none;
  padding-left: 0;
}

.checklist-list li {
  margin-bottom: 0.6rem;
}

/* ==== MODALS ==== */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-content {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  text-align: center;
  max-width: 320px;
  color: black;
}

.modal-box {
  
  background: #fff;
  color: #000; /* 👈 This ensures text is black */
  padding: 2em;
  border-radius: 8px;
  max-width: 400px;
  text-align: center;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);

}

.hidden {
  display: none;
}

.btn-secondary {
  background: #ccc;
  color: #333;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  margin-left: 1rem;
  cursor: pointer;
}

/* ==== TOAST NOTIFICATION ==== */
.toast {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  background: #333;
  color: white;
  padding: 0.8rem 1.2rem;
  border-radius: 8px;
  font-size: 0.9rem;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 999;
}

.toast.show {
  opacity: 1;
  transform: translateY(0);
}

.trip-status-pill {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 12px;
  margin-bottom: 0.5rem;
  background-color: #ccc;
  color: white;
}

.trip-status-pill.upcoming {
  background-color: #28a745;
}

.trip-status-pill.past {
  background-color: #6c757d;
}

.action-bar {
  text-align: center;
  margin-bottom: 2rem;
}

.table-list {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
  align-items: center;
}

.table-list thead {
  background-color: #f5f5f5;
  color: #1453a0;
  text-align: center;
}

.table-list th, .table-list td {
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid #ddd;
}

.table-list tr:hover td {
  background-color: #fafafa;
}

.table-list td a {
  color: #1453a0;
  text-decoration: underline;
}

.responsive-table {
  width: 100%;
  overflow-x:hidden;
}

.responsive-table table {
  width: 100%;
  min-width: 500px; /* ensures proper layout even on small screens */
  border-collapse: collapse;
}

.table-list th,
.table-list td {
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 150px; /* Adjust per column or breakpoint */
}



@media screen and (max-width: 768px) {
  .table-list th,
  .table-list td {
    padding: 0.5rem;
  }
}

.account-wrapper {
  background: white;
  padding: 2rem 2.5rem;
  border-radius: 12px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
  max-width: 800px;
  margin: 3rem auto;
  color: #333;
}

.account-wrapper h1 {
  color: #1c6dd0;
  margin-bottom: 2rem;
  text-align: center;
}

.form-section,
.subscription-section,
.one-off-payment-section {
  margin-bottom: 2.5rem;
}

.trip-payment-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
}

.paid-label {
  background: #28a745;
  color: white;
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
}


    /* body {
      margin: 0;
      font-family: 'Segoe UI', sans-serif;
      background: #f3f6fb;
      color: #333;
    } */

    .hero {
      padding: 80px 20px;
      text-align: center;
      background: linear-gradient(135deg, #42a5f5, #1e88e5);
      color: white;
    }

    .hero h1 {
      font-size: 3rem;
      margin-bottom: 1rem;
    }

    .hero p {
      font-size: 1.2rem;
      max-width: 600px;
      margin: 0 auto;
    }

    .section {
      padding: 60px 20px;
      text-align: center;
    }

    .cta {
      margin-top: 2rem;
    }

    .cta button {
      background-color: #1e88e5;
      color: white;
      border: none;
      padding: 12px 24px;
      border-radius: 6px;
      font-size: 1rem;
      cursor: pointer;
    }

    .cta button:hover {
      background-color: #1565c0;
    }

    /* .footer {
      padding: 20px;
      text-align: center;
      font-size: 0.9rem;
      color: #777;
    } */
	  
	  /* Add a black background color to the top navigation */
.topnav {
  background-color: #35afff;
  overflow: hidden;
  text-align: center;
}

/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

/* Change the color of links on hover */
.topnav a:hover {
  background-color: #1da5fd;
  color: black;
  border-radius: 2px;
}

/* Add an active class to highlight the current page */
.topnav a.active {
  background-color: #04AA6D;
  color: white;
}

/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
  display: none;
  margin-top: 55px;
  margin-right: 30px;
}
	  .navlink {
	margin-top:50px;
  padding-left: 220px;
	  }
	  
	  /* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
  
	.navlink {
	margin-top:0px;
  padding-left:0px;
	  }
    
}

/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
@media screen and (max-width: 600px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}

.delete-pill {
  position: absolute;
  top: 20px;
  left: 20px;
  background-color: #e53935;
  color: white;
  padding: 10px 20px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.75rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transition: background-color 0.3s ease;
}



.delete-pill:hover {
  background-color: #b71c1c;
}

.share-trip-form {
  margin-top: 60px;
  background: #f2faff;
  padding: 20px;
  border-radius: 8px;
  border: 1px solid #cce7ff;
}

.share-trip-form h3 {
  margin-bottom: 10px;
}

.share-trip-form input[type="email"],
.share-trip-form button {
  padding: 10px;
  margin-top: 8px;
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.share-trip-form button {
  background-color: #1e88e5;
  color: white;
  border: none;
  cursor: pointer;
}

.share-trip-form button:hover {
  background-color: #1565c0;
}

.trip-tag {
  display: inline-block;
  background-color: #f0f4ff;
  color: #1e88e5;
  font-size: 0.8rem;
  padding: 4px 8px;
  border-radius: 5px;
  margin-top: 6px;
  font-weight: 500;
  border-color: #35afff;
  border: solid;
}

.upload-tag {
  display: inline-block;
  background-color: #f0f8ff;
  color: #007bff;
  font-size: 0.8rem;
  padding: 0.2rem 0.6rem;
  border-radius: 12px;
  margin-left: 0.5rem;
}

.delete-disabled {
  color: #999;
  font-size: 0.85rem;
}

.logo-grey {
	background-image: url('mab-grey.png');
	height: 100px;
	width: 150px;
	position: inline-block;
	white-space: nowrap;
	float: left;
	display: flex;
	justify-content: center;
	
	
}

.logo-grey:hover {
    background-image: url('mab-logo.png');
}

.mbb-logo-grey {
	background-image: url('mbb-grey.png');
	height: 100px;
	width: 140px;
	position: inline-block;
	display: flex;
	justify-content: center
}

.mbb-logo-grey:hover {
	background-image: url('mbb-logo.png');
}

