*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: poppins;
}

@font-face {
    font-family:"Playfair Display" ;
    src: url(font/PlayfairDisplay-Bold.ttf);
}

img{
    max-width: 100%;
}





a{
    text-decoration: none;
}

.flx-wrp{
    flex-wrap: wrap;
}

.cont{
    width: 90%;
    max-width: 1300px;
    margin: 0 auto;
}

.txt-c{
    text-align: center;
}

.ft-12{
    font-size: 12px;
}

.ft-14{
    font-size: 14px;
}

.ft-15{
    font-size: 15px;
}

.ft-16{
    font-size: 16px;
}

.ft-18{
    font-size: 18px;
}

.ft-22{
    font-size: 22px;
}

.fw-500{
    font-weight: 500;
}

.fw-600{
    font-weight: 600;
}

.flx{
    display: flex;
}

.flx-sb{
    display: flex;
    justify-content: space-between;
}

.item-c{
    align-items: center;
}

.gp-10{
    gap: 10px;
}

.gp-20{
    gap: 20px;
}

.mt-10{
    margin-top: 10px;
}

.mt-20{
    margin-top: 20px;
}

.mt-30{
    margin-top: 30px;
}

.mt-40{
    margin-top: 40px;
}
.mt-50{
    margin-top: 50px;
}

.mt-8{
    margin-top: 8px;
}

.padt-23{
    padding-top: 23px;
}

.pdb-15{
    padding-bottom: 15px;
}
.w-50{
    width: 50%;
}
.txt-c{
    text-align: center;
}

.emt_header {
    /* float: left; */
    padding: 10px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: auto;
}
.newHeaderLogo {
    height: 58px;
    width: 156px;
    display: inline-block;
    background: url(https://images.emtcontent.com/tourism/tamilnadu-img/EaseMyTrip-Logo.svg) 50% center / 138px 58px no-repeat;
}
.lineht:after {
    display: flex;
    content: "";
    height: 55px;
    width: 1px;
    padding: 0;
    background: #dbdbdb;
}
.en-logo {
    display: block;
    width: 106px;
    margin-left: 10px;
}
.hero-bn{
    position: relative;

    background-image: url(https://images.emtcontent.com/tourism/bahrain-img/bahrain-banner.png);
    overflow: hidden;
    background-size: cover;
    background-repeat: no-repeat;
    height:625px;
        background-position: right center;
}
.hero-copy {
    position: absolute;
    left: 108px;
 top: 50%;
    transform: translateY(-50%);
    max-width: 560px;
    z-index: 5;
}
.lastft {
    /* background: #E8E8E8; */
    border-top: 1px solid #E8E8E8;
    text-align: center;
    padding: 15px;
    font-size: 15px;
}
.hero-copy p {
color: #034978;
font-size: 17px;
font-weight: 500;
}
.hero-copy h1 {
        font-family: "Playfair Display"!important;
    font-size: 43px;
    line-height: 1.25;
    color:#034978;
    font-weight: 600;
    margin-top:20px
}
.hdr{
    font-family: "Playfair Display"!important;
    font-size: 35px;
    font-weight: 600;
}
.sgt{
    padding: 40px 0;
}

.aft::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 300px;
    height: 4px;
    border-radius: 3px;
    background: #CD2417;
}
.rel{
    position: relative;
}
.card-des{
    gap: 20px;
}
.para{
    color: #60768D;
}
.card {
    flex: 1;
    background: #fff;
    border-radius: var(--card-radius);
    box-shadow: 0px 2px 9px 0px #0000001C;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    cursor: pointer;
}
.card-img {
    height: 300px;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.card-body {
    padding: 20px 26px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.card-body p {
    font-size: 15px;
    line-height: 1.55;
    color:#60768D;
    flex: 1;
}
.read-more {
    margin-top: 9px;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: .4px;
    color: var(--accent);
    text-decoration: none;
    gap: 8px;
    position: relative;
}
.read-more svg {
    width: 16px;
    height: 16px;
}

.read-more::after {
    content: ""; /* ya "→" ya "›" */
    display: inline-block;

      display: inline-block;
    width: 14px;
    height: 14px;

    background: url("img/right-arrow.svg") no-repeat center;
    background-size: contain;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease;
        position: absolute;
    top: 4px;
    margin-left: 10px;
}
:root {
    --ink: #1a1a1a;
    --sub: #5f6b7a;
    --accent: #c0392b;
    --card-radius: 18px;
}
.hd{
    display:none;
}

.hd.show{
    display:block;
}
.read-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}

.read-more svg {
    width: 18px;
    height: 18px;
    transition: transform .3s ease;
}

.read-more.active svg {
    transform: rotate(90deg);
}
.shp-dst{
    padding: 40px 0;
}
.prsbeach{
    padding: 0px 0 40px 0;
}
.offer-sec{
    padding: 40px 0;
    background-color: #FFF8F8;
}
.package-card {
    width: 100%;
    background: #fff;
    border-radius: var(--card-radius);
   box-shadow: 0px 2px 9px 0px #0000001C;

    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.rcnt-card-sec{
    gap: 20px;
}
.package-photo {
    height: 300px;
    width: 100%;
    overflow: hidden;
}
.package-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.package-content {
    padding: 20px 26px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.space-between {
    justify-content: space-between;
}
.stay-length {
    font-size: 14px;
    color: #6B7280;
    white-space: nowrap;
}
.cost-row {
    margin-top: 10px;
    gap: 16px;
}
.cost-label {
    font-size: 11px;
    color: #6B7280;
    margin-bottom: 0px;
}
.cost-value {
    font-size: 18px;
    font-weight: 600;
}
.reserve-btn {
    border: 1px solid #CD2417;
    color: #CD2417;
    background: #fff;
    font-weight: 500;
    font-size: 16px;
    padding: 6px 28px;
    border-radius: 30px;
    cursor: pointer;
    white-space: nowrap;
}
.reason{
    padding: 40px 0;
}
.uspitm {
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    max-width: 130px;
    min-width: 100px;
}
.uspitm .uspimg {
    background: #FFF8F8;
    border: 1px solid #FFB0AA;
    height: 80px;
    width: 80px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-radius: 50%;
    margin: 0 auto 11px;
}

.owl-carousel .owl-stage{
 margin-bottom: 40px !important;
}
.card-body h3 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 10px;
}


.card-body h3{
    margin-bottom:10px;
}

.content{
    color:#555;
    line-height:1.7;

    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;

    transition:.3s;
}

.content.show{
    display:block;
}

.read-more{
    margin-top:15px;
    /* color:#007bff; */
    cursor:pointer;
    font-weight:600;
    display:inline-block;
}

.comm .owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    margin: 0 !important;
    width: 100%;
}

.comm .owl-nav .owl-prev {
    position: absolute;
    left: -27px;
    top: 50%;
    transform: translateY(-50%);
}

.comm .owl-nav button

 {
    width: 54px;
    height: 54px;
    border-radius: 50% !important;
    border: 8px solid #F5F5F5 !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: #fff !important;
}

.comm .owl-nav .owl-next {
    position: absolute;
    right: -27px;
    top: 50%;
    transform: translateY(-50%);
}

.sec {
    padding: 44px 0 30px;
}

.sec-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 26px;
}
.arrows {
    display: flex;
    gap: 10px;
}
.rail {
    display: flex;
    gap: 22px;
    justify-content: space-between;
}
.hotel-card {
    /* flex: 0 0 308px; */
    width:100%;
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    /* height: 350px; */
    display: block !important;
    box-shadow: var(--card-shadow);
}
.hotel-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .55) 100%);
}
.hotel-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.hotel-tag {
    position: absolute;
    left: 14px;
    bottom: 14px;
    right: 14px;
    background: #fff;
    border-radius: 10px;
    padding: 12px 14px;
    z-index: 2;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
}
.hotel-tag h4 {
    font-size: 16px;
    font-weight: 700;
    color: #000000;
}
.hotel-tag .ht-price {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
    margin-top: 4px;
     color: #000000;
     font-weight: 500;
}

.flight-card {
    background: #fff;
    border-radius: 6px;
    padding: 15px 18px 16px;
    min-height: 138px;
    position: relative;
        border: 1px solid #cd241726;
}
.flight-card:before {
    left: -4px;
}

.flight-card:before, .flight-card:after {
    content: "";
    position: absolute;
    top: 68px;
    width: 8px;
    height: 8px;
    background: #006f73;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    display: none;
}
.flight-card:after {
    right: -4px;
}
.route {
    margin-bottom: 16px;
}
.city h3 {
    font-size: 18px;
    font-weight: 600;
}
.city span {
    color: rgba(138, 138, 138, 1);
    margin-top: 5px;
    display: inline-block;
}
.plane {
    font-size: 20px;
    color: #000;
    margin-top: 28px;
}
.dashed-line {
    border-top: 1.5px dashed rgba(223, 223, 223, 1);
    margin: 0px 0 14px;
}
.book-btnn

 {
    width: 100%;
    height: 45px;
    border-radius: 5px;
   border: 1px solid #cd24175e;
    background: #fff;
    color: #CD2417;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 16px;
}
.plane {
    filter: brightness(0) saturate(100%)
            invert(22%) sepia(97%) saturate(3095%)
            hue-rotate(353deg) brightness(90%) contrast(98%);
}
.htl-sec{
      padding: 40px 0;
    background-color: #FFF8F8;
}
.heading-row h3{
        font-size: 18px;
        font-weight: 600;
        line-height: 1.3;
    }
/* =========================================================
   RESPONSIVE STYLES
   Breakpoints: Tablet <= 991px, Large Mobile <= 767px,
   Small Mobile <= 480px
   ========================================================= */

/* ---------- Tablet (<= 991px) ---------- */
@media (max-width: 991px) {
    .cont {
        width: 92%;
    }

    .hero-bn {
        height: 460px;
    }

    .hero-copy {
        left: 40px;
        top: 50%;
        max-width: 460px;
    }

    .hero-copy h1 {
        font-size: 34px;
    }

    .hero-copy p {
        font-size: 16px;
    }

    .hdr {
        font-size: 28px;
    }

    .card-des {
        flex-wrap: wrap;
    }

    .card {
        flex: 1 1 calc(50% - 20px);
        min-width: 260px;
    }

    .card-img {
        height: 240px;
    }

    .rcnt-card-sec {
        flex-wrap: wrap;
    }

    .package-card {
        width: calc(50% - 15px);
    }

    .package-photo {
        height: 240px;
    }

    .uspitm {
        max-width: 110px;
        min-width: 90px;
        font-size: 14px;
    }

    .uspitm .uspimg {
        height: 70px;
        width: 70px;
    }
}

/* ---------- Large Mobile / Small Tablet (<= 767px) ---------- */
@media (max-width: 767px) {
    .cont {
        width: 94%;
    }

    .emt_header {
        flex-wrap: wrap;
        gap: 8px;
    }

    .newHeaderLogo {
        height: 46px;
        width: 124px;
        background-size: 110px 46px;
    }

    .en-logo {
        width: 84px;
    }

    .lineht:after {
        height: 40px;
    }

    .hero-bn {
        height: 380px;
        background-position: center;
    }

    .hero-copy {
        left: 24px;
        right: 24px;
        top: 50%;
        max-width: 100%;
    }

    .hero-copy h1 {
        font-size: 26px;
        margin-top: 12px;
    }

    .hero-copy p {
        font-size: 14px;
    }

    .hdr {
        font-size: 24px;
    }

    .sgt,
    .shp-dst,
    .prsbeach,
    .offer-sec,
    .reason {
        padding: 26px 0;
    }

    .aft::after {
        width: 200px;
        height: 3px;
    }

    /* Stack cards */
    .card-des {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .card {
        width: 100%;
        flex: 1 1 100%;
    }

    .card-img {
        height: 220px;
    }

    .card-body {
        padding: 16px 18px 18px;
    }

    .card-body h3 {
        font-size: 17px;
        margin-bottom: 10px;
    }

    .card-body p {
        font-size: 14px;
    }

    /* Stack package cards */
    .rcnt-card-sec {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 20px;
    }

    .package-card {
        width: 100%;
    }

    .package-photo {
        height: 220px;
    }

    .package-content {
        padding: 16px 18px 18px;
    }

    .cost-row {
        flex-wrap: wrap;
        gap: 12px;
    }

    .cost-value {
        font-size: 19px;
    }

    .reserve-btn {
        width: 100%;
        text-align: center;
        padding: 6px 20px;
        font-size: 15px;
    }

    .stay-length {
        white-space: normal;
    }

    /* USP row wraps into a grid on mobile */
    .reason .flx {
        flex-wrap: wrap;
        justify-content: center;
    }

    .uspitm {
        max-width: 100px;
        min-width: 80px;
        font-size: 13px;
    }

    .uspitm .uspimg {
        height: 60px;
        width: 60px;
    }
}

/* ---------- Small Mobile (<= 480px) ---------- */
@media (max-width: 480px) {
    .cont {
        width: 91%;
    }
    .prsbeach{
        padding: 0px;
    }

    .lastft{
        font-size: 14px;
    }
    .emt_header {
        justify-content: center;
        gap: 6px;
    }

    .newHeaderLogo {
        height: 38px;
        width: 104px;
        background-size: 92px 38px;
    }

    .en-logo {
        width: 68px;
        margin-left: 6px;
    }

    .ft-16{
        font-size: 14px;
    }
    .mt-20{
        margin-top: 0px;
    }
    .owl-theme .owl-nav.disabled+.owl-dots{
        margin-top: 0px !important;
    }
    .hero-bn {
        height: 320px;
    }

    .hero-copy {
        left: 16px;
        right: 16px;
        top: 50%;
        text-align: center;
    }

    .hero-copy h1 {
        font-size: 26px;
        line-height: 1.3;
        margin-top: 8px;
    }

    .hero-copy p {
        font-size: 13px;
    }

    .hdr {
        font-size: 20px;
    }

    .ft-22 {
        font-size: 18px;
    }

    .ft-18 {
        font-size: 15px;
    }

    .card-img,
    .package-photo {
        height: 190px;
    }

    .card-body,
    .package-content {
        padding: 14px 16px 16px;
    }

    .cost-value {
        font-size: 17px;
    }

        .uspitm {
        min-width: auto;
        max-width: 120px;
        width: 100%;
    }

    .uspitm .uspimg {
        height: 52px;
        width: 52px;
        padding: 8px;
    }
      .uspbx {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
        gap: 20px 10px;
        justify-items: center;
    }
    .mt-40{
        margin-top: 20px;
    }
}
/* ==========================
   Tablet View (768px - 1024px)
========================== */
@media (max-width: 1024px) {

    .sec {
        padding: 35px 0 25px;
    }

    .sec-head {
        margin-bottom: 20px;
        gap: 15px;
    }

    .rail {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }

    .hotel-card {
        flex: 0 0 calc(50% - 10px);
        height: 320px;
    }

    .flight-card {
        min-height: auto;
        padding: 16px;
    }

    .hotel-tag h4,
    .city h3 {
        font-size: 17px;
    }

    .book-btnn {
        font-size: 16px;
        height: 44px;
    }

    .htl-sec {
        padding: 35px 0;
    }
}


/* ==========================
   Mobile View (320px - 767px)
========================== */
@media (max-width: 767px) {

    .sec {
        padding: 30px 0 20px;
    }

    .sec-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        margin-bottom: 20px;
    }

    .arrows {
        width: 100%;
        justify-content: flex-end;
    }

    .rail {
        flex-direction: column;
        gap: 18px;
    }

    .hotel-card {
        flex: 0 0 100%;
        width: 100%;
        height: 280px;
    }

    .hotel-tag {
        left: 12px;
        right: 12px;
        bottom: 12px;
        padding: 10px 12px;
    }

    .hotel-tag h4 {
        font-size: 15px;
    }

    .hotel-tag .ht-price {
        font-size: 14px;
    }

    .flight-card {
        padding: 15px;
        min-height: auto;
    }

    .route {
        margin-bottom: 12px;
    }

    .city h3 {
        font-size: 16px;
    }

    .city span {
        font-size: 13px;
    }

    .plane {
        font-size: 18px;
        margin-top: 20px;
    }

    .dashed-line {
        margin: 12px 0;
    }

    .book-btnn {
        height: 42px;
        font-size: 15px;
        margin-top: 14px;
    }

    .htl-sec {
        padding: 30px 0;
    }
}


/* ==========================
   Small Mobile (320px - 480px)
========================== */
@media (max-width: 480px) {

    .hotel-card {
       max-height: 260px;
    }

    .hotel-tag {
        padding: 8px 10px;
    }

    .hotel-tag h4 {
        font-size: 14px;
    }

    .hotel-tag .ht-price {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        font-size: 13px;
    }

    .city h3 {
        font-size: 15px;
    }

    .city span {
        font-size: 12px;
    }

    .book-btnn {
        height: 40px;
        font-size: 14px;
    }
    .heading-row h3{
        font-size: 16px;
    }
}

