:root {
	--tbp-primary: #0b5cff;
	--tbp-primary-2: #00a8ff;
	--tbp-accent: #ff7a18;
	--tbp-ink: #101828;
	--tbp-muted: #667085;
	--tbp-line: #e6eaf2;
	--tbp-bg: #ffffff;
	--tbp-soft: #f5f8ff;
	--tbp-card: rgba(255, 255, 255, .86);
	--tbp-shadow: 0 18px 45px rgba(16, 24, 40, .11);
	--tbp-radius: 8px;
	--tbp-font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--tbp-heading: "Poppins", var(--tbp-font);
}

body.tbp-dark,
body.tbp-dark-mode {
	--tbp-bg: #0d1321;
	--tbp-soft: #121a2b;
	--tbp-card: rgba(20, 30, 50, .86);
	--tbp-ink: #f8fbff;
	--tbp-muted: #b6c2d7;
	--tbp-line: #26324a;
	--tbp-shadow: 0 18px 45px rgba(0, 0, 0, .34);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--tbp-ink); background: var(--tbp-bg); font-family: var(--tbp-font); font-size: 16px; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { z-index: 9999; top: 12px; left: 12px; width: auto; height: auto; clip: auto; padding: 10px 14px; background: var(--tbp-primary); color: #fff; border-radius: var(--tbp-radius); }
.tbp-container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.tbp-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.82); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(230,234,242,.75); }
.tbp-dark .tbp-header { background: rgba(13,19,33,.85); }
.tbp-header__inner { min-height: 74px; display: flex; align-items: center; gap: 22px; }
.tbp-logo { display: inline-flex; align-items: baseline; gap: 3px; font: 800 22px/1 var(--tbp-heading); color: var(--tbp-primary); white-space: nowrap; }
.tbp-logo strong { color: var(--tbp-accent); }
.custom-logo { max-height: 52px; width: auto; }
.tbp-nav { flex: 1; }
.tbp-menu { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 0; margin: 0; list-style: none; }
.tbp-menu a { display: block; padding: 12px 13px; border-radius: var(--tbp-radius); color: var(--tbp-muted); font-weight: 700; font-size: 14px; transition: .2s ease; }
.tbp-menu a:hover, .tbp-menu .current-menu-item > a { color: var(--tbp-primary); background: var(--tbp-soft); }
.tbp-mega { position: absolute; left: 50%; top: calc(100% + 1px); display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 18px; width: min(760px, calc(100vw - 32px)); padding: 18px; background: var(--tbp-bg); border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); box-shadow: var(--tbp-shadow); opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: .2s ease; }
.tbp-nav:hover .tbp-mega, .tbp-nav:focus-within .tbp-mega { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.tbp-mega strong { display: block; margin-bottom: 8px; color: var(--tbp-primary); }
.tbp-mega a { display: block; padding: 7px 0; color: var(--tbp-muted); font-weight: 700; }
.tbp-header-actions { display: flex; align-items: center; gap: 8px; }
.tbp-selector, .tbp-icon-btn, .tbp-link-btn, .tbp-theme-toggle, .tbp-mobile-toggle { min-height: 38px; border: 1px solid var(--tbp-line); background: var(--tbp-card); color: var(--tbp-ink); border-radius: var(--tbp-radius); }
.tbp-selector { padding: 0 8px; font-size: 13px; }
.tbp-icon-btn, .tbp-theme-toggle, .tbp-mobile-toggle { width: 38px; cursor: pointer; }
.tbp-link-btn { padding: 0 12px; font-weight: 700; cursor: pointer; }
.tbp-login-btn, .tbp-btn { border: 0; cursor: pointer; border-radius: var(--tbp-radius); font-weight: 800; transition: transform .2s ease, box-shadow .2s ease; }
.tbp-login-btn { min-height: 40px; padding: 0 14px; color: #fff; background: linear-gradient(135deg, var(--tbp-primary), var(--tbp-primary-2)); box-shadow: 0 10px 22px rgba(11,92,255,.25); }
.tbp-login-btn:hover, .tbp-btn:hover, .tbp-service-card:hover, .tbp-price-card:hover, .tbp-package-card:hover { transform: translateY(-2px); }
.tbp-trip-menu { position: relative; }
.tbp-trip-dropdown { position: absolute; right: 0; top: calc(100% + 8px); min-width: 190px; padding: 10px; background: var(--tbp-bg); border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); box-shadow: var(--tbp-shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s ease; }
.tbp-trip-dropdown a { display: block; padding: 9px 10px; color: var(--tbp-muted); border-radius: 6px; }
.tbp-trip-menu:hover .tbp-trip-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.tbp-mobile-toggle { display: none; }
.tbp-hero { position: relative; min-height: 720px; overflow: hidden; }
.tbp-hero__media { position: absolute; inset: 0; background: linear-gradient(110deg, rgba(6,16,35,.72), rgba(11,92,255,.28)), url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1800&q=70") center/cover; }
.tbp-hero__content { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.35fr; gap: 34px; align-items: center; padding: 88px 0 70px; }
.tbp-hero__copy { color: #fff; max-width: 560px; }
.tbp-eyebrow { display: inline-block; color: var(--tbp-primary); font-weight: 800; text-transform: uppercase; letter-spacing: 0; font-size: 12px; }
.tbp-hero__copy .tbp-eyebrow { color: #b7ddff; }
h1, h2, h3 { font-family: var(--tbp-heading); line-height: 1.12; letter-spacing: 0; margin: 0 0 12px; }
h1 { font-size: clamp(38px, 5vw, 64px); }
h2 { font-size: clamp(26px, 3vw, 42px); }
h3 { font-size: 20px; }
.tbp-hero__copy p { color: rgba(255,255,255,.86); font-size: 18px; }
.tbp-search-card { background: var(--tbp-card); backdrop-filter: blur(22px); border: 1px solid rgba(255,255,255,.45); box-shadow: var(--tbp-shadow); border-radius: var(--tbp-radius); padding: 18px; }
.tbp-tabs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 10px; }
.tbp-tab { flex: 0 0 auto; border: 1px solid var(--tbp-line); background: var(--tbp-bg); color: var(--tbp-muted); border-radius: 999px; padding: 10px 15px; font-weight: 800; cursor: pointer; }
.tbp-tab.is-active { color: #fff; border-color: transparent; background: linear-gradient(135deg, var(--tbp-primary), var(--tbp-primary-2)); }
.tbp-booking-form { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; align-items: end; }
.tbp-field { background: var(--tbp-bg); border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); padding: 10px 12px; min-width: 0; }
.tbp-field label { display: block; color: var(--tbp-muted); font-size: 12px; font-weight: 800; }
.tbp-field input, .tbp-field select { width: 100%; min-height: 34px; border: 0; outline: 0; color: var(--tbp-ink); background: transparent; font-weight: 800; }
.tbp-fare-options { grid-column: 1 / 5; display: flex; flex-wrap: wrap; gap: 10px; color: var(--tbp-muted); font-weight: 700; font-size: 13px; }
.tbp-filter-bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 14px; padding: 12px; background: var(--tbp-soft); border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); color: var(--tbp-muted); font-size: 13px; font-weight: 800; }
.tbp-filter-bar label { display: inline-flex; align-items: center; gap: 8px; }
.tbp-filter-bar select { min-height: 34px; border: 1px solid var(--tbp-line); border-radius: 6px; background: var(--tbp-bg); color: var(--tbp-ink); }
.tbp-btn--search { min-height: 54px; color: #fff; background: linear-gradient(135deg, var(--tbp-accent), var(--tbp-primary)); box-shadow: 0 14px 30px rgba(255,122,24,.26); }
.tbp-live-results { display: grid; gap: 10px; margin-top: 14px; }
.tbp-result { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 12px; background: var(--tbp-bg); border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); }
.tbp-result p { margin: 2px 0 0; color: var(--tbp-muted); font-size: 13px; }
.tbp-services { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-top: -42px; position: relative; z-index: 2; }
.tbp-service-card { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 86px; background: var(--tbp-bg); border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); box-shadow: var(--tbp-shadow); font-weight: 800; transition: .2s ease; }
.tbp-service-card span { font-size: 24px; }
.tbp-section { padding: 74px 0 0; }
.tbp-section-head { max-width: 760px; margin-bottom: 24px; }
.tbp-section-head p { color: var(--tbp-muted); }
.tbp-offer-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 1fr); gap: 16px; overflow-x: auto; padding-bottom: 10px; }
.tbp-coupon-card, .tbp-price-card, .tbp-package-card, .tbp-widget, .tbp-deal-widget { position: relative; background: var(--tbp-card); border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); box-shadow: var(--tbp-shadow); padding: 20px; }
.tbp-coupon-card span, .tbp-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; color: var(--tbp-primary); background: rgba(11,92,255,.1); font-weight: 800; font-size: 12px; }
.tbp-destination-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.tbp-destination-card { min-height: 260px; display: flex; align-items: end; padding: 20px; color: #fff; border-radius: var(--tbp-radius); overflow: hidden; background: linear-gradient(to top, rgba(0,0,0,.66), rgba(0,0,0,.1)), url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=800&q=70") center/cover; transition: transform .2s ease; }
.tbp-destination-card:nth-child(2) { background-image: linear-gradient(to top, rgba(0,0,0,.66), rgba(0,0,0,.1)), url("https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=800&q=70"); }
.tbp-destination-card:nth-child(3) { background-image: linear-gradient(to top, rgba(0,0,0,.66), rgba(0,0,0,.1)), url("https://images.unsplash.com/photo-1537996194471-e657df975ab4?auto=format&fit=crop&w=800&q=70"); }
.tbp-destination-card:nth-child(4) { background-image: linear-gradient(to top, rgba(0,0,0,.66), rgba(0,0,0,.1)), url("https://images.unsplash.com/photo-1501785888041-af3ef285b470?auto=format&fit=crop&w=800&q=70"); }
.tbp-destination-card:hover { transform: scale(1.02); }
.tbp-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tbp-price-card, .tbp-package-card { min-height: 230px; transition: .2s ease; }
.tbp-price-card p, .tbp-package-card p, .tbp-coupon-card p { color: var(--tbp-muted); }
.tbp-wishlist { position: absolute; right: 16px; top: 16px; width: 36px; height: 36px; border: 1px solid var(--tbp-line); background: var(--tbp-bg); border-radius: 50%; cursor: pointer; color: #e11d48; font-size: 20px; }
.tbp-wishlist.is-active { background: #ffe4ea; }
.tbp-price-row, .tbp-compare { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.tbp-price-row strong { font-size: 24px; color: var(--tbp-primary); }
.tbp-btn--small { padding: 10px 16px; color: #fff; background: var(--tbp-primary); }
.tbp-app-section { margin-top: 76px; padding: 64px 0; background: linear-gradient(135deg, rgba(11,92,255,.09), rgba(0,168,255,.16)); }
.tbp-app-grid { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; }
.tbp-store-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.tbp-store-buttons a { padding: 12px 18px; color: #fff; background: #101828; border-radius: var(--tbp-radius); font-weight: 800; }
.tbp-qr { width: 144px; aspect-ratio: 1; border: 10px solid #fff; border-radius: var(--tbp-radius); background: repeating-linear-gradient(45deg, #111 0 8px, #fff 8px 16px); box-shadow: var(--tbp-shadow); }
.tbp-testimonials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tbp-testimonials blockquote { margin: 0; padding: 22px; background: var(--tbp-soft); border-left: 4px solid var(--tbp-primary); border-radius: var(--tbp-radius); font-weight: 700; }
.tbp-testimonials cite { display: block; margin-top: 14px; color: var(--tbp-muted); font-style: normal; font-weight: 600; }
.tbp-footer { margin-top: 80px; padding: 54px 0 90px; background: #07111f; color: #d7e1ef; }
.tbp-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 28px; }
.tbp-footer h2 { font-size: 16px; color: #fff; }
.tbp-footer a { display: block; margin: 8px 0; color: #d7e1ef; }
.tbp-logo--footer { color: #fff; margin-bottom: 14px; }
.tbp-socials { display: flex; gap: 8px; }
.tbp-socials a { display: inline-grid; place-items: center; width: 34px; height: 34px; background: rgba(255,255,255,.1); border-radius: 50%; }
.tbp-newsletter { display: grid; gap: 8px; }
.tbp-newsletter input { min-height: 42px; border: 1px solid rgba(255,255,255,.18); border-radius: var(--tbp-radius); background: rgba(255,255,255,.08); color: #fff; padding: 0 12px; }
.tbp-newsletter button { min-height: 42px; border: 0; border-radius: var(--tbp-radius); color: #fff; background: var(--tbp-primary); font-weight: 800; }
.tbp-footer__bottom { display: flex; justify-content: space-between; gap: 16px; margin-top: 34px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); color: #9fb0c6; }
.tbp-bottom-nav { display: none; }
.tbp-chat { position: fixed; right: 20px; bottom: 22px; z-index: 1001; }
.tbp-chat__button { width: 56px; height: 56px; border: 0; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--tbp-primary), var(--tbp-accent)); box-shadow: var(--tbp-shadow); font-weight: 900; cursor: pointer; }
.tbp-chat__panel { position: absolute; right: 0; bottom: 68px; width: min(320px, calc(100vw - 36px)); padding: 18px; background: var(--tbp-bg); border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); box-shadow: var(--tbp-shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s ease; }
.tbp-chat.is-open .tbp-chat__panel { opacity: 1; visibility: visible; transform: translateY(0); }
.tbp-chat input { width: 100%; min-height: 42px; border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); padding: 0 12px; background: var(--tbp-bg); color: var(--tbp-ink); }
.tbp-modal { position: fixed; inset: 0; z-index: 2000; display: none; place-items: center; background: rgba(5,10,20,.62); padding: 18px; }
.tbp-modal.is-open { display: grid; }
.tbp-modal__dialog { position: relative; width: min(420px, 100%); padding: 26px; background: var(--tbp-bg); color: var(--tbp-ink); border-radius: var(--tbp-radius); box-shadow: var(--tbp-shadow); }
.tbp-modal__close { position: absolute; right: 12px; top: 10px; border: 0; background: transparent; color: var(--tbp-ink); font-size: 28px; cursor: pointer; }
.tbp-modal input { width: 100%; min-height: 48px; margin: 10px 0 14px; padding: 0 12px; border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); background: var(--tbp-bg); color: var(--tbp-ink); }
.tbp-btn--primary { min-height: 48px; padding: 0 18px; color: #fff; background: var(--tbp-primary); }
.tbp-page, .tbp-shop { padding: 54px 0; }
.tbp-elementor-page { width: 100%; overflow: hidden; }
.tbp-elementor-template .entry-content,
.tbp-elementor-template .tbp-elementor-page { margin: 0; padding: 0; }
.tbp-dashboard-grid { display: grid; grid-template-columns: 280px 1fr; gap: 20px; }
.tbp-panel { background: var(--tbp-card); border: 1px solid var(--tbp-line); border-radius: var(--tbp-radius); box-shadow: var(--tbp-shadow); padding: 20px; }

@media (max-width: 1080px) {
	.tbp-nav { position: fixed; inset: 74px 0 auto 0; background: var(--tbp-bg); border-bottom: 1px solid var(--tbp-line); transform: translateY(-130%); transition: transform .22s ease; }
	body.tbp-menu-open .tbp-nav { transform: translateY(0); }
	.tbp-menu { flex-direction: column; align-items: stretch; padding: 12px 20px 20px; }
	.tbp-mega { position: static; width: auto; transform: none; opacity: 1; visibility: visible; grid-template-columns: 1fr; box-shadow: none; border: 0; border-top: 1px solid var(--tbp-line); border-radius: 0; }
	.tbp-mobile-toggle { display: inline-grid; place-items: center; }
	.tbp-selector, .tbp-trip-menu, .tbp-icon-btn { display: none; }
	.tbp-hero__content { grid-template-columns: 1fr; padding-top: 54px; }
	.tbp-services, .tbp-destination-grid { grid-template-columns: repeat(3, 1fr); }
	.tbp-card-grid, .tbp-testimonials, .tbp-footer__grid { grid-template-columns: repeat(2, 1fr); }
	.tbp-booking-form { grid-template-columns: repeat(2, 1fr); }
	.tbp-fare-options { grid-column: 1 / -1; }
	.tbp-btn--search { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
	body { padding-bottom: 72px; }
	.tbp-container { width: min(100% - 22px, 1180px); }
	.tbp-header__inner { min-height: 66px; gap: 10px; }
	.tbp-logo { font-size: 18px; }
	.tbp-login-btn { display: none; }
	.tbp-hero { min-height: auto; }
	.tbp-hero__content { padding: 34px 0 52px; }
	h1 { font-size: 34px; }
	.tbp-search-card { padding: 12px; }
	.tbp-booking-form, .tbp-services, .tbp-destination-grid, .tbp-card-grid, .tbp-testimonials, .tbp-app-grid, .tbp-footer__grid, .tbp-dashboard-grid { grid-template-columns: 1fr; }
	.tbp-services { margin-top: 14px; }
	.tbp-service-card { min-height: 68px; }
	.tbp-field, .tbp-btn--search { min-width: 0; }
	.tbp-result, .tbp-price-row, .tbp-footer__bottom { align-items: flex-start; flex-direction: column; }
	.tbp-app-grid { text-align: left; }
	.tbp-bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000; display: grid; grid-template-columns: repeat(4, 1fr); min-height: 64px; background: var(--tbp-bg); border-top: 1px solid var(--tbp-line); box-shadow: 0 -10px 28px rgba(16,24,40,.08); }
	.tbp-bottom-nav a { display: grid; place-items: center; gap: 1px; padding: 7px 2px; color: var(--tbp-muted); font-size: 18px; }
	.tbp-bottom-nav span { display: block; font-size: 11px; font-weight: 800; }
	.tbp-chat { bottom: 82px; right: 14px; }
}
