/* Verfügbarkeit nach Datum — Modul verfuegbarkeit (site-werkzeuge), nie auf
   der Site ändern. Nutzt die Variablen der mst-Sites (--c-primary, --s-3 …);
   jede hat einen Rückfallwert, damit das Widget auch ohne sie lesbar bleibt. */
.mst-avail__box { background: var(--c-primary-soft, #e6f0f3); border-radius: var(--r-lg, 22px); padding: var(--s-4, 24px); display: grid; grid-template-columns: 1fr auto; gap: var(--s-3, 16px) var(--s-5, 40px); align-items: end; }
.mst-avail__title { margin: var(--s-2, 8px) 0 var(--s-1, 4px); font-size: 1.5rem; }
.mst-avail__sub { margin: 0; color: var(--c-ink-soft, #3d5560); max-width: 560px; }
.mst-avail__form { display: flex; gap: var(--s-3, 16px); align-items: flex-end; flex-wrap: wrap; }
.mst-avail__field { display: flex; flex-direction: column; gap: 4px; font-size: 0.85rem; font-weight: 600; color: var(--c-ink-soft, #3d5560); }
.mst-avail__field, .mst-avail__intro, .mst-avail__form { min-width: 0; }
.mst-avail__field input { box-sizing: border-box; display: block; max-width: 100%; height: 48px; padding: 0 12px; border: 1px solid var(--c-border, #dbe7ec); border-radius: var(--r-sm, 6px); background: #fff; color: var(--c-ink, #0b222b); min-width: 160px; font: inherit; font-size: 1rem; line-height: 46px; -webkit-appearance: none; appearance: none; }
/* iOS Safari: leeres Datumsfeld ohne Höhe und Wert links statt zentriert */
.mst-avail__field input::-webkit-date-and-time-value { text-align: left; min-height: 1.2em; }
.mst-avail__field input::-webkit-calendar-picker-indicator { opacity: 0.6; }
.mst-avail__form .mst-btn { box-sizing: border-box; min-height: 48px; }
.mst-avail__msg { grid-column: 1 / -1; margin: 0; font-weight: 600; color: var(--c-primary-dark, #0a4048); }
.mst-avail__msg:empty { display: none; }
.mst-avail__results { margin-top: var(--s-4, 24px); }
.mst-avail__list { display: grid; gap: var(--s-3, 16px); }
.mst-avail__item { display: grid; grid-template-columns: 120px 1fr auto; gap: var(--s-3, 16px); align-items: center; background: #fff; border: 1px solid var(--c-border, #dbe7ec); border-radius: var(--r-md, 12px); padding: var(--s-3, 16px); }
.mst-avail__img { width: 120px; height: 80px; object-fit: cover; border-radius: var(--r-sm, 6px); background: var(--c-muted, #f2f7f9); }
.mst-avail__name { font-size: 1rem; margin: 0 0 4px; font-family: var(--f-sans, system-ui, sans-serif); font-weight: 700; color: var(--c-ink, #0b222b); }
.mst-avail__facts { margin: 0; font-size: 0.88rem; color: var(--c-ink-soft, #3d5560); }
.mst-avail__state { margin: 4px 0 0; font-size: 0.9rem; }
.mst-avail__state--ok { color: var(--c-success, #047857); font-weight: 600; }
.mst-avail__side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.mst-avail__rating { font-size: 0.85rem; color: var(--c-ink-soft, #3d5560); }
.mst-avail__rating strong { color: var(--c-star, #d97706); }
.mst-avail__price { font-weight: 700; color: var(--c-ink, #0b222b); }
.mst-avail__btn { margin-top: 4px; white-space: nowrap; }
.mst-avail__booked { margin-top: var(--s-4, 24px); }
.mst-avail__booked summary { cursor: pointer; font-weight: 600; color: var(--c-ink-soft, #3d5560); margin-bottom: var(--s-3, 16px); }
.mst-avail__item.is-booked { opacity: 0.6; }
.mst-avail__item.is-booked .mst-avail__btn { background: transparent; color: var(--c-primary-dark, #0a4048); border: 1px solid var(--c-border, #dbe7ec); }
.mst-avail__note { margin-top: var(--s-3, 16px); font-size: 0.85rem; color: var(--c-ink-soft, #3d5560); }
@media (max-width: 899px) {
    .mst-avail__box { grid-template-columns: 1fr; }
}
@media (max-width: 599px) {
    .mst-avail__box { padding: var(--s-3, 16px); gap: var(--s-3, 16px); }
    .mst-avail__title { font-size: 1.3rem; }
    .mst-avail__form { flex-direction: column; align-items: stretch; width: 100%; }
    .mst-avail__field, .mst-avail__form .mst-btn { width: 100%; }
    .mst-avail__field input { min-width: 0; width: 100%; }
    .mst-avail__item { grid-template-columns: 88px 1fr; }
    .mst-avail__img { width: 88px; height: 66px; }
    .mst-avail__side { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; text-align: left; }
    .mst-avail__btn { width: 100%; text-align: center; }
}
/* Sprungziel #dates (z. B. „Verfügbarkeit prüfen" im Hero): nicht unter der festen Kopfzeile landen. */
.mst-avail { scroll-margin-top: 96px; }
