.nightclub-reservation-form { max-width: 700px; margin: 20px auto; padding: 20px; background: #f9f9f9; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); font-family: 'Poppins', sans-serif; }
.venue-header { text-align: center; margin-bottom: 20px; }
.venue-header img { max-width: 100%; height: auto; border-radius: 8px; margin-bottom: 15px; }
.venue-header h1 { font-size: 2em; color: #333; margin-bottom: 5px; }
.venue-header .subtitle { font-size: 1em; color: #666; }
.form-section { margin-bottom: 25px; padding: 15px; border: 1px solid #eee; border-radius: 5px; background: #fff; }
.form-section h3 { font-size: 1.2em; color: #444; margin-top: 0; margin-bottom: 15px; border-bottom: 1px solid #eee; padding-bottom: 10px; }
.name-fields, .whatsapp-field { margin-bottom: 15px; }
.name-fields input, .whatsapp-field input, .payment-method select { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; }
.name-fields input:first-child { margin-bottom: 10px; }
@media (min-width: 600px) { .name-fields { display: flex; gap: 10px; } .name-fields input { flex: 1; margin-bottom: 0; } }
.floor-plan-image img { max-width: 100%; height: auto; border-radius: 4px; margin-bottom: 10px; }
.terms h4 { font-size: 1em; margin-bottom: 5px; }
.terms ul { list-style: disc; margin-left: 20px; padding-left: 0; font-size: 0.9em; color: #555; }
.category-group { margin-bottom: 20px; }
.items-list .item-option { display: flex; align-items: center; justify-content: space-between; padding: 10px; border: 1px solid #eee; border-radius: 4px; margin-bottom: 8px; background: #fcfcfc; cursor: pointer; transition: background-color 0.2s; }
.items-list .item-option:hover { background-color: #f0f0f0; }
.items-list .item-option.disabled { background-color: #e9e9e9; cursor: not-allowed; opacity: 0.6; }
.items-list .item-option input[type="checkbox"] { margin-right: 10px; }
.item-name { flex-grow: 1; }
.item-price { font-weight: 500; margin-left: 10px; }
.item-availability { margin-left: 10px; font-size: 0.9em; }
.item-availability .sold { color: red; font-weight: bold; }
.item-availability .available { color: green; }
.form-submit .submit-button { background-color: #5cb85c; color: white; padding: 12px 20px; border: none; border-radius: 5px; font-size: 1.1em; cursor: pointer; transition: background-color 0.2s; }
.form-submit .submit-button:hover { background-color: #4cae4c; }
.form-submit .submit-button:disabled { background-color: #aaa; cursor: not-allowed; }
.success-message { text-align: center; padding: 20px; }
.success-message h2 { color: #5cb85c; }
.whatsapp-button-big { display: inline-block; background-color: #25D366; color: white; padding: 15px 25px; text-decoration: none; border-radius: 5px; font-size: 1.2em; font-weight: bold; margin: 15px 0; }
.whatsapp-button-big i { margin-right: 8px; }
.small-note { font-size: 0.8em; color: #777; margin-top: 10px; }
/* Removed .booking-time related styles as it's no longer a time selection */
/* Tambahan untuk Tahap 3 - UI Interaktif Item */
.interactive-items-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Jarak antar item */
}

.interactive-item {
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    cursor: pointer;
    text-align: center;
    font-weight: 500;
    min-width: 80px; /* Lebar minimal tombol */
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
    background-color: #f0f0f0; /* Warna default untuk item tersedia */
    color: #333;
    box-sizing: border-box;
}

.interactive-item:hover:not(.disabled):not(.selected) {
    background-color: #e0e0e0;
    border-color: #bbb;
}

.interactive-item.selected {
    background-color: #28a745; /* Hijau untuk terpilih */
    border-color: #218838;
    color: white;
}

.interactive-item.disabled {
    background-color: #dc3545; /* Merah untuk sold/disabled */
    border-color: #c82333;
    color: white;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Untuk ringkasan item terpilih */
.selected-items-summary ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0; /* Hapus margin bawah dari ul */
}

.selected-items-summary li {
    padding: 5px 0;
    border-bottom: 1px dashed #eee;
    font-size: 0.95em;
}
.selected-items-summary li:last-child {
    border-bottom: none;
}
.selected-items-summary .item-price-summary {
    float: right; /* Membuat harga di kanan */
    color: #555;
}
.selected-items-summary .no-items-selected {
    color: #777;
    font-style: italic;
    border-bottom: none; /* Hapus border jika tidak ada item */
}

/* Sembunyikan checkbox asli - ini sudah ada di HTML via style="display:none;" */
/* .interactive-item input[type="checkbox"] {
    display: none;
} */

/* Menghilangkan .item-option lama jika masih ada sisa dari Tahap 2, 
   seharusnya tidak perlu jika HTML sudah diganti sepenuhnya */
.items-list .item-option { 
    /* display: none; */ /* Jika ingin benar-benar menyembunyikan struktur lama */
}
.item-availability .sold, 
.item-availability .available {
    /* display: none; */ /* Teks ketersediaan lama juga tidak dipakai lagi di UI baru ini */
}