@import url('./variable.css');

.booking-section {
    margin: 70px 0px 40px 0px;
}

.wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 15px 20px 48px;
}

.top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    flex-wrap: wrap;
    gap: .75rem
}

.top-bar-left .ey {
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--maroon-light);
    margin-bottom: 3px
}

.top-bar-left h1 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(20px, 3.5vw, 30px);
    font-weight: 600;
    color: var(--maroon-deep);
    line-height: 1.2
}

.btn-bn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--maroon);
    color: #fff;
    border: none;
    font-family: 'Jost', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .08em;
    padding: 10px 20px;
    border-radius: 10px;
    cursor: pointer;
    transition: background .18s;
    white-space: nowrap
}

.btn-bn:hover {
    background: var(--maroon-deep)
}

.btn-bn .gd {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
    display: inline-block
}

.flight-card {
    background: #fff;
    border: .5px solid rgba(107, 15, 26, .2);
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 10px
}

.fch-l {
    display: flex;
    align-items: center;
    text-align: center;
    gap: 10px;
}

.fch {
    background: var(--maroon-deep);
    color: #fff;
    padding: .7rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.fch-l .fl {
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .6;
    font-weight: 300
}

.fch-l .fv {
    font-size: 13px;
    font-weight: 500
}

.fch .badge {
    background: var(--gold);
    color: var(--maroon-deep);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 20px
}

.fb {
    padding: 1.1rem 1.4rem
}

.rr {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.1rem
}

.fch {
    cursor: pointer;
}

.fch-wr-1 {
    display: flex;
    align-items: center;
    text-align: center;
    gap: 10px;
}

.f-devider {
    width: .5px;
    height: 16px;
    background: rgba(255, 255, 255, .2);
}

.code-airport {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    letter-spacing: .04em;
}

.air-times {
    font-size: 11px;
    color: rgba(255, 255, 255, .55);
    font-weight: 300;
}

.arr-icon {
    color: var(--gold);
    font-size: 12px;
}

.toggle-icons {
    transition: transform 0.3s ease;
}

.toggle-icons.rotate {
    transform: rotate(180deg);
}

.ap {
    text-align: center
}

.ap .code {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(20px, 3vw, 35px);
    font-weight: 600;
    color: var(--maroon-deep);
    line-height: 1
}

.ap .city {
    font-size: 12px;
    color: var(--tu);
    margin-top: 2px;
    font-weight: 300
}

.ap .time {
    font-size: 13px;
    color: var(--td);
    font-weight: 500;
    margin-top: 4px
}

.rm {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px
}

.rl {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--maroon-light);
    width: 100%
}

.rl::before,
.rl::after {
    content: '';
    flex: 1;
    height: .5px;
    background: var(--maroon-light);
    opacity: .35
}

.rl i {
    font-size: 15px
}

.dur {
    font-size: 12px;
    color: var(--tu);
    letter-spacing: .05em
}

.fm {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .4rem
}



.mi {
    background: var(--mp);
    border-radius: 8px;
    padding: .55rem .7rem
}

.mi .ml2 {
    font-size: 11px;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--tu);
    font-weight: 300;
    margin-bottom: 1px
}

.mi .mv {
    font-size: 14px;
    font-weight: 500;
    color: var(--td)
}

.divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0
}

.divider::before,
.divider::after {
    content: '';
    flex: 1;
    height: .5px;
    background: var(--maroon-light);
    opacity: .2
}

.divider i {
    color: var(--gold);
    font-size: 14px
}

.pkg-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.1rem;
    margin-bottom: 15px;
}

.tab-toggle {
    display: flex;
    background: var(--mm);
    border-radius: 40px;
    padding: 4px
}

.tab-btn {
    border: none;
    background: transparent;
    font-family: 'Jost', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .05em;
    padding: 8px 26px;
    border-radius: 36px;
    cursor: pointer;
    color: var(--maroon);
    transition: all .2s
}

.tab-btn.active {
    background: var(--maroon);
    color: #fff
}



.mobile-cards {
    display: none
}

.pkg-card {
    border-radius: 14px;
    border: .5px solid rgba(107, 15, 26, .18);
    background: #fff;
    overflow: hidden;
    transition: transform .18s
}

.pkg-card:hover {
    transform: translateY(-1px)
}

.pkg-card.elite-card {
    border-color: var(--gold);
    border-width: 1.5px
}

.card-head {
    padding: 16px 20px 13px;
    position: relative
}

.tier-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .5rem
}

.tier-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--maroon-deep)
}

.tier-badge {
    font-size: 9px;
    letter-spacing: .13em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 20px;
    font-weight: 500
}

.tb-elite {
    background: var(--gl);
    color: var(--maroon-deep)
}

.tb-prem {
    background: var(--mm);
    color: var(--maroon)
}



.price-row {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-bottom: 10px
}

.pv {
    font-family: 'Cormorant Garamond', serif;
    font-size: 30px;
    font-weight: 600;
    color: var(--maroon-deep)
}

.pp {
    font-size: 11px;
    color: var(--tu)
}

.card-btns {
    display: grid;
    /* grid-template-columns: 1fr 1fr; */
    gap: .5rem;
    margin-bottom: 0
}

.btn-book {
    padding: 9px 0;
    border-radius: 9px;
    border: none;
    background: var(--maroon);
    color: #fff;
    font-family: 'Jost', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .07em;
    cursor: pointer;
    transition: background .18s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.btn-book:hover {
    background: var(--gold-light);
    color: #000;
}

.btn-book.outline {
    background: transparent;
    border: 1.5px solid var(--maroon);
    color: var(--maroon);
}

.btn-book.outline:hover {
    background: var(--mp)
}

.ribbon {
    position: absolute;
    top: 12px;
    right: -1px;
    background: var(--gold);
    color: var(--maroon-deep);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 5px 0 0 5px
}

.collapse-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .6rem 1.25rem;
    border-top: .5px solid rgba(107, 15, 26, .1);
    cursor: pointer;
    user-select: none;
    background: var(--mp)
}

.collapse-bar:hover {
    background: var(--mm)
}

.cb-label {
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--maroon);
    font-weight: 500
}

.cb-icon {
    font-size: 16px;
    color: var(--maroon);
    transition: transform .25s
}

.cb-icon.open {
    transform: rotate(180deg)
}

.card-body {
    overflow: hidden;
    transition: max-height .3s ease, opacity .3s ease;
    max-height: 600px;
    opacity: 1
}

.card-body.closed {
    max-height: 0;
    opacity: 0
}

.card-inner {
    padding: .9rem 1.25rem 1.1rem;
    border-top: .5px solid rgba(107, 15, 26, .08)
}

.feat-title {
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--maroon-light);
    margin-bottom: .55rem;
    font-weight: 500
}

.feat-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 5px
}

.feat-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12px;
    color: var(--tm);
    line-height: 1.45
}

.feat-list li i {
    font-size: 13px;
    color: var(--gold);
    flex-shrink: 0;
    margin-top: 1px
}

.feat-list li.dim {
    opacity: .45
}

.feat-list li.dim i {
    color: var(--tu)
}

.cmp-section {
    margin-top: .5rem
}

.cmp-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--maroon-deep);
    margin-bottom: 10px;
    text-align: center
}

.cmp-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px
}

.cmp-table th {
    padding: .55rem .85rem;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 500;
    text-align: left;
    border-bottom: .5px solid rgba(107, 15, 26, .15)
}

.cmp-table th:first-child {
    color: var(--tu);
    width: 42%
}

.cmp-table th.h-elite {
    color: var(--maroon-deep);
    background: rgba(201, 168, 76, .08)
}

.h-elite i {
    font-size: 11px;
    margin-right: 4px
}

.cmp-table th.h-prem {
    color: var(--maroon)
}

.cmp-table td {
    padding: .55rem .85rem;
    border-bottom: .5px solid rgba(107, 15, 26, .07);
    vertical-align: middle
}

.cmp-table td:first-child {
    color: var(--tu);
    font-size: 12px
}

.cmp-table td.v-elite {
    background: rgba(201, 168, 76, .06);
    text-align: center
}

.cmp-table td.v-prem {
    text-align: center
}

.cmp-table tr:last-child td {
    border-bottom: none
}

.cmp-table .yes {
    color: var(--gold);
    font-size: 15px
}

.cmp-table .no {
    color: rgba(107, 15, 26, .25);
    font-size: 15px
}

.cmp-table .val {
    color: var(--maroon-deep);
    font-weight: 500;
    font-size: 12px
}

.table-footerv {
    text-align: center;
    margin-top: 1.5rem
}

.table-footerv p {
    font-size: 11px;
    color: var(--tu);
    letter-spacing: .06em
}

.cmp-table .row-cat td {
    background: var(--mp);
    font-size: 10px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--maroon);
    font-weight: 500;
    padding: .4rem .85rem
}

.cmp-table .row-cat td.v-elite {
    background: rgba(201, 168, 76, .1)
}

@media(max-width:991px) {
    .top-bar-left h1 {
        font-size: clamp(20px, 3.2vw, 30px);
    }

    .pv {
        font-size: 26px;
    }

    .mi .mv {
        font-size: 12px;
    }
}

@media(max-width:768px) {
    .booking-section {
        margin: -50px 0px 40px 0px;
    }

    .top-bar {
        margin-bottom: 5px;
    }

    .fch-l .fl {
        font-size: 10px;
    }

    .code-airport {
        font-size: 13px;
    }

    .fch {
        padding: 7px 18px;
    }

    .tier-name {
        font-size: 18px;
    }

    .pv {
        font-size: 24px;
    }

    .feat-list {
        padding-left: 15px;
    }

    .mi {
        padding: 8px 8px;
    }
}

@media(max-width:576px) {
    .card-head {
        padding: 10px 10px 13px;
    }

    .tier-name {
        font-size: 17px;
    }

    .tier-badge {
        letter-spacing: .1em;
    }

    .pv {
        font-size: 22px;
    }

    .feat-list {
        padding-left: 0px;
    }

    .card-inner {
        padding: 14px 10px 17px;
    }
}

@media(max-width:500px) {
    .fm {
        grid-template-columns: repeat(2, 1fr)
    }

    .fch .badge {
        display: none;
    }

    .fb {
        padding: 15px 15px;
    }
}

@media(max-width:400px) {
    .top-bar-left h1 {
        font-size: clamp(17px, 3.2vw, 30px);
    }

    .top-bar-left .ey {
        font-size: 10px;
        letter-spacing: .1em;
    }

    .wrap {
        padding: 15px 8px 48px;
    }

    .fch {
        padding: 7px 7px;
    }

    .fch-l .fv {
        font-size: 12px;
    }

    .fch-l .fl {
        font-size: 9px;
    }

    .code-airport {
        font-size: 11px;
    }

    .air-times {
        font-size: 10px;
    }

    .pkg-grid {
        grid-template-columns: 1fr;
    }

    .cmp-title {
        font-size: 18px;
    }

    .pv {
        font-size: 20px;
    }

    .btn-book {
        padding: 8px 0;
    }

    .ap .code {
        font-size: clamp(18px, 3vw, 35px);
    }

    .fb {
        padding: 10px 10px;
    }

    .rr {
        gap: 5px;
        margin-bottom: 10px;
    }
}