/**
 * Meniu Digital PUBLIC — blocul „Program" din subsol (HTML generat de dmHoursRenderHtml(), inc/inc.digitalmenu-hours.php)
 *
 * Merge pe TOATE stilurile meniului:
 *   - temele noi (md/theme-render.php) dau variabilele --dm-text / --dm-muted / --dm-accent / --dm-surface;
 *   - stilul „classic" (md/index.php) NU are variabile --dm-* ⇒ fiecare var() are fallback pe o temă deschisă.
 * Fundalurile sunt TRANSPARENȚE (nu culori pline), ca blocul să stea bine și pe temele închise.
 * Verdele / roșul stării se amestecă cu culoarea textului temei: pe o temă deschisă se închid,
 * pe una închisă se deschid — contrastul rămâne citibil pe ambele.
 *
 * Ultima modificare: 2026-09-21 20:10
 * Modificari:
 *   2026-09-21 20:10 — Creare: bloc centrat, pastilă de stare cu punct care pulsează, zile pe rânduri, azi evidențiat.
 */

.dm-hours {
    --dmh-text: var(--dm-text, #222);
    --dmh-muted: var(--dm-muted, #777);
    --dmh-accent: var(--dm-accent, #ff6b35);
    --dmh-open: #16a34a;
    --dmh-closed: #dc2626;
    box-sizing: border-box;
    width: 100%;
    max-width: 420px;
    margin: 0 auto 18px;
    padding: 16px 16px 14px;
    border-radius: var(--dm-radius, 14px);
    border: 1px solid rgba(128, 128, 128, .2);
    background: rgba(128, 128, 128, .06);
    color: var(--dmh-text);
    font-family: var(--dm-body-font, inherit);
    text-align: left;
    line-height: 1.4;
}
.dm-hours *, .dm-hours *::before, .dm-hours *::after { box-sizing: border-box; }

/* Titlul */
.dm-hours-head { display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 10px; }
.dm-hours-ico { flex: none; color: var(--dmh-accent); }
.dm-hours-title {
    font-family: var(--dm-heading-font, inherit);
    font-size: 17px; font-weight: 800; letter-spacing: .01em; color: var(--dmh-text);
}

/* Pastila de stare: „Deschis acum · până la 22:00" / „Închis acum · deschide la 10:00" */
.dm-hours-status {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: fit-content; max-width: 100%;
    margin: 0 auto 12px; padding: 6px 13px;
    border-radius: 999px;
    font-size: 13px; font-weight: 700; text-align: center;
    border: 1px solid transparent;
}
.dm-hours-status.is-open {
    color: var(--dmh-open);
    color: color-mix(in srgb, var(--dmh-open) 78%, var(--dmh-text));
    background: rgba(22, 163, 74, .12);
    border-color: rgba(22, 163, 74, .3);
}
.dm-hours-status.is-closed {
    color: var(--dmh-closed);
    color: color-mix(in srgb, var(--dmh-closed) 78%, var(--dmh-text));
    background: rgba(220, 38, 38, .1);
    border-color: rgba(220, 38, 38, .28);
}
.dm-hours-status.is-nonstop { font-size: 14px; padding: 8px 16px; margin-bottom: 4px; }
.dm-hours-dot {
    flex: none; width: 8px; height: 8px; border-radius: 50%;
    background: currentColor;
}
.dm-hours-status.is-open .dm-hours-dot { animation: dmHoursPulse 2s ease-out infinite; }
@keyframes dmHoursPulse {
    0%   { box-shadow: 0 0 0 0 rgba(22, 163, 74, .55); }
    70%  { box-shadow: 0 0 0 7px rgba(22, 163, 74, 0); }
    100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}
@media (prefers-reduced-motion: reduce) { .dm-hours-status.is-open .dm-hours-dot { animation: none; } }

/* Zilele */
.dm-hours-list { list-style: none; margin: 0; padding: 0; }
.dm-hours-row {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
    padding: 7px 10px; margin: 0;
    border-radius: 9px;
    font-size: 14px;
}
.dm-hours-row + .dm-hours-row { border-top: 1px dashed rgba(128, 128, 128, .2); }
.dm-hours-day { color: var(--dmh-text); font-weight: 600; min-width: 0; }
.dm-hours-time {
    display: flex; flex-direction: column; align-items: flex-end; gap: 1px;
    color: var(--dmh-text); text-align: right;
    font-variant-numeric: tabular-nums; white-space: nowrap;
}
.dm-hours-row.is-off .dm-hours-day,
.dm-hours-row.is-off .dm-hours-time { color: var(--dmh-muted); }
.dm-hours-row.is-off .dm-hours-time { font-style: italic; }

/* Azi — rândul cu ziua curentă iese în evidență în culoarea temei */
.dm-hours-row.is-today {
    background: rgba(128, 128, 128, .1);
    background: color-mix(in srgb, var(--dmh-accent) 13%, transparent);
    box-shadow: inset 3px 0 0 var(--dmh-accent);
}
/* linia punctată nu taie banda zilei de azi (nici deasupra, nici dedesubt) */
.dm-hours-row.is-today,
.dm-hours-row.is-today + .dm-hours-row { border-top-color: transparent; }
.dm-hours-row.is-today .dm-hours-day { color: var(--dmh-accent); font-weight: 800; }
.dm-hours-row.is-today .dm-hours-time { font-weight: 700; }

/* Nota */
.dm-hours-note {
    margin: 10px 0 0; padding: 8px 10px 0;
    border-top: 1px solid rgba(128, 128, 128, .16);
    font-size: 12.5px; line-height: 1.5; text-align: center;
    color: var(--dmh-muted);
}

@media (min-width: 480px) {
    .dm-hours { padding: 18px 20px 16px; }
    .dm-hours-row { font-size: 14.5px; }
}
