/* Body */
body {
  margin: 0;
  font-family: Arial, sans-serif;
  background-color: #f8f8f8;
}

/* Header */
.header {
  background: #0a2540;
  color: white;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.header .tittle {
  margin: 0;
  font-size: 24px;
  font-weight: bold;
  flex: 1;
  text-align: center;
}
.header .clock {
  font-size: 14px;
  font-weight: 600;
  opacity: 0.9;
  white-space: nowrap;
}

/* Navigation bar */
.nav {
  background: #e0e7ff;
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 10px;
}
.nav a {
  text-decoration: none;
  color: #0b3c91;
  font-weight: bold;
}
.nav a:hover {
  color: #fff;
  background: #0b6cff;
  padding: 5px 10px;
  border-radius: 6px;
}

/* Main content area */
.main {
  display: flex;
  margin: 20px;
}
.side {
  flex: 1;
  background: #f1f5f9;
  padding: 15px;
  border: 1px solid #ddd;
  margin-right: 15px;
}
.section {
  flex: 3;
  background: white;
  padding: 20px;
  border: 1px solid #ddd;
}

/* Footer */
.footer {
  background: #e0e7ff;
  text-align: center;
  padding: 15px;
  margin-top: 20px;
  border-top: 2px solid #0b6cff;
}

/* Flight Page */
#flight-section {
  background: url("850490.jpg") no-repeat center center;
  background-size: cover;
  color: #fff;
  position: relative;
  border-radius: 8px;
}
#flight-section::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.4);
  border-radius: 8px;
  z-index: 0;
}
#flight-section > * { position: relative; z-index: 1; }
#paxPanel {
  display: none;
  background: rgba(255,255,255,0.9);
  color: #000;
  border-radius: 8px;
  padding: 12px;
}

/* Contact Page */
form#contactForm {
  max-width: 500px;
  margin: 20px auto;
  padding: 20px;
  background: rgba(249, 249, 249, 0.8);
  border-radius: 8px;
  border: 1px solid #ccc;
  box-shadow: 0px 2px 6px rgba(0,0,0,0.1);
}
form#contactForm label {
  font-weight: bold;
  display: block;
  margin: 10px 0 5px;
}
form#contactForm input[type="text"],
form#contactForm input[type="number"],
form#contactForm textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #bbb;
  border-radius: 5px;
  margin-bottom: 15px;
  font-size: 14px;
  box-sizing: border-box;
}
form#contactForm textarea {
  resize: vertical;
  min-height: 80px;
}
form#contactForm input[type="radio"] { margin-right: 5px; }
form#contactForm button {
  background-color: #0a2540;
  color: white;
  border: none;
  padding: 10px 18px;
  font-size: 16px;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s;
}
form#contactForm button:hover { background-color: #084dbf; }
#demo { margin-top: 10px; font-weight: bold; color: #b91c1c; }

#contactbackground {
  background: url("5dabd10c-ee6c-4d8b-993d-be4b02f358cd.png") no-repeat center center;
  background-size: cover;
  color: #fff;
  position: relative;
  border-radius: 8px;
  padding: 40px 20px;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

/* Add a dark overlay for contrast */
#contactbackground::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.4);
  border-radius: 8px;
  z-index: 0;
}

/* Ensure all content stays above overlay */
#contactbackground > * {
  position: relative;
  z-index: 1;
}

/* Contact form styling over the image */
#contactForm {
  background: rgba(255,255,255,0.9);  
  color: #000;                        
  border-radius: 8px;
  padding: 20px;
  max-width: 500px;
  width: 100%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Global shared utilities */
.row { display:flex; gap:12px; flex-wrap:wrap; }
label { display:block; font-weight:600; margin:10px 0 6px; }
input[type="text"], input[type="date"] {
  width:100%; padding:10px; border:1px solid #bbb; border-radius:6px; box-sizing:border-box;
}
.actions {
  display:flex; gap:10px; align-items:center; justify-content:flex-end; margin-top:12px;
}
.btn { background:#0b6cff; color:#fff; border:none; padding:10px 16px; border-radius:6px; cursor:pointer; }
.btn:hover { background:#084dbf; }
.error { color:#b91c1c; font-weight:700; margin-top:10px; }
.summary { color: #111;  margin-top:10px; background:#f6fff8; border:1px solid #ccebd6; padding:12px; border-radius:8px; }

/* Stays Page */
#stays-section {
  position: relative;
  background: url("hotel.jpeg") center/cover no-repeat;
  border-radius: 10px;
  color: #fff;
  overflow: hidden;
  padding: 40px 20px;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#stays-section::before {
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.35);
  z-index:0;
  border-radius: inherit;
}
#stays-section > * { position: relative; z-index: 1; }
#stays-section input[type="text"],
#stays-section input[type="date"],
#stays-section input[type="number"] {
  width:100%; padding:10px; border:1px solid #bbb; border-radius:6px; box-sizing:border-box; background:#fff;
}
#stays-section label,
#stays-section h2,
#stays-section h3,
#stays-section p { color: #fff; }
#stays-section .summary {
  color: #111; background: rgba(255,255,255,0.9);
  border: 1px solid #ccc; margin-top:12px; border-radius:8px;
}
#stays-section .error {
  color:#b91c1c; background:rgba(255,255,255,0.8);
  padding:8px; margin-top:12px; border-radius:8px;
}

/* Cars Page */
#cars-section {
  position: relative;
  background: url("cars.jpeg") center/cover no-repeat;
  border-radius: 10px;
  overflow: hidden;
  padding: 40px 20px;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#cars-section::before {
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.35);
  z-index:0;
}
#cars-section > * { position: relative; z-index: 1; }
#cars-section h2,
#cars-section label { color: #fff; }
#cars-section input[type="text"],
#cars-section input[type="date"],
#cars-section select {
  width: 100%;
  padding: 10px;
  border: 1px solid #bbb;
  border-radius: 6px;
  background: #fff;
  color: #111;
}
#cars-section .btn { background:#0b6cff; color:#fff; }
#cars-section .btn:hover { background:#084dbf; }
#cars-section .summary {
  color:#111; background:rgba(246,255,248,0.95);
  border:1px solid #ccebd6; border-radius:8px;
  padding:12px; margin-top:10px;
}
#cars-section .error {
  color:#b91c1c; background:rgba(255,255,255,0.9);
  border-radius:8px; padding:8px; margin-top:10px;
}

/* Cruise Page */
#cruise-section {
  position: relative;
  background: url("cruise.jpg") center/cover no-repeat;
  border-radius: 10px;
  color: #fff;
  overflow: hidden;
  padding: 40px 20px;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#cruise-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.4);
  border-radius: inherit;
  z-index: 0;
}
#cruise-section > * { position: relative; z-index: 1; }
#cruise-section label,
#cruise-section h2,
#cruise-section p { color: #fff; }
#cruise-section input[type="date"],
#cruise-section input[type="number"],
#cruise-section select { background: #fff; color: #000; }
#cruise-section .error {
  color:#b91c1c; background:rgba(255,255,255,0.9);
  padding:8px; margin-top:12px; border-radius:8px;
}
#cruise-section .summary {
  color:#111; background:rgba(255,255,255,0.9);
  border:1px solid #ccc; padding:12px; margin-top:12px; border-radius:8px;
}

/* Cruise: layout adjustment for first row */
.cruise-card > .row:first-child > div:first-child { flex: 1 1 100%; }
.cruise-card > .row:first-child > div:nth-child(2),
.cruise-card > .row:first-child > div:nth-child(3) { flex: 1 1 calc(50% - 6px); }

/* Home page (Index section) */
#index-section {
  background-image: url("travel.avif");
  background-size: cover;
  background-position: center;
  position: relative;
  color: white;
  padding: 40px 20px;
  border-radius: 10px;
  text-align: center;
  overflow: hidden;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#index-section::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  border-radius: inherit;
  z-index: 0;
}
#index-section > * { position: relative; z-index: 1; }
