.tour-detail-hero-sec {
   width: 100%;
   padding: 32px 0 0 0;
}
.tour-detail-hero-wrapper {
   width: 100%;
   margin: 0 auto;
   padding: 0 15px;
}
.tour-detail-hero-grid-wrapper {
   display: block;
}
.tour-detail-hero-slider-wrapper {
   display: none;
}
.tour-detail-hero-slider-wrapper .tour-detail-hero-slider,
.tour-detail-hero-slider-wrapper .tour-detail-hero-slider-nav {
   width: 100%;
}
.tour-detail-hero-slider-wrapper .slider-banner-image,
.tour-detail-hero-slider-wrapper .thumbnail-image {
   /* border-radius: 16px; */
   overflow: hidden;
}
.tour-detail-hero-slider-wrapper .slider-banner-image {
   position: relative;
   width: 100%;
   padding-bottom: 4%;
}
.tour-detail-hero-slider-wrapper .slider-banner-image img,
.tour-detail-hero-slider-wrapper .slider-banner-image video,
.tour-detail-hero-slider-wrapper .slider-banner-image .video-wrapper {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}
.tour-detail-hero-slider-wrapper .slider-banner-image img,
.tour-detail-hero-slider-wrapper .slider-banner-image video {
   object-fit: cover;
   object-position: center;
}
.tour-detail-hero-slider-wrapper .slider-banner-image lite-youtube {
   width: 100%;
   height: 100%;
   display: block;
}
.tour-detail-hero-grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
   gap: 16px;
}
.hero-grid-main,
.hero-grid-thumb {
   position: relative;
   border-radius: 16px;
   overflow: hidden;
   background: #f3f4f6;
   cursor: pointer;
}
.hero-grid-main {
   aspect-ratio: 16 / 9;
}
.hero-grid-main img,
.hero-grid-main video,
.hero-grid-thumb img,
.hero-grid-thumb video {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.hero-grid-video {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.hero-grid-main lite-youtube {
   width: 100%;
   height: 100%;
   display: block;
   border-radius: 16px;
   overflow: hidden;
}
.hero-grid-thumbs {
   aspect-ratio: 3 / 2;
   display: grid;
   gap: 16px;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   grid-auto-rows: 1fr;
   height: 100%;
}
.tour-detail-hero-grid.tour-detail-hero-grid--single {
   grid-template-columns: 1fr;
}
.hero-grid-thumb {
   position: relative;
   border-radius: 16px;
   overflow: hidden;
   background: #f3f4f6;
   height: 100%;
}
.hero-grid-video-icon {
   position: absolute;
   top: 12px;
   left: 12px;
   width: 36px;
   height: 36px;
   border-radius: 50%;
   background: rgba(0, 0, 0, 0.55);
   display: flex;
   align-items: center;
   justify-content: center;
}
.hero-grid-video-icon img {
   width: 16px;
   height: 16px;
}
.hero-grid-overlay {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.45);
   color: #fff;
   font-weight: 600;
   font-size: 1.125rem;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   cursor: pointer;
}
.hero-grid-overlay span {
   padding: 0 12px;
}
.tour-media-gallery-modal .modal-dialog {
   max-width: 1140px;
   width: calc(100% - 32px);
}
.tour-media-gallery-modal .modal-content {
   border: 0;
   border-radius: 20px;
   overflow: visible;
   position: relative;
   padding: 30px;
   box-shadow: 0 24px 48px rgba(15, 23, 42, 0.16);
}
.tour-media-gallery-modal .modal-body {
   padding: 0;
}
.tour-media-gallery-close {
   position: absolute;
   top: 0;
   right: 0px;
   z-index: 2;
   background: #ffffff;
   border-radius: 50%;
   width: 40px;
   height: 40px;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #0f172a;
   opacity: 1;
   border: 1px solid rgba(148, 163, 184, 0.35);
   /* box-shadow: 0 10px 20px rgba(15, 23, 42, 0.18); */
}
.tour-media-gallery-close span {
   font-size: 22px;
   line-height: 1;
}
.tour-media-gallery-close:hover {
   color: #0f172a;
   opacity: 1;
}
.tour-media-gallery {
   display: flex;
   gap: 20px;
   align-items: stretch;
   min-height: 0;
}
.tour-media-gallery-main {
   flex: 1 1 auto;
   border-radius: 15px;
   overflow: hidden;
   background: #f3f4f6;
   display: flex;
   aspect-ratio: 16 / 9;
   position: relative;
   min-height: 0;
}
.tour-media-main-content {
   width: 100%;
   display: flex;
   flex: 1 1 auto;
   position: relative;
}
.tour-media-main-asset {
   position: absolute;
   inset: 0;
   display: flex;
   border-radius: inherit;
   overflow: hidden;
}
.tour-media-main-asset img,
.tour-media-main-asset lite-youtube {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.tour-media-main-asset lite-youtube {
   border-radius: inherit;
}
.tour-media-main-content img,
.tour-media-main-content lite-youtube {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.tour-media-gallery-thumbs {
   width: 200px;
   display: flex;
   flex-direction: column;
   gap: 12px;
   max-height: calc(100vh - 200px);
   overflow-y: auto;
   padding-right: 4px;
   min-height: 0;
}
.tour-media-gallery-thumb {
   border: 0;
   padding: 0;
   width: 100%;
   border-radius: 16px;
   /* overflow: hidden; */
   height: 15%;
   margin-bottom: 10px;
   position: relative;
   cursor: pointer;
   background: transparent;
   aspect-ratio: 3 / 2;
   display: flex;
}
.tour-media-gallery-thumb img,
.tour-media-gallery-thumb video {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   border-radius: 16px;
}
.tour-media-gallery-thumb .hero-grid-video-icon {
   top: 8px;
   left: 8px;
}
.tour-media-gallery-thumb.is-active::after {
   content: "";
   position: absolute;
   inset: 0;
   border: 3px solid #ff7f32;
   border-radius: 16px;
   pointer-events: none;
}
.tour-media-gallery-thumbs::-webkit-scrollbar {
   width: 6px;
}
.tour-media-gallery-thumbs::-webkit-scrollbar-thumb {
   background: #173954;
   border-radius: 3px;
}
.hero-grid-thumb:nth-child(2) { height: 65% }
.hero-grid-thumb:nth-child(3) { height: 65% }
.hero-grid-thumb:nth-child(4) { margin-top:-24% }
.tour-detail-desktop{margin-top:-5%}
.tour-desc-wrapper-header{ border-bottom: 0; padding: 18px 30px 0;}
.tour-desc-wrapper-header h4{ margin:19px 0 0;font-size: 18px;font-weight: 700;}
.tour-desc-wrapper-body{ padding: 18px 30px 30px; }
#tourDescWrapperModel .modal-content{border-radius: 20px}
#tourDescWrapperModel .modal-body{overflow-y: auto;max-height: calc(100vh - 150px);}
.tour-detail-sticky-inner{display:flex;align-items:center;justify-content:space-between;gap:48px;}
.tour-detail-header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end;}
.tour-detail-header-actions .prev-tour-audio{margin:0;}
.tour-detail-header-actions .prev-tour-audio .btn{display: inline-flex;align-items: center;justify-content: center;gap: 10px;padding: 0;border-radius: 8px !important;width: 240px;height: 40px;}
.tour-detail-header-actions .tour-detail-atc-btn-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.tour-detail-header-actions .tour-detail-atc-btn-wrapper{box-shadow:none;padding:0;margin:0;}
.tour-detail-header-actions .tour-detail-atc-btn-wrapper .btn{height: 40px;padding: 10px 0;font-size: 18px;border-radius: 8px !important;width: 150px;}
#tourDetailHeaderSec{display:none;padding:28px 0;position:sticky;top:76px;z-index:105;background:transparent;transition:background .2s, box-shadow .2s, padding .2s;}
.tour-detail-nav{flex:1 1 auto;}
.tour-detail-nav-list{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.tour-detail-nav-list a{position:relative;display:inline-flex;align-items:center;padding-bottom:8px;color:#1f2a37;font-size:16px;font-weight:600;text-decoration:none;transition:color .2s;}
.tour-detail-nav-list a.is-active{color:#061b36;}
.tour-detail-nav-list a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:#23b3ba;opacity:0;transition:opacity .2s;}
.tour-detail-nav-list a.is-active::after,
.tour-detail-nav-list a:hover::after{opacity:1;}
#tourDetailHeaderSec.td-shrink{padding:15px 0;background:rgba(241, 241, 241, 1);box-shadow:0 8px 18px rgba(15,23,42,0.12);z-index:110;top:0px}
#tourDetailHeaderSec.td-shrink .tour-detail-sticky-inner{gap:40px;min-height:64px;}
#tourDetailHeaderSec.td-shrink .tour-detail-header-actions{gap:16px;}
/* Tour creators section */
.tour-creators-section {
    padding: 80px 0 40px;
}
.tour-creators-heading h2 {
    font-size: 24px;
    font-weight: 700;
    color: #0f1f3d;
    margin-bottom: 32px;
}
.tour-creator-card {
    position: relative;
    max-width: 380px;
    height: 418px;
    /* margin: 0 auto; */
    background: #ffffff;
    border-radius: 20px 0 0 20px;
    padding: 48px 36px 44px;
    box-shadow: 0 26px 60px rgba(15, 23, 42, 0.14);
    text-align: center;
}
.tour-creator-card__image {
    position: relative;
    width: 103px;
    height: 103px;
    margin: 0 auto 24px;
    background: rgba(178, 241, 238, 1);
    border-radius: 20px;
    transform: rotate(-20deg);
}
.tour-creator-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 2;
    border-radius: 20px;
    transform: rotate(20deg);
    /* box-shadow: 0 16px 32px rgba(15, 23, 42, 0.18); */
}
.tour-creator-card__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.tour-creator-card__name {
    font-size: 26px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 4px;
}
.tour-creator-card__role {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 8px;
}
.tour-creator-card__description {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 12px;
    overflow: auto;
    height: 90px;
}
.tour-creator-card__image-accent{
    position: absolute;
    right: 42px;
    background: rgba(217, 248, 247, 1);
    border-radius: 50%;
    font-size: 28px;
    height: 40px;
    padding: 10px;
    width: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer;
}
.tour-creator-card__image-accent i {
    font-weight: bold;
    text-align: center;
    margin-left: 2px;
    margin-bottom: 3px;
}
.tour-creator-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border-radius: 999px;
    padding: 14px 28px;
    font-weight: 600;
    font-size: 16px;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.18);
}
.tour-creator-card__cta img {
    width: 22px;
    height: 22px;
}
.tour-creators-modal .modal-dialog {
    max-width: 857px;
}
.tour-creators-modal .modal-content {
    border: none;
    border-radius: 28px;
    padding: 32px 32px 36px;
    box-shadow: 0 30px 70px rgba(15, 23, 42, 0.25);
}
.tour-creators-modal .modal-header {
    border-bottom: none;
    padding-bottom: 0;
}
.tour-creators-modal .modal-title {
   text-transform: none;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
}
.tour-creators-modal__close {
    background: #ffffff;
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: transform .2s ease;
}
.tour-creators-modal__close:hover,
.tour-creators-modal__close:focus {
    transform: scale(1.05);
    opacity: 1;
}
.tour-creators-modal__close span {
    font-size: 26px;
    line-height: 1;
    color: #0f172a;
}
.tour-creators-modal__layout {
    display: flex;
    gap: 32px;
    align-items: stretch;
}
.tour-creators-modal__list {
    flex: 1 1;
    display: grid;
    grid-auto-rows: max-content;
    grid-template-columns: auto auto;
    /* grid-template-rows: max-content max-content; */
    gap: 15px;
    max-height: 600px;
    max-width: 300px;
    overflow: auto;
}
.tour-creators-modal__item {
    background: none;
    height:165px;
    width:120px;
    border: none;
    border-radius: 20px;
    padding: 18px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.tour-creators-modal__item.is-active,
.tour-creators-modal__item:hover,
.tour-creators-modal__item:focus {
    outline: none;
    /* box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16); */
}
.tour-creators-modal__item-avatar {
    /* width: 72px;
    height: 72px; 
    border-radius: 24px;
    overflow: hidden; */
    width: 97px;
    height: 97px;
    border-radius: 10px;
    transform: rotate(-20deg);
    background: rgba(178, 241, 238, 1);
}
.tour-creators-modal__item:nth-child(2) .tour-creators-modal__item-avatar{
    background: rgba(255, 236, 208, 1);
}
.tour-creators-modal__item:nth-child(3) .tour-creators-modal__item-avatar{
    background: rgba(178, 241, 238, 1);
}
.tour-creators-modal__item:nth-child(4) .tour-creators-modal__item-avatar{
    background: rgba(213, 203, 239, 1);
}
.tour-creators-modal__item-avatar img {
    transform: rotate(20deg);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px;
}
.tour-creators-modal__item-name {
    font-size: 16px;
    font-weight: 600;
    color: #2C4359;
}
.tour-creators-modal__detail {
    flex: 1 1;
    background: #ffffff;
    border-radius: 30px;
    padding: 10px;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.12), 0 24px 50px rgba(15, 23, 42, 0.12);
}
.tour-creators-modal__detail-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
    max-height: 600px;
    overflow: auto;
    padding:10px
}
.tour-creators-modal__detail-avatar {
    width: 132px;
    height: 132px;
    border-radius: 20px;
    /* overflow: hidden; */
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.18);
    transform: rotate(-20deg);
    background: rgba(178, 241, 238, 1);
}
.tour-creators-modal__detail-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    transform: rotate(20deg);
}
.tour-creators-modal__detail-name {
   font-size: 16px;
    font-weight: 600;
    color: #2C4359;
    margin-bottom: 2px;
    margin-top: 20px;
}
.tour-creators-modal__detail-role {
    font-size: 14px;
    font-weight: 500;
    /* letter-spacing: 0.08em; */
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0px;
}
.tour-creators-modal__detail-location{
   font-size: 14px;
    font-weight: 500;
    /* letter-spacing: 0.08em; */
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0;
}
.tour-creators-modal__detail-description {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin: 0;
    padding: 0 32px;
}
.reliable-customer-support {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  filter: brightness(0);
}

.reliable-customer-support::before,
.reliable-customer-support::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 40px; 
  height: 1px; 
  background-color: #000;
}

.reliable-customer-support::before {
  left: 0;
  transform: rotate(90deg);
}

.reliable-customer-support::after {
  right: 0;
  transform: rotate(90deg);
}

#shakaPromisesSec .shaka-promises-mobile img {
    max-width: 54px;
}

#shakaPromisesSec .shaka-promise-item {
    gap: 12px;
}

#shakaPromisesSec .shaka-promise-item h6 {
    font-size: 16px;
    line-height: 1.4;
}

#shakaPromisesSec .promise-icon {
    flex-shrink: 0;
}

.tour-inclusion-exclusion-card {
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 24px;
}

.tour-inclusion-exclusion-card .card-header {
    background: #ffffff;
    border-bottom: 1px solid rgba(148, 163, 184, 0.3);
    padding: 18px 24px;
}

.tour-ie-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    font-size: 1rem;
    color: #0f172a;
    padding: 0;
    text-decoration: none;
}

.tour-ie-toggle:hover,
.tour-ie-toggle:focus {
    text-decoration: none;
    color: #0f172a;
}

.tour-ie-toggle__icon {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
}

.tour-ie-toggle__icon img {
    
    transition: transform 0.2s ease-in-out;
}
.tourHeadUpModal{
    max-width: 80%;
    display: flex;
    align-items: flex-end;
    min-height: 100%;
    margin: 0 auto;
}
.tour-headsup-modal {
    color: #0f172a;
    padding-bottom: 19px;
}

.tour-headsup-modal__title {
    font-weight: 700;
    font-size: 1.125rem;
    margin: 0 0 18px;
    color: #0f172a;
}

.tour-headsup-modal__title:not(:first-child) {
    margin-top: 28px;
}

.tour-headsup-modal__links {
    font-size: 14px;
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
}

.tour-headsup-modal__links li {
    margin-bottom: 12px;
}

.tour-headsup-modal__links a {
    color: #0f172a;
    text-decoration: underline;
    word-break: break-word;
}

.tour-headsup-modal__persistent {
    background-color: #fde7c5;
    border-radius: 20px;
    padding: 20px 60px;
    margin-bottom: 24px;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #0f172a;
    text-align: center;
}

.tour-headsup-modal__persistent strong {
    font-weight: 600;
}

.tour-headsup-modal__update {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #0f172a;
    font-weight: 400;
}

.tour-headsup-modal__update p {
    margin-bottom: 16px;
}

.tour-headsup-modal__update p:last-child {
    margin-bottom: 0;
}

.tour-ie-toggle.collapsed .tour-ie-toggle__icon img {
    transform: rotate(0deg);
}

.tour-ie-content {
    display: grid;
    gap: 20px;
}

.tour-ie-column h3 {
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 12px;
}

.tour-ie-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tour-ie-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #334155;
    font-size: 0.95rem;
    line-height: 1.55;
    padding: 8px 0;
}

.tour-ie-icon {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tour-ie-icon svg {
    width: 100%;
    height: 100%;
}

.tour-ie-text {
    flex: 1 1 auto;
}
.ns-card {
   display: flex;
   flex-direction: column;
}
.ns-body {
   flex: 1;
}
.ns-footer {
   margin-top: auto;
}
@media (max-width: 991.98px) {
    .tour-creators-section {
        padding: 0 0 32px;
    }
    .tour-creators-modal__detail {
        padding: 32px 0px;
    }
}
@media (max-width: 767.98px) {
   .tour-ie-column h3{
      font-size: 14px;
   }
   .tour-creators-heading h2 {
      font-size: 18px;
   }
    .tour-creator-card {
        padding: 36px 24px 40px;
        border-radius: 20px;
    }
    .tour-creator-card__image {
        width: 132px;
        height: 132px;
    }
    .tour-creator-card__name {
        font-size: 16px;
    }
    .tour-creator-card__role{
        font-size: 16px;
    }
    .tour-creators-modal .modal-content {
        padding: 28px 0px 32px;
    }
    .tour-creators-modal__layout {
        flex-direction: column;
    }
    .tour-creators-modal__list {
        flex: none;
        display: flex;
        max-width: 100%;
        overflow: auto;
        padding: 5px 0;
        height: 185px;
    }
    #shakaPromisesSec .shaka-promises-row {
        margin: 0;
    }
    #shakaPromisesSec .shaka-promises-row > div {
        padding-left: 0;
        padding-right: 0;
    }
    #shakaPromisesSec .shaka-promises-mobile {
        gap: 12px;
    }
    #shakaPromisesSec .shaka-promise-item {
        padding: 12px 0;
    }
    #shakaPromisesSec .reliable-customer-support::before,
    #shakaPromisesSec .reliable-customer-support::after {
        content: none;
    }
    .tourHeadUpModal {
        max-width: 100%;
        align-items: end;
    }
}

@media (max-width: 767.98px) {
   #tourDetailHeaderSec{display:none !important;}
}
@media (max-width: 1199.98px) {
   .tour-detail-hero-wrapper {
      padding: 0 24px;
   }
   .tour-media-gallery-modal .modal-content {
      padding: 26px;
   }
   .tour-media-gallery-close {
      top: -14px;
      right: -14px;
   }
}
@media (max-width: 575.98px) {
   .tour-detail-desktop{
      display:none;
   }
   .tour-detail-hero-sec {
      padding: 24px 0;
   }
   .tour-detail-hero-grid-wrapper {
      display: none;
   }
   .tour-detail-hero-slider-wrapper {
      display: block;
   }
   .tour-media-gallery {
      flex-direction: column;
   }
   .tour-media-main-content {
      min-height: 280px;
   }
   .tour-media-gallery-thumbs {
      width: 100%;
      max-height: none;
      flex-direction: row;
      overflow-x: auto;
      overflow-y: hidden;
      padding-right: 0;
      gap: 10px;
   }
   .tour-media-gallery-thumb {
      width: 120px;
      flex: 0 0 auto;
   }
   .tour-detail-hero-wrapper {
      padding: 0 15px;
   }
   .hero-grid-thumbs {
      gap: 12px;
      grid-auto-rows: initial;
      height: auto;
   }
   .tour-media-gallery-modal .modal-content {
      padding: 12px;
      border-radius: 15px;
   }
   .tour-media-gallery-main {
      border-radius: 15px;
   }
   .tour-media-gallery-close {
      top: 8px;
      right: 8px;
   }
   #tourDescWrapperModel{top:unset;bottom:-10%}
#tourDescWrapperModel .modal-dialog{margin:0}
}

.td-review-modal .modal-dialog {
   max-width: 300px;
}

.td-review-modal .modal-content {
   border: none;
   border-radius: 20px;
   padding: 16px;
   box-shadow: none;
}

.td-review-modal__close {
   position: absolute;
   right: 16px;
   top: 12px;
   z-index: 2;
   opacity: 1;
   font-size: 24px;
   color: #253646;
}

.td-review-modal__close:hover,
.td-review-modal__close:focus {
   color: #1a2734;
   text-decoration: none;
}

.td-review-modal__card {
   background: #ffffff;
   border-radius: 16px;
   padding: 20px;
   /* box-shadow: 0 16px 40px rgba(8, 27, 51, 0.15); */
}

.td-review-modal__header {
   margin-bottom: 16px;
}

.td-review-modal__title {
   margin: 0 0 4px;
   font-size: 1.125rem;
   font-weight: 700;
   color: #081b33;
}

.td-review-modal__title.is-empty {
   display: none;
}

.td-review-modal__meta {
   display: flex;
   flex-direction: column;
   gap: 4px;
   font-size: 0.875rem;
   color: #5f7083;
}

.td-review-modal__name {
   font-weight: 600;
   color: #081b33;
}

.td-review-modal__name.is-empty,
.td-review-modal__date.is-empty {
   display: none;
}

.td-review-modal__rating {
   margin-top: 12px;
   color: #ff9e16;
}

.td-review-modal__rating.is-empty {
   display: none;
}

.td-review-modal__message {
   font-size: 0.9375rem;
   line-height: 1.7;
   color: #3d4a5c;
   margin-bottom: 18px;
}

.td-review-modal__toggle {
   font-weight: 600;
   font-size: 0.9375rem;
   color: #253646;
   text-decoration: underline;
}

.td-review-modal__toggle:focus,
.td-review-modal__toggle:hover {
   color: #081b33;
   text-decoration: underline;
}

@media (max-width: 575.98px) {
   .td-review-modal .modal-dialog {
      margin: 0 16px;
      max-width: 100%;
   }

   .td-review-modal__card {
      padding: 24px 20px;
   }
}
.tour-detail-hero-slider { position: relative; width: 100%; height: 0; padding-bottom: 60%; overflow: hidden; }
/* Hide counter by default */
.slider-counter {
    display: none;
}


.section-title {
   font-size: 24px !important;
   font-weight: 700;
   margin-bottom: 10px;
   color:#173954 !important;
}

.list-subtitle {
   font-weight: 600;
   color: #173954;
   margin-bottom: 16px;
}

.tour-stop-list {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 8px 20px;
   list-style: none;
   padding: 0;
   margin: 0;
}

.tour-stop-list li {
   position: relative;
   padding-left: 16px;
   line-height: 1.4;
}

.tour-stop-list li::before {
   content: "•";
   color: #173954;
   position: absolute;
   left: 0;
   font-size: 18px;
   line-height: 1;
   top: 2px;
}

.tour-stop-link {
   text-decoration: none;
   color: #173954;
   /* font-weight: 500; */
   transition: color 0.3s ease;
}

.tour-stop-link:hover,
.tour-stop-list li:hover::before {
  color: #00B2B1;
}

/* Active effect */
.tour-stop-link.active,
.tour-stop-list li:has(.tour-stop-link.active),
.tour-stop-list li:has(.tour-stop-link.active)::before {
  color: #00B2B1;
}

.hidden-stop {
   display: none;
}

.see-more-toggle {
   border: none;
   background: none;
   color: #173954;
   font-weight: 600;
   cursor: pointer;
   margin: 12px 0px;
   display: inline-block;
   text-decoration: underline;
}

.btn-view-all {
   opacity: 1 !important;
   width: 65%;
   border: 2px solid #173954;
   color: #2D445A;
   border-radius: 10px;
   padding: 10px 28px;
   transition: all 0.3s ease;
}
.btn-view-all:hover {
   background-color: #173954;
   color: #fff;
}

/* Slider cards */
.ts-card {
   border: 2px solid transparent;
   border-radius: 12px;
   overflow: hidden;
   transition: border-color 0.3s ease;
}

.ts-card.active {
   border: 1px solid #173954;
}

.tour-stops-img img {
   width: 100%;
   height: 200px;
   object-fit: cover;
}

/* Responsive */
@media (max-width: 767px) {
   .tour-stop-list {
      grid-template-columns: repeat(2, 1fr);
   }
}
.tour-stops-item.slick-slide {
    width: 244px !important; /* fixed width per slide */
}
.fixed-div {
    display:none;
    background: none;
    position: fixed;
    bottom: -32px;
    right: 20px;
    color: white;
    border-radius: 5px;
    z-index: 9999;
    height: 482px;
    width: 312px;
    max-width: 312px;
    max-height: 482px;
    overflow-y: auto;
}
.mini-audio-wrapper {
  position: fixed;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1100;
}

.mini-audio-container {
   position: relative;
  display: flex;
  align-items: center;
  background: #173954;
  border-radius: 20px;
  padding: 8px 24px;
  min-width: 619px;
  max-width: 619px;
  height: 70px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
  color: #fff;
}

.mini-left {
  flex: 1;
  overflow: hidden;
}

.mini-now-playing {
  font-size: 11px;
  color: #ffffff;
  opacity: 0.6;
  margin-bottom: 2px;
}

.mini-title {
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mini-play-btn {
  background: none;
  border: none;
  border-radius: 50%;
  width: 41px;
  height: 41px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 16px;
  flex-shrink: 0;
  padding: 0;
  outline: none !important;
}

.mini-play-btn img {
  width: 41px;
  height: 41px;
}

.mini-progress-wrapper {
  display: flex;
  align-items: center;
  flex: 1.2;
  gap: 6px;
  margin-top: 15px;
}

.mini-time {
  font-size: 12px;
  color: #fff;
  opacity: 0.85;
}

.mini-progress {
  flex: 1;
  height: 5px;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 3px;
  overflow: hidden;
  cursor: pointer;
}

.mini-progress #miniProgressFill {
  height: 100%;
  width: 0%;
  background: #fff;
}

.mini-close-btn {
  position: absolute;
  background: none;
  border: none;
  border-radius: 50%;
  color: #fff;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 12px;
  flex-shrink: 0;
  outline: none !important;
  top: 3px;
  right: 6px;
}
.mini-close-icon{
   max-width: 24px !important;
}
.purchase-options-panel {
         background: #ffffff;
         /* border-radius: 24px; */
         box-shadow: 0 18px 40px rgba(12, 42, 59, 0.12);
         padding: 24px 24px 30px;
      }
      .purchase-options-title {
         font-size: 1.35rem;
         font-weight: 700;
         color: #0c2a3b;
         margin-bottom: 1.5rem;
      }
      .purchase-option-card {
         position: relative;
         border-radius: 20px;
         
         margin-bottom: 16px;
         background: #ffffff;
         box-shadow: 0px 4px 44px 0px #0000001A;
         cursor: pointer;
      }
      .purchase-option-card--tour {
         border-width: 2px;
      }
      .purchase-option-card--bundle {
         background: #B2F1EE;
         border-color: #B2F1EE;
      }
      /* .purchase-option-card.is-selected {
         border-color: #00b2b1;
         box-shadow: 0 16px 32px rgba(12, 42, 59, 0.18);
      } */
      .purchase-option-card.is-locked {
         opacity: 0.65;
         cursor: not-allowed;
      }
      .purchase-option-card__pill {
         display: inline-flex;
         align-items: center;
         padding: 6px 14px;
         border-radius: 19px 0px;
         background: #153948;
         color: #ffffff;
         font-size: 0.85rem;
         font-weight: 600;
         margin-bottom: 12px;
      }
      .purchase-option-card__pill--bundle {
         background: #ff9a1f;
      }
      .purchase-option-card__pill--collection {
         background: #123d5a;
      }
      .purchase-option-card__title {
         display: flex;
         align-items: flex-start;
         gap: 8px;
         font-weight: 600;
         font-size: 1rem;
         color: #0c2a3b;
         margin-bottom: 4px;
      }
      /* .purchase-option-card__step {
         color: #00b2b1;
         font-weight: 700;
      } */
      .purchase-option-card__meta {
         font-size: 0.85rem;
         font-weight: 600;
         color: #3a5566;
      }
      .purchase-option-card__pricing {
         display: flex;
         justify-content: space-between;
         align-items: center;
         flex-wrap: wrap;
         gap: 8px;
         margin: 6px 0 2px;
      }
      .purchase-option-card__price {
         font-size: 18px;
         font-weight: 700;
         color: #0c2a3b;
      }
      .purchase-option-card__full-price {
         color: #9aa8b6;
         font-size: 0.95rem;
         text-decoration: line-through;
      }
      .purchase-option-card__discount {
         font-size: 0.9rem;
         font-weight: 600;
         color: #00b2b1;
      }
      .purchase-option-card__status {
         font-size: 0.85rem;
         font-weight: 600;
         color: #00b2b1;
         margin-bottom: 4px;
      }
      .purchase-option-card__radio {
         /* position: absolute; */
         top: 24px;
         right: 24px;
         width: 22px;
         height: 22px;
         border: 2px solid #c4d3df;
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
      }
      .purchase-option-card__radio::after {
         content: "";
         width: 12px;
         height: 12px;
         border-radius: 50%;
         background: #00b2b1;
         transform: scale(0);
         transition: transform 0.2s ease;
      }
      .purchase-option-card.is-selected .purchase-option-card__radio {
         border-color: #00b2b1;
      }
      .purchase-option-card.is-selected .purchase-option-card__radio::after {
         transform: scale(1);
      }
      .purchase-option-card-bottom-img{
         text-align: right;
         padding: 0px 15px
      }
      .purchase-option-card__included {
         margin-top: 10px;
         /* border-top: 1px solid #e4edf5; */
         padding-top: 12px;
      }
      .purchase-option-card__included ul {
         margin-bottom: 0;
         display: grid;
         grid-template-columns: 47.5% 47.5%;
         gap: 10px;
         max-height: 450px;
         overflow: auto;
         scrollbar-width: none;   /* Firefox */
         -ms-overflow-style: none; /* IE/Edge legacy */
      }
      .purchase-option-card__included ul .tl-listing-price{
         color: #008DA3;
         font-size: 14px;
      }
      .purchase-option-card__included ul img{
         height: 100px;
         width: 134px;
         border-radius: 20px;
      }
      .purchase-option-card .more-less-tours-btn-link {
         display: inline-flex;
         align-items: center;
         font-weight: 600;
         font-size: 0.9rem;
         /* color: #0c7fb0; */
         margin-bottom: 6px;
      }
      .purchase-option-card .more-less-tours-btn-link i {
         margin-left: 4px;
      }
      .purchase-option-hidden-btn {
         position: absolute;
         width: 1px;
         height: 1px;
         overflow: hidden;
         clip: rect(0 0 0 0);
         clip-path: inset(50%);
      }
      .purchase-options-gift {
         display: flex;
         align-items: center;
         justify-content: space-between;
         border-radius: 18px;
         background: #B2F1EE;
         padding: 0 18px;
         margin: 12px 0 18px;
         border: 1px solid #B2F1EE;
         width: 100%;
         cursor: pointer;
         text-align: left;
         -webkit-appearance: none;
         appearance: none;
      }
      .purchase-options-gift:focus {
         outline: none;
         box-shadow: 0 0 0 3px rgba(0, 178, 177, 0.3);
      }
      .purchase-options-gift figure {
         margin: 0 12px 0 0;
      }
      .purchase-options-gift img {
         clip-path: inset(0 0 9px 0);
         position: relative;
         top: 9px;
      }
      .purchase-options-gift__text {
         flex: 1 1 auto;
      }
      .purchase-options-gift__text h6 {
         /* font-weight: 700; */
         margin-bottom: 2px;
         font-size: 1rem;
         color: #0c2a3b;
      }
      .purchase-options-gift__text p {
         margin: 0;
         font-size: 0.85rem;
         color: #4d5f6d;
      }
      .purchase-options-gift__cta{
         padding-right: 10px;
      }
      .purchase-options-gift__cta i {
         font-weight: 700;
         font-size: 24px;
         color: #0c2a3b;
      }
      .purchase-options-buy-btn {
         width: 50%;
         border: none;
         border-radius: 16px;
         background: #B2F1EE;
         min-width: 150px;
         /* color: #ffffff; */
         font-weight: 600;
         font-size: 1rem;
         padding: 14px 0;
         /* transition: opacity 0.2s ease; */
      }
      .purchase-options-buy-btn:disabled {
         opacity: 0.6;
         cursor: not-allowed;
      }
      .bundle-tour-detail{
         /* grid-column: 1 / span 3; */
         list-style-type: disc;
      }
      .purchase-option-collection-card__included .side-tour-list{
         list-style: none;
         padding-left: 0;
         margin-bottom: 0;
      }
      .purchase-option-collection-card__included .side-bundle-list{
         border-bottom: 1px solid #e4edf5;
      }
      .purchase-option-collection-card__included .side-bundle-list .side-bundle-list-detail{
         display: grid;
         grid-template-columns: auto auto auto;
         align-items: center;
         gap: 16px;
         padding: 16px 0;
         
      }
      .bundle-tour-detail li:last-child{
         padding-bottom: 20px;
      }
      .purchase-option-collection-card__included .side-bundle-list .side-bundle-list-detail:last-child{
         border-bottom: none;
      }
      .purchase-option-collection-card__included .side-bundle-thumb{
         width: 60px;
         height: 60px;
         border-radius: 14px;
         overflow: hidden;
         margin: 0;
         flex: 0 0 60px;
      }
      .purchase-option-collection-card__included .side-bundle-thumb img{
         width: 100%;
         height: 100%;
         object-fit: cover;
         display: block;
      }
      .purchase-option-collection-card__included .side-bundle-info{
         flex: 1 1 auto;
         min-width: 0;
      }
      .purchase-option-collection-card__included .side-bundle-title{
         font-size: 14px;
         font-weight: 600;
         color: #0c2a3b;
         margin-bottom: 6px;
      }
      .purchase-option-collection-card__included .side-bundle-toggle{
         font-size: 0.95rem;
         font-weight: 600;
         color: #0c7fb0;
         display: inline-flex;
         align-items: center;
         gap: 4px;
         text-decoration: none;
      }
      .purchase-option-collection-card__included .side-bundle-toggle i{
         transition: transform 0.2s ease;
      }
      .purchase-option-collection-card__included .side-bundle-price{
         font-size: 14px;
         font-weight: 700;
         color: #0c2a3b;
         white-space: nowrap;
      }
      #purchaseOptionBody .purchase-options-panel{ padding: 0px; }
      #purchaseOptionBody .purchase-options-title{ margin: 0px; }
/* Mobile layout using CSS Grid (no HTML/JS changes) */
@media (max-width: 768px) {
  .mini-audio-wrapper {
      bottom: 125px;
  }
  .mini-audio-container {
    /* switch to grid for mobile re-ordering */
    display: grid;
    grid-template-columns: auto 1fr auto;        /* play | content | close */
    grid-template-rows: auto auto;               /* top row, progress row */
    grid-template-areas:
      "play left close"
      "progress progress progress";
    gap: 8px 12px;
    align-items: center;
    padding: 12px 14px;
    min-width: 312px;
    max-width: 312px;
    height: auto;
    border-radius: 20px 20px 0px 0px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.25);
  }

  /* place elements into grid areas (no DOM change required) */
  .mini-play-btn       { grid-area: play;  justify-self: start; }
  .mini-left           { grid-area: left;  justify-self: stretch; }
  .mini-close-btn      { grid-area: close; justify-self: end; }
  .mini-progress-wrapper{ grid-area: progress; width: 91%; align-self: center; margin: 0px 16px; }

  /* Top-row layout for the text inside .mini-left */
  .mini-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    margin: 0 -6px;
  }

  .mini-now-playing {
    font-size: 11px;
    opacity: 0.6;
    margin-bottom: 2px;
  }

  .mini-title {
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Play button circle look & size */
  .mini-play-btn {
    background: none;
    border-radius: 50%;
    width: 41px;
    height: 41px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    flex-shrink: 0;
  }
  .mini-play-btn img { width: 41px; height: 41px; }

  /* Close button inline */
  .mini-close-btn {
    position: absolute;   /* ensure it's inline inside the grid cell */
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    top: -6px;
    right: -7px;
  }

  /* Progress row styling */
  .mini-progress-wrapper {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 4px;
  }

  .mini-time { display: none; font-size: 11px; opacity: 0.85; }
  .mini-progress { height: 6px; border-radius: 4px; overflow: hidden; }
  .mini-progress #miniProgressFill { height: 100%; width: 0%; }

  /* make sure images don't overflow */
  .mini-play-btn img,
  .mini-close-icon { max-width: 100%; height: auto; }
  .purchase-options-panel{ box-shadow: none; }
}
.page-overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0,0,0,0.6);
   display: none;
   z-index: 9999;
}

.overlay-content {
   background: #fff;
   width: 100%;
   height: 100%;
   position: relative;
   overflow-y: auto;
}

.overlay-close {
   position: fixed;
   top: 15px;
   right: 20px;
   font-size: 20px;
   background: none;
   border: none;
   cursor: pointer;
   z-index: 10000;
}
/* Show counter only on mobile screens (max-width 767px) */
@media (max-width: 767px) {
    #tourPreviewPlaylistRightSide{
      display: none;
    }
    .fixed-div{
        transform: translateX(-50%);
        left: 50%;
        bottom: 20%;
    }
    .slider-counter {
        display: block;
        position: absolute;
        bottom: 10px;
        right: 15px;
        background: #ffffff;
        padding: 4px 8px;
        border-radius: 20px;
        font-size: 12px;
        color: #000;
        z-index: 10;
    }
}