:root{font-family:system-ui,Arial,sans-serif;color:#1b303b;background:#f5f8f9}*{box-sizing:border-box}body{margin:0}header{background:#102f3c;color:white;padding:20px max(20px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}header a,footer a{color:#d4f4ee;margin-left:16px}a{color:#087d76}.wrap{max-width:1120px;margin:auto;padding:0 20px}.hero{padding:90px 0;background:linear-gradient(110deg,#103240e8,#165b64a8),url('https://images.unsplash.com/photo-1533676802871-eca1ae998cd5?auto=format&fit=crop&w=1600&q=80') center/cover;color:white}.hero h1{font-size:clamp(35px,5vw,60px);max-width:760px;margin:12px 0}.hero p{font-size:20px;max-width:630px}.eyebrow{letter-spacing:2px;font-size:13px}main section{padding:42px 0}h2{font-size:32px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.cards article,form,aside,.adminBox{background:white;padding:24px;border-radius:14px;box-shadow:0 4px 24px #092b3511}.cards article span,.small{font-size:13px;color:#334155}.cards article b{color:#087d76}.columns{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}label{display:block;font-size:14px;font-weight:600;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #c5d4d8;border-radius:8px;padding:12px;margin-top:6px;font:inherit}button,.button{background:#087d76;color:white;border:0;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.5}footer{background:#102f3c;color:white;padding:28px;text-align:center}.hidden{display:none!important}.chatToggle{position:fixed;bottom:18px;right:18px;z-index:3}.chat{position:fixed;bottom:78px;right:18px;width:min(355px,calc(100vw - 36px));background:white;box-shadow:0 5px 35px #0003;border-radius:12px;padding:15px;z-index:4}.chatTitle{display:flex;justify-content:space-between;align-items:center;font-weight:bold}.chatTitle button{padding:3px 10px}.messages{height:180px;overflow:auto}.messages p{background:#eaf4f2;padding:9px;border-radius:9px}#chatForm{display:flex;gap:7px;padding:0;box-shadow:none}#chatForm input{margin:0}.notice{background:#e8f6f1;padding:12px;border-radius:8px}.error{color:#a32d32}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;background:white}td,th{border-bottom:1px solid #ddd;padding:9px;text-align:left;font-size:13px}td select{min-width:115px}@media(max-width:700px){.columns{grid-template-columns:1fr}.hero{padding:55px 0}header a{margin-left:4px}}


/* Background halaman utama Bromo Tour Packages */
hero {
  min-height: 600px;
  padding: 90px 24px;
  display: flex;
  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      rgba(0, 0, 0, 0.35),
      rgba(0, 0, 0, 0.35)
    ),
    url("images/Bromo-Sunrise.jpg") !important;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  color: white;
  text-align: center;
}
.hero {
  background-image:
    linear-gradient(
      rgba(0, 0, 0, 0.35),
      rgba(0, 0, 0, 0.35)
    ),
    url("/website-temp/bromo-booking-live/assets/images/Bromo-Sunrise.jpg") !important;

  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Tampilan gambar paket wisata */
#packages .cards article img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
  margin-bottom: 15px;
}

/* Tour Assistant khusus tampilan HP */
@media (max-width: 700px) {
  #chatToggle {
    right: 12px;
    bottom: 12px;
    padding: 10px 12px;
    font-size: 12px;
    border-radius: 20px;
    width: auto;
    max-width: 120px !important;
  }
}
/* Modern Tour Package Cards */
#packages .cards article {
  border-radius: 18px;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

#packages .cards article:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.15);
}

#packages .cards article img {
  transition: transform 0.3s ease;
}

/* Booking Admin Dashboard Statistics */
#bookingStats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 24px 0 32px;
}

#bookingStats > div {
  background: #ffffff;
  padding: 22px;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
  font-size: 14px;
  color: #475569;
}

#bookingStats strong {
  display: block;
  margin-top: 10px;
  font-size: 26px;
  font-weight: 700;
  color: #0f766e;
}

@media (max-width: 768px) {
  #bookingStats {
    grid-template-columns: 1fr;
  }
}
/* Booking Admin Statistics */
#bookingStats.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 25px 0;
}

#bookingStats.stats-grid > div {
    background: #ffffff;
    padding: 22px;
    border-radius: 14px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border: 1px solid #e5e7eb;
}

#bookingStats.stats-grid strong {
    display: block;
    font-size: 26px;
    color: #0f766e;
    margin-top: 10px;
}

@media (max-width: 768px) {
    #bookingStats.stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    #bookingStats.stats-grid {
        grid-template-columns: 1fr;
    }
}
/* Modern Booking Admin Table */
#dashboard .tableWrap {
  background: #ffffff;
  border-radius: 16px;
  padding: 16px;
  margin-top: 20px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
  overflow-x: auto;
}

#dashboard .tableWrap table {
  width: 100%;
  border-collapse: collapse;
}

#dashboard .tableWrap th {
  background: #f0fdfa;
  color: #115e59;
  font-weight: 700;
  padding: 14px 12px;
  text-align: left;
}

#dashboard .tableWrap td {
  padding: 14px 12px;
  border-bottom: 1px solid #e5e7eb;
}

#dashboard .tableWrap tbody tr:hover {
  background: #f0fdfa;
}

#dashboard .tableWrap select:not([class^="status-"]) {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 8px;
  background: #ffffff;
}

/* Booking Status Colors */

#dashboard .tableWrap select.status-pending {
  background-color: #fef3c7!important;
  color: #92400e;
  border-color: #f59e0b;
}

#dashboard .tableWrap select.status-confirmed {
  background-color: #dcfce7;
  color: #166534;
  border-color: #22c55e;
}

#dashboard .tableWrap select.status-cancelled {
  background-color: #fee2e2;
  color: #991b1b;
  border-color: #ef4444;
}

#dashboard .tableWrap select.status-completed {
  background-color: #dbeafe;
  color: #1e40af;
  border-color: #3b82f6;
}

/* Booking Price Formatting */
#dashboard #bookingRows td:nth-child(7),
#dashboard #bookingRows td:nth-child(8) {
  white-space: nowrap;
  min-width: 130px;
}
#dashboard .tableWrap table {
    min-width: 1200px;
}
/* =====================================
   BROMO OPEN TRIP - 8 DATE CARDS
===================================== */

#departures #tripList {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 25px;
}

#departures #tripList article {
  min-width: 0;
  padding: 22px 18px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#departures #tripList article:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

#departures #tripList h3 {
  font-size: 18px;
  margin-bottom: 12px;
  overflow-wrap: anywhere;
}

#departures #tripList p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 16px;
}

#departures #tripList button {
  width: 100%;
  padding: 12px 10px;
  border-radius: 9px;
  cursor: pointer;
}

#departures #tripList button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Tablet */
@media (max-width: 900px) {
  #departures #tripList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 480px) {
  #departures #tripList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  #departures #tripList article {
    padding: 14px 10px;
  }

  #departures #tripList h3 {
    font-size: 15px;
  }

  #departures #tripList p {
    font-size: 12px;
  }

  #departures #tripList button {
    font-size: 12px;
    padding: 10px 6px;
  }
}


/* OPEN TRIP AVAILABILITY STATUS */

#departures .trip-status {
  display: inline-block;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

#departures .trip-status.available {
  background: #dcfce7;
  color: #166534;
}

#departures .trip-status.almost-full {
  background: #fef3c7;
  color: #92400e;
}

#departures .trip-status.fully-booked {
  background: #fee2e2;
  color: #991b1b;
}


/* OPEN TRIP CARD DESIGN */

#departures #tripList article {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease,
              box-shadow 0.25s ease;
}

#departures #tripList article:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.13);
}

#departures #tripList h3 {
  font-size: 20px;
  font-weight: 800;
  color: #16324f;
  margin: 16px 0 12px;
}

#departures #tripList p {
  font-size: 15px;
  line-height: 1.7;
  color: #475569;
  margin-bottom: 18px;
}

#departures #tripList button {
  width: 100%;
  padding: 14px 16px;
  border: none;
  border-radius: 12px;
  background: #008f83;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
}

#departures #tripList button:hover {
  background: #006f66;
}

#departures #tripList button:disabled {
  background: #94a3b8;
  cursor: not-allowed;
}


/* Tombol halaman paket wisata */
#packages .itinerary-btn {
    display: inline-block;
    margin: 10px 8px 0 0;
    padding: 10px 16px;
    background-color: #008f83;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    line-height: 1.5;
    transition: background-color 0.2s ease;
}

#packages .itinerary-btn:hover {
    background-color: #006f66;
    color: #ffffff;
}

@media (max-width: 600px) {
    #packages .itinerary-btn {
        margin-top: 10px;
        padding: 10px 14px;
        font-size: 13px;
    }
}
