/* -------------------------------------------------
    Tour Detail Stylesheet – Sorted & Well-Commented
--------------------------------------------------*/

/* -------------------------------
   1. Main Gallery Image & Thumbnails
----------------------------------*/

.main-image-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 6px 32px rgba(44,64,110,0.08);
    max-width: 98%;
    margin: 0 auto;
    padding: 2rem 1.2rem 1.2rem 1.2rem;
}

.main-image-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    margin-bottom: 1rem;
}

#mainGalleryImage {
    max-width: 100%;
    object-fit: contain;
    border-radius: 8px;
    transition: box-shadow 0.18s;
}

/* --- Thumbnail Strip --- */
.thumb-strip {
    display: flex; !important;
    gap: 10px; !important;
    justify-content: center; !important;
    flex-wrap: wrap; !important;
    margin-top: 0; !important;
}
.thumb-strip img {
    width: 70px;
    height: 54px; !important;
    object-fit: cover; !important;
    border-radius: 6px; !important;
    border: 2px solid transparent; !important;
    box-shadow: 0 2px 6px rgba(30,168,203,0.05); !important;
    transition: 0.18s; !important;
    cursor: pointer; !important;
}
.thumb-strip img:hover,
.thumb-strip img.active-thumb {
    border: 2px solid #1CA8CB;
    transform: scale(1.08) rotate(-2deg);
    opacity: 0.94;
}



/* -------------------------------
   2. What's Included / Excluded Pills
----------------------------------*/

.tour-includes, .tour-excludes {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 18px;
    margin-top: 12px;
}

.tour-pill {
    display: flex;
    align-items: center;
    gap: 7px;
    font-weight: 500;
    padding: 7px 15px 7px 11px;
    border-radius: 22px;
    background: #f4fafd;
    color: #1CA8CB;
    font-size: 1rem;
    box-shadow: 0 2px 10px 0 rgba(30,170,203,.04);
    border: 1px solid #e5f6fb;
    margin-bottom: 0;
    white-space: nowrap;
}

.tour-excludes .tour-pill {
    background: #fdf6f6;
    color: #E53E3E;
    border: 1px solid #f5d4d8;
}

.tour-includes svg, .tour-excludes svg {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

/* --- Responsive Pills --- */
@media (max-width: 576px) {
    .tour-includes, .tour-excludes { gap: 10px; }
    .tour-pill { font-size: 0.97rem; padding: 7px 11px 7px 8px; }
}

/* -------------------------------
   3. Tour Info Cards (Overview)
----------------------------------*/

.tour-info-card {
    transition: box-shadow 0.25s, transform 0.25s;
    will-change: box-shadow, transform;
    cursor: pointer;
}
.tour-info-card:hover, .tour-info-card:focus-visible {
    box-shadow: 0 6px 32px rgba(30, 136, 229, 0.15);
    transform: translateY(-2px) scale(1.04);
    z-index: 2;
}
.tour-info-card .icon-box {
    background: #e9f5fe;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-right: 1rem;
    margin-bottom: 0;
}
.fw-semibold {
    font-size: 1rem;
    font-weight: 600 !important;
}
.tour-info-card .info-label {
    font-size: 1.8rem;
    color: #666;
}
.tour-info-card .info-value {
    font-weight: 700;
    color: #1976d2;
    font-size: 1.8rem;
}

/* --- Responsive Info Cards --- */
@media (max-width: 575px) {
    .tour-info-card { font-size: 1.2rem; padding: 1.1rem 1rem; }
    .tour-info-card .icon-box { width: 38px; height: 38px; margin-right: 0.75rem; }
    .tour-info-card .info-label { font-size: .93rem; }
    .tour-info-card .info-value { font-size: 1.07rem; }
}

/* -------------------------------
   4. Hotel Tabs & Cards
----------------------------------*/

/* --- Tabs Scroll/Container --- */
.hotel-tabs-container {
    max-width: 100%;
    margin: 0 auto;
}
.hotel-tabs-scroll ul.nav {
    overflow-x: auto;
    scrollbar-width: none;
}
.hotel-tabs-scroll ul.nav::-webkit-scrollbar { display: none; }

/* --- Hotel Card Content --- */
.hotel-card {
    max-width: 100%;
    margin: 0 auto;
}
.hotel-main-image {
    width: 100%;
    max-height: 320px;
    object-fit: cover;
}
.hotel-thumb-link img {
    border: 2px solid #f5f5f5;
    transition: border-color 0.2s, transform 0.15s;
}
.hotel-thumb-link img:hover {
    border-color: #1ca8cb;
    transform: scale(1.07);
}
.hotel-features-list i {
    color: #1ca8cb;
    flex-shrink: 0;
}

/* --- Badges --- */
.badge-soft-success {
    background: #e3faea;
    color: #26a944;
    border: none;
}
.badge-soft-info {
    background: #e3f4fa;
    color: #0072af;
    border: none;
}
/* Make feather icons fill the parent, center them perfectly */
.search-trigger .feather,
.search-icon .feather {
    display: block;
    margin: auto;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
}

/* If the icon is inside a circle or square, ensure flexbox centers it */
.search-trigger, .search-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 48px; /* match your design */
    height: 48px;
    border-radius: 50%;
    border: 2px solid #fff; /* or your color */
    background: transparent;
    transition: background 0.2s;
    padding: 0;
}
.offcanvas__close button {
    display: flex;
    background-color: #1ca8cb;
    align-items: center;
    justify-content: center;
    width: 42px;         /* Match your design (was often 40-48px) */
    height: 42px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    transition: background 0.2s;
}

.offcanvas__close button:hover {
    background: #f1f1f1; /* Optional: subtle hover effect */
}

.offcanvas__close .feather {
    display: block;
    width: 1.6em;
    height: 1.6em;
    stroke-width: 2.5; /* Make the "x" icon a little bolder */
}

.nice-select .list {
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 0 1px rgba(68, 88, 112, 0.11);
    box-sizing: border-box;
    margin-top: 4px;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: 0;
    -webkit-transform-origin: 50% 0;
    -ms-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transform: scale(0.75) translateY(-21px);
    -ms-transform: scale(0.75) translateY(-21px);
    transform: scale(0.75) translateY(-21px);
    -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    z-index: 99;
}
.nice-select .option {
    cursor: pointer;
    font-weight: 400;
    line-height: 40px;
    list-style: none;
    min-height: 40px;
    outline: none;
    padding-left: 18px;
    padding-right: 29px;
    text-align: left;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
}

.swiper-wrapper2 {
    position: relative;
    width: 100%;
    height: 35%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
}

.swiper-wrapper3 {
    position: relative;
    width: 100%;
    height: 25%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
}

.new-destination-items .thumb .content .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;         /* Match your design (was often 40-48px) */
    height: 42px;
    stroke-width: 1.5; /* Make the "x" icon a little bolder */
}
.news-section-2
{
    padding-top: 100px;
    padding-bottom: 100px;
}
.news-image {
    width: 100%;
    aspect-ratio: 16 / 9; /* Modern way, keeps 16:9 box */
    overflow: hidden;
    border-radius: 14px 14px 0 0;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}
.news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.news-card-items-2 .news-content {
    padding: 20px 20px 20px;
}
.news-card-items-2 .news-content .news-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
}

.destination-card-items .destination-image {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    /* padding: 20px; */
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 14px 14px 0 0;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}
.instagram-wrapper .instagram-banner-items .banner-image {
    width: 100%;
    /* Set a fixed height for all images, adjust as needed */
    height: 200px;
    border-radius: 16px;
    overflow: hidden; /* Ensures images stay rounded and don’t overflow */
    position: relative;
    display: block;
}

.instagram-wrapper .instagram-banner-items .banner-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures images fill, crop, and do NOT squish */
    border-radius: 16px;
    display: block;
}
@media (max-width: 600px) {
    .instagram-wrapper .instagram-banner-items .banner-image {
        height: 120px; /* smaller images on small screens */
    }
}

.section-padding2{
    padding-top: 120px;
    padding-bottom: 20px;
}

.section-padding3 {
    padding-top: 60px;
    padding-bottom: 20px;
}

.section-padding4 {
    padding-top: 0px;
    padding-bottom: 20px;
}

.section-padding5 {
    padding-top: 80px;
    padding-bottom: 80px;
}

.sidebar-thumb-img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}
.blog-header-title {
    color: #fff !important;
}
.bg-cover2::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.80);  /* adjust the last number for lighter/darker */
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;
}
.bg-cover2 > * {
    position: relative;
    z-index: 2;
}
.widget-head img {
    max-width: 60%;   /* or whatever width you prefer */
    height: auto;
    display: block;
    margin: 0 auto;     /* center horizontally, optional */
}
.logo-2 img {
    max-width: 100%; !important;
}
.theme-btn2 {
    position: relative;
    z-index: 0;
    overflow: hidden;
    vertical-align: middle;
    display: inline-block;
    border: none;
    text-transform: capitalize;
    text-align: center;
    background-color: rgb(28 168 203);
    color: #111;
    line-height: 1;
    padding: 22px 24px;
    min-width: 170px;
    border-radius: 100px;
    font-size: 16px;
    font-weight: 700;
    font-family: "Manrope", sans-serif;
}
.breadcrumb-wrapper {
    position: relative;
    background-size: cover; !important;
}

.comment-form-wrap .form-clt input, .comment-form-wrap .form-clt textarea {
    color: #fff; !important;
}
/* --- Featured tour-detail --- */
.tag-pill {
    background: #FF8800;
    color: #fff;
    border-radius: 20px;
    padding: 6px 16px;
    font-size: 0.95em;
    font-weight: 600;
    margin-right: 4px;
    margin-bottom: 2px;
    display: inline-block;
}

.meta-pill {
    border-radius: 16px;
    padding: 4px 12px;
    font-size: 0.85em;
    font-weight: 600;
    margin-right: 4px;
    margin-bottom: 2px;
    display: inline-block;
}
.meta-featured { background: #FFC107; color: #222; }
.meta-sale { background: #F44336; color: #fff; }
.meta-flights { background: #03B2D8; color: #fff; }
.meta-solo { background: #38B000; color: #fff;
}

/* --- Itinerary Map --- */
.itinerary-map-img img {
    max-width: 600px;
    width: 100%;
    border-radius: 18px;
    margin: 0 auto;
    box-shadow: 0 6px 28px 0 #0002;
    border: 2px solid #ffa726;
    background: #fff;
}
@media (max-width: 700px) {
    .itinerary-map-img img { max-width: 98vw; }
}

/* --- Frontend Tour Plan Mobile Font --- */
@media (max-width: 1199px) {
    .activities-details-wrapper .activities-details-content .faq-items .accordion-item .accordion-header .accordion-button {
        font-size: 0.97rem;
    }

/* --- Frontend Itinerary Gallery Mobile --- */
.itinerary-gallery img {
    cursor: zoom-in;
    transition: box-shadow 0.2s;
}
.itinerary-gallery img:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}