/* NBT Railway Booking v5 — hero form, notices, tracker */

/* ---- Hero mini booking form ---- */
.nbt-hero-card { background: #fff; border-radius: 14px; box-shadow: 0 10px 40px rgba(16,24,40,.18); max-width: 860px; padding: 0 0 22px; overflow: hidden; }
.nbt-hero-head { font-size: 20px; font-weight: 800; color: #101828; padding: 18px 24px; border-bottom: 1px solid #eef0f3; }
.nbt-hero-form { padding: 20px 24px 0; }
.nbt-hero-field { margin-bottom: 16px; }
.nbt-hero-field label { display: block; font-size: 14px; font-weight: 700; color: #344054; margin-bottom: 6px; }
.nbt-hero-field label span { color: #d92d20; }
.nbt-hero-field select, .nbt-hero-field input { width: 100%; box-sizing: border-box; padding: 11px 13px; font-size: 15px; border: 1px solid #d0d5dd; border-radius: 8px; background: #fff; }
.nbt-hero-field select:focus, .nbt-hero-field input:focus { outline: none; border-color: #1d4ed8; box-shadow: 0 0 0 3px rgba(29,78,216,.12); }
.nbt-hero-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.nbt-hero-btn { background: #1d4ed8; color: #fff; border: 0; border-radius: 8px; padding: 11px 26px; font-size: 15px; font-weight: 700; cursor: pointer; }
.nbt-hero-btn:hover { background: #1a45bd; }
@media (max-width: 782px) {
    .nbt-hero-row { grid-template-columns: 1fr; }
    .nbt-hero-head { font-size: 18px; padding: 14px 18px; }
    .nbt-hero-form { padding: 16px 18px 0; }
    .nbt-hero-btn { width: 100%; }
}

/* ---- Notice board ---- */
.nbt-notices { border: 1px solid #cfe0ff; background: #f5f9ff; border-radius: 12px; padding: 14px 18px; margin: 0 auto 18px; max-width: 1000px; }
.nbt-notices-head { font-size: 15px; font-weight: 800; color: #0a3c78; margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.nbt-notices-list { list-style: none; margin: 0; padding: 0; }
.nbt-notices-list li { padding: 10px 0; border-bottom: 1px dashed #cfe0ff; }
.nbt-notices-list li:last-child { border-bottom: 0; }
.nbt-notice-title { font-weight: 700; color: #101828; font-size: 14px; }
.nbt-notice-body { font-size: 13px; color: #475467; margin-top: 3px; }
.nbt-notice-date { font-size: 11px; color: #98a2b3; margin-top: 4px; }

/* ---- Tracker ---- */
.nbt-track-wrap { width: 85%; max-width: 860px; margin: 0 auto; }
@media (max-width: 782px) { .nbt-track-wrap { width: 100%; } }
.nbt-track-box { background: #fff; border: 1px solid #e3e6ea; border-radius: 14px; padding: 22px 24px; margin-bottom: 18px; }
.nbt-track-box h3 { margin: 0 0 6px; font-size: 20px; }
.nbt-track-form { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.nbt-track-form input { flex: 1; min-width: 200px; padding: 11px 13px; font-size: 15px; border: 1px solid #d0d5dd; border-radius: 8px; }
.nbt-track-form input:focus { outline: none; border-color: #1d4ed8; box-shadow: 0 0 0 3px rgba(29,78,216,.12); }
.nbt-track-form .nbt-rb-btn { white-space: nowrap; }
@media (max-width: 782px) {
    .nbt-track-form input { flex: 1 1 100%; }
    .nbt-track-form .nbt-rb-btn { width: 100%; }
}
