:root {
    --chv-blue: #034c87;
    --chv-deep: #022f55;
    --chv-orange: #F6730C;
    --chv-orange-dark: #d95d00;
    --chv-ink: #17334b;
    --chv-muted: #627587;
    --chv-line: #dbe5ed;
    --chv-bg: #f5f8fb;
    --chv-white: #fff;
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: #fff;
    color: var(--chv-ink);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    line-height: 1.65
}

a {
    text-decoration: none;
    color: inherit
}

img {
    display: block;
    max-width: 100%
}

.chv-container {
    max-width: 1280px
}

/* HEADER: asymmetrical portal bar */
.chv-header {
    background: #fff;
    position: relative;
    z-index: 100;
    box-shadow: 0 6px 25px rgba(3, 48, 80, .07)
}

.chv-header-inner {
    max-width: 1380px;
    margin: auto;
    min-height: 86px;
    padding: 0 30px;
    display: flex;
    align-items: center;
    gap: 35px
}

.chv-logo {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 245px
}

.chv-logo-icon {
    width: 46px;
    height: 46px;
    background: var(--chv-blue);
    color: #fff;
    display: grid;
    place-items: center;
    border-radius: 13px 13px 13px 4px;
    font-size: 18px;
    transform: rotate(-4deg);
    box-shadow: 0 9px 18px rgba(3, 76, 135, .2)
}

.chv-logo-copy {
    display: flex;
    flex-direction: column;
    font-family: "Plus Jakarta Sans", sans-serif;
    line-height: 1
}

.chv-logo-copy b {
    font-size: 17px;
    letter-spacing: 1px;
    color: var(--chv-blue)
}

.chv-logo-copy em {
    font-style: normal;
    font-size: 11px;
    letter-spacing: 3px;
    font-weight: 800;
    color: var(--chv-orange);
    margin-top: 5px
}

.chv-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    flex: 1
}

.chv-nav a {
    font-size: 14px;
    font-weight: 600;
    color: #50687b;
    padding: 11px 14px;
    border-radius: 8px;
    position: relative
}

.chv-nav a:before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--chv-orange);
    position: absolute;
    left: 50%;
    bottom: 4px;
    transform: scale(0);
    transition: .2s
}

.chv-nav a:hover,
.chv-nav a.active {
    color: var(--chv-blue);
    background: #f3f7fa
}

.chv-nav a.active:before,
.chv-nav a:hover:before {
    transform: scale(1)
}

.chv-header-actions {
    display: flex;
    align-items: center;
    gap: 11px
}

.chv-contact-mini {
    display: flex;
    align-items: center;
    gap: 9px;
    padding-right: 13px;
    border-right: 1px solid #e0e7ed
}

.chv-contact-mini>span {
    width: 33px;
    height: 33px;
    border-radius: 50%;
    background: #edf5fb;
    color: var(--chv-blue);
    display: grid;
    place-items: center;
    font-size: 12px
}

.chv-contact-mini small {
    display: block;
    color: #7a8a98;
    font-size: 8px;
    font-weight: 700
}

.chv-contact-mini strong {
    font-size: 11px;
    color: var(--chv-blue);
    white-space: nowrap
}

.chv-enquire {
    background: var(--chv-orange);
    color: #fff;
    border-radius: 9px;
    padding: 12px 15px;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    gap: 8px;
    align-items: center;
    box-shadow: 0 8px 20px rgba(246, 115, 12, .18)
}

.chv-enquire:hover {
    background: var(--chv-orange-dark);
    color: #fff
}

.chv-menu {
    display: none;
    border: 0;
    background: transparent;
    color: var(--chv-blue);
    font-size: 22px
}

.chv-header-ribbon {
    height: 31px;
    background: var(--chv-deep);
    color: #c9d9e5;
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 0 max(30px, calc((100vw - 1320px)/2));
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2px
}

.chv-header-ribbon i {
    color: #ff9a4e;
    margin-right: 5px
}

.chv-ribbon-social {
    margin-left: auto;
    display: flex;
    gap: 11px;
    align-items: center
}

.chv-ribbon-social span {
    color: #809bae;
    margin-right: 2px
}

.chv-ribbon-social a:hover {
    color: #fff
}

/* HERO */
.chv-hero {
    background: #092f51
}

.chv-hero .carousel-item {
    
    position: relative
}

.chv-hero .carousel-item:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(1, 31, 54, .13), transparent 45%, rgba(1, 31, 54, .06))
}

.chv-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.chv-hero-arrow {
    width: 64px;
    height: 64px;
    top: auto;
    bottom: 38px;
    opacity: 1
}

.chv-hero-arrow span {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .75);
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(0, 20, 40, .16);
    backdrop-filter: blur(6px)
}

.chv-hero-arrow:hover span {
    background: var(--chv-orange);
    border-color: var(--chv-orange)
}

.chv-hero .carousel-control-prev {
    right: 105px;
    left: auto
}

.chv-hero .carousel-control-next {
    right: 38px
}

.chv-hero-progress {
    position: absolute;
    z-index: 5;
    bottom: 48px;
    left: 38px;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px
}

.chv-hero-progress span:first-child {
    font-size: 18px
}

.chv-hero-progress div {
    width: 55px;
    height: 1px;
    background: rgba(255, 255, 255, .5)
}

/* COMMON */
.chv-section {
    padding: 62px 0
}

.chv-heading-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 25px;
    margin-bottom: 30px
}

.chv-overline {
    font-size: 10px;
    letter-spacing: 2.2px;
    font-weight: 800;
    color: var(--chv-orange);
    display: block;
    margin-bottom: 7px
}

.chv-overline-light {
    color: #ffae76
}

.chv-heading-row h2 {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 32px;
    line-height: 1.15;
    font-weight: 600;
    color: var(--chv-blue);
    margin: 0;
    letter-spacing: -1px
}

.chv-heading-row h2 b {
    font-weight: 800
}

.chv-heading-row h1 {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 36px;
    line-height: 1.15;
    font-weight: 600;
    color: var(--chv-blue);
    margin: 0;
    letter-spacing: -1px
}

.chv-heading-row h1 b {
    font-weight: 800
}

.chv-heading-row p {
    font-size: 16px;
    color: var(--chv-muted);
    margin: 7px 0 0
}

.chv-text-link {
    font-size: 14px;
    font-weight: 600;
    color: var(--chv-blue);
    white-space: nowrap;
    border-bottom: 1px solid #cad8e2;
    padding-bottom: 6px
}

.chv-text-link:hover {
    color: var(--chv-orange);
    border-color: var(--chv-orange)
}

.chv-text-link i {
    margin-left: 7px
}

.chv-text-link-light {
    color: #fff;
    border-color: rgba(255, 255, 255, .3)
}

/* DOMESTIC */
.chv-domestic {
    background: #f7f9fb
}

.chv-domestic-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px
}

.chv-destination-tile {
    height: 255px;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
    background: #153b59;
    color: #fff;
    display: block
}

.chv-destination-tile:nth-child(7),
.chv-destination-tile:nth-child(8),
.chv-destination-tile:nth-child(9) {
    height: 225px
}

.chv-destination-tile:nth-child(7) {
    grid-column: span 2
}

.chv-destination-tile:nth-child(8) {
    grid-column: span 2
}

.chv-destination-tile:nth-child(9) {
    grid-column: span 2
}

.chv-destination-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .55s
}

.chv-destination-tile:hover img {
    transform: scale(1.08)
}

.chv-tile-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 25, 45, .02) 35%, rgba(0, 22, 40, .88) 100%)
}

.chv-tile-arrow {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .55);
    display: grid;
    place-items: center;
    font-size: 10px;
    transition: .25s
}

.chv-domestic{
    background-color: #fffdf9;
}

.chv-destination-tile:hover .chv-tile-arrow {
    background: var(--chv-orange);
    border-color: var(--chv-orange)
}

.chv-destination-info {
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 13px
}

.chv-destination-info h3 {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 4px
}

.chv-destination-info div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px
}

.chv-destination-info span {
    font-size: 9px;
    color: #d4e1eb
}

.chv-destination-info strong {
    font-size: 11px;
    color: #ffb27d
}

.chv-destination-more {
    background: var(--chv-blue);
    border: 1px solid #19649d;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 20px
}

.chv-destination-more:before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 50%;
    right: -55px;
    top: -55px
}

.chv-more-icon {
    width: 39px;
    height: 39px;
    border-radius: 10px;
    background: var(--chv-orange);
    display: grid;
    place-items: center;
    margin-bottom: 16px
}

.chv-destination-more strong {
    font-size: 15px
}

.chv-destination-more small {
    font-size: 9px;
    color: #b9cede;
    margin: 2px 0 18px
}

.chv-destination-more>i {
    font-size: 11px;
    color: #ffab73
}

/* INTERNATIONAL */
.chv-international {
    background: var(--chv-blue);
    color: #fff
}

.chv-international .chv-heading-row h2 {
    color: #fff
}

.chv-international .chv-heading-row p {
    color: #bfd2e1
}

.chv-international-row {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1fr 1fr;
    gap: 13px
}

.chv-int-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background: #0d2137;
    display: block;
    height: 280px;
    width: 100%;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@media (max-width: 991px) {
    .chv-int-card {
        height: 250px;
        border-radius: 16px;
    }
}

@media (max-width: 576px) {
    .chv-int-card {
        height: 220px;
        border-radius: 14px;
    }
}

.chv-int-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
}

.chv-int-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.6s ease;
}

.chv-int-card:hover img {
    transform: scale(1.08);
}

.chv-int-card:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, transparent 40%, rgba(0, 18, 36, 0.90) 100%);
    pointer-events: none;
    z-index: 2;
}

.chv-int-card>i {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 11px;
    color: #fff;
    transform: rotate(-45deg);
    background-color: rgba(0, 22, 40, .58);
    backdrop-filter: blur(4px);
    transition: all 0.3s ease;
}

.chv-int-card:hover>i {
    background: var(--chv-orange);
    border-color: var(--chv-orange);
    transform: rotate(0deg);
}

.chv-int-info {
    position: absolute;
    z-index: 3;
    left: 16px;
    right: 16px;
    bottom: 16px;
}

.chv-int-info small {
    font-size: 8px;
    letter-spacing: 1.7px;
    color: #ffb681;
    font-weight: 800;
}

.chv-int-info h3 {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 19px;
    margin: 0 0 3px;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chv-int-info span {
    font-size: 13px;
    color: #d8e5ef;
    display: block;
    line-height: 1.2;
}



/* PROMOS */
.chv-promo-section {
    padding: 0 0 92px;
    background: #fff
}

.chv-promo-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 14px
}

.chv-promo-main,
.chv-promo-side {
    height: 315px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    display: block
}

.chv-promo-side {
    height: 315px
}

.chv-promo-main img,
.chv-promo-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .6s
}

.chv-promo-main:after,
.chv-promo-side:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 28, 50, .86), rgba(0, 28, 50, .06) 80%)
}

.chv-promo-main:hover img,
.chv-promo-side:hover img {
    transform: scale(1.04)
}

.chv-promo-main>div,
.chv-promo-side>div {
    position: absolute;
    z-index: 2;
    left: 30px;
    bottom: 28px;
    color: #fff
}

.chv-promo-main small,
.chv-promo-side small {
    font-size: 9px;
    letter-spacing: 2px;
    font-weight: 800;
    color: #ffb47f
}

.chv-promo-main h3 {
    font-size: 27px;
    line-height: 1.2;
    margin: 6px 0 14px;
    font-family: "Plus Jakarta Sans", sans-serif
}

.chv-promo-side h3 {
    font-size: 20px;
    line-height: 1.25;
    margin: 6px 0 14px;
    font-family: "Plus Jakarta Sans", sans-serif
}

.chv-promo-main span,
.chv-promo-side span {
    font-size: 10px;
    font-weight: 800
}

/* ABOUT: collage, no old split */
.chv-about {
    background: #f5f8fb
}

.chv-about-head {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    gap: 30px;
    align-items: end;
    margin-bottom: 36px
}

.chv-about-head h2 {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 39px;
    line-height: 1.08;
    color: var(--chv-blue);
    letter-spacing: -1.7px;
    margin: 0
}

.chv-about-head h2 b {
    font-weight: 800
}

.chv-about-head p {
    font-size: 13px;
    color: var(--chv-muted);
    margin: 0;
    max-width: 370px
}

.chv-about-collage {
    height: 405px;
    position: relative
}

.chv-about-photo {
    position: absolute;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 16px 35px rgba(3, 50, 80, .12)
}

.chv-about-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.chv-photo-a {
    left: 0;
    top: 0;
    width: 45%;
    height: 345px
}

.chv-photo-b {
    left: 35%;
    bottom: 0;
    width: 31%;
    height: 230px;
    border: 7px solid #f5f8fb
}

.chv-about-note {
    position: absolute;
    right: 0;
    top: 14px;
    width: 30%;
    padding: 20px 20px 19px;
    background: #fff;
    border-radius: 14px;
    border-left: 3px solid var(--chv-orange);
    box-shadow: 0 10px 25px rgba(3, 50, 80, .07)
}

.chv-about-note span {
    color: var(--chv-orange);
    font-size: 9px;
    font-weight: 800
}

.chv-about-note strong {
    display: block;
    font-family: "Plus Jakarta Sans", sans-serif;
    color: var(--chv-blue);
    font-size: 17px;
    margin: 4px 0
}

.chv-about-note p {
    font-size: 10px;
    color: #6d7e8d;
    margin: 0;
    line-height: 1.5
}

.chv-note-two {
    top: 140px;
    right: 12%;
    border-left-color: var(--chv-blue)
}

.chv-note-three {
    top: 266px;
    right: 0;
    border-left-color: #6b8ba4
}

.chv-about-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid #d7e2e9;
    margin-top: 34px;
    padding-top: 22px
}

.chv-about-strip div {
    padding-left: 20px;
    border-left: 1px solid #d7e2e9
}

.chv-about-strip div:first-child {
    padding-left: 0;
    border-left: 0
}

.chv-about-strip strong {
    font-family: "Plus Jakarta Sans", sans-serif;
    color: var(--chv-blue);
    font-size: 23px;
    display: block
}

.chv-about-strip span {
    font-size: 9px;
    color: #697c8c;
    font-weight: 700
}

/* WHY */
.chv-why {
    background: #fff
}

.chv-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid #dce6ed;
    border-radius: 16px;
    overflow: hidden
}

.chv-why-card {
   
    padding: 25px 20px;
    border-right: 1px solid #dce6ed;
    position: relative;
    transition: .25s
}

.chv-why-card:last-child {
    border-right: 0
}

.chv-why-card:hover {
    background: #f6f9fb
}

.chv-why-card>span {
    position: absolute;
    top: 18px;
    right: 20px;
    font-size: 9px;
    font-weight: 800;
    color: #9cafbd
}

.chv-why-card .w-icons-1{
    border-color: var(--chv-deep);
    color: var(--chv-deep) ;
}

.why-card-1:hover{
  background-color: #f8fcff;
}

.why-card-2:hover{
  background-color: #f8fffc;
}

.why-card-3:hover{
  background-color: #fffcfa;
}

.why-card-4:hover{
  background-color: #fbf8ff;
}

.chv-why-card .w-icons-2{
    border-color: #1d9b65;
    color: #1d9b65 ;
}


.chv-why-card .w-icons-3{
    border-color: var(--chv-orange-dark);
    color: var(--chv-orange-dark) ;
}

.chv-why-card .w-icons-4{
    border-color: #8064b5;
    color: #8064b5;
}

.chv-why-card>i {
    width: 45px;
    height: 45px;
    background: #fff;
    display: grid;
    place-items: center;
    border-radius: 10px;
    font-size: 16px;
    margin-bottom: 27px;
    border: 1px solid;
}

.chv-why-card h3 {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    color: var(--chv-blue);
    margin: 0 0 8px;
    font-weight: 700;
    
}

.chv-why-card p {
    font-size: 12px;
    color: #6a7b8a;
    line-height: 1.7;
    margin: 0
}

/* GOOGLE REVIEWS */
.chv-google {
    background: #fffdf9
}

.chv-google-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 28px
}

.chv-google-head h2 {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 31px;
    color: var(--chv-blue);
    margin: 0;
    font-weight: 600
}

.chv-google-head h2 b {
    font-weight: 800
}

.chv-google-summary {
    display: flex;
    gap: 10px;
    align-items: center;
    background: #fff;
    border: 1px solid #dce5eb;
    border-radius: 10px;
    padding: 8px 13px
}

.chv-google-g {
    font-family: Arial, sans-serif;
    font-size: 23px;
    font-weight: 700;
    color: #4285f4
}

.chv-google-summary strong {
    font-size: 16px;
    color: #273d50
}

.chv-google-summary small {
    font-size: 12px;
    color: #788996
}

.chv-google-stars {
    font-size: 16px;
    letter-spacing: 1px;
    color: #f7a600;
    line-height: 1
}

.chv-google-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px
}

.chv-google-card {
    background: #fff;
    border: 1px solid #dadfe3;
    border-radius: 9px;
    padding: 15px;
    min-height: 220px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .03)
}

.chv-google-card-top {
    display: flex;
    align-items: center;
    gap: 9px;
    justify-content: space-between;

}

.chv-review-avatar {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #4285f4;
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 9px;
    font-weight: 800
}
.name-image{
    display: flex;
    gap: 10px;
}
.chv-avatar-orange {
    background: #e87922
}

.chv-avatar-green {
    background: #1d9b65
}

.chv-avatar-purple {
    background: #8064b5
}

.chv-google-card-top div {
    display: flex;
    flex-direction: column
}

.chv-google-card-top strong {
    font-size: 14px;
    color: #293b49
}

.chv-google-card-top small {
    font-size: 8px;
    color: #84929c
}

.chv-google-card-top>i {
    margin-left: auto;
    color: #4285f4;
    font-size: 14px
}

.chv-google-card>.chv-google-stars {
    margin: 13px 0 10px
}

.chv-google-card p {
    font-size: 12px;
    line-height: 1.75;
    color: #536674;
    margin: 0 0 13px
}

.chv-google-card>a {
    font-size: 9px;
    color: #4285f4;
    font-weight: 800
}

.chv-google-card>a i {
    font-size: 7px;
    margin-left: 4px
}

.chv-google-bottom {
    margin-top: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #728391;
    font-size: 9px
}

.chv-google-bottom i {
    color: #4285f4;
    margin-right: 4px
}

.chv-google-bottom a {
    font-weight: 800;
    color: var(--chv-blue)
}

/* CTA + FOOTER */
.chv-contact {
    background: #fffdf9;
    padding: 0 0 52px;
}

.chv-contact-box {
    background: var(--chv-blue);
    min-height: 190px;
    border-radius: 17px;
    padding: 34px 42px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 25px;
    color: #fff;
    position: relative;
    overflow: hidden
}

.chv-contact-box:after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 50%;
    right: -80px;
    top: -180px
}

.chv-contact-number {
    font-size: 10px;
    letter-spacing: 2px;
    font-weight: 800;
    color: #91b1c9
}

.chv-contact-number span {
    display: block;
    font-size: 35px;
    color: #ff9c54;
    line-height: 1.1;
    margin-top: 4px
}

.chv-contact-box h2 {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 27px;
    line-height: 1.22;
    font-weight: 500;
    margin: 0
}

.chv-contact-box h2 b {
    font-weight: 800
}

.chv-contact-box>a {
    z-index: 2;
    background: var(--chv-orange);
    padding: 13px 17px;
    border-radius: 8px;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap
}

.chv-contact-box>a:hover {
    background: #fff;
    color: var(--chv-blue)
}

/* =========================================================
   CONFIRM HOLIDAYS
   MODERN FOOTER
========================================================= */

.chv-footer {

    
    color: #fff;

    background:
        linear-gradient(
            135deg,
            #011c32 0%,
            #02355e 55%,
            #022f55 100%
        );

    position: relative;

    overflow: hidden;
}


/* Decorative background */

.chv-footer::before {
    content: "";

    position: absolute;

    width: 430px;
    height: 430px;

    top: -250px;
    right: -100px;

    border-radius: 50%;

    background: rgba(246,115,12,.08);

    pointer-events: none;
}


.chv-footer::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    bottom: -200px;
    left: -100px;

    border-radius: 50%;

    background: rgba(255,255,255,.035);

    pointer-events: none;
}


/* =========================================================
   MAIN FOOTER
========================================================= */

.chv-footer-main {

    position: relative;
    z-index: 2;

    padding: 65px 0 50px;
}


/* =========================================================
   BRAND
========================================================= */

.chv-footer-brand {
    max-width: 340px;
}


.chv-footer-logo {
    display: inline-flex;

    align-items: center;

    margin-bottom: 20px;
}


.chv-footer-logo img {
    max-width: 185px;
    max-height: 60px;

    object-fit: contain;
}


.chv-footer-brand p {

    margin: 0 0 22px;

    color: rgba(255,255,255,.72);

    font-size: 13px;

    line-height: 1.75;

    font-weight: 500;
}


.chv-footer-explore {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 10px 15px;

    color: #fff;

    border: 1px solid rgba(255,255,255,.25);

    border-radius: 5px;

    font-size: 12px;

    font-weight: 600;

    text-decoration: none;

    transition: .25s ease;
}


.chv-footer-explore i {
    color: var(--chv-orange);

    font-size: 10px;

    transition: .25s ease;
}


.chv-footer-explore:hover {

    color: #fff;

    background: var(--chv-orange);

    border-color: var(--chv-orange);
}


.chv-footer-explore:hover i {

    color: #fff;

    transform: translateX(4px);
}


/* =========================================================
   FOOTER COLUMNS
========================================================= */

.chv-footer-column h3 {

    margin: 0;

    color: #fff;

    font-size: 15px;

    line-height: 1.3;

    font-weight: 700;
}


.chv-footer-line {

    display: block;

    width: 34px;
    height: 3px;

    margin: 11px 0 17px;

    background: var(--chv-orange);

    border-radius: 5px;
}


/* =========================================================
   LINKS
========================================================= */

.chv-footer-column ul {

    list-style: none;

    padding: 0;
    margin: 0;
}


.chv-footer-column li {

    margin-bottom: 9px;
}


.chv-footer-column li a {

    display: inline-flex;

    align-items: center;

    gap: 7px;

    color: rgba(255,255,255,.72);

    font-size: 12px;

    line-height: 1.45;

    font-weight: 500;

    text-decoration: none;

    transition: .2s ease;
}


.chv-footer-column li a i {

    color: var(--chv-orange);

    font-size: 7px;

    transition: .2s ease;
}


.chv-footer-column li a:hover {

    color: #fff;

    transform: translateX(3px);
}


.chv-footer-column li a:hover i {

    transform: translateX(2px);
}


/* =========================================================
   CONTACT
========================================================= */

.chv-footer-contact-item {

    display: flex;

    align-items: flex-start;

    gap: 10px;

    margin-bottom: 15px;

    color: rgba(255,255,255,.75);

    font-size: 11px;

    line-height: 1.6;

    font-weight: 500;

    text-decoration: none;

    transition: .2s ease;
}


.chv-footer-contact-item:hover {

    color: #fff;
}


.chv-footer-contact-icon {

    flex: 0 0 28px;

    width: 28px;
    height: 28px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--chv-orange);

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 5px;

    font-size: 11px;
}


/* =========================================================
   BOTTOM
========================================================= */

.chv-footer-bottom {

    position: relative;

    z-index: 3;

    border-top: 1px solid rgba(255,255,255,.12);

    background: rgba(2,35,62,.45);
}


.chv-footer-bottom-inner {

    min-height: 70px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;
}


.chv-footer-bottom p {

    margin: 0;

    color: rgba(255,255,255,.62);

    font-size: 11px;

    font-weight: 500;
}


/* =========================================================
   SOCIAL
========================================================= */

.chv-footer-socials {

    display: flex;

    align-items: center;

    gap: 7px;
}


.chv-footer-socials a {

    width: 31px;
    height: 31px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: rgba(255,255,255,.72);

    background: rgba(255,255,255,.07);

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 5px;

    font-size: 12px;

    text-decoration: none;

    transition: .25s ease;
}


.chv-footer-socials a:hover {

    color: #fff;

    background: var(--chv-orange);

    border-color: var(--chv-orange);

    transform: translateY(-2px);
}


/* =========================================================
   BACK TO TOP
========================================================= */

.chv-footer-top {

    width: 38px;
    height: 38px;

    margin-left: 5px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--chv-blue);

    background: #fff;

    border: 0;

    border-radius: 50%;

    font-size: 12px;

    cursor: pointer;

    box-shadow: 0 5px 15px rgba(0,0,0,.15);

    transition: .25s ease;
}


.chv-footer-top:hover {

    color: #fff;

    background: var(--chv-orange);

    transform: translateY(-3px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .chv-footer-main {

        padding: 55px 0 40px;
    }

    .chv-footer-brand {

        max-width: 100%;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .chv-footer-main {

        padding: 45px 10px 30px;
    }

    .chv-footer-bottom-inner {

        padding: 17px 0;

        flex-wrap: wrap;

        justify-content: center;

        text-align: center;
    }

    .chv-footer-socials {

        order: 2;
    }

    .chv-footer-top {

        order: 3;
    }

    .chv-footer-bottom p {

        width: 100%;

        order: 1;
    }

    .chv-hero-arrow span {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .75);
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(0, 20, 40, .16);
    backdrop-filter: blur(6px)
}

}

@media(max-width:1250px) {
    .chv-header-inner {
        padding: 0 20px;
        gap: 20px
    }

    .chv-logo {
        min-width: 210px
    }

    .chv-nav a {
        padding-left: 6px;
        padding-right: 6px
    }

    .chv-contact-mini {
        display: none
    }

    .chv-container {
        max-width: 1140px
    }
}

@media(max-width:991px) {
    .chv-header-inner {
        min-height: 72px;
        justify-content: space-between;
    }

    .chv-nav {
        display: none
    }

    .chv-menu {
        display: block
    }

    .chv-header-ribbon {
        padding: 0 20px
    }

    .chv-header-ribbon>div:nth-child(2) {
        display: none
    }

    .chv-domestic-grid {
        grid-template-columns: repeat(4, 1fr)
    }

    .chv-destination-tile {
        height: 235px
    }

    .chv-destination-tile:nth-child(7),
    .chv-destination-tile:nth-child(8),
    .chv-destination-tile:nth-child(9) {
        grid-column: span 2
    }

    .chv-international-row {
        grid-template-columns: repeat(3, 1fr)
    }

    .chv-int-wide {
        grid-column: span 2
    }

    .chv-int-card:nth-child(4),
    .chv-int-card:nth-child(5) {
        display: none
    }

    .chv-about-head {
        grid-template-columns: 1fr 1fr
    }

    .chv-about-head p {
        grid-column: 2
    }

    .chv-google-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .chv-footer-top {
        grid-template-columns: 1.4fr 1fr 1fr
    }

    .chv-footer-contact {
        grid-column: span 3
    }

    .chv-contact-box {
        grid-template-columns: 90px 1fr
    }

    .chv-contact-box>a {
        grid-column: 2;
        width: max-content
    }
}

@media(max-width:767px) {
    .chv-header-ribbon {
        display: none
    }

    .chv-logo {
        min-width: 0
    }

    .chv-logo-copy b {
        font-size: 14px
    }

    .chv-logo-copy em {
        font-size: 9px
    }

    .chv-enquire {
        display: none
    }

   

    .chv-hero-arrow {
        width: 50px;
        height: 50px;
        bottom: 24px
    }

    .chv-hero .carousel-control-prev {
        right: 68px
    }

    .chv-hero .carousel-control-next {
        right: 23px
    }

    .chv-hero-progress {
        left: 22px;
        bottom: 35px
    }

    .chv-section {
        padding: 68px 0
    }

    .chv-heading-row {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 25px
    }

    .chv-heading-row h2 {
        font-size: 27px
    }

    .chv-domestic-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px
    }

    .chv-destination-tile,
    .chv-destination-tile:nth-child(7),
    .chv-destination-tile:nth-child(8),
    .chv-destination-tile:nth-child(9) {
        grid-column: span 1;
        height: 230px
    }

    .chv-destination-more {
        grid-column: span 2 !important
    }

    .chv-destination-info h3 {
        font-size: 14px
    }

    .chv-international-row {
        grid-template-columns: repeat(2, 1fr)
    }

    .chv-int-wide {
        grid-column: span 2
    }

    .chv-promo-grid {
        grid-template-columns: 1fr
    }

    .chv-promo-main,
    .chv-promo-side {
        height: 270px
    }

    .chv-about-head {
        display: block
    }

    .chv-about-head h2 {
        font-size: 32px;
        margin: 12px 0
    }

    .chv-about-head p {
        margin-top: 12px
    }

    .chv-about-collage {
        height: 520px
    }

    .chv-photo-a {
        width: 70%;
        height: 300px
    }

    .chv-photo-b {
        left: 42%;
        width: 46%;
        height: 190px;
        bottom: 45px
    }

    .chv-about-note {
        width: 53%;
        top: 18px
    }

    .chv-note-two {
        top: 140px;
        right: 0
    }

    .chv-note-three {
        top: 260px;
        right: 0
    }

    .chv-about-strip {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px
    }

    .chv-about-strip div:nth-child(3) {
        border-left: 0;
        padding-left: 0
    }

    .chv-why-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .chv-why-card:nth-child(2) {
        border-right: 0
    }

    .chv-why-card:nth-child(-n+2) {
        border-bottom: 1px solid #dce6ed
    }

    .chv-google-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px
    }

    .chv-google-grid {
        grid-template-columns: 1fr 1fr
    }

    .chv-contact-box {
        display: block;
        padding: 30px
    }

    .chv-contact-number {
        margin-bottom: 18px
    }

    .chv-contact-box h2 {
        font-size: 23px
    }

    .chv-contact-box>a {
        display: inline-flex;
        margin-top: 20px;
        gap: 10px;
        align-items: center;
        
    }

    .chv-footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 35px
    }

    .chv-footer-contact {
        grid-column: span 2
    }

    .chv-footer-bottom {
        flex-direction: column
    }

    .chv-footer-bottom div {
        flex-wrap: wrap;
        gap: 10px
    }
    .domestic-name h5 {
       font-size: 14px!important;
    }

    .domestic-price h6 span {
      font-size: 11px !important;
    }
    .domestic-price h6{
      font-size: 14px;  
    }
}

@media(max-width:575px) {
    body {
        font-size: 13px
    }

    .chv-header-inner {
        padding: 0 15px
    }

    .chv-logo-icon {
        width: 38px;
        height: 38px
    }

    .chv-logo-copy b {
        font-size: 12px
    }

    .chv-logo-copy em {
        font-size: 8px;
        letter-spacing: 2px
    }

    

    .chv-hero-progress {
        display: none
    }

    .chv-domestic-grid {
        grid-template-columns: 1fr 1fr
    }

    .chv-destination-tile,
    .chv-destination-tile:nth-child(7),
    .chv-destination-tile:nth-child(8),
    .chv-destination-tile:nth-child(9) {
        height: 210px
    }

    .chv-destination-info {
        left: 12px;
        right: 12px
    }

    .chv-destination-info div {
        display: block
    }

    .chv-destination-info strong {
        display: block;
        margin-top: 2px
    }

    .chv-international-row {
        grid-template-columns: 1fr
    }

    .chv-int-wide {
        grid-column: span 1
    }

    .chv-pkg-image {
        height: 130px
    }

    .chv-pkg-body {
        padding: 10px
    }

    .chv-pkg-meta {
        gap: 5px
    }

    .chv-pkg-meta span {
        font-size: 7.5px
    }

    .chv-promo-section {
        padding-bottom: 68px
    }

    .chv-about-collage {
        height: 510px
    }

    .chv-photo-a {
        width: 83%;
        height: 280px
    }

    .chv-photo-b {
        left: 34%;
        width: 56%;
        height: 170px;
        bottom: 45px
    }

    .chv-about-note {
        width: 60%;
        padding: 14px;
        right: 0
    }

    .chv-note-two {
        top: 142px
    }

    .chv-note-three {
        top: 270px
    }

    .chv-why-grid {
        grid-template-columns: 1fr
    }

    .chv-why-card {
        border-right: 0 !important;
        border-bottom: 1px solid #dce6ed
    }

    .chv-why-card:last-child {
        border-bottom: 0
    }

    .chv-google-grid {
        grid-template-columns: 1fr
    }

    .chv-google-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px
    }

    .chv-footer-top {
        grid-template-columns: 1fr
    }

    .chv-footer-contact {
        grid-column: auto
    }

    .chv-footer-bottom div {
        display: flex;
       
    }

   
}

.domestic-image{
    border-radius: 15px;
    overflow: hidden;
    position: relative;
}

.domestic-image img{
    transition: all ease 0.3s;
}

.domestic-name{
    margin-top: 10px;
}

.domestic-name h5{
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 5px;
}

.domestic-price h6 span{
    color: var(--chv-deep) ;
    font-size: 12px;
    font-weight: 600;
}

.domestic-price h6{
    color: var(--chv-orange-dark);
    font-weight: 700;
    
}

.view-icon span{
    display: flex;
    height: 35px;
    width: 35px;
    justify-content: center;
    align-items: center;
    opacity: 0;
    color: #fff;
    border-radius: 50%;
    background-color: var(--chv-orange-dark);
    transition: all ease 0.4s;
    transform: rotate(-45deg);

}

.view-icon{
    position: absolute;
    right: 10px;
    bottom: 10px;
}

.domestic-box:hover .view-icon span{
    opacity: 1;
}

.domestic-box:hover .domestic-image img{
    transform: scale(1.1);
}

/* =========================================
   CONFIRM HOLIDAYS
   THEME BASED TOURS
========================================= */

.chv-theme-tour-section {
    --chv-blue: #034c87;
    --chv-deep: #022f55;
    --chv-orange: #F6730C;
    --chv-orange-dark: #d95d00;
    --chv-ink: #17334b;
    --chv-muted: #627587;
    --chv-line: #dbe5ed;
    --chv-bg: #f5f8fb;
    --chv-white: #fff;

    padding: 65px 0;
    background: var(--chv-white);

    font-family: "Manrope", sans-serif;
}


/* Heading */

.chv-theme-tour-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;
    margin-bottom: 28px;
}


.chv-theme-tour-label {
    display: flex;
    align-items: center;
    gap: 7px;

    color: var(--chv-orange);

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 1.1px;

    margin-bottom: 7px;
}


.chv-theme-tour-label i {
    font-size: 11px;
}


.chv-theme-tour-heading h2 {
    margin: 0;

    color: var(--chv-deep);

    font-size: 32px;
    line-height: 1.15;

    font-weight: 700;
    letter-spacing: -.8px;
}


.chv-theme-tour-heading h2 span {
    color: var(--chv-orange);
}


.chv-theme-tour-heading h1 {
    margin: 0;

    color: var(--chv-deep);

    font-size: 32px;
    line-height: 1.15;

    font-weight: 700;
    letter-spacing: -.8px;
}


.chv-theme-tour-heading h1 span {
    color: var(--chv-orange);
}

.chv-theme-tour-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding-bottom: 6px;

    color: var(--chv-blue);

    border-bottom: 1px solid var(--chv-orange);

    font-size: 12px;
    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;

    transition: .25s ease;
}


.chv-theme-tour-link i {
    font-size: 10px;
    transition: .25s ease;
}


.chv-theme-tour-link:hover {
    color: var(--chv-orange);
}


.chv-theme-tour-link:hover i {
    transform: translateX(4px);
}


/* Grid */

.chv-theme-tour-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;
}


/* Card */

.chv-theme-tour-card {
    position: relative;

    height: 190px;

    overflow: hidden;

    display: block;

    border-radius: 10px;

    background: var(--chv-deep);

    text-decoration: none;

    isolation: isolate;
}


.chv-theme-tour-card img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .55s ease,
        filter .4s ease;
}


.chv-theme-tour-card:hover img {
    transform: scale(1.06);
}


/* Gradient */

.chv-theme-tour-shade {
    position: absolute;

    inset: 0;

    background:
       linear-gradient(
            180deg,
            rgba(2,47,85,.00) 5%,
            rgba(2,47,85,.15) 50%,
            rgba(2,31,54,.9) 100%
        );

    z-index: 1;
}


/* Top */

.chv-theme-tour-top {
    position: absolute;

    top: 13px;
    left: 14px;
    right: 14px;

    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


.chv-theme-tour-top span {
    width: 26px;
    height: 26px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;

    background: rgba(2,47,85,.3);

    backdrop-filter: blur(5px);

    font-size: 9px;
    font-weight: 700;
}


.chv-theme-tour-top i {
    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--chv-deep);
    background: var(--chv-orange);

    border-radius: 50%;

    font-size: 14px;

    transition: .3s ease;
}


.chv-theme-tour-card:hover
.chv-theme-tour-top i {
    background: #fff;
    transform: rotate(45deg);
}


/* Content */

.chv-theme-tour-info {
    position: absolute;

    z-index: 3;

    left: 16px;
    right: 16px;
    bottom: 15px;
}


.chv-theme-tour-info h3 {
    margin: 0 0 3px;

    color: #fff;

    font-size: 18px;
    line-height: 1.2;

    font-weight: 700;

    letter-spacing: -.2px;
}


.chv-theme-tour-info p {
    margin: 0 0 8px;

    color: rgba(255,255,255,.85);

    font-size: 12px;
    line-height: 1.35;

    font-weight: 600;
}


.chv-theme-tour-info strong {
    display: inline-flex;

    color: #fff;

    font-size: 12px;
    line-height: 1;

    font-weight: 600;

    padding-left: 8px;

    border-left: 2px solid var(--chv-orange);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .chv-theme-tour-section {
        padding: 55px 0;
    }

    .chv-theme-tour-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .chv-theme-tour-section {
        padding: 45px 0;
    }

    .chv-theme-tour-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .chv-theme-tour-heading h2 {
        font-size: 27px;
    }

    .chv-theme-tour-heading h1 {
        font-size: 27px;
    }

    .chv-theme-tour-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 9px;
    }

    .chv-theme-tour-card {
        height: 165px;
    }

    .chv-theme-tour-info {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .chv-theme-tour-info h3 {
        font-size: 15px;
    }

    .chv-theme-tour-info p {
        font-size: 9px;
    }

    .chv-theme-tour-top {
        top: 10px;
        left: 11px;
        right: 11px;
    }

}


/* =========================================================
   CONFIRM HOLIDAYS - PACKAGE SECTION
========================================================= */

.chv-packages-section {

    padding: 70px 0;

    background: #f9fcff;

    font-family: "Manrope", sans-serif;
}


/* =========================
   HEADING
========================= */

.chv-packages-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    margin-bottom: 28px;
    gap: 20px;
}


.chv-packages-label {
    display: flex;
    align-items: center;
    gap: 7px;

    margin-bottom: 7px;

    color: var(--chv-orange);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;
}


.chv-packages-label i {
    font-size: 11px;
}


.chv-packages-heading h2 {
    margin: 0;

    color: var(--chv-deep);

    font-size: 31px;
    line-height: 1.2;

    font-weight: 700;
    letter-spacing: -.7px;
}


.chv-packages-heading h2 span {
    color: var(--chv-orange);
}


.chv-packages-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: var(--chv-blue);

    font-size: 12px;
    font-weight: 600;

    text-decoration: none;

    white-space: nowrap;

    transition: .25s ease;
}


.chv-packages-all i {
    font-size: 10px;
    transition: .25s ease;
}


.chv-packages-all:hover {
    color: var(--chv-orange);
}


.chv-packages-all:hover i {
    transform: translateX(4px);
}


/* =========================
   CARD
========================= */

.chv-package-card {
    background: #fff;

    border: 1px solid #e3e9ee;

    border-radius: 11px;

    overflow: hidden;

    box-shadow: 0 3px 12px rgba(2, 47, 85, .07);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.chv-package-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 12px 28px rgba(2, 47, 85, .13);
}


/* =========================
   IMAGE
========================= */

.chv-package-image {
    position: relative;

  

    overflow: hidden;
}


.chv-package-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .5s ease;
}


.chv-package-card:hover
.chv-package-image img {
    transform: scale(1.045);
}


/* =========================
   DURATION BADGE
========================= */

.chv-package-duration {
    position: absolute;

    left: 10px;
    bottom: 10px;

    padding: 5px 9px;

    color: var(--chv-orange-dark);

    background: rgba(255,255,255,.95);

    border: 1px solid rgba(246,115,12,.75);

    border-radius: 3px;

    font-size: 11px;
    line-height: 1;

    font-weight: 600;
}


/* =========================
   TYPE BADGE
========================= */

.chv-package-type {
    position: absolute;

    right: 12px;
    bottom: 10px;

    padding: 7px 10px;

    color: #fff;

    background: var(--chv-blue);

    border-radius: 4px;

    font-size: 10px;
    line-height: 1;

    font-weight: 600;
}


/* =========================
   BODY
========================= */

.chv-package-body {
    padding: 13px 13px 12px;
}


.chv-package-body h3 {
    margin: 0 0 7px;

    color: #111;

    font-size: 17px;
    line-height: 1.25;

    font-weight: 700;

    letter-spacing: -.25px;
}


/* =========================
   ROUTE
========================= */

.chv-package-route {
    display: flex;
    align-items: flex-start;

    gap: 8px;

    color: #3f4f5c;

    font-size: 11px;
    line-height: 1.45;

    font-weight: 500;
}


.chv-package-route i {
    flex-shrink: 0;

    margin-top: 2px;

    color: var(--chv-orange);

    font-size: 13px;
}


/* =========================
   ACTIONS
========================= */

.chv-package-actions {
    display: flex;

    gap: 8px;

    margin-top: 8px;
}


.chv-package-call,
.chv-package-whatsapp {
    width: 35px;
    height: 35px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;

    border-radius: 4px;

    text-decoration: none;

    font-size: 19px;

    transition: .25s ease;
}


.chv-package-call {
    color: var(--chv-blue);

    border: 1px solid var(--chv-blue);
}


.chv-package-whatsapp {
    color: #25D366;

    border: 1px solid #25D366;
}


.chv-package-call:hover {
    color: #fff;
    background: var(--chv-blue);
}


.chv-package-whatsapp:hover {
    color: #fff;
    background: #25D366;
}


/* =========================
   VIEW DETAILS
========================= */

.chv-package-view {
    flex: 1;

    min-width: 0;

    height: 35px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 10px;

    color: #fff;

    background: var(--chv-orange);

    border: 2px solid var(--chv-orange);

    border-radius: 4px;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;

    transition: .25s ease;
}


.chv-package-view:hover {
    color: #fff;

    background: var(--chv-orange-dark);

    border-color: var(--chv-orange-dark);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .chv-packages-section {
        padding: 55px 0;
    }

  

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .chv-packages-section {
        padding: 45px 0;
    }

    .chv-packages-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .chv-packages-heading h2 {
        font-size: 27px;
    }

   

    .chv-package-body h3 {
        font-size: 19px;
    }

}

/* =========================
   PACKAGE PRICE
========================= */

.chv-package-price {
    display: flex;
    align-items: baseline;
    gap: 5px;

    margin-top: 5px;
    margin-bottom: 9px;

    padding: 7px 9px;

    background: #f6fff7;


    border-radius: 3px;

    line-height: 1;
}


.chv-package-price span {
    color: var(--chv-muted);

    font-size: 12px;
    font-weight: 500;
}


.chv-package-price strong {
    color: var(--chv-blue);

    font-size: 16px;
    font-weight: 800;
}


.chv-package-price small {
    color: var(--chv-muted);

    font-size: 10px;
    font-weight: 500;
}

/* ================================
   GOOGLE REVIEW CAROUSEL
================================ */

.chv-google-carousel {
    position: relative;
    padding: 5px 2px 42px;
}


.chv-google-carousel .owl-stage {
    display: flex;
}


.chv-google-carousel .owl-item {
    display: flex;
}


.chv-google-carousel .chv-google-card {
    width: 100%;
    height: 100%;
}


/* Remove default Owl spacing issue */

.chv-google-carousel .owl-stage-outer {
    overflow: hidden;
}


/* ================================
   NAVIGATION
================================ */

.chv-google-carousel .owl-nav {
    position: absolute;

    right: 0;
    bottom: 0;

    display: flex;
    gap: 7px;

    margin: 0;
}


.chv-google-carousel .owl-nav button.owl-prev,
.chv-google-carousel .owl-nav button.owl-next {
    width: 34px;
    height: 34px;

    margin: 0 !important;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--chv-blue) !important;

    background: #fff !important;

    border: 1px solid var(--chv-line) !important;
    border-radius: 5px !important;

    font-size: 12px !important;

    transition: .25s ease;
}


.chv-google-carousel .owl-nav button:hover {
    color: #fff !important;

    background: var(--chv-blue) !important;

    border-color: var(--chv-blue) !important;
}


/* ================================
   DOTS
================================ */

.chv-google-carousel .owl-dots {
    position: absolute;

    left: 50%;
    bottom: 8px;

    transform: translateX(-50%);

    display: flex;
    align-items: center;
    gap: 5px;
}


.chv-google-carousel .owl-dot span {
    width: 6px !important;
    height: 6px !important;

    margin: 0 !important;

    background: #cbd7e1 !important;

    transition: .25s ease;
}


.chv-google-carousel .owl-dot.active span {
    width: 20px !important;

    background: var(--chv-orange) !important;
}

.chv-google-card-top img{
    width: 30px!important;
}

.chv-review-avatar img{
    width: 100%!important;
}


/* =========================================================
   CONFIRM HOLIDAYS
   TOUR LISTING FILTER
========================================================= */

.chv-tour-listing {

    padding: 55px 0;

    background: #f6f9fc;

    color: var(--chv-ink);

    font-family: "Manrope", sans-serif;
}


/* =========================================================
   MOBILE FILTER BAR
========================================================= */

.chv-mobile-filter-bar {
    display: none;
}


/* =========================================================
   FILTER SIDEBAR
========================================================= */

.chv-tour-filter {

    position: sticky;

    top: 10px;

    background: #fff;

    border: 1px solid var(--chv-line);

    border-radius: 10px;

    box-shadow: 0 5px 20px rgba(2,47,85,.06);

    max-height: 100vh;

    overflow-y: auto;

    overflow-x: hidden;

    /* Firefox */
    scrollbar-width: thin;
    scrollbar-color: #b8c8d5 transparent;
}


/* =========================================
   CUSTOM SLIM SCROLLBAR
========================================= */

.chv-tour-filter::-webkit-scrollbar {
    width: 4px;
}


.chv-tour-filter::-webkit-scrollbar-track {
    background: transparent;
}


.chv-tour-filter::-webkit-scrollbar-thumb {

    background: #b8c8d5;

    border-radius: 20px;

    transition: background .2s ease;
}


.chv-tour-filter::-webkit-scrollbar-thumb:hover {

    background: var(--chv-orange);

}


/* Optional: scrollbar corner */
.chv-tour-filter::-webkit-scrollbar-corner {
    background: transparent;
}


/* =========================================================
   FILTER HEADER
========================================================= */

.chv-filter-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 19px 18px;

    border-bottom: 1px solid var(--chv-line);
}


.chv-filter-eyebrow {

    display: block;

    margin-bottom: 3px;

    color: var(--chv-orange);

    font-size: 9px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.chv-filter-header h3 {

    margin: 0;

    color: var(--chv-deep);

    font-size: 19px;

    line-height: 1.25;

    font-weight: 700;
}


.chv-filter-reset {

    padding: 0;

    color: var(--chv-orange);

    background: none;

    border: 0;

    font-size: 11px;

    font-weight: 600;

    cursor: pointer;

    transition: .2s ease;
}


.chv-filter-reset:hover {

    color: var(--chv-blue);

    text-decoration: underline;
}


/* =========================================================
   FILTER GROUP
========================================================= */

.chv-filter-group {

    padding: 18px;

    border-bottom: 1px solid #edf1f4;
}


.chv-filter-group-title {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 14px;

    color: var(--chv-deep);

    font-size: 13px;

    font-weight: 700;
}


.chv-filter-group-title > span {

    display: flex;

    align-items: center;

    gap: 8px;
}


.chv-filter-group-title > span i {

    width: 25px;
    height: 25px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--chv-orange);

    background: #fff3eb;

    border-radius: 5px;

    font-size: 11px;
}


.chv-filter-group-title > i {

    color: #91a1ae;

    font-size: 9px;
}


/* =========================================================
   CHECKBOXES
========================================================= */

.chv-filter-options {

    display: flex;

    flex-direction: column;

    gap: 11px;
}


.chv-filter-check {

    position: relative;

    display: flex;

    align-items: center;

    gap: 9px;

    cursor: pointer;

    user-select: none;
}


.chv-filter-check input {

    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.chv-check-box {

    width: 16px;
    height: 16px;

    flex: 0 0 16px;

    position: relative;

    background: #fff;

    border: 1.5px solid #b9c8d4;

    border-radius: 3px;

    transition: .2s ease;
}


.chv-filter-check input:checked + .chv-check-box {

    background: var(--chv-orange);

    border-color: var(--chv-orange);
}


.chv-filter-check input:checked + .chv-check-box::after {

    content: "";

    position: absolute;

    left: 4px;
    top: 1px;

    width: 5px;
    height: 9px;

    border: solid #fff;

    border-width: 0 2px 2px 0;

    transform: rotate(45deg);
}


.chv-check-label {

    flex: 1;

    color: #40576a;

    font-size: 12px;

    line-height: 1.4;

    font-weight: 500;
}


.chv-filter-check:hover .chv-check-label {

    color: var(--chv-blue);
}


.chv-check-count {

    min-width: 22px;

    padding: 3px 5px;

    color: #718392;

    background: #f2f6f9;

    border-radius: 3px;

    font-size: 9px;

    line-height: 1;

    font-weight: 600;

    text-align: center;
}


/* =========================================================
   PRICE
========================================================= */

.chv-price-filter-content {

    padding-top: 2px;
}


.chv-price-values {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 14px;
}


.chv-price-values span {

    color: var(--chv-muted);

    font-size: 11px;

    font-weight: 500;
}


.chv-price-values strong {

    color: var(--chv-blue);

    font-size: 15px;

    font-weight: 700;
}


.chv-price-range {

    width: 100%;

    height: 4px;

    display: block;

    margin: 0;

    accent-color: var(--chv-orange);

    cursor: pointer;
}


.chv-price-minmax {

    display: flex;

    justify-content: space-between;

    margin-top: 9px;

    color: #8494a1;

    font-size: 9px;

    font-weight: 500;
}


/* =========================================================
   MOBILE FILTER HEADER
========================================================= */

.chv-filter-mobile-head {

    display: none;
}


/* =========================================================
   MOBILE FILTER FOOTER
========================================================= */

.chv-filter-mobile-footer {

    display: none;
}


/* =========================================================
   RESULTS AREA
========================================================= */

.chv-results-top {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 25px;

    padding-bottom: 20px;

    border-bottom: 1px solid var(--chv-line);
}


.chv-results-eyebrow {

    display: block;

    margin-bottom: 4px;

    color: var(--chv-orange);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.chv-results-top h1 {

    margin: 0 0 5px;

    color: var(--chv-deep);

    font-size: 28px;

    line-height: 1.2;

    font-weight: 700;
}


.chv-results-top p {

    margin: 0;

    color: var(--chv-muted);

    font-size: 12px;

    font-weight: 500;
}


/* =========================================================
   SORT
========================================================= */

.chv-results-sort {

    display: flex;

    align-items: center;

    gap: 9px;
}


.chv-results-sort label {

    color: var(--chv-muted);

    font-size: 11px;

    font-weight: 600;

    white-space: nowrap;
}


.chv-results-sort select {

    min-width: 145px;

    height: 38px;

    padding: 0 30px 0 11px;

    color: var(--chv-ink);

    background: #fff;

    border: 1px solid var(--chv-line);

    border-radius: 5px;

    font-family: inherit;

    font-size: 11px;

    font-weight: 600;

    outline: none;

    cursor: pointer;
}


.chv-results-sort select:focus {

    border-color: var(--chv-orange);

    box-shadow: 0 0 0 2px rgba(246,115,12,.08);
}


/* =========================================================
   OVERLAY
========================================================= */

.chv-filter-overlay {

    display: none;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 991px) {

    .chv-tour-listing {

        padding: 35px 0;
    }


    /* Mobile trigger */

    .chv-mobile-filter-bar {

        display: flex;

        align-items: center;

        justify-content: space-between;

        gap: 15px;

        margin-bottom: 20px;
    }


    .chv-mobile-filter-btn {

        display: inline-flex;

        align-items: center;

        gap: 9px;

        height: 42px;

        padding: 0 14px;

        color: #fff;

        background: var(--chv-blue);

        border: 0;

        border-radius: 5px;

        font-family: inherit;

        font-size: 12px;

        font-weight: 600;

        cursor: pointer;

        box-shadow: 0 4px 12px rgba(3,76,135,.15);
    }


    .chv-mobile-filter-btn > i:first-child {

        color: var(--chv-orange);

        font-size: 13px;
    }


    .chv-filter-trigger-arrow {

        margin-left: 3px;

        font-size: 8px !important;

        color: rgba(255,255,255,.65) !important;
    }


    .chv-mobile-result-count {

        color: var(--chv-muted);

        font-size: 11px;

        font-weight: 600;
    }


    /* Sidebar */

    .chv-tour-filter {

        position: fixed;

        z-index: 1055;

        top: 0;
        left: 0;

        width: min(350px, 88vw);

        height: 100vh;

        margin: 0;

        border: 0;

        border-radius: 0;

        box-shadow: 8px 0 35px rgba(0,0,0,.18);

        overflow-y: auto;

        transform: translateX(-105%);

        transition: transform .35s ease;
    }


    .chv-tour-filter.chv-filter-open {

        transform: translateX(0);
    }


    /* Hide desktop header */

    .chv-filter-header {

        display: none;
    }


    /* Mobile header */

    .chv-filter-mobile-head {

        position: sticky;

        top: 0;

        z-index: 5;

        display: flex;

        align-items: center;

        justify-content: space-between;

        padding: 18px;

        background: var(--chv-deep);

        border-bottom: 3px solid var(--chv-orange);
    }


    .chv-filter-mobile-head span {

        display: block;

        margin-bottom: 3px;

        color: rgba(255,255,255,.6);

        font-size: 9px;

        font-weight: 600;

        text-transform: uppercase;

        letter-spacing: 1px;
    }


    .chv-filter-mobile-head h3 {

        margin: 0;

        color: #fff;

        font-size: 18px;

        font-weight: 700;
    }


    .chv-filter-close {

        width: 32px;
        height: 32px;

        display: flex;

        align-items: center;
        justify-content: center;

        color: #fff;

        background: rgba(255,255,255,.1);

        border: 1px solid rgba(255,255,255,.2);

        border-radius: 5px;

        font-size: 14px;

        cursor: pointer;
    }


    /* Mobile footer */

    .chv-filter-mobile-footer {

        position: sticky;

        bottom: 0;

        z-index: 5;

        display: flex;

        gap: 9px;

        padding: 13px;

        background: #fff;

        border-top: 1px solid var(--chv-line);

        box-shadow: 0 -5px 15px rgba(0,0,0,.06);
    }


    .chv-filter-mobile-reset {

        width: 85px;

        height: 42px;

        color: var(--chv-blue);

        background: #fff;

        border: 1px solid var(--chv-blue);

        border-radius: 5px;

        font-family: inherit;

        font-size: 11px;

        font-weight: 600;

        cursor: pointer;
    }


    .chv-filter-apply {

        flex: 1;

        height: 42px;

        display: flex;

        align-items: center;

        justify-content: center;

        gap: 8px;

        color: #fff;

        background: var(--chv-orange);

        border: 0;

        border-radius: 5px;

        font-family: inherit;

        font-size: 12px;

        font-weight: 600;

        cursor: pointer;
    }


    .chv-filter-apply i {

        font-size: 10px;
    }


    /* Overlay */

    .chv-filter-overlay {

        position: fixed;

        z-index: 1050;

        inset: 0;

        display: block;

        background: rgba(2,47,85,.5);

        opacity: 0;

        visibility: hidden;

        transition: .3s ease;
    }


    .chv-filter-overlay.chv-filter-overlay-active {

        opacity: 1;

        visibility: visible;
    }

}


@media (max-width: 575px) {

    .chv-tour-listing {

        padding: 25px 0;
    }


    .chv-results-top {

        align-items: flex-start;

        flex-direction: column;

        margin-bottom: 20px;
    }


    .chv-results-top h1 {

        font-size: 25px;
    }


    .chv-results-sort {

        width: 100%;
    }


    .chv-results-sort select {

        flex: 1;

        min-width: 0;
    }

}


.chv-package-inclusions {

    display: flex;

    align-items: center;

    justify-content: space-around;

    gap: 6px;

    margin: 13px 0 12px;

    padding: 9px 0;

    border-top: 1px solid var(--chv-line);

    border-bottom: 1px solid var(--chv-line);
}


.chv-package-inclusion {

    flex: 1 1 0;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 4px;

    min-width: 0;

    text-align: center;
}


.chv-inclusion-icon {

    width: 27px;
    height: 27px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--chv-blue);

    background: #eef5fa;

    border-radius: 5px;

    font-size: 11px;

    transition: .2s ease;
}


.chv-inclusion-name {

    color: var(--chv-ink);

    font-size: 9px;

    line-height: 1.2;

    font-weight: 600;

    white-space: nowrap;
}


.chv-package-inclusion:hover .chv-inclusion-icon {

    color: #fff;

    background: var(--chv-orange);

    transform: translateY(-2px);
}

/* =========================================================
   CONFIRM HOLIDAYS
   PACKAGE DETAILS PAGE
========================================================= */

.chv-pdp-page {

    background: var(--chv-bg);

    color: var(--chv-ink);

    font-family: "Manrope", sans-serif;
}


/* =========================================================
   HERO
========================================================= */

.chv-pdp-hero {

    position: relative;

    height: 430px;

    overflow: hidden;
}


.chv-pdp-hero-image,
.chv-pdp-hero-image img {

    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;
}


.chv-pdp-hero-image img {

    object-fit: cover;
}


.chv-pdp-hero-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(2,47,85,.92) 0%,
            rgba(2,47,85,.68) 43%,
            rgba(2,47,85,.12) 100%
        );
}


.chv-pdp-hero-container {

    position: relative;

    height: 100%;

    display: flex;

    align-items: flex-end;

    padding-bottom: 65px;

    z-index: 2;
}


.chv-pdp-hero-content {

    max-width: 760px;
}


.chv-pdp-breadcrumb {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 18px;

    color: rgba(255,255,255,.65);

    font-size: 11px;

    font-weight: 500;
}


.chv-pdp-breadcrumb a {

    color: rgba(255,255,255,.75);

    text-decoration: none;
}


.chv-pdp-breadcrumb i {

    font-size: 8px;

    color: var(--chv-orange);
}


.chv-pdp-category {

    display: inline-flex;

    padding: 6px 10px;

    margin-bottom: 12px;

    color: #fff;

    background: var(--chv-orange);

    border-radius: 4px;

    font-size: 10px;

    line-height: 1;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .6px;
}


.chv-pdp-hero h1 {

    margin: 0 0 17px;

    color: #fff;

    font-size: clamp(30px, 4vw, 48px);

    line-height: 1.12;

    font-weight: 750;

    letter-spacing: -.7px;
}


.chv-pdp-hero-meta {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 22px;
}


.chv-pdp-hero-meta span {

    display: flex;

    align-items: center;

    gap: 8px;

    color: rgba(255,255,255,.9);

    font-size: 12px;

    font-weight: 600;
}


.chv-pdp-hero-meta i {

    color: var(--chv-orange);

    font-size: 13px;
}


/* =========================================================
   QUICK BAR
========================================================= */

.chv-pdp-quickbar {

    position: relative;

    z-index: 5;

    margin-top: -1px;

    background: #fff;

    border-bottom: 1px solid var(--chv-line);

    box-shadow: 0 6px 22px rgba(2,47,85,.07);
}


.chv-pdp-quick-inner {

    min-height: 90px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;
}


.chv-pdp-quick-item {

    display: flex;

    align-items: center;

    gap: 10px;

    padding-right: 25px;

    border-right: 1px solid var(--chv-line);
}


.chv-pdp-quick-icon {

    width: 37px;
    height: 37px;

    flex: 0 0 37px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--chv-blue);

    background: #edf5fa;

    border-radius: 7px;

    font-size: 14px;
}


.chv-pdp-quick-item small {

    display: block;

    margin-bottom: 3px;

    color: var(--chv-muted);

    font-size: 9px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: .4px;
}


.chv-pdp-quick-item strong {

    display: block;

    color: var(--chv-deep);

    font-size: 12px;

    font-weight: 700;
}


.chv-pdp-quick-price {

    margin-left: auto;

    text-align: right;

    white-space: nowrap;
}


.chv-pdp-quick-price small {

    display: block;

    color: var(--chv-muted);

    font-size: 9px;

    font-weight: 600;
}


.chv-pdp-quick-price strong {

    color: var(--chv-orange);

    font-size: 25px;

    line-height: 1;

    font-weight: 800;
}


.chv-pdp-quick-price span {

    color: var(--chv-muted);

    font-size: 10px;

    font-weight: 600;
}


/* =========================================================
   CONTENT NAV
========================================================= */

.chv-pdp-nav-wrap {

    position: sticky;

    top: 0;

    z-index: 20;

    background: rgba(255,255,255,.96);

    border-bottom: 1px solid var(--chv-line);

    backdrop-filter: blur(12px);
}


.chv-pdp-nav {

    display: flex;

    align-items: center;

    gap: 28px;

    min-height: 56px;

    overflow-x: auto;

    scrollbar-width: none;
}


.chv-pdp-nav::-webkit-scrollbar {

    display: none;
}


.chv-pdp-nav a {

    position: relative;

    display: flex;

    align-items: center;

    height: 56px;

    flex: 0 0 auto;

    color: var(--chv-muted);

    font-size: 14px;

    font-weight: 700;

    text-decoration: none;

    transition: .2s ease;
}


.chv-pdp-nav a::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 3px;

    background: var(--chv-orange);

    transform: scaleX(0);

    transition: .2s ease;
}


.chv-pdp-nav a:hover,
.chv-pdp-nav a.chv-pdp-nav-active {

    color: var(--chv-blue);
}


.chv-pdp-nav a.chv-pdp-nav-active::after {

    transform: scaleX(1);
}


/* =========================================================
   MAIN
========================================================= */

.chv-pdp-main {

    padding: 45px 0 80px;
}


.chv-pdp-content {

    min-width: 0;
}


.chv-pdp-section {

    padding: 30px;

    margin-bottom: 22px;

    background: #fff;

    border: 1px solid var(--chv-line);

    border-radius: 10px;

    box-shadow: 0 4px 16px rgba(2,47,85,.035);
}


.chv-pdp-section-heading {

    margin-bottom: 20px;
}


.chv-pdp-section-heading > span {

    display: block;

    margin-bottom: 5px;

    color: var(--chv-orange);

    font-size: 10px;

    line-height: 1;

    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.chv-pdp-section-heading h2 {

    margin: 0;

    color: var(--chv-deep);

    font-size: 24px;

    line-height: 1.25;

    font-weight: 750;
}


.chv-pdp-section > p {

    margin: 0 0 12px;

    color: #526b7e;

    font-size: 13px;

    line-height: 1.8;

    font-weight: 500;
}


/* =========================================================
   HIGHLIGHTS
========================================================= */

.chv-pdp-highlights {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 8px;

    margin-top: 24px;

    padding-top: 20px;

    border-top: 1px solid var(--chv-line);
}


.chv-pdp-highlight {

    display: flex;

    align-items: center;

    gap: 8px;

    color: var(--chv-ink);

    font-size: 10px;

    font-weight: 700;
}


.chv-pdp-highlight i {

    color: var(--chv-orange);

    font-size: 13px;
}


/* =========================================================
   ITINERARY
========================================================= */

.chv-itinerary {

    position: relative;
}


.chv-itinerary-day {

    position: relative;

    display: grid;

    grid-template-columns: 55px 20px 1fr;

    min-height: 80px;
}


.chv-itinerary-number {

    position: relative;

    z-index: 2;

    width: 48px;
    height: 48px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    color: #fff;

    background: var(--chv-blue);

    border-radius: 8px;
}


.chv-itinerary-number span {

    font-size: 7px;

    line-height: 1;

    font-weight: 600;

    text-transform: uppercase;

    opacity: .75;
}


.chv-itinerary-number strong {

    font-size: 16px;

    line-height: 1.1;

    font-weight: 800;
}


.chv-itinerary-line {

    position: relative;

    width: 1px;

    height: 100%;

    margin-left: 2px;

    background: #dce7ee;
}





.chv-itinerary-content {

    padding: 0 0 25px 14px;
}


.chv-itinerary-title {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 15px;

    padding: 2px 0 9px;
}


.chv-itinerary-title span {

    display: block;

    margin-bottom: 4px;

    color: var(--chv-orange);

    font-size: 9px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .6px;
}


.chv-itinerary-title h3 {

    margin: 0;

    color: var(--chv-deep);

    font-size: 15px;

    font-weight: 750;
}


.chv-itinerary-toggle {

    width: 27px;
    height: 27px;

    flex: 0 0 27px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--chv-blue);

    background: #f1f6fa;

    border: 1px solid var(--chv-line);

    border-radius: 5px;

    font-size: 9px;

    cursor: pointer;
}


.chv-itinerary-body {

    padding-right: 15px;
}


.chv-itinerary-body p {

    margin: 0 0 12px;

    color: var(--chv-muted);

    font-size: 11px;

    line-height: 1.7;

    font-weight: 500;
}


.chv-itinerary-info {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 7px;
}


.chv-itinerary-info span {

    display: inline-flex;

    align-items: center;

    gap: 5px;

    padding: 5px 8px;

    color: var(--chv-ink);

    background: #f5f8fb;

    border-radius: 4px;

    font-size: 9px;

    font-weight: 600;
}


.chv-itinerary-info i {

    color: var(--chv-orange);
}


/* =========================================================
   INCLUSION / EXCLUSION
========================================================= */

.chv-inclusion-box,
.chv-exclusion-box {

    height: 100%;

    padding: 20px;

    border-radius: 8px;
}


.chv-inclusion-box {

    background: #f3faf6;

    border: 1px solid #d9eee1;
}


.chv-exclusion-box {

    background: #fff7f3;

    border: 1px solid #f2ddd2;
}


.chv-inclusion-box-head,
.chv-exclusion-box-head {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 17px;
}


.chv-inclusion-box-head > span,
.chv-exclusion-box-head > span {

    width: 30px;
    height: 30px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 6px;
}


.chv-inclusion-box-head > span {

    color: #17864a;

    background: #dff3e7;
}


.chv-exclusion-box-head > span {

    color: #d95d00;

    background: #ffe8dc;
}


.chv-inclusion-box h3,
.chv-exclusion-box h3 {

    margin: 0;

    color: var(--chv-deep);

    font-size: 14px;

    font-weight: 750;
}


.chv-inclusion-box ul,
.chv-exclusion-box ul {

    padding: 0;

    margin: 0;

    list-style: none;
}


.chv-inclusion-box li,
.chv-exclusion-box li {

    display: flex;

    align-items: flex-start;

    gap: 8px;

    padding: 8px 0;

    border-top: 1px solid rgba(0,0,0,.05);

    color: #303f4a;

    font-size: 12px;

    line-height: 1.5;

    font-weight: 600;
}


.chv-inclusion-box li i {

    margin-top: 2px;

    color: #17864a;

    font-size: 9px;
}


.chv-exclusion-box li i {

    margin-top: 2px;

    color: var(--chv-orange);

    font-size: 9px;
}


/* =========================================================
   NOTE
========================================================= */

.chv-pdp-note {

    display: flex;

    align-items: flex-start;

    gap: 13px;

    padding: 18px 20px;

    margin-bottom: 22px;

    background: #eef6fb;

    border: 1px solid #d7e8f2;

    border-left: 3px solid var(--chv-blue);

    border-radius: 8px;
}


.chv-pdp-note-icon {

    color: var(--chv-blue);

    font-size: 18px;
}


.chv-pdp-note h3 {

    margin: 0 0 4px;

    color: var(--chv-deep);

    font-size: 12px;

    font-weight: 750;
}


.chv-pdp-note p {

    margin: 0;

    color: var(--chv-muted);

    font-size: 10px;

    line-height: 1.6;

    font-weight: 500;
}


/* =========================================================
   BOOKING BOX
========================================================= */

.chv-pdp-booking {

    position: sticky;

    top: 10px;

    overflow: hidden;

    background: #fff;

    border: 1px solid var(--chv-line);

    border-radius: 10px;

    box-shadow: 0 8px 28px rgba(2,47,85,.09);
}


.chv-booking-top {

    padding: 24px 23px 18px;

    background:
        linear-gradient(
            135deg,
            var(--chv-deep),
            var(--chv-blue)
        );
}


.chv-booking-top > span {

    color: rgba(255,255,255,.75);

    font-size: 12px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: .8px;
}


.chv-booking-price {

    display: flex;

    align-items: baseline;

    gap: 5px;

    margin-top: 4px;
}


.chv-booking-price strong {

    color: #fff;

    font-size: 31px;

    line-height: 1;

    font-weight: 800;
}


.chv-booking-price small {

    color: rgba(255,255,255,.8);

    font-size: 12px;

    font-weight: 600;
}


.chv-booking-top p {

    margin: 7px 0 0;

    color: rgba(255,255,255,.75);

    font-size: 12px;

    font-weight: 500;
}


/* =========================================================
   CTA
========================================================= */

.chv-booking-cta {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 8px;

    padding: 16px 18px 8px;
}


.chv-booking-call,
.chv-booking-whatsapp {

    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    border-radius: 5px;

    font-size: 11px;

    font-weight: 700;

    text-decoration: none;

    transition: .2s ease;
}


.chv-booking-call {

    color: #fff;

    background: var(--chv-blue);
}


.chv-booking-whatsapp {

    color: #fff;

    background: #1b9b58;
}


.chv-booking-call:hover,
.chv-booking-whatsapp:hover {

    color: #fff;

    transform: translateY(-2px);
}


.chv-booking-divider {

    position: relative;

    height: 25px;

    display: flex;

    align-items: center;

    justify-content: center;
}


.chv-booking-divider::before {

    content: "";

    position: absolute;

    left: 18px;
    right: 18px;

    height: 1px;

    background: var(--chv-line);
}


.chv-booking-divider span {

    position: relative;

    padding: 0 9px;

    color: #91a0aa;

    background: #fff;

    font-size: 8px;

    font-weight: 700;
}


/* =========================================================
   FORM
========================================================= */

.chv-booking-form {

    padding: 7px 18px 18px;
}


.chv-booking-form-heading {

    margin-bottom: 15px;
}


.chv-booking-form-heading > span {

    color: var(--chv-orange);

    font-size: 9px;

    font-weight: 750;

    text-transform: uppercase;

    letter-spacing: .7px;
}


.chv-booking-form-heading h3 {

    margin: 3px 0 4px;

    color: var(--chv-deep);

    font-size: 19px;

    font-weight: 750;
}


.chv-booking-form-heading p {

    margin: 0;

    color: var(--chv-muted);

    font-size: 10px;

    line-height: 1.5;

    font-weight: 500;
}


.chv-form-field {

    margin-bottom: 11px;
}


.chv-form-field label {

    display: block;

    margin-bottom: 5px;

    color: var(--chv-ink);

    font-size: 12px;

    font-weight: 700;
}


.chv-form-input {

    position: relative;
}


.chv-form-input > i {

    position: absolute;

    left: 11px;
    top: 50%;

    color: #8194a2;

    font-size: 10px;

    transform: translateY(-50%);
}


.chv-form-input input,
.chv-form-input select {

    width: 100%;

    height: 39px;

    padding: 0 10px 0 31px;

    color: var(--chv-ink);

    background: #f8fafc;

    border: 1px solid var(--chv-line);

    border-radius: 5px;

    outline: none;

    font-family: inherit;

    font-size: 12px;

    font-weight: 500;

    transition: .2s ease;
}


.chv-form-input input:focus,
.chv-form-input select:focus {

    background: #fff;

    border-color: var(--chv-orange);

    box-shadow: 0 0 0 2px rgba(246,115,12,.08);
}


.chv-form-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 8px;
}


.chv-booking-submit {

    width: 100%;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    margin-top: 5px;

    color: #fff;

    background: var(--chv-orange);

    border: 0;

    border-radius: 5px;

    font-family: inherit;

    font-size: 14px;

    font-weight: 750;

    cursor: pointer;

    transition: .25s ease;
}


.chv-booking-submit:hover {

    background: var(--chv-orange-dark);

    transform: translateY(-2px);
}


.chv-booking-submit i {

    font-size: 10px;
}


/* =========================================================
   TRUST
========================================================= */

.chv-booking-trust {

    display: grid;

    grid-template-columns: 1fr 1fr;

    padding: 12px 18px;

    border-top: 1px solid var(--chv-line);

    background: #f8fafc;
}


.chv-booking-trust div {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    color: var(--chv-muted);

    font-size: 12px;

    font-weight: 600;
}


.chv-booking-trust i {

    color: var(--chv-orange);

    font-size: 11px;
}


/* =========================================================
   RELATED
========================================================= */

.chv-related-heading {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;
}


.chv-related-nav {

    display: flex;

    gap: 6px;
}


.chv-related-nav button {

    width: 31px;
    height: 31px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--chv-blue);

    background: #fff;

    border: 1px solid var(--chv-line);

    border-radius: 5px;

    font-size: 9px;

    cursor: pointer;

    transition: .2s ease;
}


.chv-related-nav button:hover {

    color: #fff;

    background: var(--chv-orange);

    border-color: var(--chv-orange);
}


.chv-related-carousel {

    padding-bottom: 3px;
}


.chv-related-card {

    overflow: hidden;

    background: #fff;

    border: 1px solid var(--chv-line);

    border-radius: 8px;
}


.chv-related-image {

    position: relative;

    height: 145px;

    overflow: hidden;
}


.chv-related-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .4s ease;
}


.chv-related-card:hover img {

    transform: scale(1.05);
}


.chv-related-image > span {

    position: absolute;

    left: 9px;
    bottom: 9px;

    padding: 5px 7px;

    color: #fff;

    background: rgba(2,47,85,.88);

    border-radius: 3px;

    font-size: 8px;

    font-weight: 700;
}


.chv-related-body {

    padding: 13px;
}


.chv-related-body h3 {

    margin: 0 0 4px;

    color: var(--chv-deep);

    font-size: 13px;

    font-weight: 750;
}


.chv-related-body p {

    margin: 0 0 10px;

    color: var(--chv-muted);

    font-size: 9px;

    font-weight: 500;
}


.chv-related-body > div {

    display: flex;

    align-items: center;

    justify-content: space-between;
}


.chv-related-body strong {

    color: var(--chv-orange);

    font-size: 15px;

    font-weight: 800;
}


.chv-related-body a {

    color: var(--chv-blue);

    font-size: 9px;

    font-weight: 700;

    text-decoration: none;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199px) {

    .chv-pdp-quick-inner {

        gap: 12px;
    }

    .chv-pdp-quick-item {

        padding-right: 12px;
    }

}


@media (max-width: 991px) {

    .chv-pdp-hero {

        height: 400px;
    }


    .chv-pdp-quick-inner {

        display: grid;

        grid-template-columns: repeat(2, 1fr);

        padding: 15px 0;

        gap: 15px;
    }


    .chv-pdp-quick-item {

        border-right: 0;

        padding-right: 0;
    }


    .chv-pdp-quick-price {

        margin-left: 0;

        text-align: left;
    }


    .chv-pdp-main {

        padding-top: 30px;
    }


    .chv-pdp-booking {

        position: relative;

        top: auto;
    }

    .chv-booking-top{
        position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    z-index: 11;
    padding: 10px 10px 10px;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
    justify-content: center;
    }
    .chv-booking-price strong {
    color: #ff8500;
    font-size: 22px;
    line-height: 1;
    font-weight: 800;
}

.chv-booking-top p{
    margin: 0px 0 0;
}
   

}


@media (max-width: 767px) {

    .chv-pdp-hero {

        height: 380px;
    }


    .chv-pdp-hero-container {

        padding-bottom: 35px;
    }


    .chv-pdp-hero h1 {

        font-size: 30px;
    }


    .chv-pdp-hero-meta {

        gap: 10px;

        flex-direction: column;

        align-items: flex-start;
    }


    .chv-pdp-quick-inner {

        grid-template-columns: 1fr 1fr;
    }


    .chv-pdp-quick-item {

        padding: 5px 0;
    }


    .chv-pdp-quick-icon {

        width: 31px;
        height: 31px;

        flex-basis: 31px;

        font-size: 11px;
    }


    .chv-pdp-quick-item strong {

        font-size: 10px;
    }


    .chv-pdp-section {

        padding: 20px 15px;
        margin-top: 20px;
        border-radius: 7px;
    }

    .chv-itinerary-content {
    padding: 0 0 25px 5px;
}


    .chv-pdp-section-heading h2 {

        font-size: 21px;
    }


    .chv-pdp-highlights {

        grid-template-columns: repeat(2, 1fr);

        gap: 13px;
    }


   .chv-itinerary-day {
        grid-template-columns: 40px 10px 1fr;
    }


    .chv-itinerary-number {

        width: 35px;
        height: 35px;
    }


    .chv-itinerary-number strong {

        font-size: 13px;
    }


    .chv-itinerary-title h3 {

        font-size: 13px;
    }


    .chv-pdp-main {

        padding-bottom: 40px;
    }

}


@media (max-width: 480px) {

    .chv-pdp-quick-inner {

        grid-template-columns: 1fr;
    }


    .chv-pdp-quick-price {

        padding-top: 5px;

        border-top: 1px solid var(--chv-line);
    }


    .chv-pdp-hero {

        height: 390px;
    }


    .chv-pdp-hero h1 {

        font-size: 27px;
    }


    .chv-pdp-highlights {

        grid-template-columns: 1fr 1fr;
    }


    .chv-form-row {

        grid-template-columns: 1fr;
    }


    .chv-related-heading {

        align-items: flex-start;
    }

}
.inner-breadcum{
    background-color: #f5f8fb;
    padding: 10px 0px;
}

.flex-breadcum ul{
    margin-bottom: 0px;
    padding-left: 0px;
    list-style: none;
    
}

.flex-breadcum ul li{
   display: flex;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
}

.flex-breadcum ul li a{
    color: #02355e;
    
}

.flex-breadcum ul li span{
    color: var(--chv-orange);
}

.inner-package-name h1{
    font-size: 24px;
    font-weight: 700;
    color: var(--chv-ink);
}

.package-inner-content .chv-package-route{
    font-size: 14px;
}

.flex-duration-theme{
    display: flex;
    margin-top: 10px;
    gap: 15px;
}

.flex-duration-theme .duration-inner{
    border: 1px solid #d95d00 ;
    padding: 5px 10px;

}

.duration-icons span{
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    background-color: #fffcfa;
    color: #d95d00;
}

.duration-inner{
    display: flex;
    align-items: center;
    gap: 10px;

}

.duration-content h6{
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 0px;
}

.theme-inner{
    display: flex;
    font-size: 14px;
    font-weight: 500;
    background-color: #1d9b65;
    align-items: center;
    padding: 0px 10px;
    color: #fff;
}

.package-inner-content{
    margin-bottom: 20px;
}

/* =========================================
   CONFIRM HOLIDAYS - TOUR GALLERY
========================================= */

.chv-tour-gallery {
    padding: 70px 0 70px;
    background: #fffdf9;
}


/* Header */

.chv-gallery-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 38px;
}

.chv-gallery-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--chv-orange);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
    margin-bottom: 10px;
}

.chv-gallery-heading {
    margin: 0;
    color: var(--chv-deep);
    font-size: 42px;
    line-height: 1.15;
    font-weight: 750;
}

.chv-gallery-heading span {
    color: var(--chv-orange);
}

.chv-gallery-description {
    max-width: 420px;
    margin: 0;
    color: var(--chv-muted);
    font-size: 15px;
    line-height: 1.7;
}


/* Gallery */

.chv-gallery-row {
    align-items: stretch;
}

.chv-gallery-photo {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 14px;
    background: #e7edf2;
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(2, 47, 85, .07);
}

.chv-gallery-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .55s ease;
}

.chv-gallery-photo:hover img {
    transform: scale(1.08);
}


/* Overlay */

.chv-photo-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 18px;
    background:
        linear-gradient(
            to top,
            rgba(2, 47, 85, .85),
            rgba(2, 47, 85, 0) 60%
        );
    opacity: 0;
    transition: opacity .3s ease;
}

.chv-gallery-photo:hover .chv-photo-overlay {
    opacity: 1;
}

.chv-photo-overlay span {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}

.chv-photo-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--chv-orange);
    color: #fff;
    font-size: 14px;
    transform: translateY(10px);
    transition: transform .3s ease;
}

.chv-gallery-photo:hover .chv-photo-icon {
    transform: translateY(0);
}


/* =========================================
   LIGHTBOX
========================================= */

.chv-gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background: rgba(1, 18, 31, .96);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: opacity .3s ease,
                visibility .3s ease;
}

.chv-gallery-lightbox.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.chv-lightbox-image-wrap {
    position: relative;
    max-width: 1150px;
    width: 100%;
    text-align: center;
    display: contents;
}

.chv-lightbox-image-wrap img {
    max-width: 100%;
    max-height: 82vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 20px 70px rgba(0,0,0,.45);
}


/* Caption */

.chv-lightbox-caption {
    margin-top: 15px;
}

.chv-lightbox-caption span {
    color: #fff;
    font-size: 16px;
    font-weight: 650;
}


/* Close */

.chv-lightbox-close {
    position: fixed;
    top: 22px;
    right: 25px;

    width: 46px;
    height: 46px;

    border: 0;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,.12);
    color: #fff;

    font-size: 19px;
    cursor: pointer;

    transition: .25s ease;
}

.chv-lightbox-close:hover {
    background: var(--chv-orange);
}


/* Arrows */

.chv-lightbox-arrow {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);

    width: 50px;
    height: 50px;

    border: 0;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,.12);
    color: #fff;

    font-size: 17px;
    cursor: pointer;

    transition: .25s ease;
}

.chv-lightbox-arrow:hover {
    background: var(--chv-orange);
}

.chv-lightbox-prev {
    left: 25px;
}

.chv-lightbox-next {
    right: 25px;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .chv-tour-gallery {
        padding: 65px 0 70px;
    }

    .chv-gallery-header {
        display: block;
        margin-bottom: 30px;
    }

    .chv-gallery-description {
        margin-top: 15px;
    }

    .chv-gallery-photo {
        height: 270px;
    }

    .chv-photo-overlay {
        opacity: 1;
    }

    .chv-photo-icon {
        transform: none;
    }
}


@media (max-width: 767px) {

    .chv-tour-gallery {
        padding: 50px 0 60px;
    }

    .chv-gallery-heading {
        font-size: 28px;
    }

    .chv-gallery-description {
        font-size: 14px;
    }

    .chv-gallery-photo {
        height: 235px;
        border-radius: 11px;
    }

    .chv-gallery-lightbox {
        padding: 15px;
    }

    .chv-lightbox-arrow {
        width: 42px;
        height: 42px;
        top: auto;
        bottom: 25px;
        transform: none;
    }

    .chv-lightbox-prev {
        left: 25px;
    }

    .chv-lightbox-next {
        right: 25px;
    }

    .chv-lightbox-caption {
        margin-bottom: 70px;
    }

    .chv-lightbox-close {
        top: 15px;
        right: 15px;
    }
}

.chv-lightbox-caption{
    display: none;
}
/* =========================================
   CONFIRM HOLIDAYS - CONTACT PAGE
========================================= */

.chv-contact-page {
    padding: 60px 0 60px;
    background:#fffdf9;
}


/* =========================================
   PAGE HEADING
========================================= */

.chv-contact-heading {
    max-width: 760px;
    margin: 0 auto 45px;
}

.chv-contact-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: var(--chv-orange);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;

    margin-bottom: 12px;
}

.chv-contact-heading h1 {
    margin: 0;

    color: var(--chv-deep);
    font-size: clamp(34px, 4vw, 46px);
    line-height: 1.15;
    font-weight: 750;
}

.chv-contact-heading h1 span {
    color: var(--chv-orange);
}

.chv-contact-heading p {
    max-width: 650px;
    margin: 15px auto 0;

    color: var(--chv-muted);
    font-size: 16px;
    line-height: 1.7;
}


/* =========================================
   CONTACT INFORMATION
========================================= */

.chv-contact-info-card {
    height: 100%;
    padding: 35px;

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            var(--chv-deep),
            var(--chv-blue)
        );

    color: #fff;

    box-shadow: 0 15px 40px rgba(2, 47, 85, .14);

    overflow: hidden;
    position: relative;
}

.chv-contact-info-card::after {
    content: "";
    position: absolute;

    width: 230px;
    height: 230px;

    right: -100px;
    bottom: -100px;

    border-radius: 50%;

    border: 35px solid rgba(255,255,255,.04);
}


.chv-contact-card-head {
    margin-bottom: 32px;
}

.chv-contact-mini {
    display: block;

    margin-bottom: 9px;

    color: #ffae72;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.chv-contact-card-head h2 {
    margin: 0 0 12px;

    color: #fff;
    font-size: 29px;
    line-height: 1.25;
    font-weight: 700;
}

.chv-contact-card-head h2 span {
    color: #ff9a4a;
}

.chv-contact-card-head p {
    margin: 0;

    color: rgba(255,255,255,.72);
    font-size: 14px;
    line-height: 1.7;
}


/* Contact Details */

.chv-contact-detail {
    display: flex;
    align-items: flex-start;
    gap: 15px;

    padding: 18px 0;

    border-top: 1px solid rgba(255,255,255,.12);
}

.chv-contact-icon {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: rgba(246,115,12,.16);
    color: #ff9a4a;

    font-size: 15px;
}

.chv-contact-detail small {
    display: block;

    margin-bottom: 4px;

    color: rgba(255,255,255,.58);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.chv-contact-detail p,
.chv-contact-detail a {
    margin: 0;

    color: #fff;
    font-size: 14px;
    line-height: 1.6;

    text-decoration: none;
}

.chv-contact-detail a:hover {
    color: #ff9a4a;
}


/* Phone List */

.chv-contact-phone-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 14px;
}

.chv-contact-phone-list a {
    white-space: nowrap;
}


/* Quick CTA */

.chv-contact-quick {
    margin-top: 22px;
    padding: 16px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    border-radius: 12px;

    background: rgba(255,255,255,.08);
}

.chv-contact-quick strong {
    display: block;

    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

.chv-contact-quick span {
    display: block;

    margin-top: 3px;

    color: rgba(255,255,255,.58);
    font-size: 12px;
}

.chv-contact-quick > a {
    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--chv-orange);
    color: #fff;

    text-decoration: none;

    transition: .25s ease;
}

.chv-contact-quick > a:hover {
    background: var(--chv-orange-dark);
    transform: translateY(-2px);
}


/* =========================================
   ENQUIRY CARD
========================================= */

.chv-enquiry-card {
    height: 100%;

    padding: 35px;

    background: var(--chv-white);

    border: 1px solid var(--chv-line);
    border-radius: 18px;

    box-shadow: 0 10px 35px rgba(2,47,85,.06);
}


.chv-enquiry-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 28px;
}

.chv-enquiry-label {
    display: block;

    margin-bottom: 6px;

    color: var(--chv-orange);

    font-size: 11px;
    font-weight: 750;

    letter-spacing: .9px;
}

.chv-enquiry-top h2 {
    margin: 0;

    color: var(--chv-deep);

    font-size: 28px;
    font-weight: 700;
}

.chv-enquiry-top h2 span {
    color: var(--chv-orange);
}


.chv-enquiry-top-icon {
    flex: 0 0 48px;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: rgba(246,115,12,.1);
    color: var(--chv-orange);

    font-size: 19px;
}


/* =========================================
   FORM
========================================= */

.chv-enquiry-card label {
    display: block;

    margin-bottom: 7px;

    color: var(--chv-ink);

    font-size: 13px;
    font-weight: 650;
}


.chv-input-wrap,
.chv-textarea-wrap {
    position: relative;
}


.chv-input-wrap > i,
.chv-textarea-wrap > i {
    position: absolute;

    left: 15px;
    top: 50%;

    transform: translateY(-50%);

    color: #8a9aaa;

    font-size: 14px;

    pointer-events: none;
}


.chv-textarea-wrap > i {
    top: 17px;
    transform: none;
}


.chv-input-wrap input,
.chv-input-wrap select,
.chv-textarea-wrap textarea {

    width: 100%;

    border: 1px solid var(--chv-line);

    border-radius: 9px;

    background: #fbfcfd;

    color: var(--chv-ink);

    font-size: 14px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


.chv-input-wrap input,
.chv-input-wrap select {
    height: 48px;

    padding: 0 15px 0 43px;
}


.chv-textarea-wrap textarea {
    min-height: 115px;

    resize: vertical;

    padding: 14px 15px 14px 43px;
}


.chv-input-wrap input::placeholder,
.chv-textarea-wrap textarea::placeholder {
    color: #98a5b1;
}


.chv-input-wrap input:focus,
.chv-input-wrap select:focus,
.chv-textarea-wrap textarea:focus {
    border-color: var(--chv-orange);

    background: #fff;

    box-shadow: 0 0 0 3px rgba(246,115,12,.09);
}


/* Submit */

.chv-enquiry-submit {
    width: 100%;

    min-height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    border: 0;
    border-radius: 9px;

    background: var(--chv-orange);
    color: #fff;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background .25s ease,
        transform .25s ease;
}

.chv-enquiry-submit:hover {
    background: var(--chv-orange-dark);
    transform: translateY(-1px);
}


/* Note */

.chv-enquiry-note {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-top: 16px;

    color: var(--chv-muted);

    font-size: 11px;
    line-height: 1.5;
}

.chv-enquiry-note i {
    color: #3b9b67;
    font-size: 13px;
}


/* =========================================
   MAP SECTION
========================================= */

.chv-contact-map-section {
    margin-top: 55px;
}


.chv-map-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 22px;
}


.chv-map-heading > div > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-bottom: 7px;

    color: var(--chv-orange);

    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .7px;
}


.chv-map-heading h2 {
    margin: 0;

    color: var(--chv-deep);

    font-size: 30px;
    font-weight: 700;
}


.chv-map-heading h2 strong {
    color: var(--chv-orange);
}


.chv-map-heading p {
    max-width: 430px;

    margin: 0;

    color: var(--chv-muted);

    font-size: 14px;
    line-height: 1.65;
}


.chv-map-box {
    overflow: hidden;

    height: 400px;

    border: 1px solid var(--chv-line);
    border-radius: 16px;

    background: #e9eef2;

    box-shadow: 0 10px 30px rgba(2,47,85,.07);
}


.chv-map-box iframe {
    width: 100%;
    height: 100%;

    display: block;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .chv-contact-page {
        padding: 65px 0 75px;
    }

    .chv-contact-heading {
        margin-bottom: 35px;
    }

    .chv-contact-info-card,
    .chv-enquiry-card {
        height: auto;
    }

    .chv-map-heading {
        display: block;
    }

    .chv-map-heading p {
        margin-top: 10px;
    }
}


@media (max-width: 767px) {

    .chv-contact-page {
        padding: 50px 0 60px;
    }

    .chv-contact-heading h1 {
        font-size: 28px;
    }

    .chv-contact-heading p {
        font-size: 14px;
    }

    .chv-contact-info-card,
    .chv-enquiry-card {
        padding: 25px 20px;
        border-radius: 14px;
    }

    .chv-contact-card-head h2 {
        font-size: 25px;
    }

    .chv-enquiry-top h2 {
        font-size: 22px;
    }

    .chv-contact-phone-list {
        display: block;
    }

    .chv-contact-phone-list a {
        display: block;
        margin-bottom: 3px;
    }

    .chv-map-heading h2 {
        font-size: 27px;
    }

    .chv-map-box {
        height: 330px;
        border-radius: 12px;
    }

    .flex-breadcum ul li {
        font-size: 12px;
        gap: 5px;
        flex-wrap: wrap;
    }

    .inner-package-name h1 {
        font-size: 20px;
    }
    .package-inner-content .chv-package-route {
        font-size: 12px;
    }
    .duration-content h6{
        font-size: 12px;
    }

    .duration-icons span {
        font-size: 12px;
        width: 20px;
        height: 20px;
    }

    .theme-inner{
        font-size: 12px;
    }
}


/* =========================================
   CONFIRM HOLIDAYS - ABOUT PORTAL
========================================= */

.chv-about-portal {
    padding: 60px 0 60px;
    background: var(--chv-bg);
}


/* =========================================
   CONFIRM HOLIDAYS
   PROFESSIONAL ABOUT INTRO
========================================= */

.chv-about-intro {
    padding: 78px 0 82px;
    background: var(--chv-white);
}


/* Top Section */

.chv-about-intro-head {
    padding-bottom: 38px;
    border-bottom: 1px solid var(--chv-line);
}


/* Label */

.chv-about-label {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 24px;

    color: var(--chv-orange);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .35px;
    text-transform: uppercase;
}

.chv-about-label span {
    width: 28px;
    height: 2px;
    background: var(--chv-orange);
}


/* Main Heading */

.chv-about-intro-title {
    max-width: 650px;
    margin: 0;

    color: var(--chv-deep);
    font-size: 38px;
    line-height: 1.18;
    font-weight: 700;
    letter-spacing: -.7px;
}

.chv-about-intro-title strong {
    display: block;

    color: var(--chv-blue);
    font-weight: 700;
}


/* Summary */

.chv-about-intro-summary {
    max-width: 440px;
    margin: 0 0 4px auto;

    color: var(--chv-muted);
    font-size: 16px;
    line-height: 1.75;
    font-weight: 500;
}


/* =========================================
   MAIN CONTENT
========================================= */

.chv-about-intro-content {
    padding: 50px 0 0;
}


/* Story */

.chv-about-story {
    display: flex;
    gap: 28px;

    padding: 0 50px 0 0;
}

.chv-about-story-number {
    flex: 0 0 auto;

    padding-top: 4px;

    color: var(--chv-orange);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .5px;
}


.chv-about-story h3 {
    margin: 0 0 18px;

    color: var(--chv-ink);
    font-size: 25px;
    line-height: 1.35;
    font-weight: 700;
}


.chv-about-story p {
    margin: 0 0 14px;

    color: var(--chv-muted);
    font-size: 15px;
    line-height: 1.78;
    font-weight: 500;
}

.chv-about-story p:last-child {
    margin-bottom: 0;
}


/* =========================================
   RIGHT INFORMATION
========================================= */

.chv-about-focus {
    padding-left: 38px;
    border-left: 1px solid var(--chv-line);
}


.chv-about-focus-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;

    padding: 0 0 22px;
    margin-bottom: 22px;

    border-bottom: 1px solid var(--chv-line);
}

.chv-about-focus-item:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}


.chv-about-focus-item > i {
    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 7px;

    background: rgba(3, 76, 135, .07);
    color: var(--chv-blue);

    font-size: 15px;
}


.chv-about-focus-item strong {
    display: block;

    margin-bottom: 4px;

    color: var(--chv-ink);
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
}


.chv-about-focus-item span {
    display: block;

    color: var(--chv-muted);
    font-size: 13px;
    line-height: 1.55;
    font-weight: 500;
}


/* =========================================
   BOTTOM CTA
========================================= */

.chv-about-intro-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    margin-top: 52px;
    padding: 25px 28px;

    background: var(--chv-bg);
    border: 1px solid var(--chv-line);
    border-radius: 8px;
}


.chv-about-intro-footer span {
    display: block;

    margin-bottom: 3px;

    color: var(--chv-muted);
    font-size: 12px;
    font-weight: 600;
}


.chv-about-intro-footer strong {
    color: var(--chv-ink);
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
}


/* CTA Button */

.chv-about-intro-btn {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    gap: 11px;

    min-height: 44px;
    padding: 0 20px;

    border-radius: 6px;

    background: var(--chv-orange);
    color: var(--chv-white);

    font-size: 13px;
    font-weight: 700;
    text-decoration: none;

    transition: .25s ease;
}

.chv-about-intro-btn:hover {
    background: var(--chv-orange-dark);
    color: var(--chv-white);
}

.chv-about-intro-btn i {
    font-size: 11px;
    transition: .25s ease;
}

.chv-about-intro-btn:hover i {
    transform: translateX(3px);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .chv-about-intro {
        padding: 65px 0 70px;
    }

    .chv-about-intro-title {
        font-size: 36px;
    }

    .chv-about-intro-summary {
        max-width: none;
        margin: 25px 0 0;
    }

    .chv-about-story {
        padding-right: 0;
    }

    .chv-about-focus {
        margin-top: 45px;
        padding-left: 0;
        padding-top: 35px;

        border-left: 0;
        border-top: 1px solid var(--chv-line);
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .chv-about-intro {
        padding: 52px 0 58px;
    }

    .chv-about-intro-head {
        padding-bottom: 25px;
    }

    .chv-about-label {
        margin-bottom: 18px;
        font-size: 12px;
    }

    .chv-about-intro-title {
        font-size: 30px;
        line-height: 1.25;
        letter-spacing: -.3px;
    }

    .chv-about-intro-summary {
        margin-top: 20px;
        font-size: 15px;
        line-height: 1.7;
    }

    .chv-about-intro-content {
        padding-top: 25px;
    }

    .chv-about-story {
        gap: 17px;
    }

    .chv-about-story h3 {
        font-size: 21px;
    }

    .chv-about-story p {
        font-size: 14px;
        line-height: 1.7;
    }

    .chv-about-focus {
        margin-top: 25px;
        padding-top: 30px;
    }

    .chv-about-intro-footer {
        align-items: flex-start;
        flex-direction: column;

        margin-top: 38px;
        padding: 22px;
    }

    .chv-about-intro-btn {
        width: 100%;
        justify-content: center;
    }

}


/* =========================================
   ABOUT VISUAL
========================================= */

.chv-about-visual {
    position: relative;

    min-height: 510px;

    padding: 20px 25px 35px 55px;
}

.chv-about-main-image {
    height: 430px;

    overflow: hidden;

    border-radius: 20px;

    box-shadow: 0 18px 45px rgba(2,47,85,.15);
}

.chv-about-main-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


.chv-about-small-image {
    position: absolute;

    left: 0;
    bottom: 5px;

    width: 205px;
    height: 185px;

    padding: 7px;

    background: #fff;

    border-radius: 15px;

    box-shadow: 0 15px 35px rgba(2,47,85,.18);
}

.chv-about-small-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    border-radius: 10px;
}


/* Experience */

.chv-about-experience {
    position: absolute;

    right: 0;
    top: 70px;

    display: flex;
    align-items: center;
    gap: 11px;

    padding: 12px 15px;

    background: #fff;

    border-radius: 12px;

    box-shadow: 0 12px 30px rgba(2,47,85,.13);
}

.chv-about-experience-icon {
    width: 39px;
    height: 39px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: rgba(246,115,12,.1);
    color: var(--chv-orange);
}

.chv-about-experience strong,
.chv-about-experience span {
    display: block;
}

.chv-about-experience strong {
    color: var(--chv-deep);
    font-size: 12px;
    font-weight: 750;
}

.chv-about-experience span {
    margin-top: 2px;
    color: var(--chv-muted);
    font-size: 10px;
}


/* Decorative */

.chv-about-orbit {
    position: absolute;

    right: -25px;
    bottom: 0;

    width: 115px;
    height: 115px;

    border: 22px solid rgba(246,115,12,.1);

    border-radius: 50%;

    z-index: -1;
}


/* =========================================
   STATS
========================================= */

.chv-about-stats {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid var(--chv-line);
    border-bottom: 1px solid var(--chv-line);

    padding: 25px 0;

    margin-bottom: 90px;
}

.chv-about-stat {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    border-right: 1px solid var(--chv-line);
}

.chv-about-stat:last-child {
    border-right: 0;
}

.chv-stat-icon {
    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: rgba(3,76,135,.07);
    color: var(--chv-blue);

    font-size: 15px;
}

.chv-about-stat strong,
.chv-about-stat span {
    display: block;
}

.chv-about-stat strong {
    color: var(--chv-deep);

    font-size: 22px;
    line-height: 1;

    font-weight: 750;
}

.chv-about-stat span {
    margin-top: 4px;

    color: var(--chv-muted);

    font-size: 11px;
}


/* =========================================
   SECTION COMMON
========================================= */

.chv-section-label {
    display: block;

    margin-bottom: 9px;

    color: var(--chv-orange);

    font-size: 12px;
    font-weight: 750;

    text-transform: uppercase;
    letter-spacing: .9px;
}

.chv-section-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 40px;

    margin-bottom: 35px;
}

.chv-section-intro h2,
.chv-destination-heading h2 {
    max-width: 600px;

    margin: 0;

    color: var(--chv-deep);

    font-size: 35px;
    line-height: 1.2;

    font-weight: 750;
}

.chv-section-intro h2 span,
.chv-destination-heading h2 span {
    color: var(--chv-orange);
}

.chv-section-intro > p {
    max-width: 430px;

    margin: 0;

    color: var(--chv-muted);

    font-size: 14px;
    line-height: 1.75;
}


/* =========================================
   APPROACH
========================================= */

.chv-about-approach {
    margin-bottom: 95px;
}

.chv-approach-card {
    position: relative;
    height: 100%;
    padding: 30px;

    border: 1px solid var(--chv-line);
    border-radius: 15px;

    background: #fff;

    overflow: hidden;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.chv-approach-card:hover {
    transform: translateY(-6px);

    border-color: rgba(3,76,135,.18);

    box-shadow: 0 15px 35px rgba(2,47,85,.09);
}


.chv-approach-number {
    position: absolute;

    top: 18px;
    right: 23px;

    color: #e9eff4;

    font-size: 45px;
    line-height: 1;

    font-weight: 800;
}

.chv-approach-icon {
    width: 53px;
    height: 53px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    border-radius: 13px;

    background: var(--chv-deep);
    color: #fff;

    font-size: 18px;
}

.chv-approach-card h3 {
    margin: 0 0 11px;

    color: var(--chv-deep);

    font-size: 18px;
    font-weight: 700;
}

.chv-approach-card p {
    margin: 0;

    color: var(--chv-muted);

    font-size: 13px;
    line-height: 1.7;
}

.chv-approach-line {
    position: absolute;

    left: 30px;
    bottom: 0;

    width: 48px;
    height: 3px;

    background: var(--chv-orange);
}


/* =========================================
   BENEFITS
========================================= */

.chv-about-benefits {
    padding: 65px 55px;

    margin-bottom: 0px;

    border-radius: 20px;

    background: #fff;

    border: 1px solid var(--chv-line);
}


.chv-benefits-title {
    max-width: 430px;

    margin: 0 0 17px;

    color: var(--chv-deep);

    font-size: 35px;
    line-height: 1.2;

    font-weight: 750;
}

.chv-benefits-title span {
    display: block;
    color: var(--chv-orange);
}

.chv-benefits-intro {
    max-width: 440px;

    margin: 0;

    color: var(--chv-muted);

    font-size: 14px;
    line-height: 1.75;
}


.chv-benefits-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-top: 25px;

    color: var(--chv-blue);

    font-size: 13px;
    font-weight: 700;

    text-decoration: none;
}

.chv-benefits-link:hover {
    color: var(--chv-orange);
}


.chv-benefits-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 25px;
}

.chv-benefit-item {
    display: flex;
    align-items: flex-start;

    gap: 13px;

    padding-bottom: 20px;

    border-bottom: 1px solid var(--chv-line);
}

.chv-benefit-icon {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: rgba(246,115,12,.09);
    color: var(--chv-orange);

    font-size: 14px;
}

.chv-benefit-item h3 {
    margin: 0 0 5px;

    color: var(--chv-deep);

    font-size: 15px;
    font-weight: 700;
}

.chv-benefit-item p {
    margin: 0;

    color: var(--chv-muted);

    font-size: 12px;
    line-height: 1.65;
}


/* =========================================
   DESTINATIONS
========================================= */

.chv-about-destinations {
    margin-bottom: 80px;
}

.chv-destination-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 40px;

    margin-bottom: 30px;
}

.chv-destination-heading > p {
    max-width: 420px;

    margin: 0;

    color: var(--chv-muted);

    font-size: 14px;
    line-height: 1.7;
}


.chv-destination-strip {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 18px;
}

.chv-destination-card {
    position: relative;

    height: 300px;

    overflow: hidden;

    border-radius: 16px;
}

.chv-destination-card img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .6s ease;
}

.chv-destination-card:hover img {
    transform: scale(1.06);
}

.chv-destination-card::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(2,47,85,.9),
            rgba(2,47,85,0) 65%
        );
}

.chv-destination-content {
    position: absolute;

    left: 25px;
    right: 25px;
    bottom: 22px;

    z-index: 2;

    color: #fff;
}

.chv-destination-content span {
    color: #ffae72;

    font-size: 11px;
    font-weight: 750;
}

.chv-destination-content h3 {
    margin: 4px 0 3px;

    color: #fff;

    font-size: 22px;
    font-weight: 700;
}

.chv-destination-content p {
    margin: 0;

    color: rgba(255,255,255,.72);

    font-size: 12px;
}


/* =========================================
   FINAL CTA
========================================= */

.chv-about-cta {
    position: relative;

    display: flex;
    align-items: center;

    gap: 20px;

    padding: 30px 35px;

    overflow: hidden;

    border-radius: 17px;

    background:
        linear-gradient(
            100deg,
            var(--chv-deep),
            var(--chv-blue)
        );
}

.chv-about-cta::after {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    right: 100px;
    top: -100px;

    border: 35px solid rgba(255,255,255,.04);

    border-radius: 50%;
}

.chv-cta-icon {
    flex: 0 0 55px;

    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: var(--chv-orange);

    color: #fff;

    font-size: 20px;
}

.chv-cta-content {
    flex: 1;
}

.chv-cta-content > span {
    color: #ffae72;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .9px;
}

.chv-cta-content h2 {
    margin: 3px 0 3px;

    color: #fff;

    font-size: 23px;
    font-weight: 700;
}

.chv-cta-content p {
    margin: 0;

    color: rgba(255,255,255,.65);

    font-size: 12px;
}

.chv-cta-button {
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 13px 18px;

    white-space: nowrap;

    border-radius: 8px;

    background: #fff;
    color: var(--chv-deep);

    font-size: 13px;
    font-weight: 700;

    text-decoration: none;

    transition: .25s ease;
}

.chv-cta-button:hover {
    background: var(--chv-orange);
    color: #fff;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .chv-about-portal {
        padding: 65px 0 75px;
    }

    .chv-about-visual {
        margin-top: 20px;
    }

    .chv-about-stats {
        margin-bottom: 70px;
    }

    .chv-section-intro,
    .chv-destination-heading {
        display: block;
    }

    .chv-section-intro > p,
    .chv-destination-heading > p {
        margin-top: 15px;
    }

    .chv-about-benefits {
        padding: 45px 35px;
    }

    .chv-about-cta {
        flex-wrap: wrap;
    }
}


@media (max-width: 767px) {

    .chv-about-portal {
        padding: 50px 0 50px;
    }

    .chv-about-intro {
        padding-bottom: 50px;
    }

    .chv-about-title {
        font-size: 35px;
    }

    .chv-about-lead {
        font-size: 15px;
    }

    .chv-about-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }

    .chv-about-visual {
        min-height: 400px;
        padding: 15px 10px 35px 25px;
    }

    .chv-about-main-image {
        height: 340px;
    }

    .chv-about-small-image {
        width: 150px;
        height: 140px;
    }

    .chv-about-experience {
        top: 45px;
        right: -5px;
    }

    .chv-about-stats {
        grid-template-columns: 1fr 1fr;
        gap: 0;
        margin-bottom: 60px;
    }

    .chv-about-stat {
        justify-content: flex-start;
        padding: 17px 10px;
        border-bottom: 1px solid var(--chv-line);
    }

    .chv-about-stat:nth-child(2) {
        border-right: 0;
    }

    .chv-about-stat:nth-child(3) {
        border-bottom: 0;
    }

    .chv-about-stat:nth-child(4) {
        border-right: 0;
        border-bottom: 0;
    }

    .chv-section-intro h2,
    .chv-destination-heading h2,
    .chv-benefits-title {
        font-size: 28px;
    }

    .chv-about-approach {
        margin-bottom: 65px;
    }

    .chv-about-benefits {
        padding: 35px 20px;
        margin-bottom: 65px;
    }

    .chv-benefits-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 30px;
    }

    .chv-destination-strip {
        grid-template-columns: 1fr;
    }

    .chv-destination-card {
        height: 245px;
    }

    .chv-about-cta {
        padding: 25px 20px;
    }

    .chv-cta-content h2 {
        font-size: 20px;
    }

    .chv-cta-button {
        width: 100%;
        justify-content: center;
    }

    .chv-logo{
      width: 190px;
    }

    .chv-mobile-logo img{
      width: 190px;
    }

    .chv-heading-row h1 {
        font-size: 29px;
    }

}

.mobile-link {
        display: block;
    padding: 5px;
    background: #f8faff;
    font-weight: 500;
    margin-bottom: 10px;
}

.mobile-link:hover{
    background-color: #d95d00;
    color: #fff;
}
.chv-mobile-call{
 margin-top: 10px;
}

.chv-mobile-call strong{
    color: #ff7c00;
    margin-left: 10px;
}


 /* =========================================
           CONFIRM HOLIDAYS
           POLICY PAGES
        ========================================= */

        .chv-policy-page {
            padding: 70px 0 90px;
            background: var(--chv-bg);
        }

        .chv-policy-header {
            margin-bottom: 42px;
        }

        .chv-policy-label {
            display: flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 14px;

            color: var(--chv-orange);
            font-size: 13px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .4px;
        }

        .chv-policy-label span {
            width: 28px;
            height: 2px;
            background: var(--chv-orange);
        }

        .chv-policy-title {
            margin: 0 0 12px;

            color: var(--chv-deep);
            font-size: 38px;
            line-height: 1.2;
            font-weight: 700;
            letter-spacing: -.5px;
        }

        .chv-policy-intro {
            max-width: 780px;
            margin: 0;

            color: var(--chv-muted);
            font-size: 15px;
            line-height: 1.75;
            font-weight: 500;
        }


        /* Layout */

        .chv-policy-layout {
            display: grid;
            grid-template-columns: 250px minmax(0, 1fr);
            gap: 32px;
            align-items: start;
        }


        /* Side Navigation */

        .chv-policy-nav {
            position: sticky;
            top: 25px;

            padding: 20px;

            background: var(--chv-white);
            border: 1px solid var(--chv-line);
            border-radius: 8px;
        }

        .chv-policy-nav-title {
            margin-bottom: 13px;

            color: var(--chv-ink);
            font-size: 13px;
            font-weight: 700;
        }

        .chv-policy-nav a {
            display: flex;
            align-items: center;
            gap: 9px;

            padding: 9px 10px;
            margin-bottom: 3px;

            border-radius: 5px;

            color: var(--chv-muted);
            font-size: 13px;
            font-weight: 600;
            text-decoration: none;

            transition: .2s ease;
        }

        .chv-policy-nav a i {
            width: 15px;
            color: var(--chv-orange);
            font-size: 11px;
        }

        .chv-policy-nav a:hover {
            background: rgba(3, 76, 135, .06);
            color: var(--chv-blue);
        }


        /* Content */

        .chv-policy-content {
            padding: 38px 42px;

            background: var(--chv-white);
            border: 1px solid var(--chv-line);
            border-radius: 8px;
        }

        .chv-policy-section {
            padding-bottom: 28px;
            margin-bottom: 28px;

            border-bottom: 1px solid var(--chv-line);
        }

        .chv-policy-section:last-child {
            padding-bottom: 0;
            margin-bottom: 0;
            border-bottom: 0;
        }

        .chv-policy-section h2 {
            margin: 0 0 13px;

            color: var(--chv-deep);
            font-size: 21px;
            line-height: 1.4;
            font-weight: 700;
        }

        .chv-policy-section h3 {
            margin: 20px 0 8px;

            color: var(--chv-ink);
            font-size: 16px;
            font-weight: 700;
        }

        .chv-policy-section p {
            margin: 0 0 12px;

            color: var(--chv-muted);
            font-size: 14px;
            line-height: 1.8;
            font-weight: 500;
        }

        .chv-policy-section p:last-child {
            margin-bottom: 0;
        }

        .chv-policy-section ul {
            padding-left: 20px;
            margin: 10px 0 0;
        }

        .chv-policy-section li {
            margin-bottom: 8px;

            color: var(--chv-muted);
            font-size: 14px;
            line-height: 1.7;
            font-weight: 500;
        }

        .chv-policy-section li::marker {
            color: var(--chv-orange);
        }


        /* Contact Box */

        .chv-policy-contact {
            margin-top: 30px;
            padding: 22px 24px;

            background: var(--chv-bg);
            border: 1px solid var(--chv-line);
            border-left: 3px solid var(--chv-orange);
            border-radius: 6px;
        }

        .chv-policy-contact strong {
            display: block;
            margin-bottom: 7px;

            color: var(--chv-ink);
            font-size: 15px;
            font-weight: 700;
        }

        .chv-policy-contact p {
            margin: 0;

            color: var(--chv-muted);
            font-size: 14px;
            line-height: 1.7;
        }

        .chv-policy-contact a {
            color: var(--chv-blue);
            font-weight: 600;
            text-decoration: none;
        }


        /* Responsive */

        @media (max-width: 991px) {

            .chv-policy-layout {
                grid-template-columns: 1fr;
            }

            .chv-policy-nav {
                position: static;
            }

            .chv-policy-nav-links {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
            }

        }


        @media (max-width: 767px) {

            .chv-policy-page {
                padding: 50px 0 65px;
            }

            .chv-policy-title {
                font-size: 30px;
            }

            .chv-policy-layout {
                gap: 20px;
            }

            .chv-policy-content {
                padding: 25px 20px;
            }

            .chv-policy-section h2 {
                font-size: 19px;
            }

            .chv-policy-nav-links {
                grid-template-columns: 1fr;
            }

        }

        /* =========================================
   CONFIRM HOLIDAYS
   ENQUIRY POPUP
========================================= */

.chv-enquiry-modal {
    --chv-popup-radius: 18px;
}


/* Dialog */

.chv-enquiry-dialog {
    max-width: 850px;
    padding: 15px;
}


/* Main Box */

.chv-enquiry-box {
    position: relative;

    overflow: hidden;

    border: 0;
    border-radius: var(--chv-popup-radius);

    background: var(--chv-white);

    box-shadow: 0 25px 70px rgba(2, 47, 85, .25);
}


/* =========================================
   CLOSE BUTTON
========================================= */

.chv-enquiry-close {
    position: absolute;
    top: 14px;
    right: 14px;

    z-index: 10;

    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, .9);
    color: var(--chv-ink);

    font-size: 14px;

    box-shadow: 0 4px 15px rgba(0, 0, 0, .08);

    transition: .2s ease;
}

.chv-enquiry-close:hover {
    background: var(--chv-orange);
    color: var(--chv-white);
    transform: rotate(90deg);
}


/* =========================================
   LEFT PANEL
========================================= */

.chv-enquiry-left {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 30px 30px;
    overflow: hidden;
    background: linear-gradient(145deg, var(--chv-deep) 0%, var(--chv-blue) 100%);
}


/* Decorative Shapes */

.chv-enquiry-left::before {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    right: -120px;
    top: -120px;

    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.chv-enquiry-left::after {
    content: "";

    position: absolute;

    width: 190px;
    height: 190px;

    left: -100px;
    bottom: -100px;

    border: 1px solid rgba(246,115,12,.22);
    border-radius: 50%;
}


.chv-enquiry-left-content {
    position: relative;
    z-index: 2;

    width: 100%;
}


/* Kicker */

.chv-enquiry-kicker {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 17px;

    color: #fff;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .7px;
    text-transform: uppercase;
}

.chv-enquiry-kicker span {
    width: 22px;
    height: 2px;

    background: var(--chv-orange);
}


/* Heading */

.chv-enquiry-left h3 {
    max-width: 390px;

    margin: 0 0 13px;

    color: var(--chv-white);

    font-size: 31px;
    line-height: 1.2;
    font-weight: 700;

    letter-spacing: -.4px;
}

.chv-enquiry-left h3 strong {
    display: inline;
    color: var(--chv-orange);
    font-weight: 700;
}


/* Intro */

.chv-enquiry-left-intro {
    max-width: 390px;

    margin: 0;

    color: rgba(255,255,255,.78);

    font-size: 14px;
    line-height: 1.7;
    font-weight: 500;
}


/* =========================================
   ILLUSTRATION
========================================= */

.chv-enquiry-illustration {
    position: relative;

    width: 245px;
    height: 135px;

    margin: 27px auto 24px;
}


/* Circle */

.chv-enquiry-illustration-circle {
    position: absolute;

    left: 50%;
    top: 8px;

    transform: translateX(-50%);

    width: 112px;
    height: 112px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,.10);

    color: rgba(255,255,255,.85);

    font-size: 55px;
}


/* Plane */

.chv-enquiry-illustration-plane {
    position: absolute;

    right: 27px;
    top: 5px;

    width: 35px;
    height: 35px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--chv-orange);
    color: var(--chv-white);

    font-size: 14px;

    transform: rotate(-15deg);
}


/* Small Card */

.chv-enquiry-illustration-card {
    position: absolute;

    left: 50%;
    bottom: 0;

    transform: translateX(-50%);

    display: flex;
    align-items: center;
    gap: 10px;

    width: 215px;

    padding: 10px 13px;

    border-radius: 8px;

    background: rgba(255,255,255,.96);

    color: var(--chv-ink);

    box-shadow: 0 10px 25px rgba(0,0,0,.15);
}

.chv-enquiry-illustration-card > i {
    width: 31px;
    height: 31px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 6px;

    background: rgba(246,115,12,.12);
    color: var(--chv-orange);

    font-size: 13px;
}

.chv-enquiry-illustration-card span {
    font-size: 10px;
    line-height: 1.45;
    font-weight: 600;
}

.chv-enquiry-illustration-card strong {
    display: block;
    color: var(--chv-blue);
    font-size: 11px;
}


/* Benefit Text */

.chv-enquiry-benefit-text {
    max-width: 370px;

    margin: 0 auto 19px;

    color: rgba(255,255,255,.78);

    font-size: 12px;
    line-height: 1.6;
    text-align: center;
    font-weight: 500;
}


/* Trust */

.chv-enquiry-trust {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-top: 20px!important;
    max-width: 310px;
    margin-left: 0px;
}

.chv-enquiry-trust-item {
    display: flex;
    align-items: center;
    gap: 9px;

    color: rgba(255,255,255,.9);

    font-size: 14px;
    font-weight: 600;
}

.chv-enquiry-trust-item i {
    color: var(--chv-orange);
    font-size: 12px;
}


/* =========================================
   RIGHT PANEL
========================================= */

.chv-enquiry-right {

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 48px 42px;

    background: var(--chv-white);
}


/* Form Heading */

.chv-enquiry-form-head {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 25px;
}

.chv-enquiry-form-head > span {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: rgba(3,76,135,.08);
    color: var(--chv-blue);

    font-size: 16px;
}

.chv-enquiry-form-head h4 {
    margin: 0 0 3px;

    color: var(--chv-ink);

    font-size: 20px;
    font-weight: 700;
}

.chv-enquiry-form-head p {
    margin: 0;

    color: var(--chv-muted);

    font-size: 11px;
    line-height: 1.5;
    font-weight: 500;
}


/* Fields */

.chv-enquiry-field {
    margin-bottom: 14px;
}

.chv-enquiry-field label {
    display: block;

    margin-bottom: 6px;

    color: var(--chv-ink);

    font-size: 11px;
    font-weight: 700;
}


/* Input */

.chv-enquiry-input {
    display: flex;
    align-items: center;

    height: 46px;

    border: 1px solid var(--chv-line);
    border-radius: 6px;

    background: #fff;

    transition: .2s ease;
}

.chv-enquiry-input:focus-within {
    border-color: var(--chv-blue);

    box-shadow: 0 0 0 3px rgba(3,76,135,.07);
}

.chv-enquiry-input > i {
    width: 42px;

    flex: 0 0 42px;

    text-align: center;

    color: var(--chv-muted);

    font-size: 13px;
}

.chv-enquiry-input input {
    width: 100%;
    height: 100%;

    padding: 0 12px 0 0;

    border: 0;
    outline: 0;

    background: transparent;

    color: var(--chv-ink);

    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
}

.chv-enquiry-input input::placeholder {
    color: #9aa8b3;
}


/* Phone */

.chv-enquiry-country {
    height: 28px;

    display: flex;
    align-items: center;
    gap: 6px;

    padding: 0 11px;

    border-right: 1px solid var(--chv-line);

    color: var(--chv-ink);

    font-size: 11px;
}

.chv-enquiry-country b {
    font-weight: 600;
}


/* Submit */

.chv-enquiry-submit {
    width: 100%;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    margin-top: 5px;

    border: 0;
    border-radius: 6px;

    background: var(--chv-orange);
    color: var(--chv-white);

    font-family: inherit;
    font-size: 13px;
    font-weight: 700;

    box-shadow: 0 8px 20px rgba(246,115,12,.22);

    transition: .25s ease;
}

.chv-enquiry-submit:hover {
    background: var(--chv-orange-dark);

    transform: translateY(-1px);

    box-shadow: 0 10px 24px rgba(246,115,12,.28);
}

.chv-enquiry-submit i {
    font-size: 11px;
    transition: .2s ease;
}

.chv-enquiry-submit:hover i {
    transform: translateX(3px);
}


/* Security Note */

.chv-enquiry-note {
    display: flex;
    align-items: flex-start;
    gap: 7px;

    margin-top: 13px;

    color: var(--chv-muted);

    font-size: 10px;
    line-height: 1.55;
    font-weight: 500;
}

.chv-enquiry-note i {
    padding-top: 2px;
    color: var(--chv-blue);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px) {

    .chv-enquiry-dialog {
        max-width: 520px;
    }

    .chv-enquiry-left {
        min-height: auto;
        padding: 38px 30px 30px;
    }

    .chv-enquiry-left h3 {
        font-size: 27px;
    }

    .chv-enquiry-illustration {
        margin-top: 22px;
        margin-bottom: 18px;
    }

    .chv-enquiry-right {
        min-height: auto;
        padding: 35px 30px 38px;
    }

}


@media (max-width: 575px) {

    .chv-enquiry-dialog {
        margin: 10px auto;
        padding: 8px;
    }

    .chv-enquiry-left {
        padding: 32px 24px 27px;
    }

    .chv-enquiry-left h3 {
        font-size: 25px;
    }

    .chv-enquiry-right {
        padding: 30px 24px 32px;
    }

    .chv-enquiry-close {
        top: 10px;
        right: 10px;
    }

}




.chv-popup-image-slider {
    width: 100%;
    overflow: hidden;
    background: #eee;
    border-radius: 15px;
}

.chv-popup-image-slider .carousel,
.chv-popup-image-slider .carousel-inner,
.chv-popup-image-slider .carousel-item {
    width: 100%;
    height: 100%;
}

.chv-popup-image-slider .carousel-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 15px;
    overflow: hidden;
}


/* =========================================
   FIXED FLOATING CONTACT
========================================= */

.chv-floating-contact {
    position: fixed;

    right: 20px;
    bottom: 25px;

    z-index: 999;

    width: 165px;
    height: 115px;
}


/* Each button independently positioned */

.chv-float-action {
    position: absolute;

    right: 0;

    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;

    padding: 5px;

    overflow: hidden;

    border-radius: 30px;

    text-decoration: none;

    box-sizing: border-box;

    transition:
        width .3s ease,
        box-shadow .3s ease,
        transform .25s ease;
}


/* Individual positions */

.chv-float-whatsapp {
    top: 0;
}

.chv-float-call {
    bottom: 0;
}


/* =========================================
   ICON
========================================= */

.chv-float-icon {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #fff;

    font-size: 19px;
}


/* WhatsApp */

.chv-float-whatsapp {
    background: #fff;

    box-shadow:
        0 8px 25px rgba(2, 47, 85, .18);
}

.chv-float-whatsapp .chv-float-icon {
    background: #20b858;
}


/* Call */

.chv-float-call {
    background: var(--chv-blue);

    box-shadow:
        0 8px 25px rgba(2, 47, 85, .22);
}

.chv-float-call .chv-float-icon {
    background: var(--chv-orange);
}


/* =========================================
   LABEL
========================================= */

.chv-float-label {
    display: flex;
    flex-direction: column;

    min-width: 105px;

    padding-left: 10px;

    white-space: nowrap;

    font-size: 12px;
    line-height: 1.25;
    font-weight: 700;
    
    opacity: 0;

    transform: translateX(8px);

    transition:
        opacity .2s ease,
        transform .25s ease;
}


.chv-float-call .chv-float-label{
color: #fff;
}

.chv-float-label small {
    margin-top: 2px;

    font-size: 9px;
    font-weight: 500;

    opacity: .75;
}


/* =========================================
   HOVER
   ONLY THE HOVERED BUTTON EXPANDS
========================================= */

.chv-float-action:hover {
    width: 165px;

    transform: translateX(0);

    z-index: 5;
}


.chv-float-action:hover .chv-float-label {
    opacity: 1;
    transform: translateX(0);
}


/* =========================================
   PULSE
========================================= */

.chv-float-action::before {
    content: "";

    position: absolute;

    left: 5px;
    top: 5px;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    border: 1px solid rgba(255,255,255,.35);

    animation: chvFloatPulse 2.5s infinite;

    pointer-events: none;
}


@keyframes chvFloatPulse {

    0% {
        transform: scale(1);
        opacity: .7;
    }

    70% {
        transform: scale(1.35);
        opacity: 0;
    }

    100% {
        transform: scale(1.35);
        opacity: 0;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .chv-floating-contact {
        right: 13px;
        bottom: 18px;

        width: 47px;
        height: 107px;
    }

    .chv-float-action {
        width: 47px;
        height: 47px;
    }

    .chv-float-icon {
        width: 37px;
        height: 37px;
        flex-basis: 37px;

        font-size: 17px;
    }

    .chv-float-label {
        display: none;
    }

    .chv-float-action:hover {
        width: 47px;
    }

    .chv-float-action::before {
        width: 37px;
        height: 37px;
    }

}