/* =========================================
   Book Now Page Styles (bn-)
   Gold: #D9A84E
   Dark: #1a1a1a
   Font: Playfair Display (Headers), Inter (Body)
========================================= */

/* Use a clean white background for the page/section */
.bn-section {
    background-color: #ffffff;
    padding: 3rem 0;
    font-family: 'Inter', sans-serif;
    color: #1a1a1a;
}

/* --- Container / Card --- */
/* Mimic the clean white spacing, maybe no visible card border, just whitespace */
.bn-container {
    max-width: 900px;
    margin: 0 auto;
}

/* --- Headings --- */
.bn-title {
    font-family: 'Playfair Display', serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #D9A84E; /* Gold */
    margin-bottom: 0.5rem;
}

.bn-subtitle {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 1.5rem;
    margin-top: 2rem;
}

/* --- Labels --- */
.bn-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 500;
    color: #555;
    margin-bottom: 0.5rem;
    letter-spacing: 0.3px;
}

/* --- Inputs & Selects --- */
.bn-form-control {
    width: 100%;
    padding: 0.6rem 0.8rem;
    border: 1px solid #ddd;
    border-radius: 2px; /* Slight rounding or sharp */
    font-size: 1rem;
    color: #333;
    background-color: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.bn-form-control:focus {
    outline: none;
    border-color: #D9A84E;
    box-shadow: 0 0 0 3px rgba(217, 168, 78, 0.1);
}

/* --- Date Picker specific styling override (if using daterangepicker) --- */
/* ... existing daterangepicker styles ... */

/* --- Checkboxes & Radios (Custom) --- */
.bn-check-label {
    font-size: 0.95rem;
    color: #333;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.bn-check-input {
    width: 1.25rem;
    height: 1.25rem;
    border: 1px solid #ccc;
    border-radius: 2px;
    appearance: none;
    display: grid;
    place-content: center;
    cursor: pointer;
    background-color: #fff;
    margin: 0;
    transition: all 0.2s;
}

.bn-check-input::before {
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    transform: scale(0);
    transition: 0.1s transform ease-in-out;
    box-shadow: inset 1em 1em #D9A84E; /* Gold Check */
    transform-origin: center;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.bn-check-input:checked {
    border-color: #D9A84E;
}
.bn-check-input:checked::before {
    transform: scale(1);
}

/* --- Seating Arrangement Grid --- */
.bn-seating-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 1rem;
    padding: 1.5rem;
    border: 1px solid #eee; /* Light box containing grid */
    border-radius: 4px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03);
}

.bn-seat-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    cursor: pointer;
}

.bn-seat-icon {
    height: 32px;
    width: auto;
    object-fit: contain;
    /* You might want to filter the icon color to gold via CSS filter if it's black SVG */
    /* filter: invert(76%) sepia(26%) saturate(677%) hue-rotate(357deg) brightness(91%) contrast(85%); */
}

/* Custom Checkbox for Seat Item */
.bn-seat-check {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.bn-seat-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a1a1a;
}

/* --- Action Button --- */
.bn-btn-submit {
    background-color: #D9A84E;
    color: white;
    font-family: 'Inter', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 12px 30px;
    border: none;
    cursor: pointer;
    transition: background 0.3s;
    margin-top: 2rem;
    display: inline-block;
}

.bn-btn-submit:hover {
    background-color: #c4953e;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .bn-seating-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .bn-title { font-size: 2rem; }
    .bn-subtitle { font-size: 1.25rem; }
}

@media (max-width: 480px) {
    .bn-seating-grid {
        grid-template-columns: 1fr;
    }
}
