/* Above-the-fold homepage styles — keep small; full theme loads deferred. */
:root {
    --b2i-accent: #e23744;
    --b2i-text: #1a1a2e;
    --rd-primary: #c2184a;
    --rd-white: #ffffff;
    --rd-radius: 16px;
    --rd-shadow-md: 0 8px 30px rgba(0, 0, 0, 0.08);
}

#header.b2i-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    min-width: 320px;
}

.b2i-topbar {
    background: linear-gradient(135deg, #c0152f 0%, #e8303a 35%, #f05e22 75%, #f8a034 100%);
    padding: 7px 0;
}

.b2i-mainbar {
    background: linear-gradient(180deg, #ffffff 0%, #f2f2f2 100%);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.b2i-mainbar__inner {
    display: flex;
    align-items: center;
    height: 74px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    gap: 16px;
}

.b2i-header .b2i-logo img {
    height: 44px;
    width: auto;
    display: block;
}

.b2i-header-spacer {
    height: 0;
}

.b2i-desktop-nav {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    display: flex;
    align-items: center;
    overflow: visible;
}

.b2i-desktop-nav .nav.navbar-nav {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-wrap: nowrap;
}

.b2i-desktop-nav .navbar-nav > li > a {
    display: inline-flex;
    align-items: center;
    padding: 11px 12px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.1;
    white-space: nowrap;
    color: #262631;
    text-decoration: none;
}

#home-image-slider,
#citybreakslanding-image-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}

#home-image-slider .item,
#citybreakslanding-image-slider .item,
.b2i-carousel--banner .item {
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 400;
    min-height: clamp(180px, 26vw, 400px);
    overflow: hidden;
    background: #1a1a2e;
}

.b2i-carousel--banner,
.b2i-carousel--banner .item,
#home-image-slider .item {
    width: 100%;
}

.b2i-carousel--banner img,
.b2i-carousel--banner .b2i-carousel__slide img,
#home-image-slider .item img,
#citybreakslanding-image-slider .item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

#home-image-slider .item .cover,
#citybreakslanding-image-slider .item .cover,
.b2i-carousel--banner .item .cover {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    padding: 75px 0;
    background: rgba(0, 0, 0, 0.4);
}

#home-image-slider .item .cover .container,
#citybreakslanding-image-slider .item .cover .container,
.b2i-carousel--banner .item .cover .container {
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 15px;
}

#home-image-slider .item .cover .header-content,
#citybreakslanding-image-slider .item .cover .header-content,
.b2i-carousel--banner .item .cover .header-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    text-align: center;
    overflow: hidden;
    min-height: 120px;
}

#home-image-slider .item .cover .header-content h1,
#citybreakslanding-image-slider .item .cover .header-content h1,
.b2i-carousel--banner .item .cover .header-content h1 {
    margin: 5px 0 20px;
    font-size: clamp(28px, 4vw, 50px);
    font-weight: 600;
    line-height: 1.1;
    color: #fff;
}

#home-image-slider .item .cover .header-content h2,
#citybreakslanding-image-slider .item .cover .header-content h2,
.b2i-carousel--banner .item .cover .header-content h2 {
    margin: 0 0 50px;
    font-size: clamp(18px, 2.2vw, 25px);
    font-weight: 300;
    line-height: 1.3;
    color: #fff;
}

.homePage-banner-btn {
    display: inline-block;
}

.tour-showcase-sale-img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

body#b2i-css-home .b2india_tour_find_block {
    position: relative;
    z-index: 10;
}

body#b2i-css-home .b2india_trip_form {
    background: var(--rd-white);
    border-radius: var(--rd-radius);
    box-shadow: var(--rd-shadow-md);
    padding: 24px 30px;
    margin-top: -40px;
    position: relative;
    z-index: 10;
}
