/* ════════════════════════════════════════════════════════════════
   1860 TOURS — premium re-skin layer
   Pairs with 1860-theme.css (design tokens). Pure overrides: no markup
   or JS changes. Brings the tours site in line with the main 1860 theme
   (Montserrat, beige/blue/amber, premium cards) and Skyscanner-modern feel.
═════════════════════════════════════════════════════════════════ */

/* ── Base typography & surface ── */
body {
    font-family: var(--font) !important;
    background: var(--bg) !important;
    color: var(--text-dk);
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.widget-title, .section-title, .breadcrumb-title {
    font-family: var(--font) !important;
    letter-spacing: -0.01em;
}
a { transition: color 0.15s; }

/* ── Header: top strip (social + login/FAQ) ── */
.header-top, .top-header, .header-topbar {
    background: var(--navy) !important;
}
.header-top a, .top-header a { color: rgba(255, 255, 255, 0.85) !important; }
.header-top a:hover, .top-header a:hover { color: var(--amber) !important; }
.loginBtn { font-weight: 700 !important; }

/* ── Header: middle (logo) + nav bar ── */
.header-middle { background: #fff; }
.menu-block {
    background: #fff !important;
    box-shadow: 0 4px 24px rgba(0, 32, 112, 0.06);
    position: sticky;
    top: 0;
    z-index: 900;
}
.ow-navigation .navbar-nav > li > a {
    font-family: var(--font) !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    color: var(--text-dk) !important;
    text-transform: none !important;
    padding: 18px 14px !important;
    position: relative;
    transition: color 0.15s;
}
.ow-navigation .navbar-nav > li > a:hover,
.ow-navigation .navbar-nav > li.active > a {
    color: var(--blue) !important;
    background: transparent !important;
}
/* Animated amber underline on hover (Skyscanner/premium feel) */
.ow-navigation .navbar-nav > li > a::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 12px;
    height: 2px;
    background: var(--amber);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.2s ease;
}
.ow-navigation .navbar-nav > li > a:hover::after,
.ow-navigation .navbar-nav > li.active > a::after { transform: scaleX(1); }
.ow-navigation .navbar-nav > li > a i { color: var(--blue) !important; }

/* Dropdown menus */
.ow-navigation .dropdown-menu {
    border: 1px solid var(--border-lt);
    border-radius: var(--r-md);
    box-shadow: 0 20px 56px rgba(0, 32, 112, 0.12);
    padding: 8px;
}
.ow-navigation .dropdown-menu > li > a {
    border-radius: var(--r-sm);
    font-weight: 600;
    padding: 9px 12px;
}
.ow-navigation .dropdown-menu > li > a:hover { background: var(--surface-2); color: var(--blue); }

/* Profile / user dropdown */
.profile-name { font-family: var(--font); font-weight: 700; }

/* ── Buttons ── */
.btn-primary, .btn.btn-lg, input[type="submit"].btn {
    background: var(--amber) !important;
    border: none !important;
    color: #1a1b13 !important;
    font-family: var(--font);
    font-weight: 800 !important;
    border-radius: var(--r-sm) !important;
    transition: background 0.15s, transform 0.15s, box-shadow 0.15s;
}
.btn-primary:hover, .btn.btn-lg:hover, input[type="submit"].btn:hover {
    background: var(--amber-d) !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(243, 163, 22, 0.35);
    color: #1a1b13 !important;
}
.btn-outline, .btn-secondary {
    background: #fff !important;
    border: 1.5px solid var(--border-lt) !important;
    color: var(--navy) !important;
    border-radius: var(--r-sm) !important;
    font-weight: 700 !important;
}
.btn-outline:hover, .btn-secondary:hover { border-color: var(--blue) !important; color: var(--blue) !important; }

/* ── Inputs ── */
.form-control, .nice-select, select.form-control {
    border: 1.5px solid var(--border-lt) !important;
    border-radius: var(--r-sm) !important;
    background: #faf9f6 !important;
    font-family: var(--font);
    font-size: 14px;
    box-shadow: none !important;
    transition: border-color 0.15s, background 0.15s;
}
.form-control:focus, .nice-select:focus {
    border-color: var(--amber) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(243, 163, 22, 0.12) !important;
}

/* ── Generic card primitive (premium) ── */
.t-card, .premium-card {
    background: #fff;
    border: 1px solid var(--border-lt);
    border-radius: var(--r-lg);
    box-shadow: 0 8px 26px rgba(0, 32, 112, 0.06);
    overflow: hidden;
    transition: transform 0.14s, box-shadow 0.14s, border-color 0.14s;
}
.t-card:hover, .premium-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 50px rgba(0, 32, 112, 0.12);
    border-color: #d9d4c8;
}

/* ── Footer: premium dark ── */
.footer-main {
    background: var(--navy) !important;
    color: rgba(255, 255, 255, 0.78);
    font-family: var(--font);
}
.footer-main .widget-title {
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.footer-main .widget-title span { color: var(--amber) !important; }
.footer-main p, .footer-main a, .footer-main li {
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 13px;
}
.footer-main a:hover { color: var(--amber) !important; }
.footer-main .ftr-widget > a { display: block; padding: 5px 0; }
.footer-main ul li a i.fab,
.footer-main ul li a i.fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff !important;
    transition: background 0.15s, color 0.15s;
}
.footer-main ul li a:hover i.fab,
.footer-main ul li a:hover i.fa { background: var(--amber); color: #1a1b13 !important; }
.footer-main .populardestination_widget img {
    border-radius: var(--r-sm);
    background: rgba(255, 255, 255, 0.06);
    padding: 6px;
    width: 84px !important;
    height: auto !important;
}
.footer-main .ftr-newsletter h3 { color: #fff; font-weight: 800; }
.footer-main .ftr-newsletter .form-control { max-width: 360px; margin: 0 auto; }
.footer-bottom { background: rgba(0, 0, 0, 0.18); }

/* ════════════════════════════════════════════
   TOURS HOMEPAGE — premium hero + search + cards
═════════════════════════════════════════════ */
/* Hero (matches /flight, /visa, /charter) */
.t-tours-hero { padding-bottom: 104px; }
.t-tours-sub {
    text-align: center;
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp(14px, 1.6vw, 17px);
    font-weight: 500;
    margin: -20px auto 0;
    max-width: 660px;
    font-family: var(--font);
}

/* Search form rebuilt as a premium booking card pulled up into the hero */
.banner-form {
    background: transparent !important;
    margin-top: -78px;
    position: relative;
    z-index: 5;
    padding: 0 14px 44px;
}
.banner-form .why-us-about { display: none; }          /* drop the marketing blurb — clean hero like /flight */
.banner-form .display-flex { display: block !important; }
.banner-form [class*="col-md-"] { width: 100%; max-width: 960px; margin: 0 auto; float: none; }
.banner-form .form-content {
    background: #fff;
    border-radius: var(--r-xl);
    box-shadow: 0 26px 70px rgba(0, 32, 112, 0.20);
    border: 1px solid var(--border-lt);
    padding: 22px 22px 20px;
}
.banner-form .form-title {
    font: 800 16px var(--font);
    color: var(--text-dk);
    margin: 0 0 16px;
}
.banner-form .filter-box {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    align-items: flex-end;
}
.banner-form .filter-box .form-title { flex: 1 1 100%; }
.banner-form .filter-box > [class*="col-"] {
    flex: 1 1 150px;
    width: auto;
    max-width: none;
    padding: 0;
    float: none;
}
.banner-form .filter-box > .col-sm-12 { flex: 1 1 100%; }
.banner-form .filter-box > .col-sm-offset-2 { margin-left: 0; }
.banner-form .form-group { margin: 0; }
.banner-form .form-group label {
    font: 800 10px var(--font);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9a978c;
    margin-bottom: 5px;
    display: block;
}
.banner-form .input-box { position: relative; }
.banner-form .input-box > i { display: none; }          /* drop old flaticon icons for a clean look */
.banner-form .input-box input,
.banner-form .input-box .nice-select {
    width: 100% !important;
    height: 46px;
    line-height: 44px;
    border: 1.5px solid var(--border-lt) !important;
    border-radius: var(--r-sm) !important;
    background: #faf9f6 !important;
    padding: 0 14px !important;
    font: 600 14px var(--font);
    color: var(--text-dk);
}
.banner-form .input-box input:focus,
.banner-form .input-box .nice-select:focus {
    border-color: var(--amber) !important;
    background: #fff !important;
    outline: none;
}
.banner-form .nice-select .list { width: 100%; }
.banner-form .biz-btn {
    background: var(--amber) !important;
    color: #1a1b13 !important;
    border: none !important;
    border-radius: var(--r-sm) !important;
    font: 800 14.5px var(--font) !important;
    padding: 13px 38px !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 22px rgba(243, 163, 22, 0.32);
    transition: background 0.15s, transform 0.15s;
}
.banner-form .biz-btn:hover { background: var(--amber-d) !important; transform: translateY(-1px); }
.banner-form .biz-btn i { color: #1a1b13; }

/* Section titles */
.section-title h2, .section-title-full h2, .trending .section-title h2 {
    font: 900 clamp(22px, 3vw, 32px) var(--font) !important;
    color: var(--text-dk);
}
.section-title h2 span, .section-title span { color: var(--amber); }

/* Premium tour cards (Skyscanner-style) */
.trend-item {
    background: #fff;
    border: 1px solid var(--border-lt);
    border-radius: var(--r-lg) !important;
    box-shadow: 0 8px 26px rgba(0, 32, 112, 0.06);
    overflow: hidden;
    transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.trend-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px rgba(0, 32, 112, 0.13);
    border-color: #d9d4c8;
}
.trend-image { position: relative; overflow: hidden; }
.trend-image img { transition: transform 0.5s; width: 100%; }
.trend-item:hover .trend-image img { transform: scale(1.06); }
.trend-price .price, .trend-price p {
    background: rgba(255, 255, 255, 0.96) !important;
    color: var(--navy) !important;
    font-weight: 800 !important;
    border-radius: 100px;
    padding: 6px 14px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
    margin: 0;
}
.trend-price .price span, .trend-price p span { color: var(--amber-d) !important; }
.trend-content h4 a { color: var(--text-dk) !important; font-weight: 800 !important; }
.trend-content h4 a:hover { color: var(--blue) !important; }
.rating .checked, .rating .fa-star.checked { color: var(--amber); }
.wishlist-icon {
    background: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
}
.wishlist-icon i { color: #e3506b; }

/* Top-destination tiles + Early Deals + air-ticket cards */
.desti-image, .deal-item, .top-deals .trend-item, .air-tickets .trend-item {
    border-radius: var(--r-lg) !important;
    overflow: hidden;
}
.desti-image { position: relative; box-shadow: 0 8px 26px rgba(0, 32, 112, 0.06); }
.desti-image img { transition: transform 0.5s; }
.desti-image:hover img { transform: scale(1.06); }
.deal-price, .deal-price .price {
    background: rgba(255, 255, 255, 0.96) !important;
    color: var(--navy) !important;
    font-weight: 800 !important;
    border-radius: 100px;
}

/* "More destinations" / generic biz buttons already themed via .btn rules above */
.biz-btn { background: var(--amber) !important; color: #1a1b13 !important; border: none !important; border-radius: var(--r-sm) !important; font-weight: 800 !important; }
.biz-btn:hover { background: var(--amber-d) !important; }

/* ── Footer: stronger overrides (old style.css is specific) ── */
footer.footer-main { background: var(--navy) !important; }
footer.footer-main .footer-widgetblock,
footer.footer-main .footer-bottom { background: transparent !important; }
footer.footer-main .footer-bottom { background: rgba(0, 0, 0, 0.18) !important; }
footer.footer-main .ftr-widget h3.widget-title { color: #fff !important; }
footer.footer-main .ftr-widget h3.widget-title span { color: var(--amber) !important; }
footer.footer-main p,
footer.footer-main a,
footer.footer-main span,
footer.footer-main li { color: rgba(255, 255, 255, 0.82) !important; }
footer.footer-main a:hover { color: var(--amber) !important; }

/* ── Mobile polish ── */
@media (max-width: 991px) {
    .menu-block { position: static; }
    .ow-navigation .navbar-nav > li > a { padding: 12px 14px !important; }
    .ow-navigation .navbar-nav > li > a::after { display: none; }
    .t-tours-hero { padding-bottom: 90px; }
    .banner-form { margin-top: -66px; }
    .banner-form .filter-box > [class*="col-"] { flex: 1 1 140px; }
    .banner-form .input-box input,
    .banner-form .input-box .nice-select { font-size: 16px; } /* avoid iOS zoom */
}
