/* ==========================================================================
   Happyresto – Menu du Jour : feuille de styles publique
   Toutes les propriétés utilisent des variables CSS surchargeables.
   ========================================================================== */

.hrmdj-container {
    /* Variables par défaut — surcharger dans l'onglet Apparence & CSS */
    --hrmdj-color-primary:   #442914;
    --hrmdj-color-accent:    #c0392b;
    --hrmdj-color-bg:        #faf8f5;
    --hrmdj-color-bg-card:   #ffffff;
    --hrmdj-color-border:    #e5ddd0;
    --hrmdj-color-text:      #333333;
    --hrmdj-color-muted:     #7a7a7a;
    --hrmdj-color-closed-bg: #f5f5f5;
    --hrmdj-radius-card:     10px;
    --hrmdj-shadow-card:     0 2px 12px rgba(0, 0, 0, 0.07);
    --hrmdj-font-title:      inherit;
    --hrmdj-font-body:       inherit;
    --hrmdj-grid-cols:       5;
    --hrmdj-grid-gap:        20px;

    font-family: var(--hrmdj-font-body);
    color: var(--hrmdj-color-text);
    background-color: var(--hrmdj-color-bg);
    padding: 32px 16px;
    box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   Grille
   -------------------------------------------------------------------------- */

.hrmdj-week-grid {
    display: grid;
    grid-template-columns: repeat(var(--hrmdj-grid-cols), 1fr);
    gap: var(--hrmdj-grid-gap);
    width: 100%;
}

/* Tablette paysage : 3 colonnes */
@media (max-width: 1100px) {
    .hrmdj-week-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Tablette portrait : 2 colonnes */
@media (max-width: 768px) {
    .hrmdj-week-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Mobile : 1 colonne */
@media (max-width: 480px) {
    .hrmdj-week-grid { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   Carte de jour
   -------------------------------------------------------------------------- */

.hrmdj-day-card {
    background-color: var(--hrmdj-color-bg-card);
    border: 1px solid var(--hrmdj-color-border);
    border-radius: var(--hrmdj-radius-card);
    box-shadow: var(--hrmdj-shadow-card);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.hrmdj-day-card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.hrmdj-day-card.hrmdj-closed {
    background-color: var(--hrmdj-color-closed-bg);
    opacity: 0.75;
}

/* --------------------------------------------------------------------------
   En-tête de carte
   -------------------------------------------------------------------------- */

.hrmdj-day-header {
    background-color: var(--hrmdj-color-primary);
    padding: 16px 20px 12px;
}

.hrmdj-day-title {
    font-family: var(--hrmdj-font-title);
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 4px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.3;
}

.hrmdj-day-note {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
    font-style: italic;
    line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Corps de la carte
   -------------------------------------------------------------------------- */

.hrmdj-day-body {
    padding: 16px 20px;
    flex: 1;
}

/* Liste des plats */
.hrmdj-day-items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hrmdj-item {
    border-left: 3px solid var(--hrmdj-color-accent);
    padding-left: 10px;
}

.hrmdj-item-name {
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--hrmdj-color-text);
    line-height: 1.4;
}

.hrmdj-item-desc {
    display: block;
    font-size: 0.8rem;
    color: var(--hrmdj-color-muted);
    margin-top: 2px;
    line-height: 1.35;
}

/* Fermé */
.hrmdj-closed-label {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--hrmdj-color-muted);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 20px 0;
    margin: 0;
}

/* Menu à venir */
.hrmdj-no-items {
    font-size: 0.85rem;
    color: var(--hrmdj-color-muted);
    font-style: italic;
    margin: 0;
    text-align: center;
    padding: 12px 0;
}

/* --------------------------------------------------------------------------
   Pied de carte — Prix
   -------------------------------------------------------------------------- */

.hrmdj-day-footer {
    padding: 12px 20px 16px;
    border-top: 1px solid var(--hrmdj-color-border);
    margin-top: auto;
}

.hrmdj-day-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.hrmdj-price-amount {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--hrmdj-color-accent);
    line-height: 1;
}

.hrmdj-price-label {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--hrmdj-color-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* --------------------------------------------------------------------------
   Animation d'entrée (optionnelle — activée via menu.js)
   -------------------------------------------------------------------------- */

.hrmdj-day-card.hrmdj-animate {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.hrmdj-day-card.hrmdj-animate.hrmdj-visible {
    opacity: 1;
    transform: translateY(0);
}
