/* WiseTravel Custom Styles — complements Tailwind */

/* ===== Local Fonts ===== */
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400; font-display:swap; src:url('/static/fonts/dm-sans-latin-400-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400; font-display:swap; src:url('/static/fonts/dm-sans-latin-ext-400-normal.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:500; font-display:swap; src:url('/static/fonts/dm-sans-latin-500-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:500; font-display:swap; src:url('/static/fonts/dm-sans-latin-ext-500-normal.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:600; font-display:swap; src:url('/static/fonts/dm-sans-latin-600-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:600; font-display:swap; src:url('/static/fonts/dm-sans-latin-ext-600-normal.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:700; font-display:swap; src:url('/static/fonts/dm-sans-latin-700-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:700; font-display:swap; src:url('/static/fonts/dm-sans-latin-ext-700-normal.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ===== Nav — Always White Background ===== */
/* The logo is blue, so the nav must always be light to keep it visible */
#main-nav {
    background:rgba(255,255,255,0.95);
    backdrop-filter:saturate(180%) blur(20px);
    -webkit-backdrop-filter:saturate(180%) blur(20px);
    border-bottom:1px solid rgba(0,0,0,0.06);
    box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
#main-nav .nav-link { color:#374151; }
#main-nav .nav-link:hover { color:#111827; background:#f3f4f6; }
#main-nav .nav-text { color:#172554; }
#main-nav .nav-currency { background:transparent; border:1px solid #e5e7eb; color:#374151; }
#main-nav .nav-cta { background:#2563eb; border:1px solid #2563eb; color:#fff; border-radius:10px; }
#main-nav .nav-cta:hover { background:#1d4ed8; }
#main-nav .nav-icon { color:#374151; }

.nav-link { padding:6px 14px; border-radius:8px; font-weight:500; transition:all 0.2s; }
.nav-cta { padding:7px 18px; border-radius:10px; font-weight:600; transition:all 0.2s; }
.nav-currency { border-radius:8px; padding:5px 10px; }

/* ===== Currency Dropdown ===== */
#currency-menu::-webkit-scrollbar { width:5px; }
#currency-menu::-webkit-scrollbar-track { background:transparent; }
#currency-menu::-webkit-scrollbar-thumb { background:#e5e7eb; border-radius:10px; }
.currency-opt { transition:background 0.15s; border-radius:6px; margin:0 4px; }
.currency-opt:hover { background:#f0f5ff; }
.currency-opt.active { background:#eff6ff; color:#1e3a8a; }

/* ===== Autocomplete ===== */
.ac-wrapper { position:relative; }
.ac-list { position:absolute; top:100%; left:0; right:0; z-index:50; background:#fff; border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,0.12); border:1px solid #f3f4f6; max-height:320px; overflow-y:auto; display:none; margin-top:4px; }
.ac-item { padding:12px 16px; cursor:pointer; transition:background 0.15s; border-bottom:1px solid #f9fafb; }
.ac-item:hover { background:#f0f5ff; }
.ac-item:last-child { border-bottom:none; }

/* ===== Flatpickr Overrides ===== */
.flatpickr-calendar { border-radius:12px!important; box-shadow:0 12px 40px rgba(0,0,0,0.12)!important; border:1px solid #e5e7eb!important; font-family:'DM Sans',system-ui,sans-serif!important; }
.flatpickr-day.selected { background:#2563eb!important; border-color:#2563eb!important; }
.flatpickr-day.today { border-color:#3b82f6!important; }
.flatpickr-months .flatpickr-month { background:#fff!important; }

/* ===== Passenger Counter ===== */
.pax-counter { display:flex; align-items:center; gap:12px; }
.pax-btn { width:32px; height:32px; border-radius:50%; border:1.5px solid #d1d5db; background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px; font-weight:500; color:#374151; transition:all 0.15s; }
.pax-btn:hover:not(:disabled) { border-color:#2563eb; color:#2563eb; }
.pax-btn:disabled { opacity:0.3; cursor:not-allowed; }

/* ===== Toast ===== */
.wt-toast { padding:14px 20px; border-radius:12px; background:#fff; box-shadow:0 8px 30px rgba(0,0,0,0.12); font-size:14px; max-width:380px; transform:translateX(120%); transition:transform 0.3s cubic-bezier(0.16,1,0.3,1); border-left:4px solid #2563eb; }
.wt-toast.show { transform:translateX(0); }
.wt-toast.success { border-left-color:#16a34a; }
.wt-toast.error { border-left-color:#dc2626; }

/* ===== Page Layout (info pages) ===== */
.page-hero { padding:120px 0 48px; background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 100%); text-align:center; }
.page-hero-title { font-size:32px; font-weight:700; color:#111827; margin-bottom:10px; }
.page-hero-subtitle { font-size:16px; color:#6b7280; max-width:560px; margin:0 auto; line-height:1.6; }
.page-content { padding:56px 0 80px; }
.container { max-width:1120px; margin:0 auto; padding:0 20px; }
.page-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:768px){ .page-grid-3{grid-template-columns:1fr;} }

.card { background:#fff; border-radius:16px; border:1px solid #f3f4f6; overflow:hidden; }
.card-body { padding:28px; }
.badge { display:inline-block; padding:4px 12px; border-radius:999px; font-size:12px; font-weight:600; background:#eff6ff; color:#2563eb; }
.section-title { font-size:22px; font-weight:700; color:#111827; margin-bottom:16px; }

.form-group { margin-bottom:16px; }
.form-label { display:block; font-size:13px; font-weight:600; color:#374151; margin-bottom:6px; }
.form-input, .form-textarea { display:block; width:100%; padding:10px 14px; border:1px solid #e5e7eb; border-radius:10px; font-size:14px; font-family:inherit; background:#fff; transition:border 0.2s; }
.form-input:focus, .form-textarea:focus { outline:none; border-color:#3b82f6; box-shadow:0 0 0 3px rgba(59,130,246,0.1); }
.btn { display:inline-block; padding:10px 24px; border-radius:10px; font-size:14px; font-weight:600; font-family:inherit; cursor:pointer; transition:all 0.2s; border:none; text-align:center; }
.btn-primary { background:#2563eb; color:#fff; }
.btn-primary:hover { background:#1d4ed8; }
.btn-block { width:100%; }

.company-card { transition:all 0.2s; }
.company-card:hover { box-shadow:0 8px 30px rgba(0,0,0,0.06); transform:translateY(-2px); }
.company-card .location { font-size:13px; color:#6b7280; margin-bottom:12px; }
.company-card p { font-size:14px; color:#6b7280; line-height:1.7; }
.company-card h3 { font-size:17px; font-weight:600; color:#111827; }

.faq-item { border-bottom:1px solid #f3f4f6; padding:20px 0; }
.faq-question { font-size:15px; font-weight:600; color:#111827; cursor:default; }
.faq-answer { margin-top:8px; }
.faq-answer p { font-size:14px; color:#6b7280; line-height:1.7; }

/* ===== Animations ===== */
@keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
.fade-up { animation:fadeUp 0.6s cubic-bezier(0.16,1,0.3,1) forwards; opacity:0; }
.fade-up-d1 { animation-delay:0.1s; }
.fade-up-d2 { animation-delay:0.2s; }
.fade-up-d3 { animation-delay:0.3s; }
.fade-up-d4 { animation-delay:0.4s; }

/* ===== Offer Card Hover ===== */
.offer-card-hover { transition:all 0.2s; }
.offer-card-hover:hover { box-shadow:0 8px 30px rgba(0,0,0,0.08); transform:translateY(-1px); }

/* ===== Responsive fixes ===== */
@media (max-width:768px) {
    .search-panel-grid { grid-template-columns:1fr!important; }
    .hero-heading { font-size:2rem!important; }
}
