/* BookingCard Molecule - Booking summary for FOH column views */

.booking-card {
    background: var(--bg-layer-1);
    border-radius: var(--border-radius-md);
    padding: var(--space-2);
    cursor: pointer;
    transition: background var(--duration-200) var(--easing-out);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.booking-card:hover {
    background: var(--bg-layer-2);
}

/* ----------------------------------------
   Top row: room + name + vip | party size
   ---------------------------------------- */

.booking-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.booking-card-left {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex: 1;
    min-width: 0;
}

.booking-card-room {
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--text-primary);
}

.booking-card-surname {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.booking-card-party {
    flex-shrink: 0;
}

/* ----------------------------------------
   Bottom row: allergen icons + notes
   ---------------------------------------- */

.booking-card-bottom {
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.booking-card-allergens {
    display: flex;
    gap: var(--space-0_5);
    flex: 1;
    min-width: 0;
}

img.booking-card-allergen {
    width: 20px;
    height: 20px;
}

span.booking-card-allergen {
    display: flex;
    align-items: center;
    justify-content: center;
}

.booking-card-allergen-active {
    filter: invert(19%) sepia(86%) saturate(5000%) hue-rotate(355deg) brightness(92%) contrast(94%);
}

.booking-card-allergen-inactive {
    opacity: 0.06;
}

.booking-card-notes {
    color: var(--color-info);
    flex-shrink: 0;
}

/* ----------------------------------------
   Group wrapper: thin border around related cards
   ---------------------------------------- */

.booking-card-group {
    border: var(--border-width-2) solid var(--color-warning);
    border-radius: var(--border-radius-md);
    padding: var(--space-1);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    background: var(--color-warning-light);
}

.booking-card-group .booking-card {
    padding: var(--space-1_5);
}

/* Entitlement status borders */

.booking-card--included {
    border: var(--border-width-1) solid var(--color-success);
}

.booking-card--charged {
    border: var(--border-width-1) solid var(--color-warning);
}

.booking-card--discounted {
    border: var(--border-width-1) solid var(--color-info);
}

.booking-card--external {
    border: var(--border-width-1) solid var(--border-default);
}

/* Checked-in state: soft green to show guest has arrived */

.booking-card--checked-in {
    background: var(--color-success-light);
}

.booking-card--checked-in:hover {
    background: var(--color-success-light);
}
