/* ViaTrip India - custom styles */
:root { --navy:#0b1f3a; --orange:#f8a51b; --orange-dark:#e5731a; }
html { scroll-behavior: smooth; }
body { font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color: var(--navy); }
::selection { background: var(--orange); color: #fff; }
.brand-navy { color: var(--navy); }
.brand-orange { color: var(--orange); }
.bg-navy { background-color: var(--navy); }
.bg-orange { background-color: var(--orange); }
.line-clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.dot-bg { background-image: radial-gradient(#f8a51b 1px, transparent 1px); background-size: 24px 24px; opacity: 0.1; }
.card-hover { transition: box-shadow .3s, transform .3s; }
.card-hover:hover { box-shadow: 0 20px 40px rgba(0,0,0,0.12); }
.zoom-hover img { transition: transform .5s; }
.zoom-hover:hover img { transform: scale(1.1); }
.gradient-hero { background: linear-gradient(180deg, #fff8ec 0%, #fef4e2 50%, #ffffff 100%); }
.gradient-band { background: linear-gradient(90deg, #0b1f3a 0%, #122f56 100%); }
.btn-primary { background: var(--orange); color:#fff; padding: 12px 28px; border-radius:9999px; font-weight:600; display:inline-flex; align-items:center; gap:8px; transition: background .2s; }
.btn-primary:hover { background: var(--orange-dark); }
.btn-outline { border:1.5px solid var(--navy); color:var(--navy); padding: 10px 26px; border-radius:9999px; font-weight:600; display:inline-flex; align-items:center; gap:8px; transition: all .2s; }
.btn-outline:hover { background: var(--navy); color:#fff; }
.nav-link { color: var(--navy); font-weight:500; font-size:15px; transition: color .2s; }
.nav-link:hover, .nav-link.active { color: var(--orange); }
.input-field { width:100%; height:44px; padding:0 14px; border:1px solid #e5e7eb; border-radius:8px; font-size:14px; outline:none; transition:border-color .2s, box-shadow .2s; }
.input-field:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(248,165,27,0.15); }
textarea.input-field { padding-top: 10px; height:auto; }
.toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); background:#0b1f3a; color:#fff; padding:14px 22px; border-radius:12px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); z-index:100; opacity:0; pointer-events:none; transition: opacity .3s, transform .3s; }
.toast.show { opacity:1; transform: translateX(-50%) translateY(-4px); }
[data-icon] { display: inline-flex; }
