.rrm-booking-wrapper { 
    margin: 0 auto;  
    padding: 20px 0;  
}

.rrm-public-form-row { 
    display: flex; 
    gap: 15px; 
    margin-bottom: 50px;
padding-bottom: 25px;
border-bottom: 2px solid #eee;
}
.rrm-public-form-field { flex: 1; display: flex; flex-direction: column; }
.rrm-public-form-field label { font-weight: bold; margin-bottom: 5px; }
.rrm-public-form-field input, .rrm-public-form-field select, .rrm-public-form-field textarea { 
    padding: 8px;
    border: none;
}

.rrm-booking-wrapper button { 
    padding: 10px 20px;
    margin-top: 15px; 
    background: #0073aa; 
    color: #fff; 
    border: none; 
    cursor: pointer; 
    font-size: 16px; 
}

.rrm-booking-wrapper button:hover { background: #005177; }

/* Style spécifique pour le sélecteur d'heure quand il est désactivé */
#rrm-time-select:disabled {
    background-color: #f0f0f1;  /* Fond gris clair */
    color: #a0a5aa;             /* Texte gris (au lieu de noir) */
    cursor: not-allowed;        /* Curseur "interdit" au survol */
    border-color: #dcdcde;      /* Bordure plus discrète */
    opacity: 0.7;               /* Légère transparence pour accentuer l'effet */
}

/* Optionnel : pour que le texte "Choisir une heure" soit bien lisible mais gris */
#rrm-time-select:disabled option {
    color: #a0a5aa;
}

/* Conteneur principal */
.rrm-public-carte-container {
    margin: 25px 0;
    font-family: inherit;
}

.rrm-public-carte-title {
    text-align: center;
    margin-bottom: 25px;
    font-size: 1.5em;
}

/* Sections (Entrées, Plats, Desserts...) */
.rrm-public-carte-section {
    margin-bottom: 25px;
}

.rrm-public-carte-label {
    border-bottom: 2px solid #eeeeee;
    margin-top: 20px;
    margin-bottom: 12px;
    text-transform: uppercase;
    font-size: 1.1em;
    padding-bottom: 8px;
    letter-spacing: 1px;
}

/* Liste des plats */
.rrm-public-carte-items-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

.rrm-public-carte-item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 10px;
    border-bottom: 1px dotted #dddddd;
    padding-bottom: 6px;
}

.rrm-public-carte-item-name {
    font-weight: 500;
    flex: 1;
    padding-right: 10px;
}

.rrm-public-carte-item-price {
    color: #333333;
    white-space: nowrap;
    font-weight: bold;
}

.rrm-notice {
    margin-top: 15px;
    padding: 12px 15px;
    border-radius: 4px;
    font-weight: 500;
    font-size: 14px;
}

.rrm-notice-success {
    color: #0f5132;
    background-color: #d1e7dd;
    border: 1px solid #badbcc;
}

.rrm-notice-error {
    color: #842029;
    background-color: #f8d7da;
    border: 1px solid #f5c2c7;
}
.rrm-group-fields-container {
    display: none; /* Géré par le slideDown/Up de jQuery */
    background-color: #f6f7f7;
    padding: 15px;
    margin-bottom: 15px;
    border-left: 4px solid #2271b1;
    border-radius: 3px;
}

@media (max-width: 500px) { .rrm-row { flex-direction: column; gap: 0; } .rrm-field { margin-bottom: 10px; } }