/* --- KALENDER --- */
.apartment-calendar-wrapper {
    max-width: 800px;
    margin: 0 auto 40px auto;
    font-family: sans-serif;
}
.calendar-legend {
    margin-top: 15px;
    display: flex; gap: 20px; justify-content: center;
    padding: 10px; background: #f9f9f9; border-radius: 4px;
}
.legend-item { display: flex; align-items: center; font-size: 0.9rem; }
.dot { width: 14px; height: 14px; border-radius: 3px; margin-right: 8px; display: inline-block; }
.dot.booked { background-color: #dc3545; }
.dot.option { background-color: #ffc107; }
.dot.free { background-color: #fff; border: 1px solid #ccc; }
.fc-theme-standard td, .fc-theme-standard th { border-color: #eee; }
.fc-bg-event { opacity: 0.7 !important; }

/* --- PRIJZENTABEL MATRIX --- */
.aa-prices-container { margin: 30px 0; font-family: sans-serif; font-size: 0.95rem; }
.table-responsive { overflow-x: auto; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
.aa-matrix-table { width: 100%; border-collapse: collapse; min-width: 600px; background: #fff; text-align: center; }

/* Headers (Teal kleur) */
.aa-matrix-table thead th {
    background-color: #9cbaba; 
    color: #0c6874; 
    font-weight: normal; font-style: italic;
    padding: 8px 5px; border: 1px solid #8aa;
}
.aa-matrix-table .col-first {
    background-color: #9cbaba; font-weight: bold; font-style: italic;
    text-align: left; padding-left: 10px; border-bottom: 2px solid #0c6874;
}

/* Cellen */
.aa-matrix-table td { border: 1px solid #ccc; padding: 10px 5px; color: #000; }
.aa-matrix-table .col-month {
    background-color: #aebaba; color: #0c6874; font-style: italic;
    text-align: left; padding-left: 10px; font-weight: 500;
}
.col-highlight { background-color: #eef; font-weight: bold; }

/* Zebra en Hover */
.aa-matrix-table tbody tr:nth-child(even) { background-color: #f9f9f9; }
.aa-matrix-table tbody tr:hover { background-color: #f0f8ff; }

/* Extra info */
.aa-price-extras { margin-top: 20px; padding: 15px; background: #f4f4f4; border-left: 4px solid #9cbaba; }