/* ── Self-hosted fonts ── */
@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/playfair-display-v40-latin-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/playfair-display-v40-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/playfair-display-v40-latin-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
--main-color: #006deb !important;
--tripi-blue: #006deb;
--tripi-dark-blue: #1A2B48;
--tripi-dark-blue2: #001F5E;
--tripi-grey-color: #5e6d77;
--tripi-dark-grey-color: #333333;
--tipi-orange-color: #ffb100;
--tripi-gold-color: #ffda07;
--tripi-ease: cubic-bezier(.22,.9,.28,1);
--tripi-gradient: linear-gradient(to right, #001F5E, #0077ff, #001F5E);

--primary-gradient: linear-gradient(135deg, #006deb 0%, #001F5E 100%);
--secondary-gradient: linear-gradient(135deg, #ffda07 0%, #006deb 100%);
--text-dark: #333333;
--text-light: #5e6d77;
--border-color: #e0e0e0;
--bg-light: #f8f9fa;
--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
--shadow-md: 0 8px 24px rgba(0, 0, 0, 0.12);
--shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.15);
--transition: all 0.4s var(--tripi-ease);

--font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
--font-serif: 'Playfair Display', Georgia, serif;

}

body {
    font-family: var(--font-sans) !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-serif);
}
h1{
    font-size: clamp(36px, 4vw, 46px) !important;
    font-weight: 700 !important;
}
h2{
    font-size: clamp(30px, 3vw, 34px) !important;
    font-weight: 700 !important;
    color: var(--tripi-blue) !important;
}
h3{
    font-size: clamp(20px, 1.5vw, 20px);
    font-weight: 600 !important;
}
h4{
    font-size: clamp(18px, 2.5vw, 22px) !important;
    font-weight: 600 !important;
}
h5{
    font-size: clamp(18px, 2vw, 20px) !important;
    font-weight: 600 !important;
}
h6{
    font-size: clamp(16px, 1.5vw, 18px) !important;
}
h1{
    font-size: clamp(34px, 4vw, 46px) !important;
}

.main-font{
    font-family: 'Playfair Display', Georgia, serif !important;
}
.single-post-banner {
  position: relative;
  overflow: hidden;
}

.single-post-banner img.lcp-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.breadcrumb-tripi{
    font-family: var(--font-sans) !important;
}

/* animatton */
/* Slide-in from right animation */
.slide-in-right {
  opacity: 0;
  transform: translateX(100px);
  transition: opacity 0.5s ease, transform 2s cubic-bezier(0.23, 1, 0.32, 1);
}
.gold-color {
    color: #ffda07 !important;
}

.slide-in-right.visible {
  opacity: 1;
  transform: translateX(0);
}
.fade-in-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.5s ease, transform 3s cubic-bezier(0.23, 1, 0.32, 1);
}

.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}
/* Slide-in from left animation */
.slide-in-left {
  opacity: 0;
  transform: translateX(-100px);
  transition: opacity 0.5s ease, transform 3s cubic-bezier(0.23, 1, 0.32, 1);
}

.slide-in-left.visible {
  opacity: 1;
  transform: translateX(0);
}
.main-color {
    color: var(--tripi-blue) !important;
}
p strong {
    font-weight: 600 !important;
}

.dark-blue-color {
    color: #001F5E !important;
}
.daterangepicker .table-condensed .td-date.has-tooltip:hover .event-tooltip-wrap{
    display: none !important;
}
/* ----- Single Blog page -------  */

.services-item.item-elementor.grid-2>.item .content-item .st-flex.space-between.st-price__wrapper .st-btn--book a:hover {
    transform: translateY(5px);
    box-shadow: 0 0 0 #a7a7a7 !important;
}
.wp-caption-text{
    margin-bottom: 1em !important;
    margin-top: .5em !important;
    text-align: center !important;
    line-height: 40px !important;
    color: #b5b3b3 !important;
    font-size: 13px !important;
    font-style: normal !important;
}
.services-item.item-elementor.grid-2>.item .content-item .st-flex.space-between.st-price__wrapper .st-btn--book a {
    font-size: 14px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.83;
    letter-spacing: 1px;
    color: #fff;
    padding: 14px 24px;
    background-color: var(--main-color, #ec927e);
    border-radius: 40px;
    -webkit-border-radius: 24px;
    -moz-border-radius: 24px;
    position: relative;
    display: inline-block;
    z-index: 20;
    -webkit-box-shadow: 0 5px 0 #c7c3c3 !important;
    box-shadow: 0 5px 0 #c7c3c3 !important;
    text-decoration: none;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    position: relative;
    text-transform: capitalize;
}

.st-blog {
    padding: 0px 0 0 !important;
}

.post-info .date {
    margin-right: 30px;
}

h1.blog-title {
    color: #ffffff;
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 38px;
}

.post-info {
    color: #ffffff;
    font-size: 16px;
}

.post-info .date {
    margin-right: 40px;
}

.elementor-menu-anchor {
    top: -100px;
    position: relative;
}

.single .share {
    display: flex;
    padding: 20px 40px;
    margin-left: 50px;
    font-family: var(--font-sans);
    font-size: 14px;
}

#st-content-wrapper .st-breadcrumb ul li {
    font-family: var(--font-sans);
    font-size: 14px;
}

.rank-math-breadcrumb span {
    padding: 5px;
    font-size: 14px;
    font-family: var(--font-sans);
}

.rank-math-breadcrumb a {
    color: #0062f5;
    box-shadow: none;
    text-decoration: none;
    padding: 5px;
    font-size: 14px;
    font-family: var(--font-sans);
}

.elementor-element .swiper-container .swiper-horizontal>.swiper-pagination-bullets,
.elementor-element .swiper-container .swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-element .swiper-container .swiper-pagination-custom,
.elementor-element .swiper-container .swiper-pagination-fraction,
.elementor-element .swiper-container~.swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-element .swiper-container~.swiper-pagination-custom,
.elementor-element .swiper-container~.swiper-pagination-fraction,
.elementor-element .swiper .swiper-horizontal>.swiper-pagination-bullets,
.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-element .swiper .swiper-pagination-custom,
.elementor-element .swiper .swiper-pagination-fraction,
.elementor-element .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-element .swiper~.swiper-pagination-custom,
.elementor-element .swiper~.swiper-pagination-fraction,
.elementor-lightbox .swiper-container .swiper-horizontal>.swiper-pagination-bullets,
.elementor-lightbox .swiper-container .swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-lightbox .swiper-container .swiper-pagination-custom,
.elementor-lightbox .swiper-container .swiper-pagination-fraction,
.elementor-lightbox .swiper-container~.swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-lightbox .swiper-container~.swiper-pagination-custom,
.elementor-lightbox .swiper-container~.swiper-pagination-fraction,
.elementor-lightbox .swiper .swiper-horizontal>.swiper-pagination-bullets,
.elementor-lightbox .swiper .swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-lightbox .swiper .swiper-pagination-custom,
.elementor-lightbox .swiper .swiper-pagination-fraction,
.elementor-lightbox .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-lightbox .swiper~.swiper-pagination-custom,
.elementor-lightbox .swiper~.swiper-pagination-fraction {
    z-index: 0;
}



.single-st_hotel .st-service-header,
.single-hotel_room .st-service-header,
.single-st_tours .st-service-header,
.single-st_rental .st-service-header,
.single-st_cars .st-service-header,
.single-st_activity .st-service-header {
    margin-top: 15px !important;
}



/* ----- Single Tour page -------  */

.fotorama__stage {
    /* height: 350px !important; */
}

.fotorama {
    border-radius: 20px;
}

.fotorama__stage img.fotorama__img {
    /* top: unset !important;
    bottom: -30% !important; */
}

.fotorama__stage__frame.fotorama__active.fotorama__loaded.fotorama__loaded--img {
    border-radius: 20px !important;
}

.fotorama__thumb {
    border-radius: 20px !important;
}

@media screen and (max-width: 767px) {

    /* .fotorama__stage {
            height: auto !important;
        } */
    .fotorama__stage img.fotorama__img {
        top: 10% !important;
        bottom: unset !important;
    }
}

h1.st-banner-search-form__title {
    font-family: var(--font-serif);
    font-size: clamp(30px, 3vw, 40px) !important;
    font-weight: 700;
    margin-top: 15px;
    color: #001F5E;
}

.single-st_tours #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-form-head-book,
.single-st_activity #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-form-head-book,
.single-st_cars #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-form-head-book,
.single-st_rental #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-form-head-book {
    padding-top: 20px !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-form-head-book,
.single-st_activity #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-form-head-book,
.single-st_cars #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-form-head-book,
.single-st_rental #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-form-head-book {
    padding-top: 15px !important;
}

.single .st-fixed-form-booking .st-form-head-book {
    margin-bottom: 15px !important;
}

/* ============================================================
   TOUR SINGLE — BOOKING FORM PRICE (form-book.php)
   Emphasizes the "From: $xxx" price shown at the top of the
   sticky booking form so it reads as the key number on the page.
============================================================= */
.st-form-book-wrapper .st-price-origin {
    align-items: baseline !important;
    gap: 0px;
    margin-bottom: 2px;
}

.st-form-book-wrapper .st-price-origin .st-unit {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-light, #5e6d77);
}

.st-form-book-wrapper .st-price-origin .price {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 34px !important;
    line-height: 1.1;
    color: var(--tripi-blue, #006deb) !important;
}

.st-form-book-wrapper .st-price-origin .tour-sale-box {
    margin-right: 4px;
}

.st-form-book-wrapper .st-form-head-book.st-service-header2 {
    flex-wrap: wrap;
    gap: 10px;
}

.st-form-book-wrapper .st-review-score {
    display: flex !important;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #FFF8E6;
    border: 1px solid #FFE29C;
    margin: 0 !important;
}

.st-form-book-wrapper .st-review-score i {
    color: #FFB800;
    font-size: 13px;
}

.st-form-book-wrapper .st-review-score .rate {
    font-weight: 700;
    font-size: 14px;
    color: var(--tripi-dark-blue, #1A2B48);
}

.st-form-book-wrapper .st-review-score .summary {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-light, #5e6d77);
}

.single-st_tours #st-content-wrapper.st-style-elementor .form-guest-search .guest-wrapper,
.single-st_activity #st-content-wrapper.st-style-elementor .form-guest-search .guest-wrapper,
.single-st_cars #st-content-wrapper.st-style-elementor .form-guest-search .guest-wrapper,
.single-st_rental #st-content-wrapper.st-style-elementor .form-guest-search .guest-wrapper {
    padding: 10px 20px !important;
}

.single-st_tours #form-booking-inpage .form-group,
.single-st_rental #form-booking-inpage .form-group,
.single-st_cars #form-booking-inpage .form-group,
.single-st_activity #form-booking-inpage .form-group,
.single-hotel_room #form-booking-inpage .form-group {
    padding: 10px 20px !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor #form-booking-inpage .total-price-book,
.single-st_activity #st-content-wrapper.st-style-elementor #form-booking-inpage .total-price-book,
.single-st_cars #st-content-wrapper.st-style-elementor #form-booking-inpage .total-price-book,
.single-st_rental #st-content-wrapper.st-style-elementor #form-booking-inpage .total-price-book {
    margin-top: 0px !important;
    margin-bottom: 10px;
}

.search-form:not(.sticky) .form-group {
    min-height: 70px !important;
}

.guest_name_input label {
    margin-bottom: 10px !important;
    padding-top: 3px !important;
}

.single .st-fixed-form-booking .st-form-booking-action form .submit-group {
    margin-top: 0px !important;
}

.message-wrapper {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.sticky-top {
    top: 95px !important;
}

.guest_name_input .guest_name_control .control-item {
    padding-bottom: 15px !important;
}

.iten-img-icon {
    height: 70px;
    width: 70px;
    border-radius: 50%;
    float: left;
    margin-right: 20px;
    border: solid 2px var(--tripi-blue);
}

.header__left .logo img {
    max-width: 200px !important;
}

#st-content-wrapper.st-style-elementor .st-bg-feature {
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: scroll;
    position: relative;
    /* padding-top: 125px !important; */
    padding-bottom: 20px !important;
    border-bottom: 0px;
}

.single #st-content-wrapper .st-single-service-content {
    margin-top: 20px !important;
}

section.elementor-section.elementor-inner-section.elementor-element.elementor-element-7822407.search-sec.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default {
    position: relative !important;
    top: 150px !important;
}

.breadcrumbs-cats {
    background-color: #dddddd !important;
    font-size: 14px !important;
}

.breadcrumbs-cats .st-breadcrumb {
    padding: 10px !important;
}

.breadcrumbs-cats .st-breadcrumb ul {
    background-color: transparent !important;
}

.search-tour-cats {
    margin-top: 5px;
}










/* ------------ faq ----------------- */



.st-heading-section {
    font-weight: 700;
    font-size: 26px;
    line-height: 45px;
    color: #232323;
    margin-bottom: 20px;
}

.st-faq-list .accordion-item {
    background: #FCFCFC;
}

.st-faq-list .st-program {

    background: #FCFCFC;
    border: 1px solid #DEDEDE;
    box-sizing: border-box;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
}

.st-faq-list .st-program .content-itinerary {
    margin-top: 10px;
}

.st-faq-list .st-program .accordion-header button {
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    color: var(--tripi-blue);
}

@media screen and (max-width: 767px) {
    .st-faq-list .st-program .accordion-header button {
        /* font-size: 16px; */
        line-height: 26px;
        padding: 0;
    }
}

.st-faq-list .st-program .accordion-header button span {
    background: #FFFFFF;
    border: 1px solid #DEDEDE;
    box-sizing: border-box;
    border-radius: 10px;
    outline: none;
    padding: 8px 16px;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 26px;
    color: var(--tripi-blue);
    margin-right: 18px;
}

@media screen and (max-width: 767px) {
    .st-faq-list .st-program .accordion-header button span {
        min-width: 80px;
        text-align: center;
    }
}

.st-faq-list .st-program .accordion-button.collapsed::after {
    border: 1px solid #5E6D77;
}

.st-faq-list .st-program .accordion-button .icon-question {
    margin-right: 13px;
    font-size: 20px;
}

.st-faq-list .st-program .accordion-body {
    font-style: normal;
    font-size: 16px;
    line-height: 26px;
    color: #5E6D77;
    margin-right: 18px;
    font-weight: 400;
    padding: 20px 0px 0px 0px !important;
}

.st-faq-list .st-program .accordion-body p {
    margin-bottom: 0px;
}

.category-card .elementor-cta__description.elementor-cta__content-item.elementor-content-item.elementor-animated-item--grow {
    text-shadow: 0px 1px 5px black !important;
}

.content-hide {
    display: none;
}

.bdt-panel-slide-item.swiper-slide.bdt-transition-toggle {
    border-radius: 10px;

}

.elementor-13043 .elementor-element.elementor-element-ffe8a4a .bdt-panel-slide-item:before {
    background-color: unset !important;
    transition: all .3s ease;
    background-image: -moz-linear-gradient(271deg, rgb(0 0 0 / 0%) 0%, rgb(0 0 0) 100%) !important;
    background-image: -webkit-linear-gradient(271deg, rgb(0 0 0 / 0%) 0%, rgb(0 0 0) 100%) !important;
    background-image: -ms-linear-gradient(271deg, rgb(0 0 0 / 0%) 0%, rgb(0 0 0) 100%) !important;
}


.service-list-wrapper {
    padding-bottom: 0px !important;
}

.content-itinerary p {
    padding-bottom: 25px !important;
}
.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-8 .st-faq-list .st-program .accordion-header button,
.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-9 .st-faq-list .st-program .accordion-header button,
#st-content-wrapper.st-style-elementor.st-single-activity-4 .st-faq-list .st-program .accordion-header button,
#st-content-wrapper.st-style-elementor.st-single-activity-5 .st-faq-list .st-program .accordion-header button{
font-size: clamp(18px, 2vw, 20px) !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-8 .st-program-list .st-program .accordion-header button,
.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-9 .st-program-list .st-program .accordion-header button,
#st-content-wrapper.st-style-elementor.st-single-activity-4 .st-program-list .st-program .accordion-header button,
#st-content-wrapper.st-style-elementor.st-single-activity-5 .st-program-list .st-program .accordion-header button
 {
    font-weight: 600 !important;
    font-size: clamp(20px, 2vw, 22px) !important;
    line-height: 28px !important;
    color: #0066db !important;
}

.content-itinerary h4 {
    font-size: clamp(18px, 2vw, 20px) !important;
    font-weight: 600 !important;
}

#gotop {
    z-index: 1000 !important;
    border: 2px solid #ffffff;
    background: var(--main-color, #006deb) !important;
}

#gotop:hover {
    background: var(--tripi-dark-blue, #001F5E) !important;
}

#gotop i {
    line-height: 38px !important;
}

.list-pack {
    font-size: 16px;
    font-family: var(--font-sans) !important;
}

.list-pack span {
    margin: 7px;
}

.list-pack i {
    color: #e0bf01;
}

.note-tour {
    font-size: 16px;
    font-family: var(--font-sans) !important;
}
#st-content-wrapper .widget-box span.infor-heading{
    font-size: 18px !important;
    color: var(--tripi-dark-blue) !important;
}
.attrac-list {
    position: relative;
}
.st-price-list .d-title-box{
    color:#0066db !important;
}
#st-content-wrapper .st-description a{
     color: #0066db !important;
}
.cruise-overview a{
    color: #0066db !important;
}
.content-itinerary a{
    color: #0066db !important;
}
.attrac-list .box-item {
    border: 1px solid #d2d2d2;
    /* margin: 10px; */
    padding: 15px 20px;
    border-radius: 10px;
    height: 100%;
}

.attrac-list .box-item ul {
    padding-left: 0px !important;
}

.attrac-list .box-item ul {
    padding-left: 5px;
}

.attrac-list ul li {
    padding: 0 4px;
    font-size: 15px;
    font-family: var(--font-sans);
    color: #5E6D77;
}

.attrac-list i {
    color: var(--tripi-blue);
    margin-right: 7px;
    font-size: 18px;
    line-height: 22px;
}

.attrac-list .box-item h3 {
    font-size: clamp(20px, 1.5vw, 20px);
    font-weight: 600;
    color: var(--tripi-blue);
    padding-bottom: 8px;
    border-bottom: 1px solid #D2D2D2;
}

#st-content-wrapper .st-description {
    margin-bottom: 0px !important;
    font-size: 16px !important;
    font-family: var(--font-sans) !important;
    line-height: 28px !important;
    margin-top: 25px !important;
}

/* Filter Style */
.wpc-filters-section {
    padding: 30px 20px;
    background: #f2f2f3;
    border-radius: 20px;
    margin-bottom: 30px !important;
    border: none;
    box-shadow: 0px 0px 10px -5px;
}

.wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label {
    margin-bottom: 2px !important;
}

.wpc-filter-header {
    font-weight: 700;
    font-size: 18px;
    line-height: 26px;
    color: #001F5E !important;
}

.wpc-filters-main-wrap ul.children {
    margin-left: 0px !important;
}

body .wpc-filters-open-button-container a.wpc-filters-open-widget,
body .wpc-filters-open-button-container a.wpc-open-close-filters-button {
    border-radius: 20px !important;
}

.wpc-filters-section input {
    padding: 10px;
    border-radius: 10px;
}

a.wpc-see-more-control.wpc-toggle-a,
a.wpc-see-less-control.wpc-toggle-a {
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    color: var(--tripi-blue);

}

.wpc-filters-checkboxes input {
    border: 1px solid #83929d;
    border-radius: 5px;
    width: 20px;
    height: 20px;
    top: 3px;
}

.wpc-term-item-content-wrapper span.wpc-term-count,
.wpc-term-item-content-wrapper span a,
.wpc-filters-checkboxes label a {
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    color: var(--grey-color, #5E6D77);
}

/* End Filter Style */

.new-letter-img .elementor-widget-wrap {
    border-radius: 20px 0px 0px 20px;
}

.st-list-service a.service-avatar {
    display: none !important;
}

.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 10px !important;
}

.tripi-carousel-title {
    font-weight: 600;
    font-size: 18px;
    line-height: 26px;
    margin-top: 0;
    margin-bottom: 5px;

}

.tripi-carousel-title a {
    color: #001F5E;
}

.services-item.item-elementor.grid-2>.item .content-item .st-tour--description {
    line-height: 25px !important;
    color: rgb(56 56 56 / 85%) !important;
}

.st-list-destination.st-sliders .swiper-wrapper .swiper-slide .title a {
    color: #001F5E !important;
}

.service-list-wrapper .item h3.title a {
    color: #001F5E !important;
    font-weight: 700 !important;
}

.relate-rooms .service-list-wrapper .item h5.title a {
    color: #001F5E !important;
    font-size: 16px !important;
}

.services-item.item-elementor.grid-2>.item .content-item .st-flex.space-between.st-price__wrapper .price--tour .item {
    color: #001F5E !important;
}

.request-quote-text {
    font-size: 16px !important;
    font-weight: 600;
}

.services-item.item-elementor.grid-2>.item .content-item .st-flex.space-between.st-price__wrapper .st-btn--book a {
    z-index: 9 !important;
}

.post-carousel-wrapper .htmega-postslider-layout-2 .content {
    padding: 20px !important;
}

.st-list-service.slider.style_2 .swiper-slide .services-item {
    margin-bottom: 2px !important;
}

.service-list-wrapper>[class*=col-] {
    margin-bottom: 0px !important;
}

ul.wpc-filter-chips-list.wpc-filter-chips-16410-1.wpc-filter-chips-16410 {
    flex-wrap: wrap !important;
}

#ui-datepicker-div.wpc-filter-datepicker .ui_tpicker_second .ui-timepicker-select,
.wpc-filters-main-wrap .wpc-filter-layout-labels.wpc-filter-has-swatches .wpc-filters-labels li.wpc-term-item label,
li.wpc-chip-reset-all .wpc-filter-chip-name {
    font-size: 14px !important;
}

.wpc-chip-content .wpc-filter-chip-name {
    font-size: 12px !important;
}

.wpc-filter-chips-list a,
.wpc-filter-chips-list li.wpc-filter-chip a {
    padding: 5px 15px 5px !important;
}

.wpc-filter-chips-list li.wpc-chip-reset-all a {
    border-color: unset !important;
    background-color: var(--tripi-blue) !important;
    color: #fff !important;
}

span.wpc-posts-found-number.wpc-plural {
    background: var(--tripi-blue);
    color: #fff;
    padding: 3px 10px;
    border-radius: 50px;
    margin-right: 7px;
}

.wpc-posts-found {
    font-size: 16px;
    font-weight: 600;
    color: #001F5E;
    text-transform: capitalize;
}

.wpc-filter-chips-list li,
body .wpc-filter-chips-list li.wpc-filter-chip,
li.wpc-filter-chip {
    margin: 0 12px 11px 0 !important;
}

.content-itinerary ul li {
    margin-bottom: 10px !important;
}

.alert.alert-warning.d-flex.align-items-center {
    background-color: #ffeebab0 !important;
}

.st-service-feature {
    margin-bottom: 0px !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor .st-hr {
    margin-top: 40px !important;
}

.st-service-feature {
    padding-top: 25px !important;
    padding-bottom: 15px !important;
    margin-bottom: unset !important;
    padding-top: unset !important;
    margin-top: 25px !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor .st-service-feature {
    padding: unset !important;
    border: unset !important;
}
.rounded-20{
    border-radius: 20px !important;
}
.bg-dark-blue {
    background-color: #001F5E;
}

.media i.fas {
    color: var(--tripi-blue);
    margin-right: 10px;
    font-size: 20px;
}

.st-information-contact span.heading {
    font-size: 20px !important;
    font-weight: 600;
    color: #1f1f1f;
    margin-bottom: 15px;
}

.media a span {
    color: var(--grey-color, #5E6D77);
    font-size: 14px !important;
}

.media p {
    font-size: 14px !important;
    padding: 7px;
    border-bottom: 1px solid #e7e3e3;
    color: var(--grey-color, #5E6D77);
}

.st-information-contact span {
    font-size: 13px !important;
    color: var(--grey-color, #5E6D77);
}

@media screen and (max-width: 991px) {
    #st-content-wrapper .hotel-target-book-mobile {
        z-index: 1000 !important;
    }
}

@media screen and (max-width: 991px) {
    #st-content-wrapper .fixed-on-mobile {
        padding-top: 20px !important;
    }

    nav.rank-math-breadcrumb {
        line-height: 20px !important;
    }
    
}

.cities-cards h2 {
    text-shadow: 0 0 10px BLACK;
}

.elementor-18865 .elementor-element.elementor-element-0998580:not(.elementor-motion-effects-element-type-background),
.elementor-18865 .elementor-element.elementor-element-0998580>.elementor-motion-effects-container>.elementor-motion-effects-layer {
    background-position: 50% 25% !important;
}

.img-program {
    border-radius: 20px;
}

#gotop {
    right: 24px !important;
    bottom: 85px !important;
}

.bag-ico img {
    width: 40px !important;
    height: 40px !important;
}

/* Single Tour Cruise */

.facilities-service {
    background: #fcfcfc;
    border: 1px solid #dedede !important;
    box-sizing: border-box;
    border-radius: 16px;
    padding: 20px !important;
    margin-bottom: 12px;
    margin-top: 25px;
}

.facilities-service .item {
    margin-bottom: 10px;
}

.facilities-service .item .icon {
    background: #fff;
    border: 1px solid #dedede;
    box-sizing: border-box;
    border-radius: 10px;
    padding: 12px;
    width: 48px;
    height: 48px;
}

.facilities-service .item .icon i {
    font-size: 21px;
    color: var(--grey-color, #5E6D77);
}

.facilities-service .item .icon {
    margin-right: 15px;
}



-------------------------------------- .sec-program .st-program-list .st-program,
.sec-program.st-faq-list .st-program {
    background: #efeeee;
    border: 1px solid #c3c3c3;
    box-sizing: border-box;
    border-radius: 16px;
    padding: unset !important;
    margin-bottom: 12px;
    color: #FFFFFF !important;
    padding: 12px 17px;
    margin: 20px !important;
}

.sec-program .st-program-list .st-program .accordion-button.collapsed::after {
    border: 1px solid var(--tripi-blue);
}

.sec-program .st-program-list .st-program .accordion-header button {
    font-weight: 600 !important;
    font-size: 18px !important;
    line-height: 28px !important;
    color: var(--tripi-blue) !important;

}

.sec-program .st-program-list .accordion-item {
    background: #efeeee;
}

.sec-program .st-heading-section {
    font-size: 24px;
    font-weight: 500;
    padding: 10px 20px;
    background: #001F5E;
    color: #FFFFFF !important;
    border-radius: 15px 15px 0px 0px;
}

.sec-program {
    /* background: #fcfcfc;
    border: 1px solid #dedede !important; */
    box-sizing: border-box;
    border-radius: 16px;
    padding: 0px !important;
    margin-bottom: 12px;
    margin-top: 25px;
}


.sec-program .st-program-list .st-program,
.sec-program .st-faq-list .st-program {
    background: #efefef;
    border: 1px solid #d3d3d3 !important;
    box-sizing: border-box;
    border-radius: 16px;
    padding: 12px 16px !important;
    margin: 10px 20px;
}


.sec-program .st-program-list .accordion-item{
    background: #fff !important;
}
.sec-program .st-faq-list .accordion-item {
    background: #efefef !important;
}

.sec-price-policy {
    /* background: #fcfcfc;
    border: 1px solid #dedede !important; */
    box-sizing: border-box;
    border-radius: 16px;
    padding: 5px 10px 30px 5px !important;
    margin-bottom: 12px;
    margin-top: 40px;
}

.sec-price-policy .st-price-list .st-program {
    background: #efefef !important;
    border: 1px solid #d3d3d3 !important;
    box-sizing: border-box;
    border-radius: 16px;
    padding: 12px 16px !important;
    margin: 10px 20px;
}



.sec-price-policy .st-price-list .st-program {
    background: #efefef !important;
}

.sec-price-policy .st-price-list .accordion-item {
    background: #efeeee;
}

.sec-price-policy .st-heading-section {
    font-size: 24px;
    font-weight: 500;
    padding: 0 15px 20px;
    border-radius: 15px 15px 0px 0px;
}

.content-itinerary {
    display: flex;
    flex-direction: column;
    /* text-align: center; */
}

.content-itinerary span:first-child {
    font-weight: 700;
    font-size: 25px;
}

.inside-box {
    background: #fcfcfc;
    padding: 15px;
    border-radius: 15px;
    margin: 15px 5px;
}

.faq.style1 .accordion-button::after {
    content: "-";
    border: 1px solid;
}

.body-price-note,
.body-policy-notes {
    font-size: 16px;
}

.heading-single-cruise-h2,
.heading-single-h2 {
    /* font-size: 26px !important; */
    font-weight: 700 !important;
    color: #001F5E !important;
}

.heading-single-cruise-h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
}

.text-siz {
    font-size: 14px !important;
}

.f-stitle-prices {
    font-size: 20px !important;
    font-weight: 600 !important;
}

.py-title-price {
    padding-top: 6px;
    padding-bottom: 6px;
}

@media screen and (max-width: 675px) {
    .f-stitle-prices {
        padding-right: 0px !important;
    }

    .d-title-box {
        display: contents;
    }
}
#tourInquiryForm{
scroll-margin-top: 100px;
}
#tour-reviews
{
    scroll-margin-top: 200px;
}
#tour-booking-form,
#cruise-overview,
#cruise-facilities,
#cruise-itinerary,
#cruise-nclusion,
#cruise-price,
#cruise-reviews,
#tour-overview,
#tour-inclusion,
#tour-highlights,
#tour-itinerary,
#tour-faq,
#tour-prices
{
    scroll-margin-top: 150px;
}
#package-listings-ads{
scroll-margin-top: 50px;
}
#form-section-ads{
    scroll-margin-top: 250px;
}


.fixed-nav-cruise {
    position: sticky;
    top: 110px;
    z-index: 1000;
    background-color: #001F5E;
    padding-top: 0px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 5px;
    margin-top: 25px;

}

.fixed-nav-cruise .nav-link {
    padding: 15px 25px !important;
}

.fixed-nav-cruise .nav-link.active {
    border-radius: 3px 3px 0px 0px;
}

#st-content-wrapper.st-page-default .banner .banner-content h1 {
    font-weight: 800;
}

/* .single-st_tours #st-content-wrapper.st-style-elementor .st-form-book-wrapper {
    height: 100%;
    max-height: 70vh;
    overflow-y: auto;
    scrollbar-width: thin;
} */

.fixed-nav-cruise .nav-link {
    color: #ffffff !important;
}

.fixed-nav-cruise .nav-link.active {
    color: #001F5E !important;
    background-color: #e7e7e7;
    border-color: unset;
    border-bottom: 2px solid #001F5E !important;
}

.sec-menu-cruise,
.sec-menu-tour {
    position: sticky;
    top: 60px;
    z-index: 9;
    background-color: #ffffff;
    padding-top: 1px;
}

/* Break .sec-menu-tour out of the col-lg-8 gutter/padding so the bar
   spans the full viewport width, while staying nested in the column
   in markup. Margin-based (not left/right insets) so it doesn't
   interfere with the position: sticky offsets above. Mobile only —
   on desktop the column padding lines the nav up with the rest of
   the content, which is the wanted look there. */
@media (max-width: 767px) {
    .sec-menu-cruise,
    .sec-menu-tour {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
}

.hr-cruise {
    margin: 15px !important;
}

@media screen and (max-width: 767px) {
    .fotorama__stage img.fotorama__img {
        top: unset !important;
        bottom: unset !important;
    }

    .top-ten-tours {
        width: 100% !important;
    }

    .fixed-nav-cruise .nav-link {
        padding: 15px 20px !important;
    }
}

.st-blog.st-blog--search {
    margin-top: 50px;
}

.info .name {
    color: #001F5E !important;
}

.text {
    font-size: 24px;
}

.moreText {
    display: none;
}

.read-more-btn {
    border: none;
    font-size: 16px !important;
    color: #001F5E;
    font-weight: 500 !important;
    outline: none;
    cursor: pointer;
}

a.more-tours-btn {
    border: none;
    font-size: 16px !important;
    color: #ffffff;
    font-weight: 500 !important;
    outline: none;
    cursor: pointer;
    background-color: var(--tripi-blue);
    padding: 10px 20px;
    border-radius: 25px;
}

a.more-tours-btn:hover {
    background-color: #001F5E;
    color: #ffffff;
}

.text.show-more .moreText {
    display: inline;
    background-color: #c7c3c3;
}

.top-ten-tours {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
}

.top-ten-tours tbody,
td,
tfoot,
th,
thead,
tr {
    border-color: inherit;
    border-style: solid;
    border-width: 1px;
}

.moreTextBox {
    background: #f5f5f5;
    padding: 25px;
    border-radius: 20px;
    margin-top: 10px;
}

/* Read more  */

#content {
    color: #7A7A7A;
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 400;
    line-height: 27px;
    max-height: 0px;
    overflow: hidden;
    display: none;
    /* Set Transitions */
    transition: max-height 0.7s;
}

#content.open {
    max-height: 100%;
    display: block;
    /* Set transitions */
    transition: max-height 0.7s;
    background-color: #f3f3f3;
    padding: 25px;
    border-radius: 20px;
}

#show-more {
    background-color: #FFFFFF;
    font-family: var(--font-sans) !important;
    font-size: 16px;
    font-weight: 500;
    fill: #001F5E;
    color: #001F5E;
    cursor: pointer;
}

table.tour-details-sec {
    width: 100%;
    text-align: center;
    display: table;
    border-collapse: collapse;
    border: #ffffff !important;
}

.single-st_tours #st-content-wrapper.st-style-elementor .tour-details-sec .item .icon {
    background: #fff;
    border: 1px solid #dedede;
    box-sizing: border-box;
    border-radius: 10px;
    padding: 12px;
    width: 48px;
    height: 48px;
    margin-right: 15px;
}

.single-st_tours #st-content-wrapper.st-style-elementor .tour-details-sec .item .icon i {
    font-size: 21px;
    color: var(--grey-color, #5e6d77);
}

.single-st_tours #st-content-wrapper.st-style-elementor .tour-details-sec .item .value {
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: var(--grey-color, #5e6d77);
    text-align: left;
}

.single-st_tours #st-content-wrapper.st-style-elementor .tour-details-sec .item .name {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 16px;
    line-height: 26px;
    color: var(--heading-color);
    text-align: left;
    padding: 5px 0;
}

.single #st-content-wrapper.st-style-4 #st-reviews {
    padding-top: 0px !important;
}


.faq-item.hidden {
    display: none;
}

.toggle-content .short-text,
.toggle-content .full-text {
    margin-bottom: 15px;
}

.read-more-btn {
    background-color: var(--tripi-blue);
    color: white;
    padding: 5px 12px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    text-transform: uppercase;
}

.read-more-btn:hover {
    background-color: #001F5E;
}

#load-more-faq,
#show-less-faq {
    background-color: var(--tripi-blue);
    color: white;
    padding: 5px 12px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    text-transform: uppercase;
}

#load-more-faq:hover,
#show-less-faq:hover {
    background-color: #001F5E;
}

.tripi-hr-0 {
    width: 100%;
    height: 1px;
    background: var(--light-grey-color, #EAEEF3);
}

li.st-program {
    list-style: none;
}

ul.st-program-list {
    padding-left: 0rem;
}

.pr-4 {
    padding-right: 30px !important;
}

.content-itinerary img {
    height: 70px;
    width: 70px;
    border-radius: 50px;
    margin-right: 10px;
    border: 5px solid #dbdada;
    float: left;
}

.content-itinerary h4 {
    font-size: clamp(18px, 2vw, 20px) !important;
    font-weight: 700 !important;
}
.rest-itin{
    display: flex;
    flex-direction: row;
}
.rest-itin .attraction-content-slid h4{
    height: auto !important;
    padding: 7px 0;
}

.rest-itin h4 {
    float: left;
    height: 100%;
    padding: 25px 0;
}

.rest-itin p {
    float: left;
    width: 100%;
}

/* Cruise "rest" blocks (meals / overnight / check-in): same two-row layout. */
.rest-itin--rows {
    flex-direction: column;
}

.rest-itin--rows .attraction-row-top {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.rest-itin--rows .attraction-row-top h4 {
    height: auto;
    padding: 7px 0;
    margin: 0;
}

.rest-itin--rows .attraction-row-bottom,
.rest-itin--rows .attraction-row-bottom p {
    width: 100%;
}

/* Attraction blocks: row 1 = img + h4 side by side, row 2 = p below, on all devices. */
.touristattraction {
    display: flex;
    flex-direction: column;
}

.touristattraction .attraction-row-top {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.touristattraction .attraction-row-top h4 {
    height: auto !important;
    padding: 7px 0;
    margin: 0;
}

.touristattraction .attraction-row-bottom {
    width: 100%;
}

.touristattraction .attraction-row-bottom p {
    width: 100%;
}

.service-list-wrapper.service-tour .services-item.item-elementor .price-wrapper .price .sale-top .item {
    line-height: 40px !important;
}

.btn.btn-primary.btn-book-relate {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 7px 15px !important;
    box-shadow: 0px 4px 1px #c3c3c3;
}

.btn.btn-primary.btn-book-card {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 10px 25px !important;
    box-shadow: 0px 4px 1px #c3c3c3;
    border-radius: 20px;
}

.services-item.item-elementor .item .content-item .section-footer {
    margin-top: 3px;
    padding-top: 15px;
    border-top: unset;
}
.activity-card .content-item .section-footer {
    margin-top: 0px !important;
    padding-top: 10px !important;
    border-top: unset;
}

.top-footer {
    margin-top: 15px !important;
    padding-top: 7px !important;
    border-top: 1px solid #dedede;
}

.start-from {
    line-height: 37px;
    color: #5e6d77;
    font-weight: 500;
}

.activity-excerpt {
    font-size: 14px;
    color: #383838D9;
    line-height: 25px !important;
}

.search-result-page .service-list-wrapper.service-tour .services-item.item-elementor .price-wrapper .price .sale-top .item {
    font-size: 22px;
}

.relate-rooms .service-list-wrapper.service-tour .services-item.item-elementor .price-wrapper .price .sale-top .item {
    font-size: 18px !important;
}

.services-item h3.title-book-card {
    height: 52px;
}

.services-item h3.title-relate-card {
    height: 65px;
    border-bottom: 1px solid #dedede;
}

.overview-cate {
    font-family: var(--font-sans) !important;
}

.overview-cate p {
    font-size: 16px;
    color: #7a7a7a;
    font-weight: 400;
    line-height: 27px;
}

#st-content-wrapper.search-result-page .banner h1 {
    font-size: clamp(36px, 4vw, 46px) !important;
    position: relative;
    color: #fff;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0px;
    font-weight: 800;
    text-shadow: 0 0 13px #000000;
    z-index: 2;
}

.shell-breadcrumb-tripi {
    background-color: #f0f0f0;
}

.breadcrumb-tripi {
    display: flex;
    padding-top: 13px;
}

.rt-type {
    width: 125px;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .6));
    z-index: 1;
}

.day-tour-details .value {
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: var(--grey-color, #5e6d77);
    text-align: left;
}

.day-tour-details .name {
    font-weight: 700;
    font-size: 16px;
    line-height: 26px;
    color: var(--heading-color);
    text-align: left;
    padding: 5px 0;
}

#main-footer {
    padding-bottom: 50px;
    border-bottom: 1px solid var(--light-grey-color, #eaeef3);
    background-color: var(--link-color, #001F5E);
    color: #ffffff;
    padding-top: 15px;
}



body header .header {
    position: relative;
    padding: 0 20px;
    width: 100%;
    background-color: #ffffff;
    top: 0px;
    left: 0;
    right: 0;
    z-index: 10;
    transition: all 0.3s ease;
    /* Smooth transition */
    box-shadow: 0 0 5px #767676;
}

#header-tripi.fixed {
    position: fixed;
    top: 0;
    height: 70px;
    background-color: #ffffff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    /* Optional: Add shadow when fixed */
    transform: translateY(0);
    /* Reset transform */
    transition: all 0.3s ease;
    /* Smooth transition */
}

body header .header #main-menu>li>a {
    padding: 25px 20px !important;
    text-transform: capitalize !important;
}

body header .header .header-right .st-list .st-header-link a {
    background: var(--tripi-blue) !important;
}

@media screen and (max-width: 991px) {
    body header .header #main-menu>li a {
        padding: 18px 20px !important;
        font-size: 16px !important;
    }

    .modal-open-mb #header-tripi.fixed {
        /* height: 100vh !important;
        background-color: transparent !important;
        transform: translateY(0);
        /* Reset transform */
        /* transition: all 0.3s ease; */
    }

    body header .header.fixed .header-left #st-main-menu.open #main-menu {
        height: 100vh !important;
        max-height: 100vh !important;
    }

    body header .header.fixed .header-left #st-main-menu {
        height: 100vh !important;
    }
}

@media (max-width: 767px) {


    body header #topbar {
        padding: 10px 0px 10px 0px !important;
        display: flex;
        justify-content: space-between;
    }

    body header #topbar .topbar-items li {
        padding-left: 10px;
        padding-right: 10px;
        display: inline-block;
    }

    body header #topbar .topbar-right {
        font-size: 12px;
        display: flex;
        justify-content: space-between;
        flex-direction: row;
        width: 100%;
        padding: 10px 15px 0 15px;
        border-top: 1px solid #ffffff40;
        margin-top: 10px;
    }

    body header .header .header-left .logo img {
        width: 130px;
        padding: 5px 0;
    }

    .sub-footer .col-lg-3 {
        padding: 15px;
    }
    .single-st_tours #st-content-wrapper.st-style-elementor .tour-details-sec .item .icon{
        padding: 9px;
    width: 40px;
    height: 40px;
    }
}
@media screen and (max-width: 520px) {
    #st-content-wrapper.st-style-elementor .stt-discount .st-program .table {
        min-width: 100%;
        overflow-x: auto;
    }
        .tour-price-tripi .st-program {
            width: 100% !important;
            overflow: auto;
        }
}


@media (max-width: 1290px) {
    body header .header .header-right .st-list .st-header-link a {
        padding: 7px 7px;
    }

    body header .header #main-menu>li>a {
        padding: 25px 15px !important;
    }
}

i.input-icon.st-border-radius.field-icon.fa svg {
    /* width: 35px;
    height: 35px; */
}

.relate-rooms i.input-icon.st-border-radius.field-icon.fa svg {
    width: 22px;
    height: 41px;
}

.relate-rooms .services-item.item-elementor .item .content-item .price-wrapper .unit {
    font-size: 13px !important;
}

.sub-footer {
    /* background-color: var(--tripi-blue); */
    background-color: transparent;
    background-image: linear-gradient(180deg, #001f5e 0%, #0066db 100%);
    color: #ffffff;
    font-size: 14px;
    padding: 40px 0;
}

.sub-footer .footer-heading {
    font-family: var(--font-serif);
    font-size: 18px;
    font-weight: 700;
    border-bottom: 1px solid #ffffff;
    padding-bottom: 10px;
    margin-bottom: 15px;
    display: inline-block;
}

.divider-r {
    border-right: 1px solid transparent;
    border-image: linear-gradient(to bottom, #0077ff46, #bebebe, #0077ff46) 1;
}

.sub-footer a {
    color: #ffffff;
}

@media (max-width: 767px) {
    body header #topbar {
        flex-direction: column;
    }

    .topbar-left ul li:first-child {
        padding-right: 25px !important;
    }

    .topbar-left ul li:last-child {
        display: none !important;
    }

    .topbar-left ul li:nth-child(2) {
        border: none !important;
        padding-left: 25px !important;
    }
    .st-service-feature .item{
        width: 100%;
        margin: 0 !important;
    }
}

#btn-tript summary.e-n-accordion-item-title {
    width: 150px;
    box-shadow: 0px 15px 30px rgba(34, 130, 255, 0.6);
}

.tailor-your-tour {
    display: flex;
    height: 300px;
    background: linear-gradient(to right, #0077ff, #001F5E);
    color: white;
    overflow: hidden;
    border-radius: 20px;
}

.split-screen {
    display: flex;
    width: 100%;
}

.left,
.right {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

}

.left h1 {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 20px;
}

.left p {
    font-size: 1.5rem;
    margin-bottom: 30px;
}

.cta-button {
    padding: 15px 30px;
    font-size: 1.2rem;
    color: white;
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid white;
    border-radius: 30px;
    text-decoration: none;
    transition: background 0.3s ease, color 0.3s ease;
}

.cta-button:hover {
    background: white;
    color: #ff3d7f;
}

.right img {
    max-width: 100%;
    height: auto;
    border-radius: 20px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
    animation: slideIn 1.5s ease-out;
    margin-bottom: 250px;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.overview-category p a,
.overview-sec-cat p a {
    color: #0058bd;
    text-decoration: underline;
}

.title-sec {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
}
.title-testimonials h2{
    font-size: clamp(30px, 3vw, 34px) !important;
    color: #0051AD !important;
    font-weight: 600 !important;
    line-height: 30px !important;
    margin-bottom: 25px !important;
    margin-top: 20px !important;
}
.packages-duration-title h2,
.location-carousel-home-sec h2.section-title,
.popular-package h2.section-title,
.main-categories h2.section-title,
.overview-category h2 span,
.overview-category h2,
.overview-sec-cat h2,
.awards-sec h2,
.programs-cards .title-sec h2,
.tour-cats-main-sec .cats-title h2,
.packages-duration-title h2{
    font-size: clamp(30px, 3vw, 34px) !important;
    color: var(--tripi-blue) !important;
    font-weight: 600 !important;
    /* line-height: 30px !important; */
    margin-bottom: 25px !important;
    margin-top: 20px !important;
}

.programs-cards .title-sec h2,
.overview-sec-cat h2 {
    font-family: var(--font-serif) !important;
}

.multi-country-sec span.slogan-destinations,
.location-carousel-home-sec span.slogan-locations{
    color: #6b737b;
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
    word-spacing: 0;
}
.packages-duration-title span,
.title-sec span,
.tour-cats-main-sec .cats-title span,
.packages-duration-title span {
    font-family: var(--font-sans);
    display: block;
    font-size: 18px;
    font-weight: 500;
    line-height: 30px;
    margin-bottom: 5px;
    color: #757575;
}

.overview-category h3 span,
.overview-category h3,
.overview-sec-cat h3 {
    font-size: clamp(20px, 1.5vw, 20px);
    color: #001f5e !important;
    font-weight: 700;
    line-height: 30px;
}

.overview-category h4,
.overview-category h4 span,
.overview-sec-cat h4 {
    font-size: 20px !important;
    color: #4d5668 !important;
    font-weight: 700;
    line-height: 30px;
}

.overview-sec-cat table tr td:nth-child(1),
.overview-category table tr td:nth-child(1) {
    width: 70% !important;
}

.overview-sec-cat table tr td:nth-child(2),
.overview-category table tr td:nth-child(2) {
    width: 15% !important;
    text-align: center;
}

.overview-sec-cat table tr td:nth-child(3),
.overview-category table tr td:nth-child(3) {
    width: 15% !important;
    text-align: center;
}

.overview-sec-cat table tr td span,
.overview-category table tr td span {
    font-weight: 600;
    font-size: 17px;
}

.overview-sec-cat table,
.overview-category table {
    width: 70% !important;
    height: auto !important;

}

.overview-sec-cat table p,
.overview-category table p {
    margin: 0;
}


.overview-sec-cat table tr td a,
.overview-sec-cat table tr td a strong,
.overview-category table tr td a,
.overview-category table tr td a strong {
    color: var(--tripi-blue) !important;
    font-size: 16px !important;
}

.overview-sec-cat table tr td,
.overview-category table tr td {
    color: #001f5e !important;
    font-size: 16px !important;
}

.overview-category {
    color: #464646;
}

.top-overview p:nth-child(4) {
    font-size: 18px;
    font-weight: 600;
    color: #001f5e;
    text-align: center;
}

/* Overview text column: show the first two paragraphs, reveal the rest
   (with an inner scroll area) via the injected Show More / Show Less button.
   Markup for .top-overview-inner / .top-overview-hidden / .top-overview-toggle
   is built by my-js.js. */
.overview-sec-cat .top-overview .top-overview-hidden {
    display: none;
}

.overview-sec-cat .top-overview.is-expanded .top-overview-inner {
    max-height: 380px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 12px;
    scrollbar-width: thin;
    scrollbar-color: var(--tripi-blue, #006deb) #e3e8f0;
}

.overview-sec-cat .top-overview.is-expanded .top-overview-inner::-webkit-scrollbar {
    width: 8px;
}

.overview-sec-cat .top-overview.is-expanded .top-overview-inner::-webkit-scrollbar-track {
    background: #e3e8f0;
    border-radius: 999px;
}

.overview-sec-cat .top-overview.is-expanded .top-overview-inner::-webkit-scrollbar-thumb {
    background: var(--tripi-blue, #006deb);
    border-radius: 999px;
}

.top-overview-toggle {
    display: inline-block;
    margin-top: 14px;
    padding: 9px 22px;
    border: 1.5px solid var(--tripi-blue, #006deb);
    border-radius: 999px;
    background: transparent;
    color: var(--tripi-blue, #006deb);
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

.top-overview-toggle:hover {
    background: var(--tripi-blue, #006deb);
    color: #fff;
}

@media (max-width: 575px) {
    .overview-sec-cat .top-overview.is-expanded .top-overview-inner {
        max-height: 300px;
    }
}

@media (max-width: 767px) {
    .packaged-by-duration-heading h1{
        font-size: 28px !important;
        line-height: 40px !important;
    }
    .overview-sec-cat table,
    .overview-category table {
        width: 100% !important;
        height: auto !important;
    }
    .title-testimonials h2,
    .location-carousel-home-sec h2.section-title,
    .popular-package h2.section-title,
    .main-categories h2.section-title,
    .overview-category h2 span,
    .overview-category h2,
    .overview-sec-cat h2,
    .awards-sec h2,
    .programs-cards .title-sec h2,
    .programs-cards .progs-title h2,
    .tour-cats-main-sec .cats-title h2,
    .main-section-nile-cruise h2 {
        font-size: clamp(30px, 3vw, 34px) !important;
        /* line-height: 33px !important; */
    }

    .programs-cards .progs-title span {
        line-height: 30px !important;
    }
    .title-testimonials span,
    .location-carousel-home-sec span.slogan-locations,
    .title-sec span,
    .tour-cats-main-sec .cats-title span {
        display: none;
    }

    .overview-category h3 span,
    .overview-category h3,
    .overview-sec-cat h3 {
        font-size: clamp(20px, 1.5vw, 20px);
        color: #001f5e !important;
        font-weight: 700;
        line-height: 40px;
        padding: 0 35px;
        display: block;
    }

    .overview-category h4,
    .overview-category h4 span,
    .overview-sec-cat h3 {
        font-size: clamp(20px, 1.5vw, 20px);
        line-height: 30px;
    }
    .cruise-card .card-img-overlay-wrapper h3{
        font-size: clamp(20px, 1.5vw, 20px);
    }

    .overview-sec-cat table tr td:first-child,
    .overview-category table tr td:first-child {
        width: 50% !important;
    }

    .overview-sec-cat table tr td:nth-child(2),
    .overview-category table tr td:nth-child(2) {
        width: 25% !important;
    }

    .overview-sec-cat table tr td:last-child,
    .overview-category table tr td:last-child {
        width: 25% !important;
    }

    .mid-img {
        width: 100%;
        height: auto;
    }
    h1.st-banner-search-form__title{
        font-size: 28px !important;
        line-height: 40px !important;
    }
    .heading-single-cruise-h2,
    .heading-single-h2{
        /* font-size: 24px !important; */
        line-height: 40px !important;
    }
    .st-nav-arrow--right,
    .st-nav-arrow--left{
        margin-top: 25px !important;
    }
    .sec-menu-tour,
    .sec-menu-cruise{
        background-color: var(--tripi-dark-blue2) !important;
        padding: 0 5px !important;
    }
    .sec-menu-tour .fixed-nav-cruise, .sec-menu-cruise .fixed-nav-cruise{
        background: transparent !important;
        border-radius: 0px !important;
        margin-top: 10px !important;
    }

}

.elementor-31090 .elementor-element.elementor-element-e9b87ff .bdt-ep-static-carousel-title {
    height: 57px;
    border-bottom: 1px solid #dbdbdb;
    margin-bottom: 10px;
}

.faq-tripi {
    width: 100%;
}

.faq-tripi .accordion-header {
    background-color: #f0f0f0;
    padding: 15px;
    border-radius: 7px;
}

.faq-tripi .accordion-header .accordion-button.collapsed {
    background-color: #f0f0f0;
    border-radius: 7px 7px 0 0;
}

#st-content-wrapper.search-result-page .banner {
    height: 350px !important;
    min-height: 350px !important;
}

.search-result-page .banner {
    display: flex;
    align-items: end;
}

.faq-sec .content,
.overview-sec-cat .content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
}

.faq-sec .content.show,
.overview-sec-cat .content.show {
    max-height: fit-content;
    /* Adjust this value based on your content */
    opacity: 1;
}

.faq-btn {
    background-color: #07f;
    color: #fff;
    padding: 5px 12px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    text-transform: uppercase;
}

.faq-btn:hover {
    background-color: #001F5E;
}

.toggle-btn {
    background-color: var(--main-color);
    color: #fff;
    padding: 5px 12px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    text-transform: uppercase;
    display: inline-block;
}

.toggle-btn:hover {
    background-color: #001F5E;
}

.overview-sec-cat {
    background-size: auto;
    background-position: center;
    background-repeat: no-repeat;
    padding: 20px 0 30px 0;
}


.overview-sec-cat p,
.overview-sec-cat ul li {
    font-family: var(--font-sans) !important;
    font-size: 16px;
    color: #464646;
    line-height: 28px;
}

#st-content-wrapper.st-style-elementor.search-result-page {
    padding-bottom: 0px !important;
}

.overview-sec-cat h2 {
    line-height: 40px !important;
    margin-bottom: 15px !important;
    margin-top: 0 !important;
}

.img-box {
    display: flex;
    height: 100%;
    align-items: center;
}

.img-box img:first-child {
    border-radius: 20px;
    margin-right: 15px;
    width: 50%;
}

.img-box img:last-child {
    border-radius: 20px;
    margin-right: 15px;
    width: auto;
}


.img-box2 {
    display: flex;
    height: 100%;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: flex-start;
}

.img-box2 div:first-child {
    border-radius: 20px;
    margin: 15px 15px 15px 0;
    width: 100%;
    height: auto;
    align-self: flex-end;
    display: flex;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.img-box2 div:last-child {
    border-radius: 20px;
    margin-right: 15px;
    width: 80%;
    height: 180px;
    align-self: flex-start;
    display: flex;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.img-box3 {
    display: flex;

    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.img-box3 div:first-child {
    border-radius: 20px;
    margin: 45px 15px 15px 0;
    width: 100%;
    height: 165px;
    align-content: flex-end;
    display: flex;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.img-box3 div:last-child {
    border-radius: 20px;
    margin: 0px 15px 15px 0px;
    width: 75%;
    max-height: 240px;
    display: flex;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.img-box2 img,
.img-box3 img {
    width: 300px;
    height: 200px;
    object-fit: cover;
    border-radius: 20px;
}

@media (max-width: 768px) {

    .img-box2 img,
    .img-box3 img {
        width: 100%;
        height: auto;
    }
}

.awards-sec {
    background-color: #f4f6f9;
    padding: 20px 0 40px 0;
}

img.rounded-3 {
    border-radius: 15px !important;
}

/* .btn-search-tripi a {
    font-size: 13px !important;
    padding: 10px 17px !important;
} */


/* h3.title.tripi-search-title {
    height: 50px;
} */

.tripi-search-title a {
    font-size: 20px !important;
}

.breadcramb-search-page {
    background-color: #eeeeee;
    padding: 15px 0 0 0;
}

.relate-section .st-relate .relate-rooms .st-heading-section {
    padding-top: 0px !important;
}

.relate-section .relate-rooms .st-hr {
    margin-bottom: 35px !important;
}

.relate-section .relate-rooms .st-heading-section {
    margin-bottom: 40px !important;
}

#st-content-wrapper {
    padding-bottom: 75px !important;
}

.collapseDiscount .st-program table td {
    color: #464646;
}

#collapseDiscount .st-program table td{
    text-align: center;
}
#collapseDiscount .st-program table th{
    text-align: center;
}
#collapseDiscount .st-program table td:first-child{
    text-align: left !important;
}
#collapseDiscount .st-program table tr th:first-child{
    text-align: left !important;
}
#st-content-wrapper.st-style-elementor .stt-discount .st-program .table thead tr th {
    background-color: #001f5e;
    border-bottom-color: #DEDEDE;
    color: #ffffff;
    font-size: 22px;
}
#collapseDiscount .st-program table tr:nth-child(even) {
    background-color: #FCFCFC;
}
.search-page-tripi h3{
    font-size: clamp(20px, 1.5vw, 20px);
}
.search-page-tripi .activity-excerpt{
    color: #464646;
    font-size: 13px;
}
.search-page-tripi .sale-top .item {
    font-size: 20px !important;
}
.search-page-tripi .btn.btn-primary.btn-book-card {
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 9px 22px !important;
}
.search-page-tripi i.input-icon.st-border-radius.field-icon.fa svg {
    width: 34px;
    height: 34px;
}

.grid-relate-tripi .btn.btn-primary.btn-book-card {
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 10px 15px !important;
    box-shadow: 0px 4px 1px #c3c3c3;
    border-radius: 20px;
}
.grid-relate-tripi .content-item h3{
    font-size: clamp(20px, 1.5vw, 20px);
    border-bottom:none !important;
}
.grid-relate-tripi .content-item h3 a:hover{
    transform: translateY(5px);
    box-shadow: 0 0 0 #a7a7a7 !important;
}
.section-sub-footer-cruise .icon{
    font-size: 24px;
    color: var(--tripi-blue);
    margin-right: 5px;
}
.section-sub-footer-cruise span.name{
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 15px;
}
.section-sub-footer-cruise .value{
    color: rgb(56 56 56/85%) !important;
    font-size: 14px;
}
.price-table-tripi{
    font-weight: 700 !important;
}
#st-content-wrapper.st-style-elementor .stt-discount .st-program .table tr td {
    font-weight: 700;
    font-size: 20px;
    line-height: 26px;
    color: var(--grey-color, #5e6d77);
}
#st-content-wrapper.st-style-elementor .stt-discount .st-program .table tr th,
#st-content-wrapper.st-style-elementor .stt-discount .st-program .table tr td {
    padding: 14px 20px;
}
.tour-price-tripi .st-program{
    width: 75%;
    margin: 0 auto;
}
span.info__name,
span.info__name {
    font-family: var(--font-serif);
    color: #001f5e;
    font-size: 15px;
    font-weight: 700;
    font-stretch: normal;
    font-style: normal;
    line-height: 2.4;
    letter-spacing: normal;
    color: var(--link-color, #123a32);
    margin: 0;
}
.item__icon {
    color: var(--tripi-blue);
    font-size: 20px;
    margin-right: 7px;
}
 i.input-icon.st-border-radius.field-icon.fa svg{
    color: var(--tripi-blue);
    font-size: 20px !important;
}
.services-item.item-elementor.grid-2>.item .content-item .fixed-bottoms .st-tour--feature .st-tour__item:last-child {
    padding-right: 10px;
}
.services-item.item-elementor.grid-2>.item .content-item .fixed-bottoms .st-tour--feature .st-tour__item .item__info {
    margin-left: 0px;
    margin-top: 2px;
}
.services-item.item-elementor.grid-2>.item .content-item .fixed-bottoms .st-tour--feature .st-tour__item .item__info .info__value{
    color: rgb(56 56 56/85%) !important;
}
.section-sub-footer-cruise {
    padding: 10px 0;
}
.services-item.item-elementor.grid-2>.item .content-item .fixed-bottoms .st-tour--feature{
    padding: 10px 0 !important;
}
.services-item.item-elementor.grid-2>.item .content-item .st-tour--description p{
    margin: 0 !important;
}
.st-tour--feature.st-tour--tablet.flex-column{
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
    padding-top: 10px;
    position: relative;
    border-top: 1px solid rgba(66, 135, 121, .1);
    border-bottom: 1px solid rgba(66, 135, 121, .1);
}
.activity-card p{
    margin-bottom: 0 !important;
}
.activity-card .section-footer .price-tour:first-child{
    margin-bottom: 5px;
}
.activity-card .section-footer .price-tour:last-child{
    color: #001f5e !important;
    font-size: 24px;
    font-weight: 600;
}
.service-list-wrapper.service-tour .services-item.item-elementor .price-wrapper .price .item{
    line-height: 30px !important;
    font-size: 27px;
    font-weight: 600;
    color: #001F5E

}
/* .mfp-iframe-scaler iframe{
    position: absolute;
    top: 50% !important;
    left: 50% !important;
    width: 70% !important;
    height: 70% !important;
    transform: translate(-50%, -70%) !important;
} */

.single.st-mod-style:not(.single-location) .mfp-content{
    width: 70% !important;
}
.single.st-mod-style:not(.single-location) .mfp-content .mfp-close{
    right: -75px;
    width: 56px !important;
}
.faq-title h2.st-heading-section{
    font-family: var(--font-serif);
    font-size: clamp(30px, 3vw, 34px) !important;
    font-weight: 600;
    line-height: 27px;
    color: #07f;
}

.cruises-sec-cards{
    background-color: #f4f6f9;
}
.cats-countries-sec .cats-countries-title h2,
.programs-cards .progs-title h2{
    font-family: var(--font-serif);
    font-size: clamp(30px, 3vw, 34px) !important;
    font-weight: 600;
    line-height: 27px;
    color: #07f;
}
.cats-countries-sec .cats-countries-title span,
.programs-cards .progs-title span{
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 27px;
    color: #707070;
    line-height: 60px;
}
.cruises-sec-cards #moderm-pagination {
    display: none;
}
.bg-white {
    background-color: #ffffff !important;
}
.bg-gray {
    background-color: #f4f6f9 !important;
}
.bg-dark-blue {
    background-color: var(--tripi-dark-blue) !important;
}

.tours-cards-sec span{
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 27px;
    color: #7a7a7a;
    line-height: 35px !important;
    width: 65%;
    display: flex;
    margin: 0 auto;
}

.owl-carousel-tour-categories .item-slide {
    text-align: center;
    padding: 15px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.category-thumbnail {
    max-width: 150px;
    margin: 0 auto 10px;
    border-radius: 5px;
}

.category-content {
    font-size: 14px;
    margin-bottom: 10px;
}

.button {
    display: inline-block;
    padding: 8px 15px;
    background: #0073aa;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
}

.button:hover {
    background: #005177;
}
.tour-cats-main-sec .item-cate .category-box img{
    border-radius: 10px 10px 0 0;
}
.tour-cats-main-sec .item-cate .category-box .box-content{
    background-color: #FAFAFA80;
    border-radius: 0px 0px 10px 10px;
    padding: 20px 15px 20px 15px;
}
.tour-cats-main-sec .item-cate .category-box h3 {
    color: #001F5E;
    font-family: var(--font-serif);
    font-size: clamp(20px, 1.5vw, 20px);
    font-weight: 700;
    line-height: 27px;
}
.tour-cats-main-sec .item-cate .category-box .category-content {
    color: #464646;
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 400;
    line-height: 27px;
}
.tour-cats-main-sec .item-cate .category-box h3 a{
    color: #001F5E;
}
.btn-tripi-location,
.btn-tripi-destination,
.btn-tripi-blog,
.tour-cats-main-sec .item-cate .category-box a.button{
    position: relative;
    display: inline-block;
    padding: 8px 15px;
    background: var(--tripi-blue);
    color: #fff;
    text-decoration: none;
    border-radius: 25px;
    transition: 0.4s;
    cursor: pointer;
    overflow: hidden;    
}
.btn-tripi-destination:hover,
.btn-tripi-location:hover{
    background-color: #fff !important;
    color: var(--tripi-blue) !important;
    box-shadow: 0 0 0px #fff, 0 0 7px #fff, 0 0 15px #fff;
}

.btn-tripi-blog:hover,
.tour-cats-main-sec .item-cate .category-box a.button:hover {
    color: #fff;
    box-shadow: 0 0 0px #0077ff, 0 0 7px #0077ff, 0 0 15px #0077ff;
}
/* Animated Border */
.btn-tripi-location::before,
.btn-tripi-destination::before,
.btn-tripi-blog::before,
.tour-cats-main-sec .item-cate .category-box a.button::before {
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    background-size: 400%;
    border-radius: 10px;
    z-index: -1;
    animation: glow 6s linear infinite;
}

/* Neon Border Animation */
@keyframes glow {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}
/* Only style dots for the tour categories carousel */
.owl-carousel-tour-categories .owl-dots {
    text-align: center;
    margin-top: 24px;
    position: relative;
    z-index: 2;
}

.owl-carousel-tour-categories .owl-dot {
    display: inline-block;
    margin: 0 6px;
    width: 14px;
    height: 14px;
    background-color: #ddd;
    border-radius: 50%;
    transition: all 0.3s ease;
    cursor: pointer;
}

.owl-carousel-tour-categories .owl-dot.active {
    background-color: var(--tripi-blue);
    /* Bootstrap primary blue */
    transform: scale(1.2);
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3);
}

.owl-carousel-tour-categories .owl-dot:hover {
    background-color: #0056b3;
    /* Darker blue on hover */
}
.owl-carousel-tour-categories button.owl-dot{
    border: 1px solid var(--tripi-blue);
}

.tour-cats-main-sec .owl-carousel-tour-categories .owl-dots{
    display: flex;
    justify-content: center;
}
.carousel-dots-wrapper {
    margin-top: 10px !important;
    /* Reduce space between carousel and dots */
    padding: 0 !important;
}

.carousel-dots-wrapper .owl-dots {
    margin-top: 0 !important;
    /* Override default Owl spacing */
}
.owl-carousel-tour-categories {
    margin-bottom: 0 !important;
}
.owl-carousel-tour-categories .item-cate {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.services-item.item-elementor.grid-2>.item .content-item{
    text-align: left;
}
.relate-tripi-packages .service-list-wrapper .item h3.title a,
.relate-tripi-packages .tripi-search-title a{
    font-size: 20px !important;
}
.relate-tripi-packages h4.info__name {
    font-size: 14px !important;
}
.relate-tripi-packages .content-item .fixed-bottoms .st-tour--feature .st-tour__item .item__info .info__value {
    font-size: 13px !important; 
}
.owl-carousel-tour-categories .item-slide {
    box-shadow: none !important;
}
.services-item.item-elementor .item .content-item .title {
    font-size: 16px !important;
}
.service-list-wrapper.service-tour .services-item.item-elementor .item .content-item .title {
    font-size: 20px !important;
    text-align: left;
    font-weight: 700 !important;
}
.relate-cruise .tripi-search-title a {
    font-size: 16px !important;
}
.relate-cruise .section-sub-footer-cruise .name{
    font-size: 14px !important;
}
.relate-cruise .section-sub-footer-cruise .value{
    font-size: 13px !important;
}
body.st-mod-style #st-content-wrapper.st-style-elementor .relate-rooms .st-hr{
    margin-bottom: 0 !important;
}
.relate-day-tour .tripi-search-title a {
    font-size: 16px !important;
}
.relate-day-tour h4.info__name{
    font-size: 14px !important;
}
.relate-day-tour .info__value{
    font-size: 13px !important;
}
.swiper-pagination span.swiper-pagination-bullet-active {
    border: 2px solid var(--tripi-blue) !important;
    background-color: #f4f6f9 !important;
}
#st-content-wrapper{
    padding-bottom: 0 !important;
}

.custom-contact-form .card {
  border-radius: 15px;
  background: linear-gradient(145deg, #ffffff, #f0f0f0);
}

.custom-contact-form .form-control {
  border-radius: 10px;
  border: 1px solid #ccc;
  transition: all 0.3s ease;
}

.custom-contact-form .form-control:focus {
  border-color: var(--tripi-blue);
  box-shadow: 0 0 8px rgba(0, 123, 255, 0.3);
}

.custom-contact-form .btn-primary {
  background: var(--tripi-blue);
  border: none;
  border-radius: 10px;
  padding: 10px 30px;
  transition: background 0.3s ease;
}

.custom-contact-form .btn-primary:hover {
  background: #0056b3;
}

.custom-contact-form h3 {
  color: #333;
  font-weight: bold;
}

/* /////////// Form contact page ////////// */

.clean-contact-form {
    max-width: 600px;
    margin: 0px auto;
    padding: 40px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    animation: fadeInUp 0.6s ease;
}

.form-title {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 30px;
    color: #222;
    font-weight: 600;
}

.input-field {
    width: 100%;
    padding: 14px 18px;
    margin-bottom: 10px;
    font-size: 1rem;
    color: #333;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.input-field::placeholder {
    color: #999;
    opacity: 1;
}

.input-field:focus {
    background-color: #fff;
    border-color: #0d6efd;
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.1);
    outline: none;
}

/* Submit Button */
.modern-btn {
    display: inline-block;
    background: #0d6efd;
    color: #fff;
    padding: 14px 32px;
    margin-left: 75px;
    border: none;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}

.modern-btn:hover {
    background: #084298;
    box-shadow: 0 6px 16px rgba(13, 110, 253, 0.3);
}

/* Entrance Animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: var(--tripi-blue) !important;
    padding: 20px;
    border-radius: 20px;
    font-size: 18px;
    text-align: center;
    font-weight: 600;
}

.wpcf7 .wpcf7-response-output {
    width: 100%;
    margin: 0 12px 10px 12px; /* match Bootstrap column gutters */
}

.lang-switcher {
    position: relative;
    width: fit-content;
    font-family: var(--font-sans);
}

.lang-switcher-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #ccc;
    padding: 6px 12px;
    border-radius: 5px;
    cursor: pointer;
    background: #fff;
}

.lang-switcher-toggle img {
    width: 18px;
    height: auto;
}

.lang-switcher-options {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-top: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    z-index: 999;
    width: 100%;
}

.lang-switcher-options.show {
    display: block;
}

.lang-switcher-option {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    text-decoration: none;
    color: #333;
}

.lang-switcher-option:hover {
    background: #f5f5f5;
}

.lang-switcher-option img {
    width: 18px;
    height: auto;
}

/* tailor made form */

.tailor-box{
    border-radius: 20px;
  
}
/* fade-in animation keyframes */
@keyframes fadeInUpCustom {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

.fade-in-up.animate-visible {
    opacity: 1;
    transform: translateY(0);
}

/* input focus with blue border animation */
.wpcf7-custom-form input[type="text"],
.wpcf7-custom-form input[type="email"],
.wpcf7-custom-form input[type="tel"],
.wpcf7-custom-form input[type="number"],
.wpcf7-custom-form input[type="date"],
.wpcf7-custom-form select,
.wpcf7-custom-form textarea {
    border: none;
    border-bottom: 2px solid #ccc;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.wpcf7-custom-form input:focus,
.wpcf7-custom-form select:focus,
.wpcf7-custom-form textarea:focus {
    outline: none;
    border-color: #0d6efd;
    box-shadow: 0 1px 0 0 #0d6efd;
}

/* placeholder fade effect */
.wpcf7-custom-form input::placeholder,
.wpcf7-custom-form textarea::placeholder {
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

.wpcf7-custom-form input:focus::placeholder,
.wpcf7-custom-form textarea:focus::placeholder {
    opacity: 0.3;
}

.glow-button {
    position: relative;
    display: inline-block;
    padding: 15px 40px;
    background-color: var(--tripi-blue);
    color: white;
    font-size: 18px;
    font-weight: bold;
    border: 2px solid transparent;
    margin-top: 18px;
    border-radius: 50px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1px;
    overflow: hidden;
    box-shadow: 0 0 5px rgba(0, 255, 255, 0.5), 0 0 10px rgba(0, 255, 255, 0.8);
    transition: all 0.4s ease-in-out;
}

.glow-button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 300%;
    background: linear-gradient(45deg, #ff006e, #4e00ff, #00e5ff, #466eff);
    background-size: 400% 400%;
    animation: glowing 4s ease-in-out infinite;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.glow-button:hover {
    color: white;
    background-color: #111;
    box-shadow: 0 0 7px #00f3ff,
        0 0 11px #005aff,
        0 0 15px #00e5ff,
        0 0 45px #0037ff;
    transform: scale(1.05);
    animation: pulse 1.5s ease infinite;
}

.glow-button:active {
    transform: scale(1);
    box-shadow: 0 0 7px #00f3ff, 0 0 11px #005aff, 0 0 15px #00e5ff, 0 0 45px #466eff;
    animation: none;
}

@keyframes glowing {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 200% 200%;
    }

    100% {
        background-position: 0 0;
    }
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 5px #00f3ff, 0 0 10px #4e00ff, 0 0 20px #00e5ff, 0 0 30px #466eff;
    }

    50% {
        box-shadow: 0 0 10px #00f3ff, 0 0 15px #4e00ff, 0 0 25px #00e5ff, 0 0 35px #466eff;
    }

    100% {
        box-shadow: 0 0 5px #00f3ff, 0 0 10px #4e00ff, 0 0 20px #00e5ff, 0 0 30px #466eff;
    }
}


input[type="date"]:focus-visible,
input[type="date"]:visited,
input[type="email"]:focus-visible,
input[type="email"]:visited,
input[type="number"]:focus-visible,
input[type="number"]:visited,
input[type="password"]:focus-visible,
input[type="password"]:visited,
input[type="search"]:focus-visible,
input[type="search"]:visited,
input[type="tel"]:focus-visible,
input[type="tel"]:visited,
input[type="text"]:focus-visible,
input[type="text"]:visited,
select:visited,
select:focus-visible,
textarea:visited,
textarea:focus-visible {
    border-color: var(--tripi-blue) !important;
}

body header .header #main-menu li.menu-item-has-children .menu-dropdown li a{
    padding: 10px 0 !important;
}
body header .header #main-menu li.menu-item-has-children .menu-dropdown{
    width: 225px !important;
}


/* Main card in nile cruise page */

.main-section-nile-cruise h2{
    font-family: var(--font-serif);
    font-size: clamp(30px, 3vw, 34px) !important;
    font-weight: 600;
    color: #07f;
    margin-bottom: 20px;
}
.main-section-nile-cruise .tag-line-cate {
    display: block;
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
    color: #707070;
       
}
.shore-card,
.cruise-card {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    border: 5px solid rgb(189 189 189 / 22%);
}

.card-img-overlay-wrapper {
    position: relative;
}

.card-img-top {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.card-img-overlay {
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.5) 0%,
            rgba(0, 0, 0, 0.2) 50%,
            rgba(0, 0, 0, 0) 100%);
    transition: all 0.3s ease;
}

.card-title {
    margin-bottom: 1rem;
    font-weight: bold;
}
.tripi-btn-cate{
    border-radius: 25px;
    border: 2px solid #ffffff !important;
    padding: 10px 20px !important;
    margin-left: 0px !important;
}
.min-h-60 {
    min-height: 70px;
    margin-bottom: 0px;
}

/* Tailor Made Section */
.tailor-made-tripi{
    background-image: url('../../../../wp-content/uploads/tailor-made-egypt-tours.png.webp');
    background-position: center left;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 20px;
    position: relative;
    display: flex;
 
}
.iner-tailer-made{
    padding: 105px 0px 50px 40px;
}

.tailor-made-tripi .iner-tailer-made h2 {
    font-family: var(--font-serif);
    font-size: clamp(30px, 3vw, 34px) !important;
    font-weight: 600;
    line-height: 40px;
    color: #fff;
    margin-bottom: 20px;
}
.tailor-made-tripi .iner-tailer-made span {
    font-family: var(--font-serif);
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 30px;
    line-height: 35px;
}

.customizing-btn {
    background: #ffffff;
    color: #333333;
    padding: 15px 35px;
    border-radius: 50px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 5px 20px rgba(255, 255, 255, 0.3);
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    position: relative;
    overflow: hidden;
    z-index: 1;
    display: block;
}

.customizing-btn:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 300%;
    background: linear-gradient(45deg, rgb(255 255 255 / 9%), rgb(255 255 255 / 24%), rgb(255 255 255 / 13%));
    transform: translate(-50%, -50%) rotate(45deg);
    transition: 0.8s ease;
    z-index: -1;
}

.customizing-btn:hover {
    color: #333333;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(255, 255, 255, 0.4);
    letter-spacing: 2px;
}

.customizing-btn:hover:before {
    transform: translate(-50%, -50%) rotate(405deg);
}

.customizing-btn:active {
    transform: translateY(1px);
    box-shadow: 0 5px 15px rgba(255, 255, 255, 0.2);
}


/* Why Choose Tripidays */

.why-tripi-item {
    padding: 20px;
    transition: all 0.3s ease;
    background-color: #f4f6f9;
    border-radius: 20px;
    height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}
.heading-our-partners h2,
.heading-why-tripi h2,
.heading-travel-guides h2,
.heading-cats-day-tour h2 {
    font-family: var(--font-serif);
    font-size: clamp(30px, 3vw, 34px) !important;
    font-weight: 600;
    line-height: 27px;
    color: #07f;
    margin-bottom: 20px;
}

.why-tripi-item:hover {
    transform: translateY(-5px);
}

.why-tripi-item img {
    max-width: 55%;
    height: auto;
    margin-bottom: 15px;
}
.why-tripi-item img.icon-guides {
    max-width: 65% !important;
}

.why-tripi-item span {
    color: #001F5E;
    font-family: var(--font-serif);
    font-weight: 600;
    font-size: 19px;
}
.why-tripi-list span{
    font-family: var(--font-serif);
    font-size: 15px;
    font-weight: 700;
    line-height: 35px;
    color: var(--tripi-blue);
}
.why-tripi-list ul li{
    font-family: var(--font-sans);
    font-size: 16px;
    color: #464646;
    line-height: 35px;
}
.why-tripi-box-icon img{
    margin-right: 10px !important;
}
.why-tripi-box-txt span:first-child{
    font-family: var(--font-serif);
    font-size: 30px;
    font-weight: 700;
}
.why-tripi-item .icon {
    width: 80px;
    height: 80px;
    color: var(--tripi-blue);
}
.why-tripi-box-icon .icon{
    width: 50px;
    height: 50px;
    margin-right: 10px;
}
.st0,
.st1,
.st2 {
    fill: var(--tripi-blue) !important;
    /* Red color */
}
.why-tripi-box-icon svg path {
    fill: var(--tripi-blue) !important;
}
.heading-divider, 
.sec-divider {
    display: flex;
    align-items: center;
    margin: 20px auto;
    width: 25%;  
}

.line {
    flex-grow: 1;
    height: 3px;
    background-color: var(--tripi-blue);
}

.star-icon {
    padding: 0 15px;
    color: #FFD700;
    /* Gold color */
    font-size: 1.2em;
}
.heading-why-tripi {
    margin-bottom: 50px;
}
@media screen and (max-width: 576px) {
    .why-tripi-box-txt span:first-child {
            font-size: 26px;
        }
        .why-tripi-list span{
            font-size: 16px;
            line-height: unset;
        }
    .faq-title h2.st-heading-section,
    .heading-our-partners h2,
    .heading-why-tripi h2,
    .heading-travel-guides h2,
    .heading-cats-day-tour h2 {
        font-size: clamp(30px, 3vw, 34px) !important;
        line-height: 35px;
    }
    .heading-why-tripi {
        margin-bottom: 30px;
    }
    .heading-divider {
        width: 70%;
    }
    .heading-divider,
    .sec-divider {
        width: 80%;
    }
}

/* For very small devices */
@media screen and (max-width: 375px) {
    .why-tripi-box-txt span:first-child {
            font-size: 26px;
              }
    .faq-title h2.st-heading-section,
    .heading-our-partners h2,
    .heading-why-tripi h2,
    .heading-travel-guides h2,
    .heading-cats-day-tour h2 {
        font-size: clamp(30px, 3vw, 34px) !important;
        line-height: 35px;
    }
    .heading-why-tripi {
        margin-bottom: 30px;
    }
    .heading-divider {
        width: 70%;
    }
    .heading-divider,
    .sec-divider {
        width: 80%;
    }
}

/* divider */

.sec-divider svg.icon {
    width: 90px;
    height: 35px;
    fill: var(--tripi-blue);
}

/* Posts Egypt Travel Guides */
.custom-post-card {
    position: relative;
    overflow: hidden;
}
.custom-posts-carousel .post-content{
    position: relative;
    text-align: center;
    background-color: #fdfdfd;
    margin-top: -80px;
    margin: -30px 30px 30px 30px;
    padding: 20px;
    border-radius: 20px;
    border-bottom: 5px solid var(--tripi-blue);
}
.custom-posts-carousel .post-content h3 {
    font-size: clamp(20px, 1.5vw, 20px);
    font-weight: bold;
    color: #001f5e;
    margin-bottom: 10px;

}
.custom-posts-carousel .post-content h3 a{
    color: #001f5e;
    text-decoration: none;
    line-height: 30px;
}
.custom-posts-carousel .post-content .post-category {
    font-size: 14px;
    color: #ffffff;
    margin: 8px 0 20px 0;
    background-color: var(--tripi-blue);
    padding: 5px 15px;
    border-radius: 20px;
    display: inline-block;
}
.custom-posts-carousel .post-content .post-category a{
    color: #ffffff;
    text-decoration: none;
}

.custom-posts-carousel .post-content .post-date {
    font-size: 14px;
    color: #545454;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.custom-posts-carousel .post-content .post-date i{
    margin-right: 5px;
    color: var(--tripi-blue);
    font-size: 18px;
}

.custom-posts-carousel .read-more-btn {
    display: inline-block;
    background-color: #ffffff;
    color: #545454;
    padding: 5px 12px;
    border-radius: 40px;
    font-size: 15px !important;
    text-decoration: none;
    transition: background-color 0.3s;
    border: 2px solid var(--tripi-blue);
    margin: 12px 0;
}

.custom-posts-carousel .read-more-btn:hover {
    background-color: var(--tripi-blue);
    color: #fff;
}
.post-thumbnail .img-thum{
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 20px;
    transition: transform 0.3s ease;
}
.post-thumbnail .post-img-guids {
    height: 250px;
    object-fit: cover;
    border-radius: 20px;
    transition: transform 0.3
}
.title-testimonials span.d-block,
.heading-travel-guides .section-description{
    color: #555555;
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
    word-spacing: 0;
}
/* Custom CSS for dots styling */
.custom-dots {
    margin-top: 20px;
}

.custom-dots .owl-dot span {
    width: 12px !important;
    height: 12px !important;
    margin: 5px;
    background: #ffffff !important;
    display: block;
    border-radius: 30px;
    transition: opacity 200ms ease;
    border: 2px solid var(--tripi-blue) !important;
}

.custom-dots .owl-dot.active span {
    background: var(--tripi-blue) !important;
    /* Active dot color */
    width: 30px !important;
    /* Make active dot wider */
}

.custom-dots .owl-dot:hover span {
    background: var(--tripi-blue) !important;
}
/* Carousel navigation arrows */
.owl-cates .owl-nav{
    margin-top: 10px;
    margin-bottom: 20px;
    
}
.owl-cates.owl-carousel.tour-categories-carousel {
    height: 600px !important;
}
.owl-theme .owl-nav {
    margin-top: 10px;
    margin-bottom: 60px;
}
.multi-country-carousel .owl-nav button.owl-prev,
.multi-country-carousel .owl-nav button.owl-next,
.cats-countries-sec-carousel .owl-nav button.owl-prev,
.cats-countries-sec-carousel .owl-nav button.owl-next,
.testimonials-carousel .owl-nav button.owl-prev,
.testimonials-carousel .owl-nav button.owl-next,
.location-carousel-home-sec .owl-nav button.owl-prev, 
.location-carousel-home-sec .owl-nav button.owl-next,
.category-carousel .owl-nav button.owl-prev, 
.category-carousel .owl-nav button.owl-next,
.egypt-guide-carousel .owl-nav button.owl-prev, 
.egypt-guide-carousel .owl-nav button.owl-next,
.packages-from-carousel .owl-nav button.owl-prev,
.packages-from-carousel .owl-nav button.owl-next,
.tour-categories-carousel .owl-nav button.owl-prev,
.tour-categories-carousel .owl-nav button.owl-next,
.custom-posts-carousel .owl-nav button.owl-prev,
.custom-posts-carousel .owl-nav button.owl-next {
    position: absolute;
    top: 100%;
    transform: translateY(0%);
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.9) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.tour-categories-carousel .owl-nav button.owl-prev{
    left: 47%;
}
.multi-country-carousel .owl-nav button.owl-prev{
    left: 45%;
}

.testimonials-carousel .owl-nav button.owl-prev,
.location-carousel-home-sec .owl-nav button.owl-prev,
.custom-posts-carousel .owl-nav button.owl-prev {
    left: 46%;
}
.cats-countries-sec-carousel .owl-nav button.owl-prev,
.packages-from-carousel .owl-nav button.owl-prev {
    left: 46%;
}

.egypt-guide-carousel .owl-nav button.owl-prev {
    left: 35%;
}

.category-carousel .owl-nav button.owl-prev {
    left: 46%;
    margin: 20px 0;
}

.multi-country-carousel .owl-nav button.owl-next{
    right: 42%;
}
.tour-categories-carousel .owl-nav button.owl-next{
    right: 47%;
}
.testimonials-carousel .owl-nav button.owl-next,
.location-carousel-home-sec .owl-nav button.owl-next,
.custom-posts-carousel .owl-nav button.owl-next {
    right: 46%;
}
.cats-countries-sec-carousel .owl-nav button.owl-next,
.packages-from-carousel .owl-nav button.owl-next {
    right: 46%;
}
.egypt-guide-carousel .owl-nav button.owl-next {
    right: 35%;
}
.category-carousel .owl-nav button.owl-next {
    right: 46%;
    margin: 20px 0;
}
.multi-country-carousel .owl-nav button,
.multi-country-carousel .owl-nav button span,
.testimonials-carousel .owl-nav button,
.location-carousel-home-sec .owl-nav button span,
.category-carousel .owl-nav button span,
.egypt-guide-carousel .owl-nav button span,
.tour-categories-carousel .owl-nav button span,
.cats-countries-sec-carousel .owl-nav button span,
.packages-from-carousel .owl-nav button span,
.custom-posts-carousel .owl-nav button span {
    font-size: 24px;
    line-height: 1;
    color: #333;
}   
.multi-country-carousel .owl-nav button:hover,
.testimonials-carousel .owl-nav button:hover,
.location-carousel-home-sec .owl-nav button:hover,
.category-carousel .owl-nav button:hover,
.egypt-guide-carousel .owl-nav button:hover,
.tour-categories-carousel .owl-nav button:hover,
.cats-countries-sec-carousel .owl-nav button:hover,
.packages-from-carousel .owl-nav button:hover,
.custom-posts-carousel .owl-nav button:hover {
    background: var(--tripi-blue) !important;
}
.multi-country-carousel .owl-nav button:hover span,
.testimonials-carousel .owl-nav button:hover span,
.location-carousel-home-sec .owl-nav button:hover span,
.category-carousel .owl-nav button:hover span,
.egypt-guide-carousel .owl-nav button:hover span,
.tour-categories-carousel .owl-nav button:hover span,
.cats-countries-sec-carousel .owl-nav button:hover span,
.packages-from-carousel .owl-nav button:hover span,
.custom-posts-carousel .owl-nav button:hover span {
    color: white;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    
    .testimonials-carousel .owl-nav button.owl-prev,
    .location-carousel-home-sec .owl-nav button.owl-prev,
    .category-carousel .owl-nav button.owl-prev,
    .egypt-guide-carousel .owl-nav button.owl-prev,
    .tour-categories-carousel .owl-nav button.owl-prev,
    .cats-countries-sec-carousel .owl-nav button.owl-prev,
    .packages-from-carousel .owl-nav button.owl-prev,
    .custom-posts-carousel .owl-nav button.owl-prev {
        left: 37%;
    }
    .multi-country-carousel .owl-nav button.owl-prev{
        left: 40%;
    }
    
    .testimonials-carousel .owl-nav button.owl-next,
    .location-carousel-home-sec .owl-nav button.owl-next,
    .category-carousel .owl-nav button.owl-next,
    .egypt-guide-carousel .owl-nav button.owl-next,
    .tour-categories-carousel .owl-nav button.owl-next,
    .cats-countries-sec-carousel .owl-nav button.owl-next,
    .packages-from-carousel .owl-nav button.owl-next,
    .custom-posts-carousel .owl-nav button.owl-next {
        right: 37%;
    }
    .multi-country-carousel .owl-nav button.owl-next{
        right: 33%;
    }
    #form-section-ads
    {
        scroll-margin-top: 200px;
    }
}

/* Partners Section */
.partners-sec {
    background-color: #f4f6f9;
    padding: 50px 0;
}

.partners-carousel .item {
    text-align: center;
    padding: 10px;
}

.partners-carousel .item img {
    max-width: 100%;
    height: auto;
    display: inline-block;
}
.newsletter-bg {
    background-size: cover;
    background-position: 0% 25%;
    height: 400px;
    border-radius: 20px 0px 0px 20px;
}
.newsletter-box{
    background-color: #FCFCFC;
    border-radius: 0px 20px 20px 0px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.newsletter-box .first-txt{
    color: #001F5E;
    font-size: clamp(40px, 3vw, 44px) !important;
    font-weight: 600;
    margin-bottom: 25px;
    line-height: 55px;
    font-family: var(--font-serif);
}
.newsletter-box .second-txt{
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: #727272;
    margin-bottom: 25px;
}
.newsletter-box .stt-mailchimp-form {
    position: relative;
    width: 75%;
}
@media (max-width: 480px) {
    .newsletter-box .first-txt {
        font-size: 40px;
        margin-top: 20px;
    }
}
/* Categories Day Tour Section */

.cats-day-tour-card {
    object-fit: cover;
    display: block;
    width: auto;
    height: 350px;
    border: 5px solid #f4f6f9;
    border-radius: 20px;
}
.heading-cats-day-tour span{
    font-size: 18px;
    font-weight: 500;
    color: #707070;
    line-height: 35px !important;
    width: 65%;
    margin: 0 auto;
}

.cats-day-tour-card .card-img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    object-fit: cover;
    display: block;
}
.cats-day-tour-card img{
    height: 100% !important;
    width: auto !important;
}

.cats-day-tour-card .overlay-content {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
    color: white;
    padding: 1rem;
    border-radius: 20px;
}

.cats-day-tour-card .overlay-content h3 {
    margin: 0;
    font-size: clamp(20px, 1.5vw, 20px);
    font-weight: bold;
}

.cats-day-tour-card .btn {
    margin-top: 1rem;
    font-size: 14px;
    color: #fff;
    font-weight: 500;
    background-color: var(--tripi-blue);
    border: 2px solid #fff;
    border-radius: 30px;
    padding: 7px 20px;
}

/* center and space dots */
.cats-day-tour-carousel .owl-dots {
    display: flex;
    justify-content: center;
    margin-top: 25px;
    gap: 10px;
}

/* base dot style */
.cats-day-tour-carousel .owl-dot {
    width: 10px;
    height: 10px;
    background-color: #ddd;
    border-radius: 50%;
    transition: all 0.3s ease;
    transform: scale(1);
}

/* active dot - using your main blue color */
.cats-day-tour-carousel .owl-dot.active {
    background-color: var(--tripi-blue);
    transform: scale(1.3);
    box-shadow: 0 0 0 2px #0077ff44;
}

/* hover effect */
.cats-day-tour-carousel .owl-dot:hover {
    background-color: #0077ff99;
}
.cats-day-tour-carousel .owl-dot {
    transition: background-color 0.3s ease, transform 0.3s ease;
}
.cats-day-tour-carousel .owl-dot {
    width: 10px;
    height: 10px;
    background-color: #ddd;
    border-radius: 50%;
    transition: all 0.3s ease;
    transform: scale(1);
    border: 1px solid var(--tripi-blue) !important;
    margin-top: 20px;
}

/* neutralize the span inside .owl-dot */
.cats-day-tour-carousel .owl-dot span {
    width: 0 !important;
    height: 0 !important;
    display: block !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    line-height: 0 !important;
}

/* Categories Egypt Shore Excursions Cards */
.shore-card img{
    height: 350px;
}
@media (max-width: 480px) {
    .shore-card h3 {
        font-size: clamp(20px, 1.5vw, 20px);
    }
}

.packages-from-h {
    height: 280px !important;
}

/* Price List Section */

.price-list-title{
        background-color: #001F5E;
        color: #fff;
        padding: 15px 20px;
        border-radius: 5px;
        text-align: center;
        margin: 15px 0;
}
.price-list-title h3{
    margin: 0;
}

.price-list-col h4{
    font-size: 15px;
    font-weight: 600;
}

.price-list-col ul li{
    padding: 14px 20px;
    font-size: 15px;
    color: var(--text-light, #5e6d77);
    list-style-type: none;
    border-bottom: 1px solid var(--border-color, #eee);
    background-color: transparent;
}
.price-list-col ul li:nth-child(even){
    background-color: var(--bg-light, #f8f9fa);
}
.price-list-col ul li:last-child{
    border-bottom: 0;
}
.price-list-col ul li span:first-child{
    font-weight: 600;
    font-size: 15px;
}
.price-list-col__group{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--tripi-blue-dark, #001f5e);
}
.price-list-col__group i{
    color: var(--tipi-orange-color, #ffb100);
    font-size: 14px;
    width: 16px;
    text-align: center;
}
.price-list-col ul li span:last-child{
    font-family: var(--font-serif);
    font-size: 25px !important;
    font-weight: 700;
    color: var(--tripi-blue-dark, #001f5e);
}
.discount-price__unit{
    font-family: var(--font-sans);
    font-size: 12px !important;
    font-weight: 500;
    color: var(--text-light, #5e6d77);
}
#priceToggleTabs:checked {
    background-color: var(--tripi-blue, #006deb);
    border-color: var(--tripi-blue, #006deb);
}
#priceToggleLabel {
    font-weight: 600;
    color: var(--tripi-dark-blue, #1A2B48);
}
.st-toggle-hint {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    max-width: 560px;
    margin: 25px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-light, #5e6d77);
}
.st-season-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--bg-light, #f8f9fa);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 10px;
    padding: 10px 16px;
    margin: 0 0 16px;
    font-size: 13px;
    font-weight: 500;
    color: var(--tripi-dark-blue, #1A2B48);
}
.st-season-hint i {
    flex: none;
    color: var(--tripi-blue, #006deb);dateform-group.form-date-field.st-search-date-tour
    font-size: 14px;
}
.st-toggle-hint i {
    flex: none;
    color: var(--tripi-blue, #006deb);
    font-size: 13px;
    margin-top: 2px;
}
@media (max-width: 767px) {
    .st-season-panel {
        margin-top: 2rem;
    }
}
.form-switch .form-check-input{
    cursor: pointer;
    height: 20px;
    width: 40px;
    margin-right: 15px;
}
.accommodations-details .accommodation-item {
    background: linear-gradient(135deg, rgba(255, 177, 0, .1), rgba(255, 177, 0, .03));
    padding: 12px 16px;
    margin: 0 0 10px;
    border-radius: 10px;
    border-left: 3px solid var(--tipi-orange-color, #ffb100);
    font-size: 15px;
}
.accommodations-details .accommodation-item strong {
    color: var(--tripi-dark-blue, #1A2B48);
}

.alert {
    margin-top: 20px;
    padding: 12px 18px;
    border-radius: 4px;
    font-size: 16px;
}

.alert-success {
    background: #e6f9e6;
    color: #207520;
    border: 1px solid #b6e6b6;
}

.alert-danger {
    background: #ffeaea;
    color: #a94442;
    border: 1px solid #f5c6cb;
}
#tripi-form .check-in-input{
    position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: -1 !important;
        opacity: 0 !important;
}

.single #st-content-wrapper.st-style-elementor #form-booking-inpage input.check-in-input {
    
}
.date-wrapper {
    width: 100% !important;
    border: none !important;
    box-sizing: border-box;
    border-radius: none !important;
    padding: 0px !important;
}
#tripi-form .form-group.form-date-field.st-search-date-tour {
    position: relative !important;
    padding: 10px !important;
    border: 1px solid #DEDEDE !important;
    border-radius: 10px;
}
/* .daterangepicker {
    top: 460px !important;
    left: 1200px !important;
} */
.accommodation_plan {
    padding: 10px;
    background-color: #fff;
    border: 1px solid #DEDEDE;
    border-radius: 10px;
    color: #5E6D77;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: url('data:image/svg+xml;utf8,<svg fill="gray" height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M5.516 7.548a.75.75 0 0 1 1.06 0L10 10.97l3.424-3.423a.75.75 0 1 1 1.06 1.06l-3.954 3.954a.75.75 0 0 1-1.06 0L5.516 8.608a.75.75 0 0 1 0-1.06z"/></svg>') no-repeat right 0.75rem center/1.2em auto !important;
}
 .hint-form {
     color: var(--tripi-blue);
 }

 .guest-wrapper {
     border: 1px solid #dedede !important;
     border-radius: 10px;
     margin: 20px 0px;
 }

 .form-date-field {
     margin-bottom: 0 !important;
 }
 .total-label {
     margin-right: 5px;
     font-size: 22px;
 }

 .total-value {
    font-size: 22px;
 }
 .st-form-book-wrapper{
    margin-bottom: 0px !important;
 }
 .nationality, .country-code{
    border: 1px solid #DEDEDE;
    border-radius: 10px;
    margin: 20px 0px;
    padding: 10px;
    color: #5E6D77;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: url('data:image/svg+xml;utf8,<svg fill="gray" height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M5.516 7.548a.75.75 0 0 1 1.06 0L10 10.97l3.424-3.423a.75.75 0 1 1 1.06 1.06l-3.954 3.954a.75.75 0 0 1-1.06 0L5.516 8.608a.75.75 0 0 1 0-1.06z"/></svg>') no-repeat right 0.75rem center/1.2em auto !important;
 }
 .services-item.item-elementor.grid-2>.item .content-item .st-flex.space-between.st-price__wrapper .price--tour{
        color: #001F5E;
        font-weight: 600;
 }
 @media screen and (max-width: 991px) {
     #st-content-wrapper.st-style-elementor .hotel-target-book-mobile .price-wrapper .price {
         color: #001F5E;
     }
 }
.price-list-tabs .nav-fill .nav-item{
    margin-right: 5px;
}
.price-list-tabs .nav-tabs {
    border-bottom: none;
    margin-bottom: 24px;
    
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.price-list-tabs .nav-link {
    height: 44px;
    display: flex;
    align-items: center;
    border: 1px solid var(--border-color, #dee2e6);
    background: #fff;
    color: var(--text-light, #5e6d77);
    font-weight: 600;
    font-size: 14px;
    padding: 0 24px;
    margin-right: 0;
    border-radius: 999px;
    transition: var(--transition, all 0.2s ease);
}

.price-list-tabs .nav-link:hover {
    background-color: rgba(0, 109, 235, .06);
    border-color: var(--tripi-blue, #006deb);
    color: var(--tripi-blue, #006deb);
}

.price-list-tabs .nav-link.active {
    background-color: var(--tripi-dark-blue2, #001F5E);
    color: var(--tipi-orange-color, #ffb100);
    border: 1px solid var(--tripi-dark-blue2, #001F5E);
}

.st-season-panel {
    position: relative;
}

.st-most-chosen {
    position: absolute;
    top: -39px;
    right: 20px;
    z-index: -2;
    background: var(--tipi-orange-color, #ffb100);
    color: var(--tripi-dark-blue, #1A2B48);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 8px 18px;
    border-radius: 10px 10px 0 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
    white-space: nowrap;
}

@media (max-width: 480px) {
    .st-most-chosen {
        right: 10px;
        font-size: 11px;
        padding: 6px 14px;
    }
}

/* Season nav — second row of pills, one active column shown below */
.st-season-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    background: var(--bg-light, #f8f9fa);
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 999px;
    padding: 4px;
    gap: 4px;
    margin-bottom: 20px;
}

.st-season-tab {
    height: 38px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--text-light, #5e6d77);
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: var(--transition, all 0.2s ease);
}

.st-season-tab:hover {
    color: var(--tripi-dark-blue, #1A2B48);
    background: var(--tripi-orange, #ffb100);
}

.st-season-tab.is-active {
    background: var(--tripi-orange, #ffb100);
    color: var(--tripi-dark-blue, #1A2B48);
    box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .08));
}

.st-season-panel {
    display: none;
    margin-bottom: 20px;
}

.st-season-panel.is-active {
    display: block;
}

.price-list-col {
    border-radius: 16px;
    border: 1px solid var(--border-color, #dee2e6);
    box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .08));
    background-color: #fff;
    overflow: hidden;
}

.price-list-col .head-price-list-table {
    background: var(--bg-light, #f8f9fa);
    border-bottom: 1px solid var(--border-color, #dee2e6);
    padding: 12px 8px;
}

.price-list-col span.h5 {
    font-family: var(--font-serif);
    font-size: 15px;
    padding: 0;
    font-weight: 700;
    text-align: center;
    line-height: 22px;
    margin-bottom: 0;
    color: var(--tripi-dark-blue, #1A2B48);
}

.price-list-items li {
    padding: 0;
    border-bottom: 1px solid #e9ecef;
}

.price-list-items li:last-child {
    border-bottom: none;
}

.border-price-list {
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
}
.border-price-list-day-tour{
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    padding: 1.5rem;
    border: 1px solid #dee2e6;
    background: #f0f2f3;
}

.price-list-tabs .nav-fill .nav-item:last-child {
    margin-right: 0 !important;
}
.price-list-items{
    margin-bottom: 0 !important;
    padding: 0 !important;
}
@media (max-width: 768px) {
    .price-list-tabs .nav-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .price-list-tabs .nav-link {
        white-space: nowrap;
        height: 38px;
        font-size: 0.8rem;
        padding: 0 16px;
    }

    .st-season-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        max-width: 100%;
    }

    .st-season-tab {
        white-space: nowrap;
    }
}
.single-post-banner {
    position: relative;
    min-height: 350px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
}
.single-post-banner .banner-content {
    width: 100%;
    padding: 40px 30px 30px 0px;
    color: #fff;
    position: relative;
    z-index: 2;
}
.packaged-by-duration-heading h1,
.st-author-page h1
.single-post-banner h1 {
    margin: 0 0 10px 0;
    font-size: 2.5rem;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,5.5);
}
.st-author-page h1{
    margin: 0 0 10px 0;
    font-size: 2.5rem;
    font-weight: bold;
    color: var(--tripi-blue);
    text-shadow: none;
    margin-bottom: 20px;
    margin-top: 30px;
}
.banner-meta {
    display: flex;
    gap: 20px;
    font-size: 1rem;
    align-items: center;
}
.banner-meta i {
    margin-right: 6px;
    vertical-align: middle;
}
.st_categories_new ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.st_categories_new ul li {
    display: inline-block;
    position: relative;
    box-shadow: 0 0 3px #d1d1d1;
    border-radius: 20px;
    margin: 5px;
}
.st_categories_new ul li:hover {
    background: var(--tripi-blue);
    color: #fff;
}
.st_categories_new ul li a{
    display: block;
    width: 100%;
    height: 100%;
    color: #001F5E;
    text-decoration: none;
    padding: 10px 21px;
}
.st_categories_new ul li a:hover{
    color: #fff;
}
.widget_block h3{
    font-size: clamp(20px, 1.5vw, 20px);
    font-weight: 900;
    letter-spacing: .7px;
    color: #001F5E;
    text-align: left;
    text-shadow: 0 2px 8px rgb(0 119 255 / .07);
    margin-top: 25px;
}
#block-16 {
    padding: 0px 30px;
}
.related-tours-carousel .tour-card {
    max-width: 348px;
    margin: 0 auto 20px auto;
}
.sidebar-latest-posts-owl .owl-carousel .item.latest-post-item {
    background: linear-gradient(135deg, #fdfdfd 0%, #fafbfb 100%);
    border-radius: 18px;
    padding: 0px 0px 20px 0px;
    margin: 15px auto 30px auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 270px;
    border: 1.5px solid #e0eaff;
    width: 99%;
}
.sidebar-latest-posts-owl .owl-carousel .item.latest-post-item:hover {
    border-color: var(--tripi-blue);
}
.sidebar-latest-posts-owl .latest-post-thumb {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 16px;
}
.sidebar-latest-posts-owl .latest-post-thumb img {
    border-radius: 18px 18px 0 0;
    width: 100%;
    height: 250px;
    object-fit: cover;
    border: 1px solid #e0eaff;
    display: block;
}
.sidebar-latest-posts-owl .latest-post-title {
    font-size: 1.13em;
    font-weight: 800;
    color: #001F5E;
    margin-bottom: 10px;
    text-align: center;
    line-height: 1.35;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.01em;
    padding: 0 15px;
}
.sidebar-latest-posts-owl .latest-post-title:hover {
    color: var(--tripi-blue);
}
.sidebar-latest-posts-owl .latest-post-date {
    font-size: 1em;
    color: var(--tripi-blue);
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    justify-content: center;
    font-weight: 600;
    letter-spacing: 0.01em;
}
.title-widget{
    padding: 0 50px;
}
.title-widget-related-tours {
    padding: 0 30px;
}
.title-widget-related-tours h3{
   font-size: clamp(20px, 1.5vw, 20px);
    font-weight: 900;
    letter-spacing: .7px;
    color: #001F5E;
    text-align: left;
    text-shadow: 0 2px 8px rgb(0 119 255 / .07);
    margin-top: 25px; 
}
.sidebar-latest-posts-owl .widget-title {
    font-size: 1.8em;
    font-weight: 900;
    letter-spacing: .7px;
    color: #001F5E;
    text-align: left;
    text-shadow: 0 2px 8px rgb(0 119 255 / .07);
    margin-top: 25px;
    
}
.related-tours-carousel .owl-nav button.owl-prev,
.related-tours-carousel .owl-nav button.owl-next,
.sidebar-latest-posts-owl .owl-nav button.owl-prev,
.sidebar-latest-posts-owl .owl-nav button.owl-next {
    background: #eaf3ff;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    border: 1.5px solid #e0eaff;
    color: var(--tripi-blue);
    font-size: 1.35em;
    box-shadow: 0 2px 8px rgba(0,119,255,0.07);
    margin: 0 7px;
    transition: background 0.18s, color 0.18s, border 0.18s;
}
.related-tours-carousel .owl-nav button.owl-prev:hover,
.related-tours-carousel .owl-nav button.owl-next:hover,
.sidebar-latest-posts-owl .owl-nav button.owl-prev:hover,
.sidebar-latest-posts-owl .owl-nav button.owl-next:hover {
    background: var(--tripi-blue);
    color: #fff;
    border-color: var(--tripi-blue);
}
.sidebar-latest-posts-owl .owl-dots .owl-dot span {
    background: #d1d8e6;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    margin: 0 4px;
    transition: background 0.18s;
    border: 1.5px solid #e0eaff;
}
.sidebar-latest-posts-owl .owl-dots .owl-dot.active span {
    background: var(--tripi-blue);
    border-color: var(--tripi-blue);
}
.wp-block-tag-cloud {
    padding: 10px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}
.bottom-widget-class a {
    background: #f1f1f1;
    padding: 7px 20px;
    border-radius: 20px;
    transition: background 0.3s;
    font-size: 14px !important;
    color: #001F5e;
    display: inline-block;
}
.bottom-widget-class a:hover {
    background: var(--tripi-blue) !important;
    color: #fff !important;
}
.bottom-widget-class a:after {
    content: '';
    display: block;
    height: 2px;
    background: var(--tripi-blue);
    color: #fff;
}
h3.gb-text{
    font-size: clamp(20px, 1.5vw, 20px);
    font-weight: 900;
    letter-spacing: .7px;
    color: #001F5E;
    text-align: left;
    text-shadow: 0 2px 8px rgb(0 119 255 / .07);
    margin-top: 25px; 
}
.bottom-widget-class {
    padding: 20px 25px;
    box-shadow: 0 1px 15px rgb(51 51 51 / 7%);
    border-radius: 15px;
    margin: 0 20px;
}
.bottom-widget-class h3.widget-title {
    border-bottom: 1px solid #dfdfdf;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
div#st_categories_new-2 {
    padding: 20px 25px;
    box-shadow: 0 1px 15px rgb(51 51 51 / 7%);
    border-radius: 15px;
    margin: 0 20px;
}
.about-us-card,
.sidebar-latest-posts-owl,
.sidebar-related-tours,
.tags-cloud,
.categories-posts {
    padding: 20px 25px;
    box-shadow: 0 1px 15px rgb(51 51 51 / 7%);
    border-radius: 15px;
    margin: 20px 0;
}

.about-us-card .widget-title,
.title-widget-related-tours .widget-title,
.sidebar-latest-posts-owl .widget-title,
.tags-cloud .widget-title,
.categories-posts .widget-title {
    font-size: 1.8em;
    font-weight: 900;
    letter-spacing: .7px;
    color: #001F5E;
    text-align: left;
    text-shadow: 0 2px 8px rgb(0 119 255 / .07);
    margin-top: 25px;
}
.categories-posts .category-item {
    margin-bottom: 10px;
}
.categories-posts .category-item a {
    color: #001F5E;
    text-decoration: none;
}
.categories-posts .category-item a:hover {
    color: var(--tripi-blue);
}
.categories-posts .category-item span {
    background: #f1f1f1;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 13px !important;
    color: #001F5E;
    margin-left: 8px;
}
.categories-posts .category-item span:after {
    content: '';
    display: block;
    height: 2px;
    background: var(--tripi-blue);
    color: #fff;
}
.categories-posts ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.categories-posts ul li {
    border-bottom: 1px solid #e1e1e1;
    display: inline-block;
    background-color: #f3f3f3;
    border-radius: 20px;
    margin: 3px;
}
.categories-posts ul li a {
    display: block;
    padding: 8px 10px; /* Move padding here */
    color: #001F5E;
    text-decoration: none;
    border-radius: 20px;
    transition: background 0.2s, color 0.2s;
    font-size: 0.9rem;
}
.categories-posts ul li:hover,
.categories-posts ul li:focus-within {
    background: var(--tripi-blue);
}

.categories-posts ul li:hover a,
.categories-posts ul li:focus-within a {
    color: #fff;
}

.categories-posts ul li a:hover,
.categories-posts ul li a:focus {
    background: var(--tripi-blue);
    color: #fff;
}
.tags-cloud a{
    border-bottom: 1px solid #e1e1e1;
    display: inline-block;
    color: #001F5E;
    background-color: #f3f3f3;
    border-radius: 20px;
    margin: 3px;
    padding: 8px 10px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.tags-cloud a:hover,
.tags-cloud a:focus {
    background: var(--tripi-blue);
    color: #fff;
}

.sidebar-right .owl-theme .owl-nav{
    margin-bottom: 0 !important;
}
.sidebar-related-tours .title-widget-related-tours{
    padding: 0 !important;
}

/* ----- Modern Related Tours Card (sidebar carousel) ----- */
.tripi-related-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #edf0f5;
    box-shadow: 0 4px 16px rgba(17, 24, 39, 0.06);
    transition: transform .3s ease, box-shadow .3s ease;
    height: 100%;
}
.tripi-related-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 3px 4px rgba(17, 24, 39, 0.14);
}
.tripi-related-card__thumb {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #f1f3f6;
}
.tripi-related-card__thumb-link {
    display: block;
    width: 100%;
    height: 100%;
}
.tripi-related-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}
.tripi-related-card:hover .tripi-related-card__img {
    transform: scale(1.1);
}
.tripi-related-card__thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.45) 100%);
    pointer-events: none;
}
.tripi-related-card__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 20px;
    background: rgba(17, 24, 39, 0.55);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    color: #fff;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1;
}
.tripi-related-card__badge svg {
    display: block;
}
.tripi-related-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 14px 16px 16px;
}
.tripi-related-card__title {
    margin: 0 0 8px;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.35;
}
.tripi-related-card__title a {
    color: #1a1a2e;
    text-decoration: none;
    transition: color .2s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.tripi-related-card__title a:hover {
    color: var(--main-color, #ec927e);
}
.tripi-related-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-bottom: 12px;
}
.tripi-related-card__meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: #6b7280;
}
.tripi-related-card__meta-item i,
.tripi-related-card__meta-item svg {
    color: var(--main-color, #ec927e);
    font-size: 13px;
}
.tripi-related-card__footer {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px dashed #e5e7eb;
}
.tripi-related-card__price {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}
.tripi-related-card__price-label {
    font-size: 10.5px;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.tripi-related-card__price-value {
    font-size: clamp(20px, 2vw, 25px);
    font-weight: 700;
    color: #1a1a2e;
    white-space: nowrap;
}
.tripi-related-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border-radius: 30px;
    background: var(--main-color, #ec927e);
    color: #fff !important;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(236, 146, 126, .35);
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.tripi-related-card__btn i {
    font-size: 10.5px;
    transition: transform .25s ease;
}
.tripi-related-card__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(236, 146, 126, .45);
    filter: brightness(1.05);
}
.tripi-related-card__btn:hover i {
    transform: translateX(3px);
}
.related-tours-carousel .owl-item {
    padding: 4px 2px 10px;
}
.related-tours-carousel .owl-nav .owl-prev,
.related-tours-carousel .owl-nav .owl-next {
    color: var(--main-color, #ec927e) !important;
}
.about-us-card img{
    width: 100%;
    margin-bottom: 15px;
    height: 280px;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
}
.about-us-card p{
    font-size: 14px;
    line-height: 26px;
}

/* posts categories */


 .site-content {
    margin: 40px 0;
}
    /* Modern Post Card Styles */
.post-card {
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 1.5px 6px rgba(0,0,0,0.04);
    overflow: hidden;
    transition: box-shadow 0.3s, transform 0.3s;
    margin-bottom: 2rem;
    border: 1px solid #d6eefd;
    display: flex;
    flex-direction: column;
    min-height: 92%;
}

.post-card:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,0.14), 0 3px 12px rgba(0,0,0,0.08);
    transform: translateY(-6px) scale(1.02);
    border: 1px solid #7bccff;
}

.post-card-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.post-card-thumbnail img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-top-left-radius: 1.25rem;
    border-top-right-radius: 1.25rem;
    transition: filter 0.3s;
}

.post-card:hover .post-card-thumbnail img {
    filter: brightness(0.92) saturate(1.1);
}

.post-card-body {
    padding: 1.5rem;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
    min-height: 193px; /* Ensures enough height for alignment */
}

.post-card-title {
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.post-card-title a {
    font-family: var(--font-serif) !important;
    font-size: 20px;
    font-weight: 700;
    color: #001F5E;
    text-decoration: none;
    transition: color 0.2s;
}

.post-card-title a:hover {
    color: var(--tripi-blue);
}
.post-container h3{
    font-size: clamp(20px, 3vw, 22px) !important;
    font-weight: 700;
}
.post-card-meta {
    font-size: 0.95rem;
    color: #888;
    margin-bottom: 1.2rem;
}

.post-card-readmore {
    align-self: flex-start; /* Button fits content width */
    margin-top: auto;      /* Pushes button to bottom */
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s, background 0.2s;
    letter-spacing: 0.02em;
    display: inline-block;
    padding: 10px 18px;
    background-color: var(--tripi-blue);
    border-radius: 40px;
    min-width: 120px; /* Optional: ensures all buttons have the same min width */
    text-align: center;
}

.post-card-readmore:hover {
    color: #fff;
    background: #001F5E;
}

/* Responsive adjustments */
@media (max-width: 576px) {
    .post-card-body {
        padding: 1rem;
    }
    .post-card-thumbnail img {
        height: 160px;
    }
}

.blog-sec .banner-content h1
 {
    
    font-weight: 700;
    text-transform: capitalize;
    text-align: left;
    color: var(--tripi-blue);
    margin: 30px 0 15px;
}
.egypt-guide-card-small{
          min-height: auto !important;
}
.egypt-guide-card{
          margin: 50px 20px 15px 20px;
}
.egypt-guide-card, .egypt-guide-card-small {
    background: linear-gradient(135deg, #f7fafc 0%, #e3f2fd 100%);
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(30,136,229,0.10), 0 1.5px 6px rgba(0,0,0,0.06);
    overflow: hidden;
    margin-bottom: 36px;
    transition: transform 0.22s, box-shadow 0.22s;
    display: flex;  
    flex-direction: column;
    min-height: 440px;
    position: relative;
    border: 1px solid #e3f2fd;
}
.egypt-guide-card-small:hover, .egypt-guide-card:hover {
    transform: translateY(-8px) scale(1);
    box-shadow: 0 8px 20px rgba(30,136,229,0.16), 0 3px 8px rgba(0,0,0,0.09);
    border-color: #90caf9;
}
.egypt-guide-card-small .egypt-guide-thumb{
    height: 160px;
}
.egypt-guide-thumb {
    width: 100%;
    height: 310px;
    overflow: hidden;
    background: #e3f2fd;
    display: flex;
    align-items: center;
    justify-content: center;
}
.egypt-guide-thumb-img {
    width: auto !important;
    height: 100% !important;
    max-width: unset !important;
    object-fit: cover;
    /* border-top-left-radius: 20px;
    border-top-right-radius: 20px; */
    transition: transform 0.3s;
}
.egypt-guide-card:hover .egypt-guide-thumb-img {
    transform: scale(1.08);
}
.egypt-guide-content {
    padding: 24px 22px 20px 22px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.egypt-guide-category {
    font-size: 13px;
    font-weight: 700;
    color: var(--tripi-blue);
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}
.egypt-guide-category a {
    color: #1976d2;
    text-decoration: none;
}
.egypt-guide-card-small .egypt-guide-title{
    min-height: auto !important;
    margin:0 !important
}
.egypt-guide-title {
    font-size: 1.22rem;
    font-weight: 700;
    margin: 0 0 10px 0;
    color: #1a237e;
    line-height: 1.3;
}
.egypt-guide-title a {
    font-family: var(--font-serif) !important;
    font-size: 20px;
    font-weight: 700;
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}
.egypt-guide-title a:hover {
    color: #1565c0;
}
.egypt-guide-excerpt {
    font-size: 14px;
    color: #444;
    margin-bottom: 18px;
    line-height: 1.6;
    min-height: 48px;
    max-height: 150px;
    display: block;
}
.egypt-guide-date {
    font-size: 13px;
    color: #888;
    margin: 10px 0;
    display: flex;
    align-items: center;
    gap: 5px;
}
.egypt-guide-btn {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(90deg, #001f5e 0%, #0077ff 100%);
    color: #fff;
    font-weight: 700;
    border-radius: 10px;
    padding: 9px 26px;
    font-size: 15px;
    text-decoration: none;
    margin-top: auto;
    transition: background 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 10px rgba(30,136,229,0.10);
    letter-spacing: 0.5px;
    border: none;
    outline: none;
    cursor: pointer;
    gap: 8px;
}
.egypt-guide-btn:hover {
    background: linear-gradient(90deg, #1565c0 0%, #1976d2 100%);
    box-shadow: 0 4px 18px rgba(30,136,229,0.17);
    color: #fff;
    text-decoration: none;
}
.egypt-guide-btn .arrow {
    font-size: 1.1em;
    margin-left: 4px;
    transition: transform 0.2s;
}
.egypt-guide-btn:hover .arrow {
    transform: translateX(4px);
}

.category-carousel-sec h2,
.posts-title h2,
.egypt-guide-title h2 {
    font-size: clamp(30px, 3vw, 34px) !important;
    font-weight: 600;
    color: #001f5e;
    margin: 0;
}
.egypt-guide-title hr {
    border-bottom: 5px solid #001f5e;
    margin: 20px 0;
    width: 10%;
    opacity: 1;
}
.category-carousel-sec .zigzag-hr,
.posts-sec .zigzag-hr,
.egypt-guide-title .zigzag-hr {
    width: 18%;
    height: 20px;
    margin: 20px 0;
    background: url('data:image/svg+xml;utf8,<svg width="100" height="8" xmlns="http://www.w3.org/2000/svg"><polyline points="0,8 10,0 20,8 30,0 40,8 50,0 60,8 70,0 80,8 90,0 100,8" fill="none" stroke="%23001f5e" stroke-width="4"/></svg>') repeat-x;
    background-size: 130px 8px;
    border: none;
    opacity: 1;
}
.posts-sec{
        background-color: #f4f6f9;
    padding: 50px 0;
}
.posts-sec .egypt-guide-card-small{
    background: #FFFFFF;
}
.posts-sec .egypt-guide-card-small .egypt-guide-title{
    min-height: 50px !important;
}
.posts-sec .egypt-guide-excerpt{
    min-height: 67px !important;
}
 /* Modern Category Card Styles */
 .category-carousel-sec{
    padding: 40px 0;
 }
.category-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
    transition: transform 0.3s cubic-bezier(.25,.8,.25,1), box-shadow 0.3s;
    background: #fff;
    display: block;
}
.category-carousel .category-card img{
    width:100%; 
    height:250px; 
    object-fit:cover;
}
.category-carousel a.category-card{
    position:relative; 
    text-decoration:none;
}
.category-card:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
}
.category-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
    border-radius: 18px;
    transition: filter 0.3s;
}
.category-overlay {
    position: absolute;
    left: 0; right: 0; bottom: 0; top: 0;
    display: flex;
    align-items: end;
    justify-content: center;
    padding: 0 20px;
    background: linear-gradient(to top, rgba(0,0,0,0.5) 15%, rgba(0,0,0,0) 50%);
}
.category-overlay span {
    font-family: var(--font-serif);
    color: #fff;
    font-size: 1.7em;
    font-weight: 700;
    text-shadow: 0 2px 8px rgba(0,0,0,0.25);
    letter-spacing: 1px;
    text-align: center;
    padding: 12px 24px;
    background: rgba(0,0,0,0.65);
    border-radius: 12px;
    margin: 20px 0;
}

@media (max-width: 600px) {
    .category-card img {
        height: 160px;
    }
    .category-overlay span {
        font-size: 1.1em;
        padding: 8px 12px;
    }
}
.distinations-sec{
    margin: 40px 0;
}
.tcard{
    position:relative; 
    overflow:hidden; 
    border-radius:12px;
}
.tcard span{
    color:#fff;     
    margin-bottom: 15px;
    font-size: 30px;
    font-weight: 600;
}
.tcard .tcard-overlay{
    position:absolute;
    left:0; right:0; bottom:0; top:0;
    background: linear-gradient(to top, rgba(0,0,0,0.6) 20%, rgba(0,0,0,0) 60%);
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
    padding:20px;
}
.tcard img{
    width:100%; 
    height:300px; 
    object-fit:cover;
}

.locations-sec{
    margin: 40px 0;
}

.location-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.location-card {
    background: #f9f9f9;
    border: 1px solid #ddd;
    padding: 16px;
    width: 300px;
    border-radius: 8px;
}
.locations-card {
    border-radius: 20px !important;
}
.locations-card .card-img-wrapper img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 20px;
}
.locations-card .card-img-overlay {
    pointer-events: none;
}
.locations-card .card-img-overlay .location-buttons,
.locations-card .card-img-overlay span {
    pointer-events: auto;
    position: relative;
    margin: 0 auto;
    text-align: center;
    font-size: 35px;
    font-weight: 700;
    text-shadow: 0 1px 5px #000;
}
.breadcrumb-item + .breadcrumb-item::before {
    content: " Â» ";
    color: #888;
}
.breadcrumb-item{
    padding: 0 0 15px 0;
    font-size: 14px;
    font-family: var(--font-sans);
}
.why-book-with-us-box {
    border-radius: 16px;
    box-shadow: 0 1px 15px rgb(51 51 51 / 7%);
    border: 1px solid #eee;
    padding: 32px 24px;
    background: #fff;
    max-width: 420px;
    margin: 0px 20px;
}
.why-book-title {
    font-size: 23px;
    margin-bottom: 24px;
    font-weight: 900;
    letter-spacing: .7px;
    color: #001F5E;
    text-align: left;
}
.why-book-list {
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
}
.why-book-list li {
    display: flex;
    align-items: center;
    margin-bottom: 7px;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 12px;
}
.why-book-list li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.why-book-icon {
    color: var(--tripi-blue);
    font-size: 1.4rem;
    margin-right: 14px;
    min-width: 28px;
    text-align: center;
}
.why-book-text {
    font-size: 1rem;
    color: #333;
}
.distinations-sec .widget-title hr{
    display: none;
}
.distinations-sec  .sidebar-latest-posts-owl{
    margin: 35px 20px;
}
.entry-content-post p{
    font-size: 16px;
    line-height: 1.6;
    color: #444;
    margin-bottom: 10px;
}
.entry-content-post h2{
    font-size: clamp(30px, 3vw, 34px) !important;
    font-weight: 600;
    color: var(--tripi-blue);
    margin: 0 0 10px 0;
}
.entry-content-post h3{
    font-size: clamp(20px, 1.5vw, 20px);
    font-weight: 600;
    color: #001F5E;
    margin: 25px 0 15px 0;
}
.entry-content-post h4{
    font-size: 20px;
    font-weight: 600;
    color: var(--tripi-blue);
    margin-bottom: 15px;
}
.entry-content-post ul{
    padding-left: 20px;
    margin-bottom: 10px;
}
.entry-content-post ul li{
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.8;
    color: #444;
}
.entry-content-post img{
    max-width: 100%;
    height: auto;
    margin: 20px 0 0 0;
    border-radius: 15px;
    box-shadow: 0 2px 8px rgb(0 0 0 / 7%);
}

/******* Home Page *********/

.custom-banner-slider {
    height: 60vh;
    min-height: 400px;
    width: 100%;
}
.slider-images {
    height: 100%;
    width: 100%;
    position: relative;
}
.slider-image {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: cover;
    background-position: center;
    /* opacity: 0; */
   /* transform: scale(1);  Start normal size */
    /* transition: opacity 1s, transform 20s cubic-bezier(0.22, 1, 0.36, 1);  Slow zoom in */
    z-index: 1;
}
.slider-image.active {
    opacity: 1;
    /* transform: scale(1.1);  Zoom in */
    z-index: 2;
}
.banner-title {
    z-index: 3;
    width: 100%;
    pointer-events: none;
    text-shadow: 0 2px 8px rgba(0,0,0,0.7);
}
.banner-title h1{
    font-size: clamp(3rem, 4vw, 5rem) !important;
    font-weight: 700 !important;
    text-shadow: 0 0 40px #000000 !important;
}
.banner-title span{
    font-size: 1.5rem;
    display: block;
    margin-top: 0.5rem;
    text-shadow: 0 0px 15px #000000 !important;
}
.slider-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.4) 0%,
        rgba(0,0,0,0) 35%,
        rgba(0,0,0,0) 65%,
        rgba(0,0,0,0.4) 100%
    );
}
.main-categories{
    padding: 40px 0;
}
.main-category-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
    transition: transform 0.3s cubic-bezier(.25,.8,.25,1), box-shadow 0.3s;
    background: #fff;
    display: block;

    border-radius: 20px;
    margin: 10px 0;
}
.main-category-card img {
    transition: transform 0.5s cubic-bezier(.25,.8,.25,1);
}
.main-category-card:hover img,
.main-category-card:focus-within img {
    transform: scale(1.08);
}
.main-category-card .card-gradient-overlay{
    background: linear-gradient(to top, rgba(0,0,0,0.5) 20%, rgba(0,0,0,0) 40%);
    pointer-events: none;
    top: 0;
}
.main-category-card .card-content h3{
    font-size: clamp(24px, 2vw, 22px);
    font-weight: 800;
    color: #fff;
    text-shadow: 2px 2px 5px black;
    text-transform: uppercase;
}
/* Sleek modern animated button */
.btn-modern-animated {
    position: relative;
    display: inline-block;
    padding: 0.60rem 2rem;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: var(--tripi-blue);
    border: 2px solid;
    border-radius: 50px;
    overflow: hidden;
    z-index: 1;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
    transition: background 0.3s, transform 0.2s;
}

.btn-modern-animated::before {
    content: "";
    position: absolute;
    left: -75%;
    top: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg, rgba(0,174,255,0.3) 0%, rgba(0,255,174,0.2) 100%);
    transform: skewX(-20deg);
    transition: left 0.4s cubic-bezier(.4,0,.2,1);
    z-index: 0;
}

.btn-modern-animated:hover, .btn-modern-animated:focus {
    background: var(--tripi-blue);
    color: #fff;
    transform: translateY(-2px) scale(1.03);
    text-decoration: none;
}

.btn-modern-animated:hover::before, .btn-modern-animated:focus::before {
    left: 110%;
}
.services-item.item-elementor.grid-2 > .item .featured-image img{
    object-fit: cover;
    max-height: 235px;
}
/* Add to your theme's CSS */
.tripi-badge-best-seller {
    position: absolute;
    top: 40px;
    left: 0px;
    background: #ffb100;
    color: #001f5e;
    padding: 9px 15px;
    border-radius: 0 20px 20px 0;
    font-size: 15px;
    font-weight: bold;
    z-index: 9;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    letter-spacing: 1px;
    text-transform: uppercase;
}
.item.service-border.st-border-radius {
    position: relative;
}
.popular-package{
    padding: 40px 0;
}
.location-carousel-home{
    border-radius: 50% !important;
}
.location-carousel-home-sec{
    padding: 0 0 10px;
}
.content-location-carousel .location-name a{
    font-weight: 700;
    font-size: 18px;
    line-height: 26px;
    margin: 15px 0 0 0;
    display: block;
    color: #001F5E;
}
.content-location-carousel .location-buttons a{
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: #5E6D77;
    display: block;
}
.container-form-img{
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 0 0px 14px rgb(51 51 51 / 20%);
}
.title-home-form h2{
    font-size: clamp(30px, 3vw, 34px) !important;
    font-weight: 600;
    color: var(--tripi-blue);
    margin: 0 0 10px 0;
}
.title-home-form hr {
    border-bottom: 5px solid #001f5e;
    margin: 20px 0;
    width: 10%;
    opacity: 1;
}
.title-home-form .zigzag-hr {
    width: 18%;
    height: 20px;
    margin: 20px 0;
    background: url('data:image/svg+xml;utf8,<svg width="100" height="8" xmlns="http://www.w3.org/2000/svg"><polyline points="0,8 10,0 20,8 30,0 40,8 50,0 60,8 70,0 80,8 90,0 100,8" fill="none" stroke="%23001f5e" stroke-width="4"/></svg>') repeat-x;
    background-size: 130px 8px;
    border: none;
    opacity: 1;
}
.form-home-box{
    flex-basis:58%; 
    min-width:0; 
    background: #fff;
}
.image-box{
    flex-basis:42%; 
    max-width:440px; 
    min-width:260px; 
    min-height:400px;
}
.image-box img{
    object-position: 0%;
    object-fit:cover; 
    min-height:440px; 
    max-height: 713px;
}
.tailor-made-tour-section{
    background-color: #f4f6f9;
    padding: 40px 0;
}
.overlay-img-form{
    background: linear-gradient(to top, rgba(30,30,30,0.8) 20%, rgba(0,0,0,0) 40%);
}
.tailor-made-tour-section .home-contact-form input,
.tailor-made-tour-section .home-contact-form textarea,
.tailor-made-tour-section .home-contact-form select {
    border-radius: 0.5rem;
    border: 1px solid #e0e0e0;
    box-shadow: none;
}
.tailor-made-tour-section .home-contact-form input:focus,
.tailor-made-tour-section .home-contact-form textarea:focus,
.tailor-made-tour-section .home-contact-form select:focus {
    border-color: var(--tripi-blue);
    box-shadow: 0 0 0 0.1rem rgba(0,123,255,.15);
}
.wave-border-right {
    z-index: 1;
    background: transparent;
}
.wave-svg-left {
    pointer-events: none;
}
@media (max-width: 991.98px) {
    .wave-svg-left {
        display: none !important;
    }
}
.testimonials-carousel-home{
     background-color: #f4f6f9;
    padding: 40px 0 90px;
}
/* .testimonial-item-img {
    position: absolute;
    top: 0px;
    right: 0px;
}
.testimonial-item-img img {
    height: 86px;
    width: 86px !important;
    border-radius: 50%;
}
.testimonial-item-box {
    background-color: #fff;
    mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg"><circle cx="450" cy="450" r="440" fill="white"/></svg>') center center / cover no-repeat;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg"><circle cx="450" cy="450" r="440" fill="white"/></svg>') center center / cover no-repeat;
    mask-position: center center;
    -webkit-mask-position: center center;
    padding: 30px;
    border-radius: 30px;
    transition: 500ms;
} */

/* .testimonial-item{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    padding: 30px;
} */
.testimonial-item{
    position: relative;
}
.testimonial-item-box{
    padding: 20px;
    background: #fff;
    border-radius: 1.25rem;
    border: 0.5rem solid #e3e3e3;
    overflow: hidden;
    position: relative;
}
.testimonial-item-img{
    width: 8rem;
    height: 7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    bottom: 0;
    background: #f4f6f9;
    border-top: 0.5rem solid #e3e3e3;
    border-left: 0.5rem solid #e3e3e3;
    border-radius: 45px 0 0 0;
    padding: 1.3rem;
}
.testimonial-item-img::after, .testimonial-item-img::before{
    content: '';
    position: absolute;
    width: 1.125rem;
    height: 1.125rem;
} 
.testimonial-item-img::after{
    width: 100px;
    height: 44px;
    background: transparent;
    top: -44px;
    right: -1px;
    border-bottom-right-radius: 50px;
    box-shadow: 40px 0px 0 0 #f4f6f9;
}
.testimonial-item-img::before{
    width: 58px;
    height: 72px;
    background: transparent;
    right: 7.9px;
    top: -80px;
    border-bottom-right-radius: 37px;
    box-shadow: 8px 8px 0 0 #e3e3e3;
}
.curve-one, .curve-two{
    width: 1.25rem;
    height: 1.25rem;
    position: absolute;
    content: "";
}
.curve-one{
    width: 62px;
    height: 70px;
    background: transparent;
    left: 52%;
    bottom: 8px;
    border-bottom-right-radius: 43px;
    box-shadow: 8px 24px 0 0 #e3e3e3;
}
.curve-two{
    width: 75px;
    height: 90px;
    background: transparent;
    left: 51%;
    bottom: 0px;
    border-bottom-right-radius: 50px;
    box-shadow: 13px 30px 0 0 #f4f6f9;
}
.testimonial-rating .fa-star{
    color: #FFD700;
}
.testimonial-content p{
    font-size: 15px;
    line-height: 1.8;
    color: #707070;
    margin-bottom: 15px;
}
.testimonial-content span.d-block{
    font-size: 18px;
    font-weight: 700;
    color: #001F5E;
}
.testimonial-content span.d-block:last-child{
    font-size: 14px;
    color: #595959;
}
.footer-image {
    margin-top: 50px;
}
.blog-sec .custom-page-content p{
    font-size: 16px;
    line-height: 28px;
    color: #464646;
}
svg.icon use {
    fill: var(--tripi-blue);
}
/* Style for the "Why Book With Us" cards */
.why-us-box-goog {
    background: #ffffff; /* Clean white background */
    color: var(--tripi-dark-blue); /* Use the dark blue from the root */
    border-radius: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Subtle shadow */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 233px !important;
}

.why-us-box-goog:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); /* Slightly stronger shadow on hover */
}

/* Icon styles */
.why-us-box-goog i {
    font-size: 40px;
    color: var(--tripi-blue); /* Use the blue from the root */
    margin-bottom: 15px;
    transition: color 0.3s ease;
}

.why-us-box-goog:hover i {
    color: var(--tripi-dark-blue); /* Change icon color on hover */
}

/* Title styles */
.why-us-box-goog h3 {
    font-size: clamp(20px, 1.5vw, 20px);
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--tripi-dark-blue); /* Dark blue for the title */
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Description styles */
.why-us-box-goog span {
    font-size: 14px;
    line-height: 1.6;
    color: var(--tripi-grey-color); /* Use the grey color from the root */
}

.mgk-faq-section {
    margin-top: 40px;
    border-top: 1px solid #ddd;
    padding-top: 20px;
}

.mgk-faq-title {
    font-size: 22px;
    margin-bottom: 20px;
}

.mgk-faq-item {
    margin-bottom: 10px;
}

.mgk-faq-question {
    width: 100%;
    text-align: left;
    background: #f7f7f7;
    padding: 12px 16px;
    border: none;
    font-size: 16px;
    cursor: pointer;
    border-radius: 4px;
}

.mgk-faq-answer {
    display: none;
    background: #ffffff;
    padding: 15px;
    border-left: 3px solid #d9ae52; /* match your luxury theme */
    margin-top: 5px;
    border-radius: 4px;
}

/* Progress Bar Styles */
.progress-bar-steps {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    position: relative;
}

.progress-bar-steps::before {
    content: '';
    position: absolute;
    top: 25%;
    left: 200px;
    right: 200px;
    height: 4px;
    background-color: #ddd;
    z-index: 0;
    transform: translateY(-50%);
}

.progress-step {
    position: relative;
    z-index: 1;
    text-align: center;
    flex: 1;
}

.progress-step span {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    background-color: #ddd;
    color: #fff;
    font-weight: bold;
    margin-bottom: 5px;
}

.progress-step.active span {
    background-color: var(--tripi-blue);
}

.progress-step p {
    margin: 0;
    font-size: 18px;
    color: #666;
}

.progress-step.active p {
    color: #006deb;
}

.card-checkbox {
    display: block;
    cursor: pointer;
    position: relative;
}

.card-checkbox input[type="checkbox"] {
    display: none;
}

.card-content {
    border: 2px solid #ddd;
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
    transition: border-color 0.3s ease;
    position: relative;
}

.card-content:hover {
    border-color: var(--tripi-blue);
}

.card-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.card-text h5 {
    font-size: 18px;
    font-weight: bold;
    margin: 10px 0 5px;
}

.card-text p {
    font-size: 14px;
    color: #666;
}

.card-checkbox input[type="checkbox"]:checked + .card-content {
    border-color: var(--tripi-blue);
}

.checkmark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
    font-size: 24px;
    color: #fff;
    height: 100px;
    width: 100px;
    background-color: var(--tripi-blue);
    border-radius: 50%;
}

.card-checkbox input[type="checkbox"]:checked + .card-content .checkmark {
    display: block;
    font-size: 35px;
    padding-top: 25px;
}
.card-checkbox input[type="checkbox"]:checked + .card-content p{
    color: #ffffff;
    font-weight: 600;
}

.wp-block-image :where(figcaption) {
    margin-bottom: 1em;
    margin-top: .5em;
    text-align: center;
    line-height: 40px;
    color: #b5b3b3;
}
/* Style the date input */
input[type="date"] {
    appearance: none; /* Remove default browser styling */
    -webkit-appearance: none; /* Remove default styling for Safari/Chrome */
    -moz-appearance: none; /* Remove default styling for Firefox */
    cursor: pointer; /* Make the cursor a pointer */
    position: relative; /* Position for the icon */
    padding-right: 40px; /* Add space for the calendar icon */
    border: 1px solid #ccc; /* Add a border */
    border-radius: 5px; /* Add rounded corners */
    height: 40px; /* Set a consistent height */
    width: 100%; /* Ensure it takes up the full width of its container */
    font-size: 16px; /* Set a readable font size */
}

/* Restore the calendar icon */
input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer; /* Ensure the icon is clickable */
    display: block; /* Ensure the icon is visible */
    width: 20px;
    height: 20px;
    color: var(--tripi-blue); /* Optional: Change the icon color */
    z-index: 2; /* Ensure it appears above other elements */
    opacity: 1; /* Ensure the icon is fully visible */
    pointer-events: none; /* Allow clicks to pass through to the input */
}

/* General Form Styling */
#multiStepForm {
    background: #f9f9f9;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    padding: 40px;
    font-family: var(--font-serif);
    /* max-width: 800px; */
    margin: 0 auto;
}

/* Progress Bar Styling */
.progress-bar-steps {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    position: relative;
}

.progress-bar-steps::before {
    content: '';
    position: absolute;
    top: 25%;
    left: 200px;
    right: 200px;
    height: 4px;
    background: #e0e0e0;
    z-index: 1;
    transform: translateY(-50%);
    border-radius: 2px;
}

.progress-step {
    position: relative;
    z-index: 2;
    text-align: center;
    flex: 1;
}

.progress-step span {
    display: inline-block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    background: #e0e0e0;
    color: #ffffff;
    border-radius: 50%;
    font-weight: bold;
    margin-bottom: 10px;
    transition: all 0.3s ease;
    font-size: 18px;
}

.progress-step.active span {
    background: var(--tripi-blue);
    box-shadow: 0 0 10px rgba(0, 123, 255, 0.5);
}

.progress-step p {
    font-size: 18px;
    color: #6b737b;
    margin: 0;
}

.progress-step.active p {
    color: #006deb;
    font-weight: bold;
}

/* Form Step Styling */
.form-step {
    opacity: 0;
    transform: translateX(50px);
    transition: all 0.5s ease;
}

.form-step.active {
    opacity: 1;
    transform: translateX(0);
}
.stt-mailchimp-form input, select, textarea{
    width: 97% !important;
}
/* Input Fields */
input, select, textarea {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px;
    width: 100%;
    font-size: 16px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    background: #ffffff;
}

input:focus, select:focus, textarea:focus {
    border-color: var(--tripi-blue);
    outline: none;
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.3);
}

/* Buttons */
button.nav-btn {
    background: var(--tripi-blue);
    color: #ffffff;
    border: none;
    border-radius: 50%;
    padding: 12px 0px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.2s ease;
}

button:hover {
    background: var(--tripi-dark-blue);
    transform: translateY(-2px);
}

button:disabled {
    background: #e0e0e0;
    cursor: not-allowed;
}

/* Navigation Buttons */
.form-navigation {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

button#prevBtn {
    background: #6b737b;
}

button#prevBtn:hover {
    background: var(--tripi-dark-blue);
}
.main-category-card .card-content{
   border: none !important; 
}
/* Checkbox Cards */
.card-checkbox {
    display: block;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
    background: #ffffff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.card-checkbox:hover {
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.card-checkbox input {
    display: none;
}

.card-checkbox .card-content {
    padding: 20px;
    text-align: center;
    max-height: 375px;
}

.card-checkbox .card-content span {
    font-size: 18px;
    font-weight: bold;
    margin: 10px 0;
}

.card-checkbox .card-content p {
    font-size: 14px;
    color: #6b737b;
}

.card-checkbox input:checked + .card-content {
    background: var(--tripi-blue);
    color: #ffffff;
}

.card-checkbox input:checked + .card-content .card-text span {
    color: #ffffff !important;
}

.card-checkbox input:checked + .card-content .checkmark {
    display: block;
}

.checkmark {
    display: none;
    font-size: 20px;
    color: #ffffff;
    margin-top: 10px;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.form-step.active {
    animation: fadeInUp 0.5s ease;
}
.thank-you-page{
    text-align: center;
    padding: 50px 20px;
}
.thank-you-page h1{
    font-size: 60px;
    font-weight: 700; 
    color: var(--tripi-blue); 
    margin-bottom: 20px;
}
.thank-you-page p{
    font-size: 16px; 
    color: #555;
}

.thank-you-page .thank-icon{
    font-size: 120px;
    color: var(--tripi-blue);
    margin-bottom: 40px;
}
/* Responsive adjustments */
@media (max-width: 767px) {
   .why-us-box-goog {
       min-height: 200px !important;
       margin: 10px;
       padding: 20px !important;
   }
   #multiStepForm{
         padding: 40px 10px;
   }
   .progress-bar-steps::before{
        top: 18%;
        left: 60px;
        right: 60px;
   }
}
.l-hight-label{
    line-height: 30px;
}
.overview-tailor p{
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 10px;
    margin-top: 20px;
}
.border-danger {
    border: 2px solid #ff000069 !important;
    border-radius: 11px;
}
.header-hero-overlay {
    position: absolute;
    left: 0;
    right: 0;
    height: 150px;
    background: rgba(0, 0, 0, 0.45);
    z-index: 2;
    pointer-events: none;
    width: 100%;
    height: 100%;
}
.hero-text-ads{
    font-size: 16px;
    color: #fff;
    line-height: 30px;
}
.banner-content .subtitle-hero{
    font-size: 18px;
    color: #fff;
    line-height: 30px;
    font-style: italic;
    font-weight: 600;
}
.fs-line-form{
    font-size: 16px;
}


.newsletter-form {
  display: flex;
  gap: 12px;
  max-width: 420px;
}

.newsletter-form input {
  flex: 1;
  padding: 14px;
  border-radius: 8px;
  border: 1px solid #ddd;
}

.newsletter-form button {
  padding: 14px 24px;
  background: #000;
  color: #fff;
  border-radius: 8px;
}

.nl-success {
  color: green;
}

.nl-error {
  color: red;
}

/* Modern Tabs Styling */
.nav-packs-ads.nav-tabs {
    border-bottom: none;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    overflow-x: auto;
    padding: 8px 0;
    scrollbar-width: thin;
    scrollbar-color: var(--tripi-dark-blue);
}
.nav-packs-ads.nav-tabs::-webkit-scrollbar {
    height: 6px;
}
.nav-packs-ads.nav-tabs::-webkit-scrollbar-thumb {
    background: var(--tripi-blue);
    border-radius: 3px;
}
.nav-packs-ads.nav-tabs .nav-item {
    margin-right: 12px;
}
.nav-packs-ads.nav-tabs .nav-link {
    border: 1px solid;
    background: #fff;
    color: var(--tripi-blue);
    font-weight: 600;
    border-radius: 30px;
    padding: 10px 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    position: relative;
}
.nav-packs-ads.nav-tabs .nav-link.active,
.nav-packs-ads.nav-tabs .nav-link:focus,
.nav-packs-ads.nav-tabs .nav-link:hover {
    background: linear-gradient(90deg,#007bff 0%,#00c6ff 100%);
    color: #fff;
    box-shadow: 0 4px 16px rgba(0,123,255,0.12);
}
@media (max-width: 767px) {
    .nav-packs-ads.nav-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        justify-content: start;
    }
    .nav-packs-ads.nav-tabs .nav-item {
        flex: 0 0 auto;
    }
    .nav-packs-ads.nav-tabs .nav-link {
        padding: 10px 15px;
        font-size: 13px;
    }
}
.nav-packs-ads .tab-content {

    margin-bottom: 32px;
    animation: fadeInTab 0.4s;
}
@keyframes fadeInTab {
    from { opacity: 0; transform: translateY(20px);}
    to { opacity: 1; transform: translateY(0);}
}

/* Add to your style.css or in a <style> tag */
.tabs-scroll-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
}
.tab-arrow {
    background: #fff;
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    color: var(--tripi-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s, color 0.2s;
    font-size: 1.2rem;
}
.tab-arrow:active,
.tab-arrow:focus {
    color: var(--tripi-blue);
}
.tab-arrow[disabled] {
    opacity: 0.4;
    pointer-events: none;
}
.tabs-scroll-wrapper .nav-tabs {
    flex: 1 1 auto;
    margin-bottom: 0 !important;
    scrollbar-width: none;
}
.tabs-scroll-wrapper .nav-tabs::-webkit-scrollbar {
    display: none;
}
@media (max-width: 767px) {
    .tabs-scroll-wrapper {
        gap: 0px;
    }
    .tab-arrow {
        width: 32px;
        height: 32px;
        font-size: 1rem;
    }
}
.tabs-scroll-wrapper button:hover{
    background-color: transparent !important;
}
/* Hide tab arrows on desktop, show on mobile */
.tab-arrow {
    display: none;
}
@media (max-width: 767px) {
    .tab-arrow {
        display: flex !important;
    }
    .services-item.item-elementor.grid-2>.item .content-item .st-flex.space-between.st-price__wrapper .st-btn--book a{
        background-color: var(--tripi-blue) !important;
    }
    .card-checkbox .card-content p{
        font-size: 16px;
    }
}
button.btn.btn-modern-animated.subscribe-btn {
    width: 100%;
    margin: 20px 0;
}
/* Add to your child theme's CSS file */
.visually-hidden {
    position: absolute !important;
    height: 1px; width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}
.fotorama__caption {
    display: none !important;
}
.single #st-content-wrapper.st-style-4 .inquiry-v2 .st-sent-mail-customer .form-wrapper input {
    color: #606d76 !important;
}
/* Prevent CLS from Fotorama thumbnails */
.fotorama__nav {
    min-height: 110px !important; /* adjust to thumbnail height */
}

.fotorama__nav__shaft {
    min-height: 110px !important;
}
/* Reserve space for main Fotorama image */
.fotorama__stage {
    aspect-ratio: 16 / 9 !important;
    min-height: 400px !important; /* fallback */
}
.fotorama img {
    width: auto !important;
    height: 100% !important;
    display: block !important;
}
/* Prevent CLS from Tour Details */

/* Prevent breadcrumb CLS */
.st-breadcrumbs,
.st-breadcrumb {
    min-height: 40px !important;
}
/* Lock content wrapper during load */
/* #st-content-wrapper {
    overflow-anchor: none !important;
}
.fotorama--ready .fotorama__wrap {
    transition: none !important;
} */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


.travelerSwiperMain {
    width: 100%;
    height: 450px;
    margin-bottom: 10px;
}

.travelerSwiperMain .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Thumbnails */
.travelerSwiperThumbs {
    height: 100px;
}

.travelerSwiperThumbs .swiper-slide {
    opacity: 0.4;
    cursor: pointer;
}

.travelerSwiperThumbs .swiper-slide-thumb-active {
    opacity: 1;
    border: 2px solid #000;
}

.travelerSwiperThumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.share-i{
    margin-right: 10px;
}
.lwptoc-light .lwptoc_i A {
    color: #296fe0 !important;
}
.travelerSwiperThumbs img{
    border-radius: 20px !important;
}
.swiper-slide img {
    border-radius: 15px !important;
}
.travelerSwiperMain{
    border-radius: 20px !important;
}
.travelerSwiperThumbs .swiper-slide-thumb-active{
    border:unset !important;
}
.testimonial-img-small {
    object-fit: cover;
    border-radius: 50%;
}
#main-contact .contact-info{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#main-contact .contact-info p{
    font-size: 16px !important;
    color: #444;
    margin-bottom: 10px;
    margin-top: 20px;
    line-height: 30px;
}
#main-contact .contact-cards {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px;
}

#main-contact .contact-card {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 1.5px 4px rgba(0,0,0,0.06);
  padding: 24px 24px;
  transition: box-shadow 0.2s;
}

#main-contact .contact-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.08);
  transition: transform 0.6s;
  transform: translateY(5px);
}

#main-contact .contact-card i {
  font-size: 1.5rem;
  color: var(--tripi-blue);
  margin-right: 18px;
  flex-shrink: 0;
}

#main-contact .contact-card span, #main-contact .contact-card a {
  font-size: 1.1rem;
  color: #222;
  font-weight: 500;
}

#main-contact .contact-card a {
  text-decoration: none;
  color: var(--tripi-blue);
  font-weight: 600;
}
#main-privacy-policy h1{
    font-weight: 700;
    color: var(--tripi-dark-blue);
}
#main-privacy-policy .content p{
    font-size: 16px;
    line-height: 1.7;
    color: #444;
    margin-bottom: 10px;
    margin-top: 20px;
}
#main-privacy-policy .content ul li{
    font-size: 16px;
    line-height: 1.7;
    color: #444;
    margin-bottom: 10px;
    margin-top: 20px;
}

.st-map, .google-map-container, .single-tour-map, .single-hotel-map {
    display: none !important;
}
.map_iframe {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 ratio */
  height: 0;
  overflow: hidden;
}

.map_iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

.country-cate-card.modern-card {
    border: none;
    border-radius: 18px;
    overflow: hidden;
    background: #181818;
    transition: transform 0.3s cubic-bezier(.4,2,.3,1), box-shadow 0.3s;
    box-shadow: 0 4px 24px rgba(0,0,0,0.12);
    cursor: pointer;
    min-height: 340px;
    position: relative;
}
.card-img-wrap {
    position: relative;
    width: 100%;
    height: 340px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(.4,2,.3,1);
    filter: brightness(0.95) saturate(1.1);
}
.img-gradient-overlay {
    position: absolute;
    left: 0; right: 0; bottom: 0; top: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 10%, rgba(0,0,0,0.0) 40%);
    z-index: 2;
    transition: background 0.4s;
}
.card-title-animated {
    position: absolute;
    left: 50%;
    bottom: 50px;
    width: 100%;
    transform: translate(-50%, 30px);
    z-index: 3;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-shadow: 0 4px 16px rgba(0,0,0,0.25);
    opacity: 1;
    transition: opacity 0.4s, transform 0.4s;
    font-family: var(--font-serif);
    text-align: center;
    padding: 0 12px;
    text-transform: uppercase;
}
.card-title-animated a:hover {
    color: #FFFFFF;
}
.country-cate-card.modern-card:hover {
    transform: translateY(-10px) scale(1.03);
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}
.country-cate-card.modern-card:hover .card-img-wrap img {
    transform: scale(1.07) rotate(-1deg);
    filter: brightness(0.85) saturate(1.2);
}
.country-cate-card.modern-card:hover .img-gradient-overlay {
    background: linear-gradient(to top, rgba(0,0,0,0.92) 10%, rgba(0,0,0,0.0) 40%);
}
.country-cate-card.modern-card:hover .card-title-animated {
    opacity: 1;
    transform: translate(-50%, 85%);
}
@media (max-width: 991px) {
    .card-img-wrap, .country-cate-card.modern-card { height: 260px; min-height: 260px; }
    .card-title-animated {  bottom: 42px; }
}

/* .country-cate-card.modern-card {
    opacity: 0;
    transform: translateY(40px) scale(0.97);
    transition: opacity 0.7s cubic-bezier(.4,2,.3,1), transform 0.7s cubic-bezier(.4,2,.3,1);
} */
.country-cate-card.modern-card.in-view {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.content-location {
    font-family: var(--font-sans) !important;
    font-size: 16px;
    line-height: 28px;
}
.content-location img{
border-radius: 20px;
}
.service-excerpt{
font-family: var(--font-sans) !important;
font-size: 14px;
line-height: 28px;
color: #444;
}
.price-list-card{
font-size: 25px;
}
.services-item.item-elementor.list .view-detail{
font-size: 16px;
}
.daterangepicker.dropdown-menu.ltr.single.respon-single.moveright.opensright.show-calendar{
        position: absolute !important;
        /* left: 25px !important; */
        top: 460px !important;
    }
@media (max-width: 768px) {
    .grecaptcha-badge {
        visibility: hidden !important;
    }
    .awards-scroll {
    scroll-snap-type: x mandatory;
    }

    .awards-scroll > div {
        scroll-snap-align: center;
    }
    .daterangepicker.dropdown-menu.ltr.single.respon-single.moveright.opensright.show-calendar{
        position: fixed !important;
        left: 25px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
}
.multi-country-sec .country-cate-card.modern-card {
    min-height: 275px !important;
}
.multi-country-sec .card-img-wrap {
    height: 275px !important;
}
.multi-country-packages .left-panel{
    background-color: var(--tripi-dark-blue);
    color: #FFFFFF;
    height: 92%;
    border-radius: 20px;
}
.content-multi-c-tours{
    margin-left: -150px;
    
}
.content-multi-c-tours .modern-search-result{
    overflow: hidden;
}
.content-panel{
    width: 70%;
}
.content-panel h2{
    font-size: clamp(30px, 3vw, 34px) !important;
    font-weight: 600;
    color: #FFFFFF !important;
}
.content-panel p{
    font-size: 16px;
    line-height: 28px;
}
.content-panel hr{
    border: 0;
    height: 1px;
    background: #fff;
    margin: 20px 0;
}
@media (max-width: 768px) {
    .content-multi-c-tours {
        margin-left: 0;
    }
    .content-panel {
        width: 100%;
    }
}
.itinerary-meals-divider {
    margin: 0px 0 15px !important;
}

/* new section for testimonials */


/* ---------- Section Wrapper ---------- */
.testi-section {
    width: 100%;
    max-width: 860px;
}

/* ---------- Section Label ---------- */
.testi-section-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--tripi-blue);
    margin-bottom: 0.6rem;
}

/* ---------- Header Row ---------- */
.testi-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    gap: 8px;
}

.testi-reviews-count {
    font-size: 13px;
    color: #555555;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.testi-rating-group {
    display: flex;
    align-items: center;
    gap: 6px;
}

.testi-rating-num {
    font-family: var(--font-sans);
    font-size: 22px;
    font-weight: 700;
    color: #1a1a1a;
}

/* ---------- Stars ---------- */
.stars {
    display: flex;
    gap: 2px;
}

.star {
    width: 15px;
    height: 15px;
    fill: #FFD700;
    flex-shrink: 0;
}

.star--empty {
    fill: #e5e5e5;
}

.star--half {
    fill: url(#halfGrad);
}

/* ---------- Main Card ---------- */
.testi-card {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 2.25rem 2rem 1.5rem;
    position: relative;
    border: 1px solid #e8e7e4;
    overflow: hidden;
}

/* Large decorative quote mark */
.testi-quote-mark {
    font-family: var(--font-serif);
    font-size: 110px;
    line-height: 1;
    color: var(--tripi-blue);
    opacity: 0.15;
    position: absolute;
    top: 8px;
    left: 20px;
    user-select: none;
    pointer-events: none;
}

/* ---------- Carousel Track ---------- */
.testi-slides-wrapper {
    overflow: hidden;
}

.testi-slides {
    display: flex;
    transition: transform 0.52s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

.testi-slide {
    min-width: 100%;
}

.testi-text {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 1.25rem;
    padding-top: 2.2rem;
}

.testi-author-name {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
}

.testi-author-sub {
    font-size: 12px;
    color: #595959;
    margin-top: 3px;
}

/* ---------- Author Row with Avatar ---------- */
.testi-author-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.testi-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--tripi-blue);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.testi-author-info .testi-author-name,
.testi-author-info .testi-author-sub {
    margin: 0;
}

.testi-slide-stars {
    margin-top: 2px;
    margin-left: 58px;
}

/* ---------- Navigation Arrows ---------- */
.testi-nav {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.nav-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid #d5d4d0;
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s, color 0.2s, background 0.2s, transform 0.15s;
    color: #444;
    flex-shrink: 0;
}

.nav-btn:hover {
    border-color: var(--tripi-dark-blue);
    color: #FFFFFF;
    transform: scale(1.05);
}

.nav-btn--filled {
    background: var(--tripi-blue);
    border-color: var(--tripi-blue);
    color: #fff;
}

.nav-btn--filled:hover {
    background: var(--tripi-dark-blue);
    border-color: var(--tripi-blue);
    color: #fff;
}

.nav-btn svg {
    pointer-events: none;
}

/* ---------- Dot Indicators ---------- */
.testi-dots {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
}

.testi-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d0cfcb;
    border: none;
    cursor: pointer;
    transition: width 0.3s ease, background 0.3s ease, border-radius 0.3s ease;
    padding: 0;
    flex-shrink: 0;
}

.testi-dot.is-active {
    background: var(--tripi-blue);
    width: 22px;
    border-radius: 4px;
}

/* ---------- Platform Cards ---------- */
.platforms-section {
    margin-top: 1.25rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.platform-card {
    background: #fff;
    border: 1px solid #e8e7e4;
    border-radius: 14px;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: transform 0.22s ease, border-color 0.22s ease;
    cursor: default;
}

.platform-card:hover {
    transform: translateY(-3px);
    border-color: #d0cfcb;
}

.platform-logo {
    display: flex;
    align-items: center;
    gap: 7px;
}

.platform-name {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
}

.platform-rating-row {
    display: flex;
    align-items: center;
    gap: 7px;
}

.platform-score {
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1;
}

.platform-label {
    font-size: 11px;
    color: #595959;
}

/* ---------- Responsive ---------- */
@media (max-width: 600px) {
    .platforms-section {
        grid-template-columns: 1fr;
    }

    .testi-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .testi-card {
        padding: 1.75rem 1.25rem 1.25rem;
    }

    .testi-text {
        font-size: 14px;
    }
}

/* --- Tour card grid: price badge on image --- */
.services-item.item-elementor.grid-2 .featured-image .price-badge-overlay {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: #ffb100;
    color: var(--tripi-dark-blue);
    border-radius: 6px;
    padding: 7px 12px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
    z-index: 9;
    pointer-events: none;
}
.services-item.item-elementor.grid-2 .price-badge__from {
    font-size: 13px;
    font-weight: 500;
    opacity: 0.85;
    line-height: 45px;
    margin-right: 5px;
}
.services-item.item-elementor.grid-2 .price-badge__amount {
    font-family: var(--font-sans);
    font-size: 27px;
    font-weight: 700;
    color: var(--tripi-blue);
    margin-right: 3px;
}
.services-item.item-elementor.grid-2 .price-badge__contact {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: var(--tripi-dark-blue);
    background-color: var(--tripi-orange-color, #ffb100);
    border-radius: 25px;
    padding: 10px 18px;
    line-height: 1;
    box-shadow: 0 3px 10px rgba(255, 177, 0, 0.35);
}
.services-item.item-elementor.grid-2 .price-badge__contact i {
    font-size: 14px;
    color: var(--tripi-dark-blue);
}

/* --- Tour card grid: View Itinerary button --- */
.btn-view-itinerary {
    /* reset browser button defaults */
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    border: 2px solid var(--tripi-blue, #001F5E);
    cursor: pointer;
    font-family: var(--font-sans);
    /* visual style matching Get Quote button */
    font-size: 14px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.83;
    letter-spacing: 1px;
    color: var(--tripi-blue, #001F5E);
    padding: 10px 20px;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    display: inline-block;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    position: relative;
    z-index: 9;
    -webkit-box-shadow: 0 5px 0 #c7c3c3;
    box-shadow: 0 5px 0 #c7c3c3;
}
.btn-view-itinerary:hover {
    background-color: var(--tripi-blue, #001F5E);
    color: #fff;
    transform: translateY(5px);
    box-shadow: 0 0 0 #a7a7a7 !important;
}

@media (max-width: 400px) {
    .testi-section {
        padding: 0;
    }
}
.img-box-test{
    width: 40px;
    height: 50px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}
.banner-author a{
    color: #ffffff;
}

/* =====================================================================
   Tour Itinerary Modal â€” tabbed design
   ===================================================================== */
body.tripi-modal-open { overflow: hidden; }

.tripi-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.65);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.tripi-modal {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 680px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 12px 48px rgba(0,0,0,0.18);
}

/* Header */
.tripi-modal-header {
    padding: 24px 28px 0;
    border-bottom: 1px solid #efefef;
    flex-shrink: 0;
}
.tripi-modal-header-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.tripi-modal-title {
    font-family: var(--font-serif);
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0D1B2A !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}
.tripi-modal-close {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 50%;
    background: #f7f7f7;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: pointer;
    border: none;
    color: #4b5563;
    font-size: 13px;
    transition: all 0.2s ease;
    padding: 0;
}
.tripi-modal-close:hover { background: #9ca3af; color: #fff; }

/* Meta row */
.tripi-modal-meta-row {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.tripi-modal-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #4b5563;
}
.tripi-modal-meta-item i { color: var(--tripi-blue); }

/* Tabs */
.tripi-modal-tabs {
    display: flex;
    margin: 0 -28px;
    padding: 0 28px;
}
.tripi-modal-tab {
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    color: #4b5563;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: all 0.2s ease;
    background: none;
    border-top: none;
    border-left: none;
    border-right: none;
    font-family: var(--font-sans);
}
.tripi-modal-tab.active { color: var(--tripi-blue); border-bottom-color: var(--tripi-blue); }
.tripi-modal-tab:hover { color: #ffffff; }

/* Body */
.tripi-modal-body {
    padding: 24px 28px;
    overflow-y: auto;
    flex: 1;
    -webkit-overflow-scrolling: touch;
}

/* Panels */
.tripi-panel { display: none; }
.tripi-panel.active { display: block; }

/* Highlights grid */
.tripi-highlights-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.tripi-highlight-item {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 13px;
    color: #4b5563;
    padding: 7px 10px;
    background: #f7f7f7;
    border-radius: 6px;
    line-height: 1.45;
}
.tripi-highlight-item i { color: var(--tripi-blue); font-size: 11px; margin-top: 3px; flex-shrink: 0; }

/* Inc/exc list */
.tripi-inc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.tripi-inc-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #4b5563;
    line-height: 1.55;
}
.tripi-inc-list li i { margin-top: 2px; flex-shrink: 0; font-size: 12px; }
.tripi-inc-list li i.tripi-yes { color: #22c55e; }
.tripi-inc-list li i.tripi-no  { color: #9ca3af; }

/* Loading spinner */
.tripi-modal-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 48px 0;
}
.tripi-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #efefef;
    border-top-color: var(--tripi-blue);
    border-radius: 50%;
    animation: tripi-spin 0.7s linear infinite;
}
@keyframes tripi-spin { to { transform: rotate(360deg); } }

/* CTA row */
.tripi-modal-cta-row {
    display: flex;
    gap: 10px;
    padding: 16px 28px;
    border-top: 1px solid #efefef;
    flex-shrink: 0;
}
.tripi-cta-btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 14px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s ease;
    cursor: pointer;
    border: none;
    font-family: var(--font-sans);
}
.tripi-btn-gold {
    background: linear-gradient(135deg, var(--tripi-blue) 0%, var(--tripi-dark-blue) 100%);
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(201,151,58,0.35);
}
.tripi-btn-gold:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(201,151,58,0.45); color: #fff !important; }
.tripi-btn-whatsapp { background: #25D366; color: #fff !important; }
.tripi-btn-whatsapp:hover { background: #1ebe5d; transform: translateY(-1px); color: #fff !important; }

/* Mobile */
@media (max-width: 600px) {
    .tripi-modal { max-height: 94vh; border-radius: 10px; }
    .tripi-modal-header { padding: 18px 18px 0; }
    .tripi-modal-tabs { margin: 0 -18px; padding: 0 18px; }
    .tripi-modal-body { padding: 18px; }
    .tripi-modal-cta-row { padding: 14px 18px; }
    .tripi-modal-title { font-size: 15px !important; }
    .tripi-highlights-grid { grid-template-columns: 1fr; }
    .tripi-modal-tab { padding: 9px 12px; font-size: 12px; }
}

/* Author overview toggle */
.author-overview-toggle {
    margin-top: 12px;
    padding: 8px 22px;
    background: transparent;
    border: 2px solid var(--tripi-blue);
    color: var(--tripi-blue);
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    float: right;
}
.author-overview-toggle:hover {
    background: var(--tripi-blue);
    color: #fff;
}
.reviews-sec {
    margin-top: 40px;
}
.reviews-sec .testimonials-section{
    border-radius: 20px;
}
.st-service-header2 .reviews span.summary {
    font-size: 14px !important;
}

/* whats app  */



.wa-float-wrap {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.wa-float-btn {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 9999;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #25D366;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
    text-decoration: none;
    transition: background .2s, transform .2s;
}

.wa-float-btn:hover {
    background: #1ebe5d;
    transform: scale(1.08);
    color: #fff;
}

.wa-float-numbers {
    display: none;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}

.wa-float-numbers.open {
    display: flex;
}

.wa-number-link {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #1a1a1a;
    text-decoration: none;
    border-radius: 24px;
    padding: 8px 16px 8px 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    transition: background .2s, color .2s;
}

.wa-number-link i {
    color: #25D366;
    font-size: 20px;
}

.wa-number-link:hover {
    background: #25D366;
    color: #fff;
}

.wa-number-link:hover i {
    color: #fff;
}

.tdp-section {
    position: relative;
    padding: 40px 0 100px;
    background: #f5f6f9;
    overflow: hidden;
}

/* Ambient background glows */
.tdp-section::before,
.tdp-section::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.tdp-section::before {
    top: -240px;
    right: -240px;
    width: 680px;
    height: 680px;
    background: radial-gradient(circle, rgba(0, 109, 235, .08) 0%, transparent 65%);
}

.tdp-section::after {
    bottom: -200px;
    left: -200px;
    width: 580px;
    height: 580px;
    background: radial-gradient(circle, rgba(0, 31, 94, .06) 0%, transparent 65%);
}

/* Decorative floating orb */
.tdp-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(60px);
    opacity: .5;
}

.tdp-orb--1 {
    top: 10%;
    left: 5%;
    width: 300px;
    height: 300px;
    background: rgba(0, 109, 235, .06);
}

.tdp-orb--2 {
    bottom: 15%;
    right: 8%;
    width: 220px;
    height: 220px;
    background: rgba(255, 218, 7, .08);
}

/* ---- Section Header ---- */
.tdp-header {
    text-align: center;
    margin-bottom: 60px;
    position: relative;
    z-index: 1;
}

.tdp-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 7px 20px;
    border-radius: 50px;
    background: rgba(0, 109, 235, .08);
    border: 1px solid rgba(0, 109, 235, .18);
    color: var(--tripi-blue);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 22px;
}

.tdp-pill-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--tripi-blue);
    animation: tdpDot 2.2s ease-in-out infinite;
}

@keyframes tdpDot {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.8);
        opacity: .3;
    }
}

.tdp-h2 {
    font-size: clamp(30px, 4.2vw, 52px);
    font-weight: 800;
    color: var(--tripi-dark-blue);
    line-height: 1.15;
    margin: 0 0 18px;
}

.tdp-h2-accent {
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
    display: inline-block;
}

.tdp-h2-accent::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--primary-gradient);
    border-radius: 3px;
}

.tdp-lead {
    font-size: 16.5px;
    color: var(--tripi-grey-color);
    max-width: 500px;
    margin: 0 auto;
    line-height: 1.78;
}

/* ---- Cards Grid ---- */
.tdp-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    position: relative;
    z-index: 1;
}

/* ---- Card ---- */
.tdp-card {
    display: block;
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    aspect-ratio: 3 / 4.3;
    background: var(--tripi-dark-blue);
    box-shadow: 0 4px 20px rgba(0, 31, 94, .1);
    text-decoration: none !important;
    transition:
        transform .5s var(--tripi-ease),
        box-shadow .5s var(--tripi-ease);
    will-change: transform;
    -webkit-font-smoothing: antialiased;
}

.tdp-card:hover,
.tdp-card:focus-visible {
    transform: translateY(-12px);
    box-shadow: 0 24px 52px rgba(0, 31, 94, .22);
    text-decoration: none !important;
    outline: none;
}

/* Image */
.tdp-card__img-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.tdp-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .85s var(--tripi-ease);
    will-change: transform;
}

.tdp-card:hover .tdp-card__img {
    transform: scale(1.1);
}

/* Placeholder when no image */
.tdp-card__no-img {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #001F5E 0%, #0059c4 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Multi-layer gradient overlay */
.tdp-card__veil {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top,
            rgba(0, 12, 46, .95) 0%,
            rgba(0, 22, 75, .5) 42%,
            transparent 68%),
        linear-gradient(to bottom,
            rgba(0, 0, 0, .18) 0%,
            transparent 28%);
    z-index: 1;
    transition: opacity .4s ease;
}

/* Shimmer sweep on hover */
.tdp-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(108deg,
            transparent 30%,
            rgba(255, 255, 255, .09) 50%,
            transparent 70%);
    transform: translateX(-120%);
    transition: transform .75s ease;
    z-index: 6;
    pointer-events: none;
}

.tdp-card:hover::after {
    transform: translateX(120%);
}

/* ---- Duration Badge ---- */
.tdp-card__badge {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 4;
    background: var(--tripi-blue);
    border-radius: 14px;
    padding: 8px 13px 7px;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.1;
    box-shadow: 0 4px 16px rgb(7 120 255 / 50%);
    transition:
        transform .4s var(--tripi-ease),
        box-shadow .4s ease;
}

.tdp-card:hover .tdp-card__badge {
    transform: scale(1.1) translateY(-2px);
    box-shadow: 0 4px 16px rgb(7 120 255 / 80%);
}

.tdp-card__badge-n {
    font-size: 22px;
    font-weight: 900;
    color: #fff;
    display: block;
}

.tdp-card__badge-l {
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #fff;
}

/* Card index watermark (top-right) */
.tdp-card__index {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 4;
    font-size: 11px;
    font-weight: 700;
    color: rgba(255, 255, 255, .45);
    font-variant-numeric: tabular-nums;
    letter-spacing: .05em;
    transition: color .3s ease;
}

.tdp-card:hover .tdp-card__index {
    color: rgba(255, 255, 255, .7);
}

/* ---- Card Body ---- */
.tdp-card__body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px 18px 22px;
    z-index: 3;
}

.tdp-card__title {
    /* font-size: 14px; */
    font-weight: 700;
    color: #fff;
    margin: 0 0 11px;
    line-height: 1.45;
    transition: transform .4s var(--tripi-ease);
}

.tdp-card:hover .tdp-card__title {
    transform: translateY(-3px);
}

.tdp-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ffb100;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(10px);
    transition:
        opacity .35s ease .06s,
        transform .35s var(--tripi-ease) .06s;
}

.tdp-card:hover .tdp-card__cta {
    opacity: 1;
    transform: translateY(0);
}

.tdp-card__cta-arrow {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #ffb100;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform .3s ease;
}

.tdp-card:hover .tdp-card__cta-arrow {
    transform: translateX(4px);
}

.tdp-card__cta-arrow svg {
    width: 11px;
    height: 11px;
    fill: none;
    stroke: var(--tripi-dark-blue);
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Bottom accent line */
.tdp-card__line {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--primary-gradient);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .5s var(--tripi-ease);
    z-index: 5;
}

.tdp-card:hover .tdp-card__line {
    transform: scaleX(1);
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 1200px) {
    .tdp-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 900px) {
    .tdp-section {
        padding: 72px 0 88px;
    }

    .tdp-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
    }
}

@media (max-width: 680px) {
    .tdp-header {
        margin-bottom: 40px;
    }
    .wa-float-btn {
    bottom: 145px;
    }

    /* Horizontal scroll track on mobile */
    .tdp-grid {
        /* display: flex; */
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 14px;
        padding-bottom: 6px;
        /* hide scrollbar */
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .tdp-card__body{
        padding-bottom: 0;
    }

    .tdp-grid::-webkit-scrollbar {
        display: none;
    }

    .tdp-card {
        flex: 0 0 210px;
        width: 195px;
        aspect-ratio: 3 / 4.3;
        scroll-snap-align: start;
    }
}

@media (max-width: 400px) {
    .tdp-card {
        flex: 0 0 185px;
        width: 185px;
    }

    .tdp-card__title {
        font-size: 13px;
    }

    .tdp-card__badge-n {
        font-size: 18px;
    }
}

/* Content expand/collapse */                                                                                                                                  
      .pkg-content-extra {                                                                                                                                           
          display: none;                                                                                                                                             
      }                                                                                                                                                              
      .pkg-content-extra.is-open {                                                                                                                                   
          display: block;                                                                                                                                            
      }                                                                                                                                                              
      .pkg-content-toggle-wrap {                                                                                                                                     
          margin-top: 14px;                                                                                                                                          
      }                                                                                                                                                              
      .pkg-content-toggle-btn {                                                                                                                                      
          display: inline-flex;                                                                                                                                      
          align-items: center;                                                                                                                                       
          gap: 8px;                                                                                                                                                  
          background: none;                                                                                                                                          
          border: 2px solid var(--tripi-blue);                                                                                                                       
           color: var(--tripi-blue);                                                                                                                                  
           font-size: 14px;                                                                                                                                           
          font-weight: 600;                                                                                                                                          
           padding: 8px 24px;                                                                                                                                         
           border-radius: 50px;                                                                                                                                       
           cursor: pointer;                                                                                                                                           
          transition: background .2s, color .2s;                                                                                                                     
           font-family: var(--font-sans);                                                                                                                        
       }                                                                                                                                                              
       .pkg-content-toggle-btn:hover {                                                                                                                                
           background: var(--tripi-blue);                                                                                                                             
           color: #fff;                                                                                                                                               
       }                                                                                                                                                              
       .pkg-content-toggle-btn .toggle-arrow {                                                                                                                        
          font-size: 20px;                                                                                                                                           
           line-height: 1;                                                                                                                                            
          transition: transform .3s var(--tripi-ease);                                                                                                               
           display: inline-block;                                                                                                                                     
       }                                                                                                                                                              
       .pkg-content-toggle-btn.is-open .toggle-arrow {                                                                                                                
           transform: rotate(180deg);                                                                                                                                 
        }
        /* â”€â”€ Packages-by-Duration Â· Overview Section â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */                                                                                   
      .pkg-overview-sec {                                                                                                                                            
         padding: 56px 0 52px;                                                                                                                                      
          position: relative;                                                                                                                                        
         overflow: hidden;                                                                                                                                          
      }                                                                                                                                                              
      .pkg-overview-sec::before {                                                                                                                                    
          content: '';                                                                                                                                               
          position: absolute;                                                                                                                                        
         top: -140px;                                                                                                                                               
          right: -140px;                                                                                                                                             
          width: 440px;                                                                                                                                              
          height: 440px;                                                                                                                                             
          background: radial-gradient(circle, rgba(0,109,235,.06) 0%, transparent 70%);                                                                              
          border-radius: 50%;                                                                                                                                        
          pointer-events: none;                                                                                                                                      
      }                                                                                                                                                              
      .pkg-overview-eyebrow {                                                                                                                                        
         display: inline-block;                                                                                                                                     
          font-size: 12px;                                                                                                                                           
         font-weight: 600;                                                                                                                                          
          letter-spacing: 1.8px;                                                                                                                                     
          text-transform: uppercase;                                                                                                                                 
          color: var(--tripi-blue);                                                                                                                                  
          background: rgba(0,109,235,.07);                                                                                                                           
          border-left: 3px solid var(--tripi-blue);                                                                                                                  
          padding: 4px 12px;                                                                                                                                         
          border-radius: 0 4px 4px 0;                                                                                                                                
          margin-bottom: 16px;                                                                                                                                       
      }                                                                                                                                                              
      .pkg-overview-content.overview-sec-cat {                                                                                                                                                                                                                                                                     
          background: none;                                                                                                                                          
      }                                                                                                                                                              
      /* Image wrapper */                                                                                                                                            
      .pkg-overview-img-wrapper {                                                                                                                                    
          position: relative;                                                                                                                                        
          border-radius: 18px;                                                                                                                                       
          margin-bottom: 22px;                                                                                                                                       
      }                                                                                                                                                              
      .pkg-overview-img-wrapper::before {                                                                                                                            
          content: '';                                                                                                                                               
          position: absolute;                                                                                                                                        
          inset: -8px;                                                                                                                                               
          border: 2px solid rgba(0,109,235,.2);                                                                                                                      
          border-radius: 24px;                                                                                                                                       
          pointer-events: none;                                                                                                                                      
          z-index: 0;                                                                                                                                                
      }                                                                                                                                                              
      .pkg-overview-img {                                                                                                                                            
          position: relative;                                                                                                                                        
          z-index: 1;                                                                                                                                                
          border-radius: 18px !important;                                                                                                                            
          box-shadow: 0 16px 52px rgba(0,31,94,.16) !important;                                                                                                      
          display: block;                                                                                                                                            
      }                                                                                                                                                              
      /* Floating trust badge */                                                                                                                                     
      .pkg-overview-badge {                                                                                                                                          
          position: absolute;                                                                                                                                        
          bottom: -20px;                                                                                                                                             
          left: 28px;                                                                                                                                                
          z-index: 2;                                                                                                                                                
          display: flex;                                                                                                                                             
          align-items: center;                                                                                                                                       
          gap: 12px;                                                                                                                                                 
          background: #fff;                                                                                                                                          
          border-radius: 40px;                                                                                                                                       
          padding: 10px 20px 10px 12px;                                                                                                                              
          box-shadow: 0 8px 28px rgba(0,31,94,.15);                                                                                                                  
          white-space: nowrap;                                                                                                                                       
      }                                                                                                                                                              
      .pkg-badge-icon {                                                                                                                                              
          width: 38px;                                                                                                                                               
          height: 38px;                                                                                                                                              
          border-radius: 50%;                                                                                                                                        
          background: var(--tripi-gold-color);                                                                                                                       
          display: flex;                                                                                                                                             
          align-items: center;                                                                                                                                       
          justify-content: center;                                                                                                                                   
          font-size: 18px;                                                                                                                                           
          color: #fff;                                                                                                                                               
          flex-shrink: 0;                                                                                                                                            
      }                                                                                                                                                              
      .pkg-badge-label {                                                                                                                                             
          font-size: 11px;                                                                                                                                           
          font-weight: 500;                                                                                                                                          
          color: #888;                                                                                                                                               
          line-height: 1.2;                                                                                                                                          
          text-transform: uppercase;                                                                                                                                 
         letter-spacing: 0.5px;                                                                                                                                     
      }                                                                                                                                                              
      .pkg-badge-value {                                                                                                                                             
          font-size: 13px;                                                                                                                                           
          font-weight: 700;                                                                                                                                          
          color: var(--tripi-dark-blue);                                                                                                                             
          line-height: 1.3;                                                                                                                                          
      }                                                                                                                                                              
      @media (max-width: 991px) {                                                                                                                                    
          .pkg-overview-sec { padding: 40px 0 40px; }                                                                                                                
          .pkg-overview-img-wrapper { margin-bottom: 30px; }                                                                                                         
      }                                                                                                                                                              
      @media (max-width: 575px) {                                                                                                                                    
          .pkg-overview-badge {                                                                                                                                      
              left: 50%;                                                                                                                                             
              transform: translateX(-50%);                                                                                                                            
          }                                                                                                                                                          
      }
    .pbd-hero__trust-item {
    color: rgb(255 255 255);
    font-size: 13px;
    font-weight: 500;
    text-shadow: 0 0 8px #000;
}
.pbd-hero__btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--tripi-blue);
    color: #fff !important;
    font-size: 15px;
    font-weight: 500; 
    padding: 13px 28px;
    border-radius: 40px;
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgb(0 109 235 / .4);
}
.pbd-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 22px;
    margin-top: 15px;
}
.pbd-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
}
.pbd-hero__trust-item i {
    color: var(--tripi-gold-color);
    font-size: 13px;
}
.services-item.item-elementor.grid-2 > .item .featured-image img{
    border-radius: 24px;
    display: block;
    overflow: hidden;
    transition: all 0.35s;
    -moz-transition: all 0.35s;
    -o-transition: all 0.35s;
    transition: all 0.35s;
    height: 100%;
}
.service-list-wrapper .item h3.title {
    color: var(--tripi-dark-blue);
}
h3.st-heading-section.heading-single-h2{
    font-size: clamp(20px, 1.5vw, 20px);
    font-weight: 600 !important;
    line-height: 1.4 !important;
}
#package-listings-ads .item__icon{
font-size: 15px !important;
}
#package-listings-ads .item__icon svg {
    width: 16px !important;
    height: 16px !important;
}
.services-item.item-elementor.grid-2 .featured-image .cate-badge-overlay {
    position: absolute;
    top: 25px;
    left: 25px;
    background-color: #ffb100;
    color: var(--tripi-dark-blue);
    border-radius: 25px;
    padding: 7px 12px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
    z-index: 9;
    pointer-events: none;
}

.services-item.item-elementor.grid-2 .featured-image .discount-badge-overlay {
    position: absolute;
    top: 25px;
    right: 25px;
    background-color: #e63946;
    color: #fff;
    border-radius: 25px;
    padding: 7px 12px;
    display: flex;
    align-items: center;
    line-height: 1.2;
    font-weight: 700;
    z-index: 9;
    pointer-events: none;
}

#package-listings-ads .services-item.item-elementor.grid-2>.item .content-item .st-flex.space-between.st-price__wrapper .st-btn--book a {
    font-size: 15px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    letter-spacing: 1px;
    color: #fff;
    padding: 7px 25px;
    background-color: var(--main-color, #ec927e);
    border-radius: 40px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 24px;
    position: relative;
    display: inline-block;
    z-index: 20;
    -webkit-box-shadow: 0 5px 0 #c7c3c3 !important;
    box-shadow: 0 5px 0 #c7c3c3 !important;
    text-decoration: none;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    position: relative;
    text-transform: capitalize;
    font-family: var(--font-sans) !important;
}
#package-listings-ads .btn-view-itinerary {
    -webkit-appearance: none;
    appearance: none;
    border: 2px solid var(--tripi-blue, #001F5E);
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.83;
    letter-spacing: 1px;
    color: var(--tripi-blue, #001F5E);
    padding: 5px 25px;
    border-radius: 40px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 40px;
    display: inline-block;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    position: relative;
    z-index: 9;
    -webkit-box-shadow: 0 5px 0 #c7c3c3;
    box-shadow: 0 5px 0 #c7c3c3;
    font-family: var(--font-sans) !important;
}
#package-listings-ads .btn-view-itinerary:hover {
    background-color: var(--tripi-blue, #001F5E);
    color: #fff;
   
}
.st-tour__item p {
    margin-bottom: 0.7rem;
}
.card-img-overlay-wrapper .card-img-overlay h3.card-title{
    font-size: clamp(25px, 3vw, 26px);
}

/* ============================================================
   ADS HERO — scoped to .ads-hero
============================================================ */
.ads-hero {
    position: relative;
    min-height: 87vh;
    display: flex;
    align-items: center;
    padding: 0;
    overflow: hidden;
}

.ads-hero-bg {
    position: absolute;
    inset: 0;
    background-color: #001F5E;
    background-size: cover;
    background-position: center 60%;
    background-repeat: no-repeat;
    z-index: 0;
}

.hero h1 em {
    font-style: normal;
    color: var(--tripi-orange-color);
    position: relative;
}

.ads-hero-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(13, 27, 42, 0.88) 0%, rgba(13, 27, 42, 0.70) 50%, rgba(13, 27, 42, 0.82) 100%);
    z-index: 1;
}

/* LCP hidden background image */
.ads-hero-bg .lcp-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 60%;
    z-index: 0;
    opacity: 0;
    pointer-events: none;
}

.ads-hero .container {
    position: relative;
    z-index: 2;
}

.ads-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 177, 0, 0.15);
    border: 1px solid rgba(255, 177, 0, 0.4);
    color: #ffb100;
    padding: 7px 18px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 22px;
}

.ads-hero h1 {
    font-family: var(--font-serif);
    font-size: clamp(35px, 5vw, 55px) !important;
    font-weight: 900;
    color: #fff;
    line-height: 1.28;
    margin-bottom: 20px;
    max-width: 820px;
}

.ads-hero h1 em {
    font-style: normal;
    color: #ffb100;
}

.ads-hero-sub {
    font-size: clamp(15px, 2vw, 16px);
    color: rgba(255, 255, 255, 0.82);
    max-width: 560px;
    line-height: 1.65;
    margin-bottom: 32px;
}

.ads-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
}

.ads-form-left h2 {
    color: var(--tripi-dark-blue) !important;
}

.ads-hero-ctas .btn-ads-gold {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 700;
    background: linear-gradient(135deg, #ffb100 0%, #cc8e00 100%);
    color: #fff;
    box-shadow: 0 4px 18px rgba(255, 177, 0, 0.45);
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
    cursor: pointer;
}

.ads-hero-ctas .btn-ads-gold:hover {
    background: linear-gradient(135deg, #ffd166 0%, #ffb100 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(255, 177, 0, 0.55);
    color: #fff;
}

.ads-hero-ctas .btn-ads-wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 700;
    background: #25D366;
    color: #fff;
    box-shadow: 0 4px 16px rgba(37, 211, 102, 0.35);
    transition: all 0.3s ease;
    text-decoration: none;
}

.ads-hero-ctas .btn-ads-wa:hover {
    background: #1ebe5d;
    transform: translateY(-2px);
    color: #fff;
}

.ads-hero-ctas .btn-ads-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 700;
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.55);
    transition: all 0.3s ease;
    text-decoration: none;
}

.ads-hero-ctas .btn-ads-outline:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #fff;
    color: #fff;
}

.ads-hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
}

.ads-hero-trust-item {
    display: flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    font-weight: 500;
}

.ads-hero-trust-item i {
    color: #ffb100;
    font-size: 14px;
}

/* Floating stat cards */
.ads-hero-stats {
    position: absolute;
    right: 24px;
    bottom: 200px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    z-index: 3;
}

.ads-hero-stat {
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 177, 0, 0.25);
    border-radius: 12px;
    padding: 18px 22px;
    text-align: center;
    min-width: 120px;
}

.ads-hero-stat-num {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 30px;
    font-weight: 700;
    color: #ffb100;
    line-height: 1;
    margin-bottom: 5px;
}

.ads-hero-stat-label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 500;
}

@media (max-width: 1024px) {
    .ads-hero-stats {
        display: none;
    }
}

@media (max-width: 640px) {
    .ads-hero-ctas .btn-ads-outline {
        display: none;
    }

    .ads-hero {
        padding: 100px 0 80px;
    }
}

/* ============================================================
   ADS TRUST BAR — scoped to .ads-trust-bar
============================================================ */
.ads-trust-bar {
    background: var(--tripi-dark-blue);
    border-bottom: 1px solid rgba(255, 177, 0, 0.2);
}

.ads-trust-bar-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.ads-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 28px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.ads-trust-item:last-child {
    border-right: none;
}

.ads-trust-item i {
    color: #ffb100;
    font-size: 18px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .ads-trust-item {
        padding: 13px 18px;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        width: 50%;
        white-space: normal;
    }

    .ads-trust-item:last-child {
        border-bottom: none;
    }
}

@media (max-width: 420px) {
    .ads-trust-item {
        width: 100%;
    }
}

/* ============================================================
   ADS TOUR CATEGORIES — scoped to .ads-categories
============================================================ */
    .ads-categories {
        padding: 80px 0;
        background: #fff;
    }

    .ads-categories-header {
        text-align: center;
        margin-bottom: 48px;
    }

    .ads-section-label {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--tripi-dark-blue);
        margin-bottom: 10px;
    }

    .ads-section-title {
        font-family: 'Playfair Display', Georgia, serif;
        font-weight: 700;
        color: #001F5E;
        line-height: 1.15;
        margin-bottom: 12px;
    }

    .ads-section-title span {
        color: var(--tripi-dark-blue);
    }

    .ads-section-sub {
        font-size: 16px;
        color: #5e6d77;
        max-width: 560px;
        margin: 0 auto;
        line-height: 1.7;
    }

    .ads-cat-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    .ads-cat-card.ads-cat-large {
        grid-row: span 2;
        min-height: 500px;
    }

    .ads-cat-card {
        position: relative;
        border-radius: 16px;
        overflow: hidden;
        min-height: 235px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        text-decoration: none;
        transition: transform 0.3s ease;
    }

    .ads-cat-card:hover {
        transform: translateY(-4px);
    }

    .ads-cat-card:hover .ads-cat-img {
        transform: scale(1.06);
    }

    .ads-cat-img {
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        transition: transform 0.5s ease;
    }

    .ads-cat-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgb(22 22 22 / 93%) 0%, rgb(0 31 94 / .45) 55%, rgb(0 31 94 / .1) 100%);
    }

    .ads-cat-content {
        position: relative;
        z-index: 1;
        padding: 24px 22px;
    }

    .ads-cat-large .ads-cat-content {
        padding: 32px 28px;
    }

    .ads-cat-tag {
        display: inline-block;
        background: rgba(255, 177, 0, 0.9);
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        padding: 4px 12px;
        border-radius: 4px;
        margin-bottom: 10px;
    }

    .ads-cat-card h3 {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 20px;
        font-weight: 700;
        color: #fff;
        margin-bottom: 8px;
        line-height: 1.2;
    }

    .ads-cat-large h3 {
        font-size: 26px;
    }

    .ads-cat-card p {
        font-size: 14px;
        color: rgba(255, 255, 255, 0.78);
        margin-bottom: 16px;
        line-height: 1.55;
    }

    .ads-cat-cta {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: #ffd166;
        font-size: 14px;
        font-weight: 600;
    }

    .ads-cat-cta i {
        transition: transform 0.2s ease;
    }

    .ads-cat-card:hover .ads-cat-cta i {
        transform: translateX(5px);
    }

    @media (max-width: 900px) {
        .ads-cat-grid {
            grid-template-columns: repeat(2, 1fr);
        }

        .ads-cat-card.ads-cat-large {
            grid-column: span 2;
            grid-row: span 1;
            min-height: 300px;
        }
    }

    @media (max-width: 580px) {
        .ads-cat-grid {
            grid-template-columns: 1fr;
        }

        .ads-cat-card.ads-cat-large {
            grid-column: span 1;
            min-height: 260px;
        }
    }

    /* ============================================================
   ADS EXPERIENCES — scoped to .ads-experiences
============================================================ */
    .ads-experiences {
        padding: 90px 0;
        background: var(--tripi-dark-blue);
        position: relative;
        overflow: hidden;
    }

    .ads-experiences h2 {
        color: #fff !important;
    }

    .ads-experiences::before {
        content: '';
        position: absolute;
        top: -120px;
        right: -120px;
        width: 500px;
        height: 500px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255, 177, 0, 0.07) 0%, transparent 70%);
        pointer-events: none;
    }

    .ads-experiences .ads-section-label {
        color: #ffd166;
    }

    .ads-experiences .ads-section-title {
        color: #fff;
    }

    .ads-experiences .ads-section-title span {
        color: #ffb100;
    }

    .ads-experiences .ads-section-sub {
        color: rgba(255, 255, 255, 0.62);
    }

    .ads-exp-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
        margin-top: 52px;
    }

    .ads-exp-card {
        position: relative;
        border-radius: 14px;
        overflow: hidden;
        height: 260px;
        text-decoration: none;
        transition: transform 0.3s ease;
    }

    .ads-exp-card:hover {
        transform: scale(1.02);
    }

    .ads-exp-card:hover .ads-exp-img {
        transform: scale(1.08);
    }

    .ads-exp-card:first-child {
        grid-column: span 2;
        height: 340px;
    }

    .ads-exp-img {
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        transition: transform 0.5s ease;
    }

    .ads-exp-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgb(26 43 72) 0%, rgb(0 31 94 / .2) 55%, #1a2b4800 100%);
    }

    .ads-exp-content {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 22px 20px;
    }

    .ads-exp-card h3 {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 18px;
        font-weight: 700;
        color: #fff;
        margin-bottom: 5px;
        line-height: 1.2;
    }

    .ads-exp-card:first-child h3 {
        font-size: 24px;
    }

    .ads-exp-card p {
        font-size: 13px;
        color: rgba(255, 255, 255, 0.7);
        line-height: 1.5;
        margin: 0;
    }

    @media (max-width: 900px) {
        .ads-exp-grid {
            grid-template-columns: repeat(2, 1fr);
        }

        .ads-exp-card:first-child {
            grid-column: span 2;
        }
    }

    @media (max-width: 540px) {
        .ads-exp-grid {
            grid-template-columns: 1fr;
        }

        .ads-exp-card:first-child {
            grid-column: span 1;
            height: 260px;
        }
    }

    /* ============================================================
   ADS WHATS INCLUDED — scoped to .ads-included
============================================================ */
    .ads-included {
        padding: 90px 0;
        background: var(--tripi-dark-blue);
        position: relative;
    }

    .ads-included h2 {
        color: #fff !important;
    }

    .ads-included .ads-section-label {
        color: #ffd166;
    }

    .ads-included .ads-section-title {
        color: #fff;
    }

    .ads-included .ads-section-title span {
        color: #ffb100;
    }

    .ads-included .ads-section-sub {
        color: rgba(255, 255, 255, 0.6);
    }

    .ads-included-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        margin-top: 52px;
    }

    .ads-included-item {
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 14px;
        padding: 28px 22px;
        text-align: center;
        transition: all 0.3s ease;
    }

    .ads-included-item:hover {
        background: rgba(255, 177, 0, 0.1);
        border-color: rgba(255, 177, 0, 0.3);
        transform: translateY(-4px);
    }

    .ads-included-icon {
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: linear-gradient(135deg, rgba(255, 177, 0, 0.2) 0%, rgba(255, 177, 0, 0.08) 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 16px;
    }

    .ads-included-icon i {
        font-size: 22px;
        color: #ffb100;
    }

    .ads-included-item h4 {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 17px;
        font-weight: 700;
        color: #fff;
        margin-bottom: 8px;
    }

    .ads-included-item p {
        font-size: 13px;
        color: rgba(255, 255, 255, 0.55);
        line-height: 1.6;
        margin: 0;
    }

    @media (max-width: 900px) {
        .ads-included-grid {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media (max-width: 480px) {
        .ads-included-grid {
            grid-template-columns: 1fr;
        }
    }

    /* ============================================================
   ADS LEAD FORM — scoped to .ads-form-section
============================================================ */
    .ads-form-section {
        padding: 90px 0;
        background: #f4f6f9;
    }

    .ads-form-layout {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 60px;
        align-items: start;
    }

    .ads-form-left h2 {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: clamp(28px, 3.5vw, 44px);
        font-weight: 700;
        color: #001F5E;
        line-height: 1.15;
        margin-bottom: 16px;
    }

    .ads-form-left h2 span {
        color: #ffb100;
    }

    .ads-form-left>p {
        font-size: 16px;
        color: #5e6d77;
        line-height: 1.7;
        margin-bottom: 28px;
    }

    .ads-form-points {
        list-style: none;
        padding: 0;
        margin: 0 0 32px;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .ads-form-points li {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        font-size: 15px;
        color: #5e6d77;
    }

    .ads-form-points li i {
        color: #ffb100;
        font-size: 15px;
        margin-top: 2px;
        flex-shrink: 0;
    }

    .ads-contact-options {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .ads-contact-link {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 13px 16px;
        background: #fff;
        border-radius: 10px;
        border: 1px solid #e5e7eb;
        font-size: 15px;
        font-weight: 600;
        color: #001F5E;
        text-decoration: none;
        transition: all 0.25s ease;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    }

    .ads-contact-link:hover {
        border-color: #ffb100;
        transform: translateX(4px);
        color: #001F5E;
        text-decoration: none;
    }

    .ads-contact-link .ads-cl-icon {
        width: 40px;
        height: 40px;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-size: 17px;
    }

    .ads-cl-icon.wa {
        background: rgba(37, 211, 102, 0.1);
        color: #25D366;
    }

    .ads-cl-icon.ph {
        background: rgba(255, 177, 0, 0.12);
        color: #ffb100;
    }

    .ads-cl-icon.em {
        background: rgba(0, 31, 94, 0.08);
        color: #001F5E;
    }

    .ads-contact-link .ads-cl-chevron {
        margin-left: auto;
        color: #9ca3af;
        font-size: 12px;
    }

    .ads-review-platforms {
        margin-top: 30px;
        text-align: left !important;
    }

    .ads-review-platforms img {
        max-width: 500px;
        width: 100%;
        height: auto;
        margin: 0 auto;
    }

    .ads-form-box {
        background: #fff;
        border-radius: 20px;
        padding: 40px 36px;
        box-shadow: 0 12px 48px rgba(0, 0, 0, 0.1);
        border: 1px solid #e5e7eb;
    }

    .ads-form-box-header {
        text-align: center;
        margin-bottom: 28px;
        padding-bottom: 22px;
        border-bottom: 1px solid #f0f0f0;
    }

    .ads-form-badge {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: rgba(255, 177, 0, 0.1);
        color: #cc8e00;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 1px;
        text-transform: uppercase;
        padding: 5px 14px;
        border-radius: 100px;
        border: 1px solid rgba(255, 177, 0, 0.25);
        margin-bottom: 12px;
    }

    .ads-form-box-header h3 {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 22px;
        font-weight: 700;
        color: #001F5E;
        margin-bottom: 5px;
    }

    .ads-form-box-header p {
        font-size: 13px;
        color: #9ca3af;
        margin: 0;
    }

    .ads-form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .ads-form-group {
        margin-bottom: 14px;
    }

    .ads-form-group label {
        display: block;
        font-size: 13px;
        font-weight: 600;
        color: #1f2937;
        margin-bottom: 6px;
    }

    .ads-form-group input,
    .ads-form-group select,
    .ads-form-group textarea {
        width: 100%;
        padding: 11px 14px;
        border: 1.5px solid #e5e7eb;
        border-radius: 8px;
        font-size: 14px;
        font-family: inherit;
        color: #1f2937;
        background: #fff;
        transition: border-color 0.25s ease, box-shadow 0.25s ease;
        outline: none;
    }

    .ads-form-group input:focus,
    .ads-form-group select:focus,
    .ads-form-group textarea:focus {
        border-color: #006deb;
        box-shadow: 0 0 0 3px rgba(0, 109, 235, 0.1);
    }

    .ads-form-group textarea {
        resize: vertical;
        min-height: 88px;
    }

    .ads-form-submit {
        width: 100%;
        padding: 15px;
        font-size: 16px;
        font-weight: 700;
        font-family: inherit;
        border: none;
        border-radius: 8px;
        background: linear-gradient(135deg, #ffb100 0%, #cc8e00 100%);
        color: #fff;
        box-shadow: 0 4px 16px rgba(255, 177, 0, 0.4);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        transition: all 0.3s ease;
        margin-top: 6px;
    }

    .ads-form-submit:hover {
        background: linear-gradient(135deg, #ffd166 0%, #ffb100 100%);
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(255, 177, 0, 0.5);
    }

    .ads-form-disclaimer {
        text-align: center;
        font-size: 12px;
        color: #9ca3af;
        margin-top: 10px;
    }

    .ads-form-disclaimer i {
        color: #ffb100;
    }

    .ads-form-success {
        display: none;
        text-align: center;
        padding: 40px 20px;
    }

    .ads-form-success.show {
        display: block;
    }

    .ads-success-icon {
        width: 72px;
        height: 72px;
        border-radius: 50%;
        background: rgba(37, 211, 102, 0.1);
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 18px;
    }

    .ads-success-icon i {
        font-size: 30px;
        color: #25D366;
    }

    .ads-form-success h3 {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 24px;
        color: #001F5E;
        margin-bottom: 10px;
    }

    .ads-form-success p {
        font-size: 15px;
        color: #5e6d77;
    }

    @keyframes adsSpin {
        to {
            transform: rotate(360deg);
        }
    }

    .ads-date-wrap {
        position: relative;
    }

    .ads-date-wrap input[type="date"] {
        width: 100%;
        padding-right: 40px;
        cursor: pointer;
    }

    .ads-date-icon {
        position: absolute;
        right: 13px;
        top: 50%;
        transform: translateY(-50%);
        color: #006deb;
        font-size: 15px;
        pointer-events: none;
    }

    .ads-date-wrap input[type="date"]::-webkit-calendar-picker-indicator {
        opacity: 0;
        position: absolute;
        right: 0;
        width: 40px;
        height: 100%;
        cursor: pointer;
    }

    @media (max-width: 900px) {
        .ads-form-layout {
            grid-template-columns: 1fr;
            gap: 44px;
        }

        .ads-form-row {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 480px) {
        .ads-form-box {
            padding: 28px 18px;
        }
    }

    /* ============================================================
   ADS FINAL CTA — scoped to .ads-final-cta
============================================================ */
    .ads-final-cta {
        padding: 60px 0;
        text-align: center;
        position: relative;
        overflow: hidden;
    }

    .ads-final-cta::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 800px;
        height: 800px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255, 177, 0, 0.07) 0%, transparent 70%);
        pointer-events: none;
    }

    .ads-final-cta h2 {
        color: #fff !important;
    }

    .ads-final-cta .container {
        position: relative;
        z-index: 1;
    }

    .ads-final-cta h2 {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: clamp(32px, 5vw, 60px);
        font-weight: 900;
        color: #fff;
        margin-bottom: 20px;
        line-height: 1.1;
    }

    .ads-final-cta h2 span {
        color: #ffd166;
    }

    .ads-final-cta p {
        font-size: 18px;
        color: rgba(255, 255, 255, 0.75);
        max-width: 560px;
        margin: 0 auto 40px;
        line-height: 1.65;
    }

    .ads-final-cta-btns {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        justify-content: center;
        margin-bottom: 40px;
    }

    .ads-final-cta-btns .btn-cta-gold {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 18px 38px;
        background: linear-gradient(135deg, #ffb100 0%, #cc8e00 100%);
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        border-radius: 8px;
        text-decoration: none;
        box-shadow: 0 6px 24px rgba(255, 177, 0, 0.45);
        transition: all 0.3s ease;
    }

    .ads-final-cta-btns .btn-cta-gold:hover {
        background: linear-gradient(135deg, #ffd166 0%, #ffb100 100%);
        transform: translateY(-2px);
        box-shadow: 0 10px 32px rgba(255, 177, 0, 0.55);
        color: #fff;
    }

    .ads-final-cta-btns .btn-cta-wa {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 18px 38px;
        background: #25D366;
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        border-radius: 8px;
        text-decoration: none;
        box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
        transition: all 0.3s ease;
    }

    .ads-final-cta-btns .btn-cta-wa:hover {
        background: #1ebe5d;
        transform: translateY(-2px);
        color: #fff;
    }

    .ads-final-cta-btns .btn-cta-outline {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 18px 38px;
        background: transparent;
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        border-radius: 8px;
        border: 2px solid rgba(255, 255, 255, 0.55);
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .ads-final-cta-btns .btn-cta-outline:hover {
        background: rgba(255, 255, 255, 0.1);
        border-color: #fff;
        color: #fff;
    }

    .ads-final-trust {
        display: flex;
        flex-wrap: wrap;
        gap: 28px;
        justify-content: center;
    }

    .ads-final-trust-item {
        display: flex;
        align-items: center;
        gap: 8px;
        color: rgba(255, 255, 255, 0.6);
        font-size: 14px;
    }

    .ads-final-trust-item i {
        color: #ffb100;
    }

    .ads-final-partners {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 36px;
        margin-top: 36px;
    }

    .ads-final-partners img {
        max-width: 130px;
        width: 100%;
        height: auto;
        opacity: 0.85;
        transition: opacity 0.3s ease;
    }

    .ads-final-partners img:nth-child(1),
    .ads-final-partners img:nth-child(3) {
        filter: brightness(0) invert(1);
    }

    .ads-final-partners img:hover {
        opacity: 1;
    }

    .ads-final-license {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 16px;
        margin-top: 24px;
    }

    .ads-final-license-text {
        color: rgba(255, 255, 255, 0.6);
        font-size: 13px;
        letter-spacing: 0.3px;
    }

    .ads-final-license-badge {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 10px 24px;
        border: 1px solid rgba(255, 177, 0, 0.4);
        border-radius: 30px;
        background: rgba(255, 177, 0, 0.08);
        backdrop-filter: blur(4px);
    }

    .ads-final-license-badge i {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #ffb100;
        color: #0d1b2a;
        font-size: 12px;
        flex-shrink: 0;
    }

    .ads-final-license-badge span {
        color: #ffd166;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.3px;
    }

    .ads-final-license img {
        max-width: 220px;
        width: 100%;
        height: auto;
    }

    @media (max-width: 640px) {
        .ads-final-partners {
            gap: 24px;
        }

        .ads-final-partners img {
            max-width: 90px;
        }

        .ads-final-license img {
            max-width: 160px;
        }


        .ads-final-cta {
            padding: 80px 0;
        }

        .ads-final-cta-btns .btn-cta-outline {
            display: none;
        }

        .ads-final-cta p {
            font-size: 16px;
        }
    }


     /* ============================================================
   ADS WHY CHOOSE US — scoped to .ads-why
============================================================ */
    .ads-why {
        padding: 60px 0;
        /* background: #fff; */
        position: relative;
        overflow: hidden;
    }

    .ads-why::before {
        content: '';
        position: absolute;
        top: -180px;
        left: -180px;
        width: 500px;
        height: 500px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(0, 109, 235, 0.05) 0%, transparent 70%);
        pointer-events: none;
    }

    .ads-section-title span {
        color: var(--tripi-dark-blue);
    }

    .ads-why-header {
        text-align: center;
        margin-bottom: 60px;
    }

    .ads-why-header .ads-section-label {
        color: var(--tripi-dark-blue);
    }

    .ads-why-header .ads-section-title {
        font-size: clamp(30px, 4vw, 46px);
    }

    .ads-why-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
    }
    .contact-ads-why-grid{
        display: grid;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 28px;
    }

    .ads-why-card {
        padding: 36px 28px;
        border-radius: 16px;
        border: 1.5px solid #e8edf5;
        background: #fff;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
    }

    .ads-why-card::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: linear-gradient(90deg, #006deb, #ffb100);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.35s ease;
    }

    .ads-why-card:hover {
        border-color: transparent;
        box-shadow: 0 12px 40px rgba(0, 31, 94, 0.1);
        transform: translateY(-5px);
    }

    .ads-why-card:hover::after {
        transform: scaleX(1);
    }

    .ads-why-icon {
        width: 60px;
        height: 60px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 20px;
        background: rgba(0, 109, 235, 0.08);
        transition: background 0.3s ease;
    }

    .ads-why-card:hover .ads-why-icon {
        background: rgba(0, 109, 235, 0.14);
    }

    .ads-why-icon i {
        font-size: 24px;
        color: #006deb;
    }

    .ads-why-card h3 {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 19px;
        font-weight: 700 !important;
        color: #001F5E;
        margin-bottom: 10px;
        line-height: 1.25;
    }

    .ads-why-card p {
        font-size: 14px;
        color: #5e6d77;
        line-height: 1.7;
        margin: 0;
    }

    .ads-why-bottom {
        margin-top: 56px;
        padding: 36px 40px;
        background: linear-gradient(135deg, #001F5E 0%, #003080 100%);
        border-radius: 20px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
    }

    .ads-why-bottom-text h3 {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 22px;
        font-weight: 700;
        color: #fff;
        margin-bottom: 6px;
    }

    .ads-why-bottom-text p {
        font-size: 15px;
        color: rgba(255, 255, 255, 0.7);
        margin: 0;
    }

    .ads-why-bottom-stats {
        display: flex;
        gap: 40px;
        flex-wrap: wrap;
    }

    .ads-why-stat {
        text-align: center;
    }

    .ads-why-stat-num {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 32px;
        font-weight: 700;
        color: #ffb100;
        line-height: 1;
        margin-bottom: 4px;
    }

    .ads-why-stat-label {
        font-size: 12px;
        color: rgba(255, 255, 255, 0.6);
        font-weight: 500;
        white-space: nowrap;
    }

    @media (max-width: 900px) {
        .ads-why-grid {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media (max-width: 560px) {
        .ads-why-grid {
            grid-template-columns: 1fr;
        }

        .ads-why-bottom {
            padding: 28px 20px;
        }

        .ads-why-bottom-stats {
            gap: 24px;
        }
    }
    .faq-title p.section-label {
    margin: 0;
    color: #d29200;
    font-size: 16px;
}
#package-listings-ads .heading-packages p {
    width: 70%;
    margin: 20px auto;
}

/* ============================================================
   ADS MOBILE BAR — sticky Call / WhatsApp / Get Quote, mobile only
============================================================ */
.ads-mobile-bar {
    display: none;
}

@media (max-width: 768px) {
    .ads-mobile-bar {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9999;
        background: #fff;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
        padding-bottom: env(safe-area-inset-bottom, 0);
    }

    .ads-mobile-bar-btn {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        padding: 10px 6px;
        font-size: 12px;
        font-weight: 700;
        text-decoration: none;
        border-right: 1px solid rgba(0, 0, 0, 0.08);
    }

    .ads-mobile-bar-btn:last-child {
        border-right: none;
    }

    .ads-mobile-bar-btn i {
        font-size: 17px;
    }

    .ads-mobile-bar-call {
        color: var(--tripi-dark-blue2, #001F5E);
    }

    .ads-mobile-bar-wa {
        color: #1ebe5d;
    }

    .ads-mobile-bar-quote {
        background: linear-gradient(135deg, #ffb100 0%, #cc8e00 100%);
        color: #fff;
    }
}

/* ============================================================
   THANK YOU ADS — page-specific styles only.
   Hero/trust-bar/section-title/buttons reuse the shared
   .ads-hero / .ads-trust-bar / .ads-section-* / .btn-ads-* classes
   from tripi-style.css so colors, fonts and logo stay site-wide consistent.
============================================================ */
.ty-hero {
    min-height: auto;
    padding: 70px 0 60px;
    text-align: center;
}

.ty-confirm-inner {
    max-width: 680px;
    margin: 0 auto;
}

.ty-confirm-icon {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffb100 0%, #cc8e00 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 26px;
    box-shadow: 0 8px 32px rgba(255, 177, 0, 0.45);
}

.ty-confirm-icon i {
    font-size: 36px;
    color: #fff;
}

.ty-hero .ads-hero-badge,
.ty-hero .ads-hero-sub,
.ty-hero .ads-hero-ctas,
.ty-hero .ads-hero-trust {
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
}

.ty-hero .ads-hero-sub strong {
    color: #ffd166;
}

.ty-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 8px auto 36px;
    max-width: 900px;
    text-align: left;
}

@media (max-width: 700px) {
    .ty-steps {
        grid-template-columns: 1fr;
    }
}

.ty-step-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 177, 0, 0.25);
    border-radius: 12px;
    padding: 20px 18px;
}

.ty-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #ffb100;
    color: #001F5E;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 12px;
}

.ty-step-card h4 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 15px;
    color: #fff;
    margin-bottom: 6px;
}

.ty-step-card p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.5;
    margin: 0;
}

.ty-confirm-ref {
    margin-top: 20px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
}

.ty-while-section {
    padding: 72px 0;
    background: #f7f7f7;
}

.ty-while-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 32px;
}

@media (max-width: 900px) {
    .ty-while-grid {
        grid-template-columns: 1fr;
    }
}

.ty-while-card {
    background: #fff;
    border-radius: 14px;
    padding: 26px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.ty-while-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

.ty-while-card i {
    font-size: 22px;
    color: #ffb100;
    margin-bottom: 14px;
}

.ty-while-card h4 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 17px;
    color: #001F5E;
    margin-bottom: 8px;
}

.ty-while-card p {
    font-size: 13px;
    color: #5e6d77;
    line-height: 1.6;
    margin-bottom: 16px;
}

.ty-while-card a {
    font-size: 13px;
    font-weight: 600;
    color: #cc8e00;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}

/* ============================================================
   CONTACT METHODS — scoped to .cm-grid
============================================================ */
.cm-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 44px;
}

.cm-card {
    background: #fff;
    border-radius: 16px;
    padding: 32px 28px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cm-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

.cm-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    font-size: 22px;
}

.cm-icon.wa {
    background: rgba(37, 211, 102, 0.12);
    color: #25D366;
}

.cm-icon.ph {
    background: rgba(255, 177, 0, 0.12);
    color: #ffb100;
}

.cm-icon.em {
    background: rgba(0, 31, 94, 0.08);
    color: #001F5E;
}

.cm-card h3 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 19px;
    color: #001F5E;
    margin-bottom: 8px;
}

.cm-card p {
    font-size: 14px;
    color: #5e6d77;
    line-height: 1.6;
    margin-bottom: 20px;
}

.cm-detail {
    font-size: 15px;
    font-weight: 700;
    color: #001F5E;
    margin-bottom: 4px;
}

.cm-sub {
    font-size: 12px;
    color: #9ca3af;
    margin-bottom: 18px;
}

.cm-btn {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: auto;
}

.cm-btn.wa {
    background: #25D366;
    color: #fff;
}

.cm-btn.wa:hover {
    background: #1ebe5d;
    transform: translateY(-2px);
}

.cm-btn.navy {
    background: #001F5E;
    color: #fff;
}

.cm-btn.navy:hover {
    background: #1A2B48;
    transform: translateY(-2px);
}

.cm-btn.outline {
    background: transparent;
    color: #cc8e00;
    border: 2px solid #ffb100;
}

.cm-btn.outline:hover {
    background: #ffb100;
    color: #fff;
}

@media (max-width: 900px) {
    .cm-grid {
        grid-template-columns: 1fr;
        max-width: 460px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Why-Talking-To-Us: reuses .ads-why-card, just overrides to 4 columns */
.cm-why-grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 900px) {
    .cm-why-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .cm-why-grid-4 {
        grid-template-columns: 1fr;
    }
}
.services-item.item-elementor.grid-2 > .item{
    box-shadow: 0 2px 8px 4px rgba(0, 0, 0, 0.05) !important;
}
.d-flex.head-price-list-table {
    min-height: 74px;
}

/* ============================================================
   TOUR SINGLE — CHECKLIST GRID
   Applies to "Tour Highlights" and "Why Book This Tour" lists
   (.st-checklist-grid on the <ul>). Two-column card checklist
   instead of a plain stacked list.
============================================================= */
#st-content-wrapper .st-highlight ul.st-checklist-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 24px;
    margin-top: 20px;
}

#st-content-wrapper .st-highlight ul.st-checklist-grid li {
    margin-bottom: 14px;
    padding: 0px;
    border-radius: 10px;
    transition: var(--transition, all 0.2s ease);
}



/* .single-st_tours #st-content-wrapper.st-style-elementor .st-highlight ul.st-checklist-grid li i {
    flex: none;
    width: 22px !important;
    height: 22px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 109, 235, .1) !important;
    color: var(--tripi-blue, #006deb) !important;
    font-size: 11px;
    margin-right: 12px !important;
    top: 0 !important;
} */
#st-content-wrapper .st-highlight ul.st-checklist-grid li i {
    flex: none;
    width: 22px !important;
    height: 22px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #FFFFFF !important;
    color: var(--tipi-orange-color) !important;
    font-size: 17px !important;
    margin-right: 12px !important;
    top: 0 !important;
}
@media (max-width: 767px) {
    #st-content-wrapper .st-highlight ul.st-checklist-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   TOUR SINGLE — INCLUDED / EXCLUDED CARDS
   Side-by-side cards (.incl-col) instead of two stacked
   full-width lists. Included checks tinted green, excluded
   crosses tinted grey.
============================================================= */
#st-content-wrapper .st-inexclude .row {
    column-gap: 24px;
    row-gap: 16px;
}

#st-content-wrapper .st-inexclude .incl-col {
    background: #fff;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 12px;
    padding: 24px;
    box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .08));
    height: 100%;
}

@media (min-width: 992px) {
    #st-content-wrapper .st-inexclude .incl-col {
        flex: 1 1 calc(50% - 12px);
        max-width: calc(50% - 12px);
    }
}

#st-content-wrapper .st-inexclude .incl-col h2.st-heading-section {
    font-size: 19px;
    margin-bottom: 16px !important;
}

#st-content-wrapper .st-inexclude .incl-col ul li {
    font-size: 15px;
    margin-bottom: 12px;
}

#st-content-wrapper .st-inexclude .incl-col--in ul.include li i {
    color: #1E9E5A;
}

#st-content-wrapper .st-inexclude .incl-col--out ul.exclude li i {
    color: #9CA3AF;
}

@media (max-width: 991px) {
    #st-content-wrapper .st-inexclude .incl-col {
        margin-bottom: 16px;
    }
}
.stt-icon-check:before {
    content: "\e974";
    color: #ffffff;
}
.stt-icon-check{
    background: #10AC58 !important;
}

/* ============================================================
   TOUR SINGLE — "ONLY ON THIS ROUTE" CALLOUT
   Optional box inside .st-highlight (Why Book This Tour),
   populated from only_on_route_desc / only_on_route_sites.
============================================================= */
#st-content-wrapper .st-highlight .st-exclusive {
    margin-top: 20px;
    background: linear-gradient(135deg, rgba(255, 218, 7, .18), rgba(255, 177, 0, .08));
    border: 1px solid rgba(255, 177, 0, .4);
    border-radius: 12px;
    padding: 20px 24px;
}

#st-content-wrapper .st-highlight .st-exclusive__label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #A07828;
    margin-bottom: 10px;
}

#st-content-wrapper .st-highlight .st-exclusive__label i {
    color: var(--tipi-orange-color, #ffb100);
}

#st-content-wrapper .st-highlight .st-exclusive p {
    font-size: 15px;
    color: var(--text-dark, #333333);
    margin-bottom: 0;
}

#st-content-wrapper .st-highlight .st-exclusive__sites {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

#st-content-wrapper .st-highlight .st-exclusive__sites span {
    background: #fff;
    border: 1px solid rgba(255, 177, 0, .5);
    border-radius: 999px;
    padding: 6px 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--tripi-dark-blue, #1A2B48);
}

.sec-price-policy .sub-title,
.heading-cruise-itinerary .sub-title,
.relate-rooms .sub-title,
.st-description .sub-title,
.st-map-wrapper .sub-title,
.st-service-feature .sub-title,
.attractions-heading .sub-title,
.st-itinerary-head-day .sub-title,
.st-itinerary-head .sub-title,
.price-list-tabs .sub-title,
.st-inexclude .sub-title,
.st-highlight .sub-title{
    color: var(--tipi-orange-color, #ffb100) !important;
    text-transform: uppercase;
}

/* ============================================================
   TOUR SINGLE — TOUR HIGHLIGHTS (attractions.php)
   Two-column image cards (title_attractions / tours_attractions),
   replaces the old 3-column text-only boxes.
============================================================= */
.attrac-list .site-group-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 24px;
}

.attrac-list .site-group {
    background: #fff;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 12px;
    box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .08));
    overflow: hidden;
}

.attrac-list .site-group img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 8;
    object-fit: cover;
}

.attrac-list .site-group__body {
    padding: 24px;
}

.attrac-list .site-group__body h3 {
    margin: 0 0 12px;
    font-size: 19px;
    color: var(--tripi-dark-blue, #1A2B48);
}

.attrac-list .site-group__body ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.attrac-list .site-group__body ul li {
    font-size: 14px;
    color: var(--text-light, #5e6d77);
}

.attrac-list .site-group__body ul li i {
    color: var(--tipi-orange-color, #ffb100);
    font-size: 12px;
    margin-right: 8px;
}

@media (max-width: 767px) {
    .attrac-list .site-group-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   TOUR SINGLE — BOOKING SUMMARY WIDGET
   Sidebar card below the booking form (single-2.php), replaces
   the generic "Ask a Question" contact block on tour pages only.
============================================================= */
.st-booking-summary__price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    padding: 16px 18px;
    margin: 0 0 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(0, 109, 235, .08), rgba(0, 109, 235, .02));
    border: 1px solid rgba(0, 109, 235, .15);
}

.st-booking-summary__price .price {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 40px;
    line-height: 1;
    color: var(--tripi-blue, #006deb);
}

.st-booking-summary__price .st-per-person {
    font-size: 13px;
    color: var(--text-light, #5e6d77);
}

.st-booking-summary__price--contact {
    justify-content: center;
    gap: 10px;
}

.st-booking-summary__price--contact i {
    font-size: 20px;
    color: var(--tripi-blue, #006deb);
}

.st-booking-summary__price--contact .st-contact-quote-text {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
    color: var(--tripi-blue, #006deb);
}

.st-booking-summary__rating {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--tripi-dark-blue, #1A2B48);
    margin: 0 0 20px;
}

.st-booking-summary__rating i {
    color: #FFB800;
    font-size: 13px;
}

.st-booking-summary__trust {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    display: grid;
    gap: 10px;
}

.st-booking-summary__trust li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--text-light, #5e6d77);
}

.st-booking-summary__trust li i {
    flex: none;
    color: #1E9E5A;
    font-size: 13px;
    margin-top: 3px;
}

.st-booking-summary [class^="btn-booking-summary-"] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 48px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    margin-bottom: 12px;
    transition: var(--transition, all 0.2s ease);
}

.btn-booking-summary-wa {
    background: #25D366;
    color: #fff !important;
}

.btn-booking-summary-wa:hover {
    background: #1EBE5A;
}

.btn-booking-summary-call {
    border: 2px solid var(--tripi-blue, #006deb);
    color: var(--tripi-blue, #006deb) !important;
}

.btn-booking-summary-call:hover {
    background: rgba(0, 109, 235, .08);
}

.st-booking-summary__contact {
    text-align: center;
    font-size: 13px;
    color: var(--text-light, #5e6d77);
    margin: 0;
}

.st-booking-summary__contact a {
    color: var(--tripi-dark-blue, #1A2B48);
    font-weight: 600;
    text-decoration: none;
}

@media (min-width: 992px) {
    .st-booking-summary {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 110px !important;
        z-index: 5;
    }
}

.btn-booking-summary-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    margin-bottom: 12px;
    background: var(--tripi-blue, #006deb);
    color: #fff !important;
    transition: var(--transition, all 0.2s ease);
}

.btn-booking-summary-primary:hover {
    background: var(--tripi-dark-blue2, #001F5E);
}

/* ============================================================
   TOUR SINGLE — ITINERARY TIMELINE (Arc grouping)
   Connects the day list with a vertical spine + region "Arc"
   dividers (itenirary.php / tours_program arc_label field).
   Scoped to #st-itinerary-accordion (single-tour page) — also
   extended to .st-itinerary-accordion, the class used by the
   cruise itinerary (itenirary-cruise.php), which can render
   several duration lists (4/5/7/8-day) so each needs its own
   unique id and can't reuse the single #st-itinerary-accordion id.
   .st-program / .st-program-list are reused by the FAQ list
   elsewhere, so scoping stays on this id/class, not those.
   Per-site images inside each day are untouched by this.
============================================================= */
#st-itinerary-accordion,
.st-itinerary-accordion {
    position: relative;
}

#st-itinerary-accordion::before,
.st-itinerary-accordion::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 0px;
    width: 2px;
    background: linear-gradient(180deg, rgba(255, 177, 0, .3), var(--tipi-orange-color, #ffb100), rgba(255, 177, 0, .3));
    z-index: 0;
}

#st-itinerary-accordion > li.st-program,
.st-itinerary-accordion > li.st-program {
    position: relative;
    padding-left: 56px;
}

#st-itinerary-accordion > li.st-program::before
 {
    content: "";
    position: absolute;
    left: -55px;
    top: 30px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--tipi-orange-color, #ffb100);
    z-index: 1;
    transition: var(--transition, background .3s ease);
}
.st-itinerary-accordion > li.st-program::before {
    content: "";
    position: absolute;
    left: -27px;
    top: 30px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--tipi-orange-color, #ffb100);
    z-index: 1;
    transition: var(--transition, background .3s ease);
}

/* Solid dot while that day's accordion is open, hollow (just the
   stroke) while collapsed — mirrors the accordion-button's own
   collapsed/expanded state via :has(), no extra JS needed. */
#st-itinerary-accordion > li.st-program:has(.accordion-button:not(.collapsed))::before,
.st-itinerary-accordion > li.st-program:has(.accordion-button:not(.collapsed))::before {
    background: var(--tipi-orange-color, #ffb100);
}

#st-itinerary-accordion .st-arc-divider,
.st-itinerary-accordion .st-arc-divider {
    position: relative;
    list-style: none;
    padding-left: 56px;
    margin: 24px 0 16px;
}

#st-itinerary-accordion .st-arc-divider:first-child,
.st-itinerary-accordion .st-arc-divider:first-child {
    margin-top: 0;
}

#st-itinerary-accordion .st-arc-divider__badge,
.st-itinerary-accordion .st-arc-divider__badge {
    position: absolute;
    left: 0;
    top: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--tripi-dark-blue, #1A2B48);
    color: var(--tipi-orange-color, #ffb100);
    display: grid;
    place-items: center;
    font-size: 15px;
    border: 2px solid var(--tipi-orange-color, #ffb100);
    z-index: 1;
}
#st-itinerary-accordion .st-arc-divider__badge{
    left: -20px !important;
}

#st-itinerary-accordion .st-arc-divider__label,
.st-itinerary-accordion .st-arc-divider__label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--tipi-orange-color, #ffb100);
    padding-top: 8px;
    margin: 0;
}

#st-itinerary-accordion .st-arc-divider__title,
.st-itinerary-accordion .st-arc-divider__title {
    font-family: var(--font-serif);
    font-weight: 600;
    font-size: 17px;
    color: var(--tripi-blue, #006deb);
    margin: 2px 0 0;
}

@media (max-width: 767px) {
    #st-itinerary-accordion::before {
        left: 15px;
    }

    .itinerary-cruise::before{
        left: 0 !important;
    }
    #st-itinerary-accordion > li.st-program,
    #st-itinerary-accordion .st-arc-divider,
    .st-itinerary-accordion > li.st-program,
    .st-itinerary-accordion .st-arc-divider {
        padding-left: 46px;
        margin-top: 20px !important;
        padding-top: 15px !important;
    }

    #st-itinerary-accordion .st-arc-divider__badge,
    .st-itinerary-accordion .st-arc-divider__badge {
        width: 32px;
        height: 32px;
        font-size: 13px;
    }
    #st-itinerary-accordion .day-num,
    .st-itinerary-accordion .day-num {
        text-align: center;
        position: absolute;
        top: -30px;
        margin-right: 0 !important;
        margin-bottom: 3px !important;
        min-width: 60px !important;
        line-height: 19px !important;
        padding: 2px 9px !important;

    }
    .touristattraction{
        flex-direction: column !important;
    }
    #st-itinerary-accordion > li.st-program::before{
        
        left: -40px !important;
    }
    #st-itinerary-accordion .st-arc-divider__badge{
    left: 0 !important;
}
}

#st-itinerary-accordion .day-num,
.st-itinerary-accordion .day-num {
    display: inline-block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    background: var(--tripi-blue, #006deb) !important;
    color: #fff !important;
    padding: 3px 12px !important;
    margin-right: 10px !important;
    border-radius: 50px !important;
}

/* ============================================================
   CRUISE ITINERARY — start/end timeline chip
   Caps the vertical spine with a ship icon above the first day
   and the same icon below the last day (itenirary-cruise.php).
   Positioned on the spine's own left:0 anchor, not the day dots'
   left offset, so it lines up with the line regardless of that
   separate offset.
============================================================= */
.st-timeline-chip {
    position: relative;
    list-style: none;
    height: 36px;
}

.st-timeline-chip__icon {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--tripi-dark-blue, #1A2B48);
    color: var(--tipi-orange-color, #ffb100);
    font-size: 14px;
    border: 2px solid var(--tipi-orange-color, #ffb100);
    z-index: 2;
}

.st-timeline-chip--start {
    margin-bottom: 4px;
}

.st-timeline-chip--end {
    margin-top: 4px;
}

/* ============================================================
   CRUISE ITINERARY — duration tabs (4-day / 5-day / ...)
   itenirary-cruise.php renders one tab + panel per sailing
   length that actually has data. Only shown when there's more
   than one, so a single-duration cruise looks unchanged.
============================================================= */
.itin-duration-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    background: var(--bg-light, #f8f9fa);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 999px;
    padding: 5px;
    margin: 20px 0 8px;
}

.itin-duration-tab {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: 52px;
    padding: 8px 22px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.25;
    color: var(--tripi-dark-blue, #1A2B48);
    text-align: center;
    cursor: pointer;
    transition: var(--transition, all .3s ease);
}

.itin-duration-tab small {
    font-size: 11px;
    font-weight: 500;
    color: var(--tripi-grey-color, #5e6d77);
}

.itin-duration-tab.is-active {
    background: var(--tripi-dark-blue, #1A2B48);
    color: var(--tipi-orange-color, #ffb100);
    box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .08));
}

.itin-duration-tab.is-active small {
    color: var(--tipi-orange-color, #ffb100);
    opacity: .85;
}

.itin-duration-panel {
    display: none;
}

.itin-duration-panel.is-active {
    display: block;
}

/* ============================================================
   CRUISE PRICES — season tabs + price rows
   prices-policy.php: replaces the old per-season accordion with
   a tab switcher (same visual language as the itinerary duration
   tabs above) plus a flat price-row breakdown per cabin/suite.
============================================================= */
.price-season-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    background: var(--bg-light, #f8f9fa);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 999px;
    padding: 5px;
    margin: 0 0 20px;
}

.price-season-tab {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: 48px;
    padding: 8px 20px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.25;
    color: var(--tripi-dark-blue, #1A2B48);
    text-align: center;
    cursor: pointer;
    transition: var(--transition, all .3s ease);
}

.price-season-tab small {
    font-size: 11px;
    font-weight: 500;
    color: var(--tripi-grey-color, #5e6d77);
}

.price-season-tab.is-active {
    background: var(--tripi-dark-blue, #1A2B48);
    color: var(--tipi-orange-color, #ffb100);
    box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .08));
}

.price-season-tab.is-active small {
    color: var(--tipi-orange-color, #ffb100);
    opacity: .85;
}

.price-season-panel {
    display: none;
}

.price-season-panel.is-active {
    display: block;
}

.price-panel {
    background: #fff;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 16px;
    box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .08));
    overflow: hidden;
}

.price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
}

.price-row:last-child {
    border-bottom: 0;
}

.price-row:nth-child(even) {
    background: var(--bg-light, #f8f9fa);
}

.price-row__group {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-weight: 600;
    font-size: 15px;
    color: var(--tripi-dark-blue, #1A2B48);
}

.price-row__group small {
    font-weight: 400;
    font-size: 12px;
    color: var(--tripi-grey-color, #5e6d77);
}

.price-row__amount {
    flex: none;
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 22px;
    color: var(--tripi-blue, #006deb);
    white-space: nowrap;
}

.price-row__amount small {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 12px;
    color: var(--tripi-grey-color, #5e6d77);
}

@media (max-width: 640px) {
    .price-row {
        flex-wrap: wrap;
    }
}

/* ============================================================
   CRUISE PRICES — "all prices" note + Children Policy card
   prices-policy.php. No icons here (kept plain per feedback on
   the itinerary meal/overnight icons) — just a muted note and a
   soft callout card with a small dot marker per policy line.
============================================================= */
.price-note {
    margin-top: 16px;
}

.price-note .heading-price-note {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 15px;
    color: var(--tripi-dark-blue, #1A2B48);
    margin-bottom: 4px;
}

.price-note .body-price-note {
    font-size: 13px !important;
    color: var(--tripi-grey-color, #5e6d77);
    line-height: 1.6;
}

.policy-note {
    margin-top: 16px;
    background: var(--bg-light, #f8f9fa);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 16px;
}

.policy-note .heading-price-note {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 16px;
    color: var(--tripi-dark-blue, #1A2B48);
    margin-bottom: 8px;
}

.policy-note .body-price-note {
    gap: 6px;
}

.policy-note .body-price-note span {
    position: relative;
    padding-left: 16px;
    font-size: 14px !important;
    color: var(--tripi-grey-color, #5e6d77);
}

.policy-note .body-price-note span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tipi-orange-color, #ffb100);
}

/* ============================================================
   TOUR SINGLE — ITINERARY HEAD (Expand all / Collapse all)
============================================================= */
.st-itinerary-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.st-itinerary-head__text {
    display: flex;
    flex-direction: column;
}

.st-itinerary-head .st-heading-section {
    margin-bottom: 0;
}

.st-itinerary-head .sub-title {
    font-size: 16px;
    letter-spacing: .08em;

}

.st-itinerary-expand-all {
    flex: none;
    height: 40px;
    padding-inline: 20px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 999px;
    background: #fff;
    color: var(--tripi-blue, #006deb);
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
    cursor: pointer;
    transition: var(--transition, all 0.2s ease);
}

.st-itinerary-expand-all:hover {
    background: rgba(0, 109, 235, .08);
    border-color: var(--tripi-blue, #006deb);
}

@media (max-width: 640px) {
    .st-itinerary-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .st-itinerary-expand-all {
        align-self: flex-start;
    }
}
.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-9 .st-program-list .st-program .accordion-header button{
    color: var(--tripi-dark-blue, #1A2B48) !important;
}
.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-9 .st-program-list .st-program .accordion-header button:hover{
    color: var(--tripi-blue, #006deb) !important;
}

/* ============================================================
   TOUR + CRUISE SINGLE — SECTION TAB NAV (luxury modern + mobile scroll)
   Scoped to .sec-menu-tour and .sec-menu-cruise (the two pages that
   share the base .fixed-nav-cruise markup/JS behavior).
   Sticky top/z-index already come from the base .fixed-nav-cruise
   rule; this only restyles the visual treatment + adds a single
   scrollable row instead of wrapping to a second line.
============================================================= */
.sec-menu-tour .fixed-nav-cruise,
.sec-menu-cruise .fixed-nav-cruise {
    /* Override the base .fixed-nav-cruise position:sticky — the outer
       .sec-menu-tour/.sec-menu-cruise wrapper is already sticky. Nesting
       two sticky elements causes a floating/jitter glitch on mobile
       touch-drag (the browser re-evaluates both offsets during the
       horizontal scroll gesture). Only the outer wrapper should stick. */
    position: static !important;
    top: auto !important;
    margin-top: 20 !important;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    /* touch-action tells the browser this element only handles
       horizontal panning, so it stops trying to disambiguate the
       gesture against vertical page scroll — without this, mobile
       browsers can register a tiny vertical scroll alongside your
       horizontal swipe, which is what visually "floats" the sticky
       bar up/down mid-gesture. */
    touch-action: pan-x;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
    background: linear-gradient(135deg, var(--tripi-dark-blue2, #001F5E), var(--tripi-dark-blue, #1A2B48));
    box-shadow: 0 4px 16px rgba(0, 31, 94, .18);
    padding: 0 8px;
    gap: 4px;
}

.sec-menu-tour .fixed-nav-cruise::-webkit-scrollbar,
.sec-menu-cruise .fixed-nav-cruise::-webkit-scrollbar {
    display: none;
    height: 0;
}

.sec-menu-tour .fixed-nav-cruise .nav-item,
.sec-menu-cruise .fixed-nav-cruise .nav-item {
    flex: none;
}

.sec-menu-tour .fixed-nav-cruise .nav-link,
.sec-menu-cruise .fixed-nav-cruise .nav-link {
    display: block;
    padding: 18px 20px !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .65) !important;
    white-space: nowrap;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    transition: var(--transition, all 0.2s ease);
}

.sec-menu-tour .fixed-nav-cruise .nav-link:hover,
.sec-menu-cruise .fixed-nav-cruise .nav-link:hover {
    color: #fff !important;
}

.sec-menu-tour .fixed-nav-cruise .nav-link.active,
.sec-menu-cruise .fixed-nav-cruise .nav-link.active {
    color: var(--tipi-orange-color, #ffb100) !important;
    background: transparent !important;
    border-bottom: 5px solid var(--tipi-orange-color, #ffb100) !important;
}

@media (max-width: 767px) {
    .sec-menu-tour .fixed-nav-cruise .nav-link,
    .sec-menu-cruise .fixed-nav-cruise .nav-link {
        padding: 20px 16px !important;
        font-size: 12px;
    }
    .sec-menu-cruise, .sec-menu-tour{
        top: 67px !important;
    }
    .sec-menu-tour .fixed-nav-cruise,
    .sec-menu-cruise .fixed-nav-cruise{
        padding: 0 !important;
    }
}

/* Neutralize the site-wide overflow-x:hidden on #st-content-wrapper at
   mobile widths — that property silently breaks position:sticky for
   every descendant, including this nav. overflow-x:clip still prevents
   horizontal scroll bleed but doesn't create a scrolling context, so
   sticky keeps working. Scoped to mobile only, matching the original rule. */
@media (max-width: 767px) {
    body #st-content-wrapper {
        overflow-x: clip !important;
    }
}

/* ============================================================
   TOUR + CRUISE SINGLE — SECTION NAV SCROLL ARROWS (mobile/tablet)
   JS (single-2.php / single-1.php) toggles .is-hidden based on
   scroll position. Hidden entirely on desktop where the tabs all
   fit already.
============================================================= */
.sec-menu-tour,
.sec-menu-cruise {
    display: flex;
    align-items: stretch;
}

.sec-menu-tour .fixed-nav-cruise,
.sec-menu-cruise .fixed-nav-cruise {
    flex: 1 1 auto;
    min-width: 0;
}

.st-nav-arrow {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    border: 0;
    cursor: pointer;
    color: #fff;
    font-size: 13px;
    background: var(--tripi-dark-blue2, #001F5E);
    transition: opacity 0.2s ease;
    z-index: 1002;
}

.st-nav-arrow--left {
    background: #ffb100;
    height: 34px;
    position: relative;
    left: 0;
    bottom: 0;
    margin-top: 17px;
    border-radius: 50px;
    margin-right: 5px;
    color: #1A2B48;
}

.st-nav-arrow--right {
    background: #ffb100;
    height: 34px;
    position: relative;
    right: 0;
    bottom: 0;
    margin-top: 17px;
    border-radius: 50px;
    margin-left: 5px;
    color: #1A2B48;
}
.sec-menu-tour button:hover,
.sec-menu-cruise button:hover{
    background: var(--tipi-orange-color, #ffb100) !important;
}
.st-nav-arrow {
    transition: opacity 0.2s ease, width 0.2s ease, margin 0.2s ease;
}

.st-nav-arrow.is-hidden {
    opacity: 0;
    pointer-events: none;
    width: 0 !important;
    min-width: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden;
}

@media (min-width: 992px) {
    .st-nav-arrow {
        display: none;
    }
}

/* ============================================================
   TOUR SINGLE — WHAT TO PACK (single-2.php)
   Flex-wrap pill tags instead of 3 uneven text columns.
============================================================= */
.st-pack-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.st-pack-list span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bg-light, #f8f9fa);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-dark, #333333);
}

.st-pack-list i {
    color: var(--tipi-orange-color, #ffb100);
    font-size: 14px;
}
.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-9 .st-faq-list .st-program .accordion-header button span{
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-size: clamp(18px, 2vw, 20px) !important;
    text-align: left !important;
}
.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-9 .st-faq-list .st-program .accordion-header button span:hover{
    color: var(--tripi-blue, #006deb) !important;
}
.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-8 .st-faq-list .st-program .accordion-button i.icon-question,
.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-9 .st-faq-list .st-program .accordion-button i.icon-question{
    color: var(--tripi-blue, #006deb) !important;
}
span.accordion-header{
    font-family: 'Playfair Display', Georgia, serif !important;
}
.relate-tripi-packages .tripi-search-title a{
    font-family: 'Playfair Display', Georgia, serif !important;
}
.single-st_tours #st-content-wrapper.st-style-elementor.st-single-tour-8 .st-faq-list .st-program .accordion-header button span{
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-size: clamp(18px, 2vw, 20px) !important;
    text-align: left !important;
}
.tripi-related-card__title a{
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 20px !important;
    line-height: 30px;
}
#st-content-wrapper.st-style-elementor.st-single-activity-4 .st-faq-list .st-program .accordion-header button{
    color: var(--tripi-dark-blue, #1A2B48) !important;
}
.single-st_activity #st-content-wrapper.st-style-elementor.st-single-activity-4 .st-faq-list .st-program .accordion-button i.icon-question{
    color: var(--tripi-blue, #006deb) !important;
}

/* ============================================================
   ACTIVITY SINGLE — ITINERARY TIMELINE (simple, no Arc grouping)
   Activities only ever run 1–3 days, so unlike the tour itinerary
   this has no region "Arc" dividers — just a connecting spine, a
   plain dot per day, and a single static "start" icon at the top.
   Scoped to #st-activity-accordion only — .st-program /
   .st-program-list are reused elsewhere (FAQ list, tour itinerary).
============================================================= */
#st-activity-accordion {
    position: relative;
    margin-top: 8px;
}

#st-activity-accordion::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 19px;
    width: 2px;
    background: linear-gradient(180deg, rgba(255, 177, 0, .3), var(--tipi-orange-color, #ffb100), rgba(255, 177, 0, .3));
    z-index: 0;
}

/* Single static "start" marker — not per-day, not admin-configurable. */
#st-activity-accordion::after {
    content: "\f024";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--tripi-dark-blue, #1A2B48);
    color: var(--tipi-orange-color, #ffb100);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    border: 2px solid var(--tipi-orange-color, #ffb100);
    z-index: 2;
}

#st-activity-accordion > li.st-program {
    position: relative;
    padding-left: 56px;
}

#st-activity-accordion > li.st-program:first-child {
    margin-top: 56px;
}



@media (max-width: 767px) {
    #st-activity-accordion::before {
        left: 15px;
    }

    #st-activity-accordion > li.st-program {
        padding-left: 46px;
    }

    #st-activity-accordion::after {
        width: 32px;
        height: 32px;
        font-size: 13px;
    }

    #st-activity-accordion > li.st-program:first-child {
        margin-top: 44px;
    }
    ul.itinerary-cruise{
    margin-left: 10px !important;
}
}
.single-st_activity #st-content-wrapper.st-style-elementor.st-single-activity-4 .st-program-list .st-program{
    margin-left: 50px !important;
}
button.price-season-tab:hover,
button.itin-duration-tab:hover{
    color: #FFFFFF !important;
}
#cruise-price .price-row__amount{
    font-size: 30px !important;
}
.st-single-service .sec-program{
    margin-top: 0px !important;
}
.single #st-content-wrapper.st-style-4 .inquiry-v2 .st-sent-mail-customer .form-wrapper input {
    border: 1px solid #DEDEDE;
    box-sizing: border-box;
    border-radius: 10px;
    padding: 10px 15px;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: #83929D;
}
.single #st-content-wrapper.st-style-4 .inquiry-v2 .st-sent-mail-customer .form-wrapper input#adult_number,
.single #st-content-wrapper.st-style-4 .inquiry-v2 .st-sent-mail-customer .form-wrapper input#child_number{
    border: none !important;
    padding: 0 !important;
}
.single-st_tours #st-content-wrapper.st-style-elementor .st-form-book-wrapper .st-number-wrapper .st-input-number{

    font-size: 16px !important;

    text-align: center;
    color: var(--heading-color);   margin-left: 0;
    margin-right: 0;
}

.thb-banner{
		--thb-blue-900:var(--tripi-dark-blue, #1A2B48);
		--thb-blue-700:var(--tripi-dark-blue2, #001F5E);
		--thb-blue-600:var(--tripi-blue, #006deb);
		--thb-blue-50:#f3f8ff;
		--thb-sand-500:var(--tipi-orange-color, #ffb100);
		--thb-line:#e3e8f0;
		--thb-wa:#25D366;
		--thb-wa-dark:#1da851;
		--thb-radius-md:14px;
		--thb-maxw:1240px;
		--thb-font-display:'Fraunces',Georgia,serif;
		--thb-font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
		font-family:var(--thb-font-body);
		color:#0d1420;
		-webkit-font-smoothing:antialiased;
		line-height:1.5;
	}
	.thb-banner *{box-sizing:border-box}
	.thb-banner img{max-width:100%;display:block}
	.thb-wrap{max-width:var(--thb-maxw);margin:0 auto;padding:0 20px}
	.thb-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--thb-sand-500);margin:0}

	/* ===== BUTTONS ===== */
	.thb-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font-weight:700;font-size:14px;white-space:nowrap;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
	.thb-btn:hover{transform:translateY(-1px)}
	.thb-btn-primary{background:var(--thb-blue-600);color:#fff;box-shadow:0 8px 20px -8px rgba(0,109,235,.55)}
	.thb-btn-primary:hover{background:var(--thb-blue-700);color:#fff}
	.thb-btn-whatsapp{background:var(--thb-wa);color:#fff;box-shadow:0 8px 20px -8px rgba(37,211,102,.55)}
	.thb-btn-whatsapp:hover{background:var(--thb-wa-dark);color:#fff}
	.thb-btn-ghost{background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff}
	.thb-btn-ghost:hover{border-color:#fff;color:#fff}

	/* ===== HERO ===== */
	.thb-hero{position:relative;color:#fff;overflow:hidden}
	
	.thb-hero-inner{position:relative;padding:56px 0 40px}
	.thb-hero h1{font-family:var(--thb-font-display);font-weight:600;color:#fff;font-size:clamp(32px,4.6vw,54px);line-height:1.05;margin:14px 0 16px;max-width:16ch;letter-spacing:-0.01em}
	.thb-hero h1 em{font-style:italic;color:var(--thb-sand-500)}
	.thb-hero p.thb-sub{max-width:56ch;font-size:17px;color:#dce7fb;margin:0 0 26px}
	.thb-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}
	.thb-stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);border-radius:var(--thb-radius-md);padding:18px 8px;max-width:640px}
	.thb-stat{text-align:center;border-right:1px solid rgba(255,255,255,.16)}
	.thb-stat:last-child{border-right:none}
	.thb-stat b{display:block;font-family:var(--thb-font-display);font-size:24px;color:#fff}
	.thb-stat span{font-size:12px;color:#c3d5f2}

	/* ===== TRUST ROW ===== */
	.thb-trust-row{background:var(--thb-blue-50);border-bottom:1px solid var(--thb-line)}
	.thb-trust-row .thb-wrap{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;padding:16px 20px;font-size:13.5px;font-weight:600;color:var(--thb-blue-900)}
	.thb-trust-row .thb-item{display:flex;align-items:center;gap:8px}
	.thb-trust-row svg{flex:0 0 auto;color:var(--thb-blue-600)}

	@media (max-width:820px){
		.thb-stat-strip{grid-template-columns:repeat(2,1fr);max-width:100%}
	}
	@media (prefers-reduced-motion:reduce){
		.thb-banner *{animation:none!important;transition:none!important}
	}