.repas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 30px; margin-top: 0; align-items: stretch; }
.repas-card { overflow: hidden; background: var(--theme-palette-color-7); box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); transition: all 0.3s ease; display: flex; flex-direction: column; height: 100%; }
.repas-card:hover { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); }
.repas-img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-bottom: 1px solid #f1f5f9; transition: filter 0.3s ease; }
.repas-card:hover .repas-img { filter: brightness(0.85); }
.repas-content { padding: 25px 20px 20px; flex-grow: 1; display: flex; flex-direction: column; }
.repas-title { font-size: 18px; font-weight: 600; margin: 0 0 15px 0; color: var(--theme-palette-color-4); }
.repas-price-row { display: flex; justify-content: space-between; margin-bottom: 8px; font-size: 15px; color: var(--theme-palette-color-5); border-bottom: 1px dotted #e2e8f0; padding-bottom: 4px; }
.repas-price-row:last-of-type { border-bottom: none; margin-bottom: 25px; }
.repas-actions { display: flex; gap: 10px; margin-top: 15px; }
.repas-btn { display: block; text-align: center; color: #fff; padding: 12px 12px; border-radius: 4px; font-weight: 600; text-decoration: none; transition: background 0.2s; font-size: 14px; }
.btn-phone { background: var(--theme-palette-color-1); color:  var(--theme-palette-color-4)!important; }
.btn-phone:hover { background: var(--theme-palette-color-4); color: #fff !important; }
.btn-wa { background: #59A326; color: #fff !important; }
.btn-wa:hover { background: #437c1d; color: #fff !important; }
.repas-img-wrap { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.repas-lightbox { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.88); z-index: 99999; align-items: center; justify-content: center; padding: 30px; }
.repas-lightbox.is-active { display: flex; }
.repas-lightbox img { max-width: 95vw; max-height: 90vh; object-fit: contain; }
.repas-lightbox-close { position: fixed; top: 20px; right: 25px; background: none; border: 0; color: #fff; font-size: 42px; cursor: pointer; }