/* Prisha Tour & Travels — core stylesheet
   Token system: ink #10233D / ink-700 #16375C / amber #E8A33D / slate2 #445066 / paper #FAF8F4 / okgreen #2F7D5A
   Display type: Space Grotesk · Body: Inter · Data/route: IBM Plex Mono */

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

h1, h2, h3, h4, .font-display { font-family: 'Space Grotesk', sans-serif; letter-spacing: -0.01em; }

.skip-link{position:absolute;left:-999px;top:0;background:#E8A33D;color:#10233D;padding:.6rem 1rem;z-index:100;font-weight:600;}
.skip-link:focus{left:1rem;top:1rem;}

*:focus-visible{ outline: 3px solid #E8A33D; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* ---------- Nav ---------- */
.nav-link{ color:#FAF8F4; opacity:.85; padding:.55rem .9rem; font-size:.925rem; font-weight:500; border-radius:.375rem; transition:opacity .15s, background-color .15s; }
.nav-link:hover{ opacity:1; background:rgba(255,255,255,.06); }
.nav-link-active{ color:#FAF8F4; opacity:1; padding:.55rem .9rem; font-size:.925rem; font-weight:600; border-radius:.375rem; background:rgba(232,163,61,.15); box-shadow: inset 0 -2px 0 #E8A33D; }
.mobile-nav-link{ display:block; padding:.75rem .5rem; color:#FAF8F4; font-weight:500; border-bottom:1px solid rgba(255,255,255,.08); }

.btn-ghost-light{ display:inline-flex; align-items:center; gap:.4rem; padding:.55rem 1rem; border:1px solid rgba(250,248,244,.35); color:#FAF8F4; font-weight:600; font-size:.875rem; border-radius:.4rem; transition: background-color .15s, border-color .15s; }
.btn-ghost-light:hover{ background:rgba(255,255,255,.08); border-color:rgba(250,248,244,.6); }

.btn-cta{ display:inline-flex; align-items:center; gap:.4rem; padding:.55rem 1.1rem; background:#2F7D5A; color:#FAF8F4; font-weight:700; font-size:.875rem; border-radius:.4rem; transition: transform .12s, background-color .15s; }
.btn-cta:hover{ background:#276b4c; transform: translateY(-1px); }

.btn-amber{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem 1.5rem; background:#E8A33D; color:#10233D; font-weight:700; border-radius:.4rem; font-size:.95rem; transition: background-color .15s, transform .12s; }
.btn-amber:hover{ background:#CE8A28; transform: translateY(-1px); }

.btn-outline-ink{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem 1.5rem; border:1.5px solid #10233D; color:#10233D; font-weight:700; border-radius:.4rem; font-size:.95rem; transition: background-color .15s; }
.btn-outline-ink:hover{ background:#10233D; color:#FAF8F4; }

/* ---------- Mobile sticky action bar ---------- */
.mobile-action-bar{ position:fixed; bottom:0; left:0; right:0; z-index:50; display:grid; grid-template-columns:repeat(3,1fr); box-shadow: 0 -4px 14px rgba(16,35,61,.18); }
.mobile-action-btn{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.15rem; padding:.55rem 0 .7rem; font-size:.7rem; font-weight:700; }

/* ---------- Footer ---------- */
.footer-heading{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; color:#E8A33D; margin-bottom:.9rem; }
.footer-link{ color:rgba(250,248,244,.78); transition:color .15s; }
.footer-link:hover{ color:#FAF8F4; }

/* ---------- Eyebrow / section labels ---------- */
.eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#CE8A28; }

/* ---------- Cards ---------- */
.card{ background:#fff; border:1px solid #E7E2D6; border-radius:.5rem; transition: border-color .15s, box-shadow .15s; }
.card:hover{ border-color:#E8A33D; box-shadow: 0 8px 24px rgba(16,35,61,.08); }

/* ---------- Departure board (signature component: Sleeper Bus destinations) ---------- */
.board{ background:#10233D; border-radius:.5rem; overflow:hidden; border:1px solid #16375C; }
.board-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.1rem; border-bottom:1px solid rgba(255,255,255,.08); transition: background-color .15s; }
.board-row:last-child{ border-bottom:none; }
.board-row:hover{ background:rgba(232,163,61,.08); }
.board-code{ font-family:'IBM Plex Mono',monospace; color:#E8A33D; font-weight:600; font-size:.8rem; width:2.4rem; flex-shrink:0; }
.board-dest{ font-family:'IBM Plex Mono',monospace; color:#FAF8F4; font-weight:500; font-size:.95rem; flex:1; letter-spacing:.02em; }
.board-status{ font-family:'IBM Plex Mono',monospace; font-size:.72rem; color:#8FA3BF; text-transform:uppercase; letter-spacing:.05em; display:none; }
@media (min-width:640px){ .board-status{ display:block; } }

/* ---------- Forms ---------- */
.field-label{ display:block; font-size:.825rem; font-weight:600; color:#10233D; margin-bottom:.35rem; }
.field-input{ width:100%; border:1.5px solid #DDD6C4; border-radius:.4rem; padding:.65rem .85rem; font-size:.925rem; background:#fff; transition: border-color .15s; }
.field-input:focus{ border-color:#E8A33D; }
.field-error{ font-size:.78rem; color:#B4442E; margin-top:.3rem; display:none; }
.field-error.show{ display:block; }
.field-input.invalid{ border-color:#B4442E; }

/* ---------- Misc ---------- */
.section-divider{ height:1px; background:linear-gradient(to right, transparent, #E7E2D6, transparent); }
.no-scrollbar::-webkit-scrollbar{ display:none; }
.no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }
