/* Orbit Sky Umrah departures. Scoped styles preserve the existing brand palette and layouts. */
.od-schedule {
  --od-navy:#002f67;
  --od-blue:#0d4785;
  --od-gold:#d9a64e;
  --od-ink:#14253c;
  --od-muted:#536277;
  --od-border:#dce7f1;
  background:linear-gradient(180deg,#f6f9fd 0%,#ffffff 100%);
  color:var(--od-ink);
  padding:clamp(48px,6vw,96px) 18px;
  scroll-margin-top:96px;
}
.od-schedule *, .od-schedule *::before, .od-schedule *::after { box-sizing:border-box; }
.od-schedule__inner { width:min(1160px,100%);margin:0 auto; }
.od-schedule__intro { max-width:900px; margin:0 auto 32px; text-align:center; }
.od-schedule__eyebrow { display:inline-block; color:var(--od-blue);font-size:12px;line-height:1.5;font-weight:800;letter-spacing:.13em; }
.od-schedule__intro h2 { font-size:clamp(28px,3.5vw,46px);line-height:1.16;margin:13px 0 18px;color:var(--od-navy);letter-spacing:-.025em; }
.od-schedule__intro > p { font-size:clamp(15px,1.5vw,17px);line-height:1.7;color:var(--od-muted);margin:0 auto 18px;max-width:840px; }
.od-schedule__intro .od-schedule__caution { text-align:left;margin:24px auto 0;padding:17px 20px;background:#fff9ee;border:1px solid #ead4a8;border-left:4px solid var(--od-gold);border-radius:12px;font-size:14px;line-height:1.6;color:#5c4830; }
.od-schedule__caution strong { color:#614417; }
.od-schedule__preview-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px; }
.od-schedule__preview-card { min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;background:#fff;border:1px solid var(--od-border);border-radius:18px;box-shadow:0 12px 36px rgba(0,47,103,.06); }
.od-schedule__preview-head { display:flex;flex-wrap:wrap;flex-direction:column;align-items:flex-start;gap:9px; }
.od-schedule__preview-card .od-schedule__date { display:block;color:var(--od-navy);font-size:18px;font-weight:800;line-height:1.35; }
.od-schedule__preview-card p { color:var(--od-muted);line-height:1.55;font-size:13px;margin:0; }
.od-schedule__status { display:inline-block;max-width:100%;padding:6px 9px;border:1px solid transparent;border-radius:7px;font-weight:750;font-size:11px;line-height:1.35;white-space:normal; }
.od-schedule__status--planned { background:#e8f1fb;color:#184f86;border-color:#cbdff2; }
.od-schedule__status--review { background:#fff0d7;color:#8b5318;border-color:#f2d6a7; }
.od-schedule__status--future { background:#f0edfd;color:#58488c;border-color:#dfd7f4; }
.od-schedule__status--closed { background:#f5eded;color:#8d4141;border-color:#ecd4d4; }
.od-schedule__action, .od-schedule__major-link, .od-schedule__table-link { display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;line-height:1.35; }
.od-schedule__action { color:var(--od-navy);font-size:13px;margin-top:auto;padding-top:12px; }
.od-schedule a:hover { text-decoration:underline; }
.od-schedule a:focus-visible { outline:3px solid var(--od-gold);outline-offset:4px;border-radius:4px; }
.od-schedule__season-note { display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:22px;padding:24px 28px;background:var(--od-navy);border-radius:17px;color:white; }
.od-schedule__season-note strong { display:block;color:#fff;font-size:17px;margin-bottom:6px; }
.od-schedule__season-note p { color:#e0eaf3;line-height:1.55;font-size:14px;max-width:640px;margin:0; }
.od-schedule__major-link { background:var(--od-gold);padding:14px 18px;border-radius:10px;color:#102c4e;white-space:nowrap;font-size:13px; }
.od-schedule__jump { display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:25px 0 26px;padding:14px 18px;border:1px solid var(--od-border);border-radius:12px;background:#fff; }
.od-schedule__jump span { color:var(--od-muted);font-weight:700;margin-right:4px;font-size:13px; }
.od-schedule__jump a { display:inline-block;padding:9px 12px;background:#ebf3fb;border-radius:8px;color:var(--od-navy);font-weight:800;font-size:12px;text-decoration:none; }
.od-schedule__jump a:hover { background:#dbe9f8;text-decoration:none; }
.od-schedule__period { scroll-margin-top:105px;margin:0 0 34px; }
.od-schedule__period-head { display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:17px; }
.od-schedule__period-head h3 { color:var(--od-navy);font-size:clamp(21px,2.5vw,29px);line-height:1.25;margin:0 0 10px;letter-spacing:-.02em; }
.od-schedule__period-head p { color:var(--od-muted);font-size:14px;line-height:1.65;margin:0;max-width:770px; }
.od-schedule__count { flex:none;padding:8px 11px;background:#eaf1f8;color:var(--od-navy);border-radius:8px;font-size:12px;font-weight:750;white-space:nowrap; }
.od-schedule__table-scroll { width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--od-border);border-radius:14px;box-shadow:0 8px 30px rgba(0,47,103,.045);background:#fff; }
.od-schedule__table-scroll:focus-visible { outline:3px solid var(--od-gold);outline-offset:2px; }
.od-schedule__table { width:100%;min-width:975px;border-collapse:collapse;text-align:left;margin:0;background:#fff;font-variant-numeric:tabular-nums; }
.od-schedule__table caption { caption-side:top;padding:12px 16px;text-align:left;background:#edf4fa;color:#4b627b;font-size:12px;font-weight:650; }
.od-schedule__table thead th { padding:14px 13px;background:var(--od-navy);font-size:12px;font-weight:800;line-height:1.45;color:#fff;white-space:nowrap;text-align:left; }
.od-schedule__table tbody td, .od-schedule__table tbody th { vertical-align:top;text-align:left;padding:15px 13px;border-bottom:1px solid var(--od-border);color:var(--od-ink);font-size:13px;line-height:1.5; }
.od-schedule__table tbody th { font-weight:800;color:var(--od-navy);white-space:nowrap; }
.od-schedule__table tbody tr:nth-child(even) { background:#f4f8fc; }
.od-schedule__table tbody tr:last-child td, .od-schedule__table tbody tr:last-child th { border-bottom:0; }
.od-schedule__table tbody small { display:block;color:var(--od-muted);font-size:11px;line-height:1.5;margin-top:5px; }
.od-schedule__table-link { color:var(--od-navy);font-size:12px;white-space:nowrap;padding:5px 0; }
.od-schedule__scroll-hint { font-size:12px;color:var(--od-muted);margin:9px 0 0; }
.od-schedule__table--closed { min-width:680px; }
.od-schedule__period--closed { margin-top:18px; }
.od-schedule__guidance { background:#fff;border:1px solid var(--od-border);border-radius:18px;padding:clamp(20px,3vw,36px);margin-top:35px; }
.od-schedule__guidance h3 { font-size:clamp(20px,2.2vw,26px);color:var(--od-navy);margin:0 0 21px; }
.od-schedule__guidance-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px; }
.od-schedule__guidance-grid div { padding:18px;background:#f4f8fc;border-radius:12px; }
.od-schedule__guidance strong { color:var(--od-navy); }
.od-schedule__guidance p { color:var(--od-muted);font-size:14px;line-height:1.7;margin:10px 0 0; }
.od-schedule__guidance a { color:var(--od-blue);font-weight:700;text-decoration:underline;text-underline-offset:3px; }
.od-schedule__empty { color:#5d5360;padding:24px;background:#fff5e8;border-radius:12px; }
@media(max-width:840px) {
  .od-schedule__preview-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .od-schedule__guidance-grid { grid-template-columns:1fr; }
  .od-schedule__period-head { flex-direction:column;gap:10px; }
  .od-schedule__season-note { align-items:stretch;flex-direction:column; }
  .od-schedule__major-link { align-self:flex-start;white-space:normal; }
}
@media(max-width:540px) {
  .od-schedule { padding:44px 14px; }
  .od-schedule__intro h2 { font-size:29px; }
  .od-schedule__preview-cards { grid-template-columns:1fr; }
  .od-schedule__preview-card { padding:18px; }
  .od-schedule__season-note { padding:20px; }
  .od-schedule__table thead th { padding:12px 10px; }
  .od-schedule__table tbody th, .od-schedule__table tbody td { padding:12px 10px; }
}
@media(prefers-reduced-motion:reduce){ .od-schedule * { scroll-behavior:auto!important;transition:none!important; } }

/* v2: semantic homepage table rather than the previous card-only preview. */
.od-schedule__table--home { min-width:830px; }
.od-schedule__table--home tbody th { white-space:nowrap; }
.od-schedule--home .od-schedule__table-scroll--home { margin-top:20px; }
/* Explicitly keep schedule sections visible independently of unrelated reveal scripts. */
.od-schedule { display:block; visibility:visible; opacity:1; }
