/*
 * ForBookings revamp layer
 * Phase 1 — Foundation: design tokens, fonts, base typography
 * Phase 2 — Global chrome: utility bar, main header / nav, footer
 * Phase 3 — Hero search panel + section/button language
 *
 * Loaded after the legacy Travelo stylesheets so this layer wins the cascade
 * for tokens we explicitly opt in to. Selectors are scoped under .fb-revamp
 * (set on <body>) so admin and builder previews stay untouched.
 */

:root {
    /* Brand */
    --fb-color-navy-900: #0a1f44;
    --fb-color-navy-800: #0f2a5a;
    --fb-color-navy-700: #14366f;
    --fb-color-blue-600: #1f6bff;
    --fb-color-blue-500: #2f7bff;
    --fb-color-blue-100: #e8f0ff;

    /* Neutral */
    --fb-color-ink: #0b1426;
    --fb-color-text: #1f2937;
    --fb-color-text-muted: #6b7280;
    --fb-color-text-subtle: #9aa3b2;
    --fb-color-border: #e5e7eb;
    --fb-color-border-strong: #d1d5db;
    --fb-color-surface: #ffffff;
    --fb-color-surface-alt: #f7f8fa;
    --fb-color-surface-soft: #eef2f7;

    /* Semantic */
    --fb-color-success: #10b981;
    --fb-color-warning: #f59e0b;
    --fb-color-danger:  #ef4444;
    --fb-color-rating:  #f5a524;

    /* Type scale */
    --fb-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --fb-font-heading: 'Sora', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --fb-font-script: 'Caveat', 'Sora', cursive;

    --fb-fs-xs: 12px;
    --fb-fs-sm: 13px;
    --fb-fs-base: 15px;
    --fb-fs-md: 16px;
    --fb-fs-lg: 18px;
    --fb-fs-xl: 22px;
    --fb-fs-2xl: 28px;
    --fb-fs-3xl: 36px;
    --fb-fs-4xl: 48px;
    --fb-fs-5xl: 60px;

    --fb-lh-tight: 1.2;
    --fb-lh-snug: 1.35;
    --fb-lh-normal: 1.55;
    --fb-lh-relaxed: 1.7;

    --fb-fw-regular: 400;
    --fb-fw-medium: 500;
    --fb-fw-semibold: 600;
    --fb-fw-bold: 700;

    /* Spacing */
    --fb-space-1: 4px;
    --fb-space-2: 8px;
    --fb-space-3: 12px;
    --fb-space-4: 16px;
    --fb-space-5: 20px;
    --fb-space-6: 24px;
    --fb-space-8: 32px;
    --fb-space-10: 40px;
    --fb-space-12: 48px;
    --fb-space-16: 64px;
    --fb-space-20: 80px;

    /* Radii */
    --fb-radius-sm: 6px;
    --fb-radius-md: 10px;
    --fb-radius-lg: 14px;
    --fb-radius-xl: 20px;
    --fb-radius-pill: 999px;

    /* Shadows */
    --fb-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --fb-shadow-md: 0 6px 18px rgba(15, 23, 42, 0.08);
    --fb-shadow-lg: 0 18px 40px rgba(15, 23, 42, 0.12);

    /* Layout */
    --fb-container-max: 1200px;
    --fb-header-height: 88px;
    --fb-header-utility-height: 40px;

    /* Motion */
    --fb-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --fb-duration-fast: 150ms;
    --fb-duration: 220ms;
}

/*
 * Base typography
 * Scoped under .fb-revamp on <body> so we never globally hijack legacy admin
 * or builder previews. The body tag gets this class via revamp_body_class().
 */
.fb-revamp,
.fb-revamp button,
.fb-revamp input,
.fb-revamp select,
.fb-revamp textarea {
    font-family: var(--fb-font-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.fb-revamp {
    font-size: var(--fb-fs-base);
    line-height: var(--fb-lh-normal);
    color: var(--fb-color-text);
}

.fb-revamp h1,
.fb-revamp h2,
.fb-revamp h3,
.fb-revamp h4,
.fb-revamp h5,
.fb-revamp h6 {
    font-family: var(--fb-font-heading);
    color: var(--fb-color-ink);
    font-weight: var(--fb-fw-semibold);
    line-height: var(--fb-lh-tight);
    letter-spacing: -0.01em;
}

/*
 * Utility hook for the script accent (e.g. "Your Way" in the hero).
 * Use as <span class="fb-script">Your Way</span>.
 */
.fb-script {
    font-family: var(--fb-font-script);
    font-weight: var(--fb-fw-regular);
    font-style: italic;
    color: var(--fb-color-blue-500);
}

/* =============================================================
 * Phase 2 — Header
 *
 * The legacy header markup is preserved (templates/headers/header.php).
 * We override visuals: a light utility strip, a clean white main bar,
 * Inter-based nav, and a primary "List Your Property" pill CTA injected
 * via JS into the header (see revamp.js).
 * ============================================================= */
.fb-revamp #header {
    background: var(--fb-color-surface);
    border-bottom: 1px solid var(--fb-color-border);
}

.fb-revamp #header .topnav {
    background: var(--fb-color-surface-alt);
    border-bottom: 1px solid var(--fb-color-border);
    height: var(--fb-header-utility-height);
}

.fb-revamp #header .topnav .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fb-revamp #header .topnav ul.quick-menu {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    gap: var(--fb-space-5);
    float: none;
}

.fb-revamp #header .topnav ul.quick-menu > li {
    margin: 0;
    float: none;
}

.fb-revamp #header .topnav ul.quick-menu > li > a {
    color: var(--fb-color-text-muted);
    font-size: var(--fb-fs-sm);
    font-weight: var(--fb-fw-medium);
    text-transform: none;
    letter-spacing: 0;
    line-height: var(--fb-header-utility-height);
    height: var(--fb-header-utility-height);
    transition: color var(--fb-duration) var(--fb-ease);
}

.fb-revamp #header .topnav ul.quick-menu > li > a:hover {
    color: var(--fb-color-blue-600);
}

.fb-revamp #header .topnav .ribbon > a:after {
    color: var(--fb-color-text-subtle);
}

.fb-revamp #header #main-header,
.fb-revamp #header .main-header {
    background: var(--fb-color-surface);
}

.fb-revamp #header .main-header > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: var(--fb-header-height);
    gap: var(--fb-space-6);
}

.fb-revamp #header .logo {
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}

.fb-revamp #header .logo a {
    display: inline-flex;
    align-items: center;
}

.fb-revamp #header .logo img {
    max-height: 36px;
    width: auto;
    height: auto;
}

.fb-revamp #header #main-menu {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
}

.fb-revamp #header #main-menu > ul.menu {
    display: flex;
    align-items: center;
    gap: var(--fb-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
    float: none;
}

.fb-revamp #header #main-menu > ul.menu > li {
    margin: 0;
    padding: 0;
    float: none;
    position: relative;
}

.fb-revamp #header #main-menu > ul.menu > li > a {
    display: inline-block;
    padding: 0 var(--fb-space-4);
    height: 40px;
    line-height: 40px;
    font-family: var(--fb-font-body);
    font-size: var(--fb-fs-md);
    font-weight: var(--fb-fw-medium);
    color: var(--fb-color-text);
    text-transform: none;
    letter-spacing: 0;
    border-radius: var(--fb-radius-pill);
    transition: color var(--fb-duration) var(--fb-ease),
                background-color var(--fb-duration) var(--fb-ease);
}

.fb-revamp #header #main-menu > ul.menu > li > a:hover,
.fb-revamp #header #main-menu > ul.menu > li.current-menu-item > a,
.fb-revamp #header #main-menu > ul.menu > li.current-menu-ancestor > a {
    color: var(--fb-color-navy-900);
    background: transparent;
}

.fb-revamp #header #main-menu > ul.menu > li.current-menu-item > a {
    position: relative;
    color: var(--fb-color-navy-900);
}

.fb-revamp #header #main-menu > ul.menu > li.current-menu-item > a:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 4px;
    width: 18px;
    height: 2px;
    background: var(--fb-color-blue-600);
    border-radius: var(--fb-radius-pill);
    transform: translateX(-50%);
}

/* "List Your Property" pill CTA — injected by revamp.js into the header. */
.fb-revamp #header .fb-cta-list-property {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 var(--fb-space-5);
    background: var(--fb-color-navy-900);
    color: #fff;
    font-family: var(--fb-font-body);
    font-size: var(--fb-fs-sm);
    font-weight: var(--fb-fw-medium);
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    border-radius: var(--fb-radius-md);
    border: 1px solid var(--fb-color-navy-900);
    transition: background-color var(--fb-duration) var(--fb-ease),
                color var(--fb-duration) var(--fb-ease);
    flex: 0 0 auto;
    white-space: nowrap;
}

.fb-revamp #header .fb-cta-list-property:hover,
.fb-revamp #header .fb-cta-list-property:focus {
    background: var(--fb-color-navy-800);
    color: #fff;
    text-decoration: none;
}

/* Mobile menu toggle — match new minimal aesthetic */
.fb-revamp #header .mobile-menu-toggle {
    background-color: transparent;
    border: 1px solid var(--fb-color-border);
    border-radius: var(--fb-radius-md);
    width: 44px;
    height: 44px;
    padding: 0;
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
    right: 16px;
}

/* =============================================================
 * Phase 2 — Footer
 *
 * Convert the legacy footer to the navy panel from the mockup.
 * ============================================================= */
.fb-revamp #footer {
    background: var(--fb-color-navy-900);
    color: #cbd5e1;
}

.fb-revamp #footer .footer-wrapper {
    background: transparent;
    padding: var(--fb-space-16) 0 var(--fb-space-12);
}

.fb-revamp #footer .footer-wrapper > .container > .row > div {
    margin-top: 0;
    margin-bottom: var(--fb-space-8);
}

.fb-revamp #footer h2,
.fb-revamp #footer .widgettitle {
    font-family: var(--fb-font-heading);
    font-size: var(--fb-fs-md);
    font-weight: var(--fb-fw-semibold);
    color: #fff;
    margin: 0 0 var(--fb-space-4);
    text-transform: none;
    letter-spacing: 0;
}

.fb-revamp #footer .small-box {
    background: transparent;
    padding: 0;
    margin: 0;
    box-shadow: none;
}

.fb-revamp #footer ul,
.fb-revamp #footer .menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fb-revamp #footer .menu li,
.fb-revamp #footer .widget_nav_menu li {
    margin: 0 0 var(--fb-space-2);
    padding: 0;
    border: 0;
    background: none;
}

.fb-revamp #footer .menu li a,
.fb-revamp #footer .widget_nav_menu li a {
    color: #cbd5e1;
    font-size: var(--fb-fs-sm);
    font-weight: var(--fb-fw-regular);
    line-height: var(--fb-lh-normal);
    text-transform: none;
    letter-spacing: 0;
    transition: color var(--fb-duration) var(--fb-ease);
}

.fb-revamp #footer .menu li a:hover,
.fb-revamp #footer .widget_nav_menu li a:hover {
    color: #fff;
}

.fb-revamp #footer p,
.fb-revamp #footer span,
.fb-revamp #footer li,
.fb-revamp #footer .travel-news li .date {
    color: #cbd5e1;
}

/* Social icons row */
.fb-revamp #footer .social-icons {
    display: flex;
    gap: var(--fb-space-2);
    margin-top: var(--fb-space-4);
}

.fb-revamp #footer .social-icons li {
    margin: 0;
}

.fb-revamp #footer .social-icons li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border-radius: var(--fb-radius-pill);
    transition: background-color var(--fb-duration) var(--fb-ease);
}

.fb-revamp #footer .social-icons li a:hover {
    background: var(--fb-color-blue-600);
}

/* Bottom bar */
.fb-revamp #footer .bottom {
    background: transparent;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: var(--fb-space-5) 0;
}

.fb-revamp #footer .bottom .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--fb-space-4);
}

.fb-revamp #footer .bottom .logo {
    margin: 0;
    float: none;
}

.fb-revamp #footer .bottom .logo img {
    max-height: 28px;
    width: auto;
}

.fb-revamp #footer .bottom .copyright {
    margin: 0;
    float: none;
    color: #94a3b8;
    font-size: var(--fb-fs-sm);
}

.fb-revamp #footer .bottom .copyright p {
    margin: 0;
    color: inherit;
}

.fb-revamp #footer .bottom #back-to-top {
    margin: 0;
    color: #fff;
}

.fb-revamp #footer .bottom #back-to-top i {
    border-color: rgba(255, 255, 255, 0.4);
}

/* =============================================================
 * Phase 2 — Responsive
 * ============================================================= */
@media (max-width: 991px) {
    .fb-revamp #header #main-menu {
        display: none;
    }
    .fb-revamp #header .fb-cta-list-property {
        display: none;
    }
}

@media (max-width: 767px) {
    .fb-revamp #header .topnav {
        display: none;
    }
    .fb-revamp #header .main-header > .container {
        min-height: 64px;
    }
    .fb-revamp #header .logo img {
        max-height: 28px;
    }
    .fb-revamp #footer .footer-wrapper {
        padding: var(--fb-space-10) 0 var(--fb-space-6);
    }
    .fb-revamp #footer .bottom .container {
        justify-content: center;
        text-align: center;
    }
}

/* =============================================================
 * Homepage — Transparent header overlay + Hero banner
 *
 * On the homepage (body.home or body.page-template-template-home),
 * the header floats over the hero image with transparent backgrounds
 * and white text. A hero section (.fb-hero) is injected by revamp.js
 * when RevSlider isn't present, providing the full-bleed background
 * image, heading, and tagline visible in the mockup.
 * ============================================================= */

/* Make the header float over the hero */
.fb-revamp.home #header,
.fb-revamp.page-template-template-home #header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: transparent;
    border-bottom: none;
}

/* Utility bar — semi-transparent on homepage */
.fb-revamp.home #header .topnav,
.fb-revamp.page-template-template-home #header .topnav {
    background: rgba(255, 255, 255, 0.10);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.fb-revamp.home #header .topnav ul.quick-menu > li > a,
.fb-revamp.page-template-template-home #header .topnav ul.quick-menu > li > a {
    color: rgba(255, 255, 255, 0.85);
}

.fb-revamp.home #header .topnav ul.quick-menu > li > a:hover,
.fb-revamp.page-template-template-home #header .topnav ul.quick-menu > li > a:hover {
    color: #fff;
}

.fb-revamp.home #header .topnav .ribbon > a:after,
.fb-revamp.page-template-template-home #header .topnav .ribbon > a:after {
    color: rgba(255, 255, 255, 0.6);
}

/* Main header bar — transparent on homepage */
.fb-revamp.home #header #main-header,
.fb-revamp.home #header .main-header,
.fb-revamp.page-template-template-home #header #main-header,
.fb-revamp.page-template-template-home #header .main-header {
    background: transparent;
}

/* Nav links — white on homepage */
.fb-revamp.home #header #main-menu > ul.menu > li > a,
.fb-revamp.page-template-template-home #header #main-menu > ul.menu > li > a {
    color: rgba(255, 255, 255, 0.85);
}

.fb-revamp.home #header #main-menu > ul.menu > li > a:hover,
.fb-revamp.home #header #main-menu > ul.menu > li.current-menu-item > a,
.fb-revamp.home #header #main-menu > ul.menu > li.current-menu-ancestor > a,
.fb-revamp.page-template-template-home #header #main-menu > ul.menu > li > a:hover,
.fb-revamp.page-template-template-home #header #main-menu > ul.menu > li.current-menu-item > a,
.fb-revamp.page-template-template-home #header #main-menu > ul.menu > li.current-menu-ancestor > a {
    color: #fff;
}

.fb-revamp.home #header #main-menu > ul.menu > li.current-menu-item > a:after,
.fb-revamp.page-template-template-home #header #main-menu > ul.menu > li.current-menu-item > a:after {
    background: #fff;
}

/* CTA button — outlined white on homepage */
.fb-revamp.home #header .fb-cta-list-property,
.fb-revamp.page-template-template-home #header .fb-cta-list-property {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5);
}

.fb-revamp.home #header .fb-cta-list-property:hover,
.fb-revamp.page-template-template-home #header .fb-cta-list-property:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: #fff;
    color: #fff;
}

/* Mobile toggle — white border on homepage */
.fb-revamp.home #header .mobile-menu-toggle,
.fb-revamp.page-template-template-home #header .mobile-menu-toggle {
    border-color: rgba(255, 255, 255, 0.4);
    background-color: transparent;
}

/* RevSlider wrapper — ensure enough height for the overlapping header + hero */
.fb-revamp.home #slideshow,
.fb-revamp.page-template-template-home #slideshow {
    min-height: 540px;
}

/* Fallback hero section injected by revamp.js (used when no RevSlider) */
.fb-hero {
    position: relative;
    width: 100%;
    min-height: 580px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: flex-end;
    padding-bottom: 120px;
}

.fb-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(10, 31, 68, 0.10) 0%,
        rgba(10, 31, 68, 0.35) 70%,
        rgba(10, 31, 68, 0.55) 100%
    );
    pointer-events: none;
}

.fb-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--fb-container-max);
    margin: 0 auto;
    padding: 0 var(--fb-space-4);
}

.fb-hero__title {
    font-family: var(--fb-font-heading);
    font-size: var(--fb-fs-5xl);
    font-weight: var(--fb-fw-bold);
    color: #fff;
    line-height: var(--fb-lh-tight);
    margin: 0 0 var(--fb-space-3);
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.fb-hero__subtitle {
    font-family: var(--fb-font-body);
    font-size: var(--fb-fs-lg);
    color: rgba(255, 255, 255, 0.9);
    line-height: var(--fb-lh-normal);
    margin: 0;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
}

.fb-hero__subtitle .fb-script {
    color: rgba(255, 255, 255, 0.95);
    font-size: 1.6em;
}

/* Trust strip below search box on homepage */
.fb-trust-bar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fb-space-8);
    align-items: center;
    justify-content: center;
    padding: var(--fb-space-5) var(--fb-space-6);
    background: rgba(10, 31, 68, 0.85);
    border-radius: var(--fb-radius-lg);
    margin-top: var(--fb-space-4);
}

.fb-trust-bar__item {
    display: flex;
    align-items: center;
    gap: var(--fb-space-3);
    color: #fff;
    font-size: var(--fb-fs-sm);
    font-weight: var(--fb-fw-medium);
    white-space: nowrap;
}

.fb-trust-bar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: var(--fb-radius-pill);
    flex-shrink: 0;
    color: #fff;
    font-size: 18px;
}

.fb-trust-bar__text small {
    display: block;
    color: rgba(255, 255, 255, 0.65);
    font-size: var(--fb-fs-xs);
    font-weight: var(--fb-fw-regular);
    margin-top: 2px;
}

/* Push page content down past the absolute header on homepage */
.fb-revamp.home #content,
.fb-revamp.page-template-template-home #content {
    padding-top: 0;
}

/* Search box on homepage — overlap the hero bottom */
.fb-revamp.home .search-box-wrapper,
.fb-revamp.page-template-template-home .search-box-wrapper {
    margin-top: -72px;
    position: relative;
    z-index: 10;
}

/* Homepage responsive adjustments */
@media (max-width: 991px) {
    .fb-hero__title {
        font-size: var(--fb-fs-4xl);
    }
}

@media (max-width: 767px) {
    .fb-hero {
        min-height: 420px;
        padding-bottom: 80px;
    }
    .fb-hero__title {
        font-size: var(--fb-fs-3xl);
    }
    .fb-hero__subtitle {
        font-size: var(--fb-fs-base);
    }
    .fb-trust-bar {
        gap: var(--fb-space-4);
        padding: var(--fb-space-4);
    }
    .fb-trust-bar__item {
        flex: 1 1 100%;
        white-space: normal;
    }
    .fb-revamp.home .search-box-wrapper,
    .fb-revamp.page-template-template-home .search-box-wrapper {
        margin-top: -40px;
    }
}

/* =============================================================
 * Phase 3 — Hero search panel
 *
 * Re-skins the legacy `.search-box` on template-home.php into the
 * floating white pill-tab card from the mockup. Markup is preserved.
 * ============================================================= */
.fb-revamp .search-box-wrapper {
    background: transparent;
    margin-top: -72px;
    position: relative;
    z-index: 5;
}

.fb-revamp .search-box {
    background: var(--fb-color-surface);
    border-radius: var(--fb-radius-lg);
    box-shadow: var(--fb-shadow-lg);
    padding: 0;
    overflow: hidden;
}

/* Pill tab strip sitting on top of the white card */
.fb-revamp .search-box ul.search-tabs {
    display: flex;
    align-items: center;
    gap: var(--fb-space-1);
    margin: 0;
    padding: var(--fb-space-3) var(--fb-space-4);
    border-bottom: 1px solid var(--fb-color-border);
    background: var(--fb-color-surface);
}

.fb-revamp .search-box ul.search-tabs li {
    float: none;
    padding: 0;
    margin: 0;
    list-style: none;
}

.fb-revamp .search-box ul.search-tabs li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 var(--fb-space-5);
    background: var(--fb-color-blue-600);
    color: #fff;
    font-family: var(--fb-font-body);
    font-size: var(--fb-fs-sm);
    font-weight: var(--fb-fw-medium);
    text-transform: none;
    letter-spacing: 0;
    opacity: 1;
    border: 0;
    border-radius: var(--fb-radius-pill);
    transition: background-color var(--fb-duration) var(--fb-ease),
                color var(--fb-duration) var(--fb-ease);
}

.fb-revamp .search-box ul.search-tabs li a:hover {
    background: var(--fb-color-blue-500);
    color: #fff;
    opacity: 1;
}

.fb-revamp .search-box ul.search-tabs li.active a {
    background: var(--fb-color-surface);
    color: var(--fb-color-ink);
    border: 1px solid var(--fb-color-border);
    opacity: 1;
}

/* Tab content grid: where, check-in, check-out, who, action button */
.fb-revamp .search-box .search-tab-content {
    padding: var(--fb-space-4) var(--fb-space-4);
}

.fb-revamp .search-box .search-tab-content h4.title {
    display: none;
}

.fb-revamp .search-box .search-tab-content .fixheight {
    padding-top: 0;
}

.fb-revamp .search-box .search-tab-content .form-group {
    position: relative;
    padding: var(--fb-space-3) var(--fb-space-4);
    margin-bottom: 0;
    border-right: 1px solid var(--fb-color-border);
    min-height: 64px;
}

.fb-revamp .search-box .search-tab-content [class^="col-"]:last-child .form-group,
.fb-revamp .search-box .search-tab-content [class*=" col-"]:last-child .form-group {
    border-right: 0;
}

.fb-revamp .search-box .search-tab-content label {
    display: block;
    margin: 0 0 var(--fb-space-1);
    color: var(--fb-color-ink);
    font-family: var(--fb-font-body);
    font-size: var(--fb-fs-sm);
    font-weight: var(--fb-fw-medium);
    text-transform: none;
    letter-spacing: 0;
}

/* Inputs & selects inside the search panel */
.fb-revamp .search-box input.input-text,
.fb-revamp .search-box select,
.fb-revamp .search-box textarea,
.fb-revamp .search-box span.custom-select {
    background: transparent;
    border: 0;
    padding: 0;
    height: 24px;
    line-height: 24px;
    color: var(--fb-color-text-muted);
    font-family: var(--fb-font-body);
    font-size: var(--fb-fs-sm);
    box-shadow: none;
}

.fb-revamp .search-box input.input-text::placeholder {
    color: var(--fb-color-text-subtle);
}

.fb-revamp .search-box .selector,
.fb-revamp .search-box .selector span.custom-select {
    background: transparent;
    border: 0;
    padding: 0;
}

.fb-revamp .search-box .selector span.custom-select:before {
    background: transparent;
}

.fb-revamp .search-box .datepicker-wrap:after {
    background: transparent;
    color: var(--fb-color-text-subtle);
    right: 0;
}

/* The "Search Now" submit button */
.fb-revamp .search-box .search-tab-content button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    margin: 4px 0;
    padding: 0 var(--fb-space-6);
    background: var(--fb-color-blue-600);
    color: #fff;
    font-family: var(--fb-font-body);
    font-size: var(--fb-fs-md);
    font-weight: var(--fb-fw-medium);
    letter-spacing: 0;
    text-transform: none;
    border: 0;
    border-radius: var(--fb-radius-md);
    box-shadow: none;
    transition: background-color var(--fb-duration) var(--fb-ease);
}

.fb-revamp .search-box .search-tab-content button[type="submit"]:hover,
.fb-revamp .search-box .search-tab-content button[type="submit"]:focus {
    background: var(--fb-color-blue-500);
}

/* Hide the legacy SEARCH NOW arrow/icon if present */
.fb-revamp .search-box .search-tab-content button.icon-check:before,
.fb-revamp .search-box .search-tab-content button.icon-check:after {
    content: none;
}

/* Mobile stack: show a single column with rounded cells */
@media (max-width: 767px) {
    .fb-revamp .search-box-wrapper {
        margin-top: -32px;
    }
    .fb-revamp .search-box ul.search-tabs {
        padding: 0 var(--fb-space-2);
        overflow-x: auto;
    }
    .fb-revamp .search-box .search-tab-content {
        padding: var(--fb-space-3);
    }
    .fb-revamp .search-box .search-tab-content .form-group {
        border-right: 0;
        border-bottom: 1px solid var(--fb-color-border);
    }
    .fb-revamp .search-box .search-tab-content [class^="col-"]:last-child .form-group,
    .fb-revamp .search-box .search-tab-content [class*=" col-"]:last-child .form-group {
        border-bottom: 0;
    }
}

/* =============================================================
 * Phase 3 — Section + button language
 *
 * Generic pieces the homepage shortcode content lands inside, so
 * "Popular Destinations", "Unforgettable Experiences", and the
 * promo blocks pick up the new visual language without bespoke markup.
 * ============================================================= */
.fb-revamp #content > .container > h2,
.fb-revamp .vc_row .wpb_text_column h2,
.fb-revamp section h2.fb-section-title,
.fb-revamp .section-title {
    font-family: var(--fb-font-heading);
    font-size: var(--fb-fs-2xl);
    font-weight: var(--fb-fw-semibold);
    color: var(--fb-color-ink);
    letter-spacing: -0.01em;
    margin: 0 0 var(--fb-space-2);
}

.fb-revamp .section-eyebrow {
    display: block;
    font-family: var(--fb-font-body);
    font-size: var(--fb-fs-sm);
    font-weight: var(--fb-fw-medium);
    color: var(--fb-color-blue-600);
    text-transform: none;
    letter-spacing: 0;
    margin: 0 0 var(--fb-space-2);
}

/* Primary "Search Now" / "Subscribe" / "Sign Up" button shape, opt-in */
.fb-revamp .fb-btn,
.fb-revamp a.fb-btn,
.fb-revamp button.fb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 var(--fb-space-6);
    background: var(--fb-color-blue-600);
    color: #fff;
    font-family: var(--fb-font-body);
    font-size: var(--fb-fs-md);
    font-weight: var(--fb-fw-medium);
    line-height: 1;
    text-transform: none;
    letter-spacing: 0;
    border: 1px solid var(--fb-color-blue-600);
    border-radius: var(--fb-radius-md);
    transition: background-color var(--fb-duration) var(--fb-ease),
                border-color var(--fb-duration) var(--fb-ease);
}

.fb-revamp .fb-btn:hover,
.fb-revamp .fb-btn:focus {
    background: var(--fb-color-blue-500);
    border-color: var(--fb-color-blue-500);
    color: #fff;
    text-decoration: none;
}

.fb-revamp .fb-btn--ghost {
    background: transparent;
    color: var(--fb-color-navy-900);
    border-color: var(--fb-color-border-strong);
}

.fb-revamp .fb-btn--ghost:hover,
.fb-revamp .fb-btn--ghost:focus {
    background: var(--fb-color-surface-alt);
    color: var(--fb-color-navy-900);
    border-color: var(--fb-color-border-strong);
}

/* Trust strip under the hero — opt-in via .fb-trust-strip on a row */
.fb-revamp .fb-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fb-space-6);
    align-items: center;
    justify-content: space-between;
    padding: var(--fb-space-4) var(--fb-space-6);
    background: rgba(10, 31, 68, 0.85);
    border-radius: var(--fb-radius-md);
    color: #cbd5e1;
}

.fb-revamp .fb-trust-strip__item {
    display: flex;
    align-items: center;
    gap: var(--fb-space-3);
    font-size: var(--fb-fs-sm);
    color: #fff;
    flex: 1 1 auto;
    min-width: 200px;
}

.fb-revamp .fb-trust-strip__item small {
    display: block;
    color: #cbd5e1;
    font-size: var(--fb-fs-xs);
    font-weight: var(--fb-fw-regular);
    margin-top: 2px;
}

/* =============================================================
 * Header 7 — legacy style7 overrides
 *
 * The legacy CSS applies dark colours to #header.style7 via high-
 * specificity ID selectors. We use !important on the key background
 * and colour rules to guarantee the revamp layer wins on all pages.
 * ============================================================= */

/* White header on all interior pages */
.fb-revamp #header.style7 {
    background: var(--fb-color-surface) !important;
    border-bottom: 1px solid var(--fb-color-border) !important;
}

.fb-revamp #header.style7 .topnav {
    background: var(--fb-color-surface-alt) !important;
    border-bottom: 1px solid var(--fb-color-border) !important;
    height: var(--fb-header-utility-height) !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.fb-revamp #header.style7 #main-header,
.fb-revamp #header.style7 .main-header {
    background: var(--fb-color-surface) !important;
}

/* Undo legacy style7 logo margin/float that causes clipping */
.fb-revamp #header.style7 .logo,
.fb-revamp #header.style7 .logo.navbar-brand {
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    float: none !important;
    height: auto !important;
    overflow: visible !important;
    max-width: none !important;
}

.fb-revamp #header.style7 .logo img {
    height: auto !important;
    max-height: 44px !important;
    width: auto !important;
    display: block !important;
}

/* Flex layout on the main bar container */
.fb-revamp #header.style7 .main-header > .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: var(--fb-header-height) !important;
    gap: var(--fb-space-6) !important;
}

/* Nav links — dark text on white interior header */
.fb-revamp #header.style7 #main-menu > ul.menu > li > a {
    color: var(--fb-color-text) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-family: var(--fb-font-body) !important;
    font-size: var(--fb-fs-md) !important;
    font-weight: var(--fb-fw-medium) !important;
    height: 40px !important;
    line-height: 40px !important;
}

/* Topnav quick-menu links — dark text on light surface */
.fb-revamp #header.style7 .topnav ul.quick-menu > li > a {
    color: var(--fb-color-text-muted) !important;
    font-size: var(--fb-fs-sm) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: var(--fb-header-utility-height) !important;
    height: var(--fb-header-utility-height) !important;
}

/* Ensure topnav and its container never clip the ribbon dropdowns */
.fb-revamp #header.style7 .topnav,
.fb-revamp #header.style7 .topnav .container,
.fb-revamp #header.style7 .topnav ul.quick-menu,
.fb-revamp #header.style7 .topnav ul.quick-menu > li {
    overflow: visible !important;
}

/* Ribbon dropdown menus — boost z-index so they sit above the hero */
.fb-revamp #header .ribbon > ul.menu,
.fb-revamp #header .topnav .ribbon > ul.menu {
    z-index: 9999 !important;
    position: absolute !important;
}

/* Ribbon hover: restore visibility that may have been clobbered */
.fb-revamp #header .ribbon:hover > ul.menu,
.fb-revamp #header .topnav .ribbon:hover > ul.menu {
    top: 34px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* JS adds .fb-hide-nav-cta to suppress the duplicate nav item */
.fb-revamp #header #main-menu > ul.menu > li.fb-hide-nav-cta {
    display: none !important;
}

/* =============================================================
 * Homepage — transparent header floating over .fb-hero
 *
 * Uses the reliable .fb-homepage class added by fb_revamp_body_class().
 * ============================================================= */

.fb-revamp.fb-homepage #header,
.fb-revamp.fb-homepage #header.style7 {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100 !important;
    background: transparent !important;
    border-bottom: none !important;
}

.fb-revamp.fb-homepage #header .topnav,
.fb-revamp.fb-homepage #header.style7 .topnav {
    background: rgba(255, 255, 255, 0.10) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    overflow: visible !important;
}

.fb-revamp.fb-homepage #header .topnav ul.quick-menu > li > a,
.fb-revamp.fb-homepage #header.style7 .topnav ul.quick-menu > li > a {
    color: rgba(255, 255, 255, 0.85) !important;
}

.fb-revamp.fb-homepage #header .topnav ul.quick-menu > li > a:hover,
.fb-revamp.fb-homepage #header.style7 .topnav ul.quick-menu > li > a:hover {
    color: #fff !important;
}

.fb-revamp.fb-homepage #header #main-header,
.fb-revamp.fb-homepage #header .main-header,
.fb-revamp.fb-homepage #header.style7 #main-header,
.fb-revamp.fb-homepage #header.style7 .main-header {
    background: transparent !important;
}

.fb-revamp.fb-homepage #header #main-menu > ul.menu > li > a,
.fb-revamp.fb-homepage #header.style7 #main-menu > ul.menu > li > a {
    color: rgba(255, 255, 255, 0.85) !important;
}

.fb-revamp.fb-homepage #header #main-menu > ul.menu > li > a:hover,
.fb-revamp.fb-homepage #header #main-menu > ul.menu > li.current-menu-item > a,
.fb-revamp.fb-homepage #header.style7 #main-menu > ul.menu > li > a:hover,
.fb-revamp.fb-homepage #header.style7 #main-menu > ul.menu > li.current-menu-item > a {
    color: #fff !important;
}

/* CTA pill — outlined white on homepage */
.fb-revamp.fb-homepage #header .fb-cta-list-property,
.fb-revamp.fb-homepage #header.style7 .fb-cta-list-property {
    background: transparent !important;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
}

.fb-revamp.fb-homepage #header .fb-cta-list-property:hover,
.fb-revamp.fb-homepage #header.style7 .fb-cta-list-property:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: #fff !important;
}

/* Mobile toggle — white on homepage */
.fb-revamp.fb-homepage #header .mobile-menu-toggle,
.fb-revamp.fb-homepage #header.style7 .mobile-menu-toggle {
    border-color: rgba(255, 255, 255, 0.4) !important;
    background-color: transparent !important;
}

/* Hero section — full-bleed image behind the absolute header */
.fb-revamp .fb-hero {
    position: relative;
    width: 100%;
    min-height: 600px;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding-top: 140px;
    padding-bottom: 140px;
}

.fb-revamp .fb-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(10, 31, 68, 0.15) 0%,
        rgba(10, 31, 68, 0.45) 70%,
        rgba(10, 31, 68, 0.65) 100%
    );
    pointer-events: none;
    z-index: 1;
}

.fb-revamp .fb-hero > * {
    position: relative;
    z-index: 2;
}

.fb-revamp .fb-hero__inner {
    width: 100%;
    max-width: var(--fb-container-max);
    margin: 0 auto;
    padding: 0 var(--fb-space-4);
}

/* Content directly after hero — no extra top padding needed */
.fb-revamp.fb-homepage #content {
    padding-top: 0 !important;
}

/* Search box pulls up over the hero bottom */
.fb-revamp.fb-homepage .search-box-wrapper {
    margin-top: -80px !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Responsive */
@media (max-width: 991px) {
    .fb-revamp .fb-hero {
        min-height: 460px;
        padding-bottom: 100px;
    }
    .fb-revamp.fb-homepage .search-box-wrapper {
        margin-top: -40px !important;
    }
}

@media (max-width: 767px) {
    .fb-revamp .fb-hero {
        min-height: 360px;
        padding-bottom: 80px;
        padding-top: 100px;
    }
    .fb-revamp .fb-hero__title {
        font-size: var(--fb-fs-3xl) !important;
    }
    .fb-revamp .fb-hero__subtitle {
        font-size: var(--fb-fs-base) !important;
    }
    .fb-revamp.fb-homepage .search-box-wrapper {
        margin-top: -20px !important;
    }
}
