/* umum.css — jadwal umum (tanpa login) */
.pembuka { padding: 16px 0 4px; }
.tagline { font-family: Fraunces, Georgia, serif; font-weight: 600; font-size: 1.35rem; color: var(--hijau); margin: 0 0 10px; }
.tarif { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 8px; }
.tarif div { background: var(--kertas); border: 1px solid var(--garis); border-radius: var(--r); padding: 10px 12px; }
.tarif b { display: block; color: var(--hijau); }
.tarif span { font-size: .95rem; }
.pilih-hari { display: flex; gap: 8px; overflow-x: auto; padding: 12px 0 6px; scrollbar-width: thin; }
.pilih-hari button { flex: 0 0 auto; min-width: 64px; min-height: 56px; border: 1px solid var(--garis); background: var(--kertas); border-radius: 12px; cursor: pointer; line-height: 1.2; padding: 6px 8px; }
.pilih-hari button b { display: block; font-size: 1.05rem; }
.pilih-hari button span { font-size: .78rem; color: var(--redup); }
.pilih-hari button[aria-pressed="true"] { background: var(--hijau); color: var(--krem); border-color: var(--hijau); }
.pilih-hari button[aria-pressed="true"] span { color: var(--krem); }
.baris-tanggal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 8px 0; }
.baris-tanggal h2 { margin: 0; flex: 1 1 auto; }
.lain-hari { font-size: .85rem; color: var(--redup); display: flex; align-items: center; gap: 6px; }
.lain-hari input { min-height: 40px; border: 1px solid var(--garis); border-radius: 8px; padding: 4px 8px; background: #fff; }
.keterangan { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .85rem; color: var(--redup); margin-bottom: 10px; }
.keterangan .kotak { display: inline-block; width: 14px; height: 14px; border-radius: 4px; vertical-align: -2px; margin-right: 6px; }
.kotak.kosong, .slot.kosong { background: #fff; border: 1.5px solid var(--hijau); }
.kotak.terpakai, .slot.terpakai { background: var(--hijau); border: 1.5px solid var(--hijau); color: var(--krem); }
.kotak.tidak_tersedia, .slot.tidak_tersedia { background: repeating-linear-gradient(45deg, var(--terra-muda) 0 6px, #fff 6px 12px); border: 1.5px solid var(--terra); color: #8A4528; }
.papan-umum { display: grid; grid-template-columns: 52px 1fr 1fr; gap: 6px; }
.papan-umum .kolom-kepala { font-family: Fraunces, Georgia, serif; font-weight: 600; color: var(--hijau); text-align: center; padding: 6px 0; position: sticky; top: 0; background: var(--krem); z-index: 1; }
.papan-umum .jam { font-size: .82rem; color: var(--redup); text-align: right; padding-right: 4px; align-self: center; }
.slot { min-height: 44px; border-radius: 10px; font-size: .88rem; font-weight: 600; display: flex; align-items: center; justify-content: center; text-align: center; padding: 2px 4px; }
button.slot { cursor: pointer; color: var(--hijau); width: 100%; }
button.slot:hover { background: var(--hijau-muda); }
.slot.lewat { background: #ECE8DD; border: 1.5px solid #ECE8DD; color: #9A9F97; font-weight: 400; }
.aturan { margin-top: 20px; }
.aturan ol { padding-left: 20px; margin: 0 0 10px; }
.aturan li { margin-bottom: 6px; }
