/* ResortPass.watch — opening-hours page styles (Stage 7B)
   Same contrast model as history.css v3 (learned from PR #56): the page
   surface is LIGHT (--light-bg + --light-text); dark surfaces below use
   --bg-elev and MUST set explicit light text colors. Pairs are pinned by
   the WCAG audit in test-opening-hours.mjs (section G). */

.hrs-today-card {
    background: var(--bg-elev);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px 22px;
}

.hrs-today-label {
    font-size: .82rem;
    font-weight: 600;
    color: var(--muted);
    margin: 0 0 6px;
}

.hrs-park-name {
    color: var(--text);
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0 0 2px;
}

.hrs-today-date {
    color: var(--muted);
    font-size: .85rem;
    margin: 0 0 10px;
}

.hrs-times {
    color: var(--text);
    font-size: 2.4rem;
    font-weight: 800;
    letter-spacing: .01em;
    font-variant-numeric: tabular-nums;
    margin: 0 0 8px;
    line-height: 1.15;
}

.hrs-state {
    font-size: .95rem;
    font-weight: 700;
    margin: 0;
    color: var(--text);
}

.hrs-state[data-s="OPEN_NOW"] { color: #8ce7ae; }
.hrs-state[data-s="OPENS_LATER"] { color: #9fc7ff; }
.hrs-state[data-s="CLOSED_FOR_TODAY"] { color: #ff9da0; }
.hrs-state[data-s="CLOSED_ALL_DAY"] { color: #ff9da0; }

.hrs-clock {
    color: var(--muted);
    font-size: .8rem;
    margin: 10px 0 0;
}

/* ---- day lists ---- */
.hrs-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--light-hairline);
    border-radius: 12px;
    background: var(--light-surface);
    overflow: hidden;
}

.hrs-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--light-hairline);
}

.hrs-row:last-child { border-bottom: none; }

.hrs-row.is-today {
    background: #eef4ef; /* light green tint on light card */
    box-shadow: inset 3px 0 0 var(--brand);
}

.hrs-day {
    color: var(--light-text);
    font-weight: 600;
    font-size: .92rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.hrs-badge-today {
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #1a5e3c;
    background: #d7ffe6;
    border-radius: 5px;
    padding: 2px 6px;
}

.hrs-val {
    color: var(--light-text);
    font-weight: 700;
    font-size: .95rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.hrs-val[data-s="CLOSED"] { color: #b3261e; font-weight: 700; }
.hrs-val[data-s="UNKNOWN"] { color: var(--light-muted); font-weight: 600; font-style: italic; }

/* ---- freshness / error ---- */
.hrs-fresh {
    font-size: .78rem;
    color: var(--light-muted);
    margin: 12px 2px 0;
}

.hrs-fresh[data-fresh="false"] {
    color: #8a5a00;
    background: #fdf3dd;
    border: 1px solid #ecd9a8;
    border-radius: 10px;
    padding: 8px 12px;
}

.hrs-error {
    margin-top: 12px;
    color: #b3261e;
    font-size: .88rem;
}

.hrs-error button {
    margin-left: 10px;
    background: transparent;
    border: 1px solid var(--light-hairline);
    border-radius: 8px;
    color: var(--light-text);
    font: inherit;
    font-size: .8rem;
    padding: 4px 10px;
    cursor: pointer;
}

/* ---- caveat / source ---- */
.hrs-note {
    border: 1px solid var(--light-hairline);
    border-radius: 12px;
    background: var(--light-surface);
    padding: 14px 18px;
}

.hrs-note h3 {
    margin: 0 0 6px;
    font-size: .95rem;
    color: var(--light-text);
}

.hrs-note p {
    margin: 0;
    color: var(--light-muted);
    font-size: .86rem;
    line-height: 1.55;
}

.hrs-src {
    color: var(--light-muted);
    font-size: .78rem;
    margin-top: 8px;
}

@media (max-width: 640px) {
    .hrs-times { font-size: 1.9rem; }
    .hrs-row { padding: 9px 12px; }
    .hrs-day { font-size: .85rem; }
    .hrs-val { font-size: .88rem; }
}
