﻿.mesa-card {
    background: var(--rz-base-default);
    border-radius: 20px;
    padding: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: .8rem;
    transition: .25s ease;
    box-shadow: 0 6px 20px rgba(0,0,0,.05);
    border-left: 6px solid transparent;
    animation: fadeUp .35s ease;
}

    .mesa-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 14px 30px rgba(0,0,0,.08);
    }

    /* =========================
   ESTADOS
========================= */

    .mesa-card.disponible {
        border-left-color: var(--rz-success);
        background: linear-gradient( to right, rgba(var(--rz-success-rgb), .06), transparent 60% );
    }

    .mesa-card.reservada {
        border-left-color: var(--rz-warning);
        background: linear-gradient( to right, rgba(var(--rz-warning-rgb), .06), transparent 60% );
    }

    .mesa-card.ocupada {
        border-left-color: var(--rz-danger);
        background: linear-gradient( to right, rgba(var(--rz-danger-rgb), .06), transparent 60% );
    }

/* =========================
   HEADER
========================= */

.mesa-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mesa-title {
    font-size: 1.2rem;
    font-weight: 800;
}

/* =========================
   BODY
========================= */

.mesa-body {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

.mesa-capacidad {
    font-size: .85rem;
    color: var(--rz-text-secondary-color);
}

/* =========================
   ACTIONS
========================= */

.mesa-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .5rem;
}

    .mesa-actions .rz-button {
        border-radius: 10px;
        font-size: .75rem;
        padding: .4rem .7rem;
        font-weight: 700;
    }

/* =========================
   DARK MODE
========================= */

html.dark .mesa-card,
.rz-dark .mesa-card {
    background: rgba(var(--rz-base-contrast-rgb), .03);
}
