/* /jadwal — live riding schedule. */

.schedule-hero-v2127{background:linear-gradient(150deg,#17130f 0%,#241d15 58%,#2f2519 100%);color:#f6ecd8;padding:68px 0 60px}
.schedule-hero-v2127 span{
  display:inline-block;font:700 10px/1 Inter,Arial,sans-serif;letter-spacing:.26em;
  color:#d8bd85;padding-bottom:10px;border-bottom:1px solid #c9a86a;
}
.schedule-hero-v2127 h1{margin:16px 0 0;font:400 clamp(32px,4.2vw,50px)/1.1 var(--font-display,Georgia,serif);letter-spacing:-.02em}
.schedule-hero-v2127 p{margin:14px 0 0;max-width:62ch;font-size:15.5px;line-height:1.7;color:#ded0b6}

.schedule-layout-v2127{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start}

.schedule-calendar-v2127{
  border:1px solid #e3d6ba;border-radius:16px;background:linear-gradient(168deg,#fffdf8,#faf4e8);
  padding:20px;box-shadow:0 20px 44px -36px #6b4f2673;
}
.schedule-calendar-v2127>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.schedule-calendar-v2127>header b{font:600 17px/1.2 var(--font-display,Georgia,serif);color:#2c2418}
.schedule-calendar-v2127>header .table-action{min-width:42px;min-height:42px;font-size:18px;line-height:1}

.schedule-filters-v2127{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.schedule-filters-v2127 button{
  border:1px solid #ddd0b4;background:#fff;color:#4a4132;border-radius:999px;
  padding:8px 13px;font:600 12px/1 Inter,Arial,sans-serif;cursor:pointer;min-height:38px;
}
.schedule-filters-v2127 button.is-active{background:#1d1a14;border-color:#1d1a14;color:#f4e6c4}

.schedule-weekdays-v2127,.schedule-grid-v2127{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.schedule-weekdays-v2127{margin-bottom:6px}
.schedule-weekdays-v2127 span{
  text-align:center;font:700 10px/1 Inter,Arial,sans-serif;letter-spacing:.12em;color:#9a8b6f;padding:4px 0;
}
.schedule-cell-v2127{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-height:62px;padding:6px 4px;border-radius:10px;cursor:pointer;
  border:1px solid #e6dac2;background:#fff;color:#3a3226;text-align:center;
}
.schedule-cell-v2127 b{font:600 15px/1 Inter,Arial,sans-serif}
.schedule-cell-v2127 small{font-size:9.5px;line-height:1.25;color:#7f7158;overflow-wrap:anywhere}
.schedule-cell-v2127.is-blank{border:0;background:none;cursor:default;min-height:0}
.schedule-cell-v2127.is-open{border-color:#a9c2a2;background:#f3f8f1}
.schedule-cell-v2127.is-open small{color:#4d6b49}
.schedule-cell-v2127.is-limited{border-color:#e0c089;background:#fdf6e8}
.schedule-cell-v2127.is-limited small{color:#946b1c}
.schedule-cell-v2127.is-full{border-color:#e0bfb6;background:#fbf1ee}
.schedule-cell-v2127.is-full small{color:#8c301c}
.schedule-cell-v2127.is-closed{background:#faf7f0;color:#a2957c}
.schedule-cell-v2127.is-past{background:#f5f2ea;color:#b5aa93;cursor:default}
.schedule-cell-v2127.is-today{box-shadow:0 0 0 1px #c9a86a inset}
.schedule-cell-v2127.is-selected{border-color:#1d1a14;box-shadow:0 0 0 2px #1d1a14 inset}
.schedule-cell-v2127:focus-visible{outline:2px solid #8a7346;outline-offset:2px}

.schedule-legend-v2127{
  list-style:none;display:flex;flex-wrap:wrap;gap:10px 16px;margin:16px 0 0;padding:14px 0 0;
  border-top:1px solid #ece2cd;font:500 11.5px/1 Inter,Arial,sans-serif;color:#6f6349;
}
.schedule-legend-v2127 li{display:flex;align-items:center;gap:6px}
.schedule-legend-v2127 i{width:11px;height:11px;border-radius:3px;border:1px solid #e6dac2;display:block}
.schedule-legend-v2127 i.is-open{border-color:#a9c2a2;background:#eaf3e7}
.schedule-legend-v2127 i.is-limited{border-color:#e0c089;background:#fbeed3}
.schedule-legend-v2127 i.is-full{border-color:#e0bfb6;background:#f7e3dd}
.schedule-legend-v2127 i.is-closed{background:#f2eee4}

.schedule-day-v2127{
  position:sticky;top:96px;border:1px solid #e3d6ba;border-radius:16px;
  background:#fffdf8;padding:22px;display:flex;flex-direction:column;gap:12px;
}
.schedule-day-v2127>small{font:700 10px/1 Inter,Arial,sans-serif;letter-spacing:.22em;color:#8a7346}
.schedule-day-v2127 h2{margin:0;font:400 21px/1.25 var(--font-display,Georgia,serif);color:#241d13}
.schedule-day-empty-v2127{margin:0;font-size:13.5px;line-height:1.65;color:#7a6e5a}
.schedule-sessions-v2127{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.schedule-sessions-v2127 li{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  border:1px solid #e6dac2;border-left:4px solid #a9c2a2;border-radius:11px;background:#fff;padding:12px 14px;
}
.schedule-sessions-v2127 li.is-limited{border-left-color:#e0c089}
.schedule-sessions-v2127 li.is-full{border-left-color:#e0bfb6;background:#fbf8f3}
.schedule-sessions-v2127 li b{display:block;font:600 15px/1.2 Inter,Arial,sans-serif;color:#2c2418}
.schedule-sessions-v2127 li span{display:block;margin-top:3px;font-size:12.5px;color:#7d6e56}
.schedule-session-side-v2127{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.schedule-session-side-v2127 em{font:600 12px/1 Inter,Arial,sans-serif;font-style:normal;color:#6f6349;white-space:nowrap}
.schedule-session-side-v2127 .button{min-height:40px;padding:10px 16px;font-size:12.5px}
.schedule-note-v2127{margin:4px 0 0;padding-top:12px;border-top:1px solid #ece2cd;font-size:11.5px;line-height:1.6;color:#8b8270}

.schedule-empty-v2127{
  border:1px solid #e3d6ba;border-radius:16px;background:#fffdf8;padding:26px;
  display:flex;flex-direction:column;gap:14px;max-width:60ch;
}
.schedule-empty-v2127 p{margin:0;font-size:15px;line-height:1.7;color:#4a4132}
.schedule-empty-actions-v2127{display:flex;flex-wrap:wrap;gap:10px}

@media (max-width:900px){
  .schedule-layout-v2127{grid-template-columns:minmax(0,1fr)}
  .schedule-day-v2127{position:static}
}
@media (max-width:640px){
  .schedule-hero-v2127{padding:52px 0 46px}
  .schedule-calendar-v2127{padding:15px}
  .schedule-weekdays-v2127,.schedule-grid-v2127{gap:4px}
  .schedule-cell-v2127{min-height:54px;border-radius:9px;padding:5px 2px}
  .schedule-cell-v2127 b{font-size:14px}
  .schedule-cell-v2127 small{font-size:8.5px}
  .schedule-day-v2127{padding:18px}
  .schedule-sessions-v2127 li{padding:11px 12px}
  .schedule-session-side-v2127{width:100%;justify-content:space-between}
}
@media (max-width:400px){
  .schedule-cell-v2127{min-height:50px;padding:4px 1px}
  .schedule-cell-v2127 b{font-size:13px}
  .schedule-cell-v2127 small{font-size:8px;letter-spacing:-.02em}
}
/* Only on the narrowest phones does the seat count give way to the colour and the
   day's accessible label, which always carries the number. */
@media (max-width:340px){
  .schedule-cell-v2127{min-height:44px}
  .schedule-cell-v2127 small{display:none}
}
