/* ================================================= */
/* TEMA "PREMIUM NIGHT TRAVEL"              */
/* ================================================= */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap');

:root {
    --orange-accent: #ff8c00;  /* Oranye terang sebagai warna utama */
    --dark-charcoal: #1a1a1a;  /* Latar belakang utama */
    --medium-gray: #2c2c2c;   /* Latar belakang kartu/panel */
    --light-gray: #e0e0e0;     /* Warna teks */
    --white-color: #ffffff;    /* Warna judul */
    --font-family: 'Poppins', sans-serif;
}

/* --- Pengaturan Dasar --- */
body {
    font-family: var(--font-family);
    background-color: var(--dark-charcoal);
    color: var(--light-gray);
}
section { padding: 80px 0; }
.text-orange { color: var(--orange-accent) !important; }

/* --- Navbar --- */
.navbar-custom {
    background-color: rgba(26, 26, 26, 0.85); /* Semi transparan */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid #333;
}
.navbar-brand strong { color: var(--orange-accent); }
.navbar-dark .nav-link { color: rgba(255, 255, 255, 0.7); transition: color 0.3s; }
.navbar-dark .nav-link:hover, .navbar-dark .nav-link.active { color: var(--white-color); }

/* --- Hero Section & Form --- */
.hero-section {
    padding-top: 180px; /* Lebih banyak ruang karena navbar fixed */
    padding-bottom: 120px;
    background: url('https://images.unsplash.com/photo-1544620347-c4fd4a3d5957?q=80&w=1887&auto=format&fit=crop') no-repeat center center;
    background-size: cover;
}
.hero-overlay { background-color: rgba(0, 0, 0, 0.6); }
.hero-section .card {
    background-color: var(--medium-gray);
    border: 1px solid #444;
}
.hero-section .form-label { color: var(--light-gray) !important; }
.nav-tabs { border-bottom: 1px solid #444; }
.nav-tabs .nav-link { color: var(--light-gray); border-bottom: 3px solid transparent; }
.nav-tabs .nav-link.active {
    color: var(--orange-accent);
    border-bottom: 3px solid var(--orange-accent);
    background-color: transparent;
    font-weight: bold;
}
.form-control, .form-select {
    background-color: var(--dark-charcoal);
    color: var(--white-color);
    border: 1px solid #555;
}
.form-control:focus, .form-select:focus {
    background-color: var(--dark-charcoal);
    color: var(--white-color);
    border-color: var(--orange-accent);
    box-shadow: 0 0 0 0.25rem rgba(255, 140, 0, 0.25);
}
.input-group-text {
    background-color: var(--dark-charcoal);
    border: 1px solid #555;
    color: var(--orange-accent);
}
.btn-primary {
    background-color: var(--orange-accent);
    border-color: var(--orange-accent);
    font-weight: bold;
    color: var(--dark-charcoal);
}
.btn-primary:hover {
    background-color: #ff9d23;
    border-color: #ff9d23;
}

/* --- Bagian Layanan, Keunggulan, Armada --- */
.services-section, .why-us-section, .armada-section {
    background-color: var(--dark-charcoal);
}
.services-section .card, .armada-section .card {
    background-color: var(--medium-gray);
    border: 1px solid #444;
    transition: all 0.3s ease;
}
.services-section .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    border-color: var(--orange-accent);
}
.card-title { color: var(--white-color); }
.card-text { color: var(--light-gray); }
.text-muted { color: #888 !important; }
h2.fw-bold { color: var(--white-color); }

/* --- Call to Action --- */
.cta-section { background: linear-gradient(45deg, var(--orange-accent), #ff5e00); }
.cta-section .btn-light { color: var(--orange-accent); }

/* --- Footer --- */
.footer-custom {
    background-color: var(--medium-gray);
}
.footer-custom a {
    text-decoration: none;
    transition: color 0.3s;
}
.footer-custom a:hover {
    color: var(--orange-accent) !important;
}
.seat-map-container {
    background-color: var(--dark-charcoal); /* Warna disesuaikan tema gelap */
    border: 1px solid #555;
    border-radius: 5px;
    padding: 20px;
    display: flex;
    align-items: center;
}

.driver-seat {
    background-color: #6c757d;
    color: white;
    padding: 10px;
    border-radius: 5px;
    margin-right: 20px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    text-align: center;
}

.seat-map {
    display: grid;
    /* Ubah menjadi 3 kolom agar lebih rapi */
    grid-template-columns: repeat(3, 1fr); 
    gap: 10px;
    width: 100%;
}

.seat {
    width: 50px; /* Sedikit diperbesar */
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    border: 1px solid #555;
    transition: all 0.2s ease-in-out;
}

.seat-available {
    background-color: #495057; /* Warna abu-abu untuk kursi tersedia */
    color: var(--light-gray);
}

.seat-available:hover {
    background-color: #5a6268;
    border-color: var(--orange-accent);
}

.seat-booked {
    background-color: #dc3545;
    color: white;
    cursor: not-allowed;
    border-color: #dc3545;
    opacity: 0.6;
}

.seat-selected {
    background-color: var(--orange-accent);
    color: var(--dark-charcoal);
    border-color: var(--orange-accent);
    font-weight: bold;
}

.seat-legend .seat {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    cursor: default;
}