.tse-acf-text{display:block}
.tse-acf-image img{width:100%;height:auto;object-fit:cover;display:block}
.tse-acf-gallery-grid{display:grid;gap:16px}
.tse-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tse-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tse-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tse-acf-gallery-grid img{width:100%;height:260px;object-fit:cover;display:block;border-radius:12px}
.tse-acf-gallery-grid a{display:block;width:100%;height:100%}
.tse-acf-gallery-mosaic-wrap{position:relative;width:100%;overflow:hidden;border-radius:8px}
.tse-safari-mosaic{display:grid!important;grid-template-columns:2fr 1fr 1fr!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;height:400px!important;gap:0!important;overflow:hidden;border-radius:8px!important}
.tse-safari-mosaic .tse-acf-gallery-item{box-sizing:border-box;overflow:hidden;min-width:0;min-height:0}
.tse-safari-mosaic .tse-acf-gallery-item:first-child{grid-column:1!important;grid-row:1 / span 2!important;padding:0!important}
.tse-safari-mosaic .tse-acf-gallery-item:nth-child(2){grid-column:2!important;grid-row:1!important;padding:0 6px 5px 10px!important}
.tse-safari-mosaic .tse-acf-gallery-item:nth-child(3){grid-column:3!important;grid-row:1!important;padding:0 0 5px 6px!important}
.tse-safari-mosaic .tse-acf-gallery-item:nth-child(4){grid-column:2!important;grid-row:2!important;padding:5px 6px 0 10px!important}
.tse-safari-mosaic .tse-acf-gallery-item:nth-child(5){grid-column:3!important;grid-row:2!important;padding:5px 0 0 6px!important}
.tse-safari-mosaic .tse-acf-gallery-item:nth-child(n+6){display:none!important}
.tse-safari-mosaic .tse-acf-gallery-item a{display:block;width:100%;height:100%;overflow:hidden;border-radius:8px!important}
.tse-safari-mosaic .tse-acf-gallery-item:first-child a{border-radius:8px!important}
.tse-safari-mosaic img{width:100%;height:100%!important;object-fit:cover;display:block;border-radius:8px!important}

.tse-repeater{display:grid;gap:22px}
.tse-repeater-card{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.06)}
.tse-repeater-image img{width:100%;height:280px;object-fit:cover;display:block}
.tse-repeater-body{padding:22px}
.tse-repeater-index{display:inline-block;margin-bottom:10px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}
.tse-repeater-title{margin:0 0 12px;font-size:24px;line-height:1.25}
.tse-repeater-content{font-size:16px;line-height:1.7}
.tse-repeater-meta{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:16px 0 0}
.tse-repeater-meta li{padding:7px 11px;border-radius:999px;background:rgba(0,0,0,.06);font-size:14px}
.tse-repeater-timeline .tse-repeater-card{position:relative}
.tse-repeater-timeline .tse-repeater-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:currentColor;opacity:.25}

/* TSE Gallery Slider - fixed spacing, no image overlap */
.tse-acf-gallery-slider{--tse-gallery-gap:14px;position:relative;overflow:hidden;width:100%;height:400px;box-sizing:border-box;background:transparent;border-radius:8px}
.tse-acf-gallery-slider *{box-sizing:border-box}
.tse-acf-gallery-slider-track{display:flex;width:100%;height:100%;gap:var(--tse-gallery-gap);transition:transform .35s ease;will-change:transform;align-items:stretch}
.tse-acf-gallery-slide{min-width:calc((100% - (var(--tse-gallery-gap) * 2))/3);flex:0 0 calc((100% - (var(--tse-gallery-gap) * 2))/3);height:100%;border-radius:8px;overflow:hidden;background:#f4f4f4;position:relative}
.tse-acf-gallery-slide a{display:block;width:100%;height:100%;line-height:0}
.tse-acf-gallery-slide img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px;max-width:none}
.tse-gallery-arrow{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:999px;background:rgba(255,255,255,.45);color:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;line-height:1;transition:background .2s ease,transform .2s ease;text-shadow:0 1px 7px rgba(0,0,0,.55)}
.tse-gallery-arrow:hover{background:rgba(255,255,255,.75);transform:translateY(-50%) scale(1.04)}
.tse-gallery-arrow:disabled{opacity:.45;cursor:not-allowed}
.tse-gallery-prev{left:18px}.tse-gallery-next{right:18px}
.tse-gallery-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px;z-index:5;pointer-events:none}
.tse-gallery-dot{width:9px;height:9px;border:0;border-radius:999px;background:rgba(255,255,255,.55);padding:0;cursor:pointer;pointer-events:auto}.tse-gallery-dot.is-active{background:#fff;width:22px}


.tse-mobile-carousel-arrow{display:none;position:absolute;top:50%;z-index:6;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:999px;background:rgba(255,255,255,.55);color:#fff;align-items:center;justify-content:center;cursor:pointer;font-size:22px;line-height:1;text-shadow:0 1px 7px rgba(0,0,0,.55)}
.tse-mobile-carousel-prev{left:12px}.tse-mobile-carousel-next{right:12px}
.tse-gallery-layout-arrow{display:flex;position:absolute;top:50%;z-index:7;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:999px;background:rgba(0,0,0,.38);color:#fff;align-items:center;justify-content:center;cursor:pointer;font-size:24px;line-height:1;box-shadow:none;text-shadow:0 1px 7px rgba(0,0,0,.55);transition:background .2s ease,transform .2s ease,opacity .2s ease}
.tse-gallery-layout-arrow:hover{background:rgba(0,0,0,.58);transform:translateY(-50%) scale(1.04)}
.tse-gallery-layout-arrow:disabled{opacity:.45;cursor:not-allowed}
.tse-gallery-layout-prev{left:14px}.tse-gallery-layout-next{right:14px}

/* TSE Safari Highlights */
.tse-safari-highlights{background:transparent;color:#fff;padding:0 24px;display:block;width:100%;border-radius:0;box-sizing:border-box}
.tse-safari-highlight-item{display:flex;align-items:center;gap:13px;padding:18px 0;border-bottom:1px solid #e0e4e6;box-sizing:border-box}
.tse-safari-highlight-item:last-child{border-bottom:0}
.tse-safari-highlight-icon{background:#61b455;color:#fff;font-weight:800;line-height:18px;flex:0 0 17px;width:17px;height:17px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;text-align:center}
.tse-safari-highlight-text{color:#fff;font-size:17px;line-height:1.45;font-weight:400;letter-spacing:.01em}

@media(max-width:767px){
  .tse-grid-cols-2,.tse-grid-cols-3,.tse-grid-cols-4{grid-template-columns:1fr}
  .tse-acf-gallery-mosaic-wrap{border-radius:8px!important;overflow:hidden}
  .tse-safari-mosaic{display:flex!important;grid-template-columns:none!important;grid-template-rows:none!important;height:400px!important;gap:0!important;border-radius:8px!important;transition:transform .35s ease;will-change:transform;overflow:visible!important}
  .tse-safari-mosaic .tse-acf-gallery-item,
  .tse-safari-mosaic .tse-acf-gallery-item:first-child,
  .tse-safari-mosaic .tse-acf-gallery-item:nth-child(2),
  .tse-safari-mosaic .tse-acf-gallery-item:nth-child(3),
  .tse-safari-mosaic .tse-acf-gallery-item:nth-child(4),
  .tse-safari-mosaic .tse-acf-gallery-item:nth-child(5){grid-column:auto!important;grid-row:auto!important;flex:0 0 100%!important;min-width:100%!important;padding:0!important;display:block!important;border-radius:8px!important}
  .tse-safari-mosaic .tse-acf-gallery-item:nth-child(n+6){display:block!important}
  .tse-safari-mosaic img,.tse-safari-mosaic .tse-acf-gallery-item a{height:100%!important;border-radius:8px!important}
  .tse-gallery-layout-arrow{display:none!important}
  .tse-mobile-carousel-arrow{display:flex}
  .tse-acf-gallery-grid:not(.tse-safari-mosaic) img,.tse-repeater-image img{height:220px}
  .tse-repeater-body{padding:18px}.tse-repeater-title{font-size:21px}
  .tse-acf-gallery-slider{height:auto;--tse-gallery-gap:0px}
  .tse-acf-gallery-slider-track{gap:0}
  .tse-acf-gallery-slide{min-width:100%;flex-basis:100%;border-radius:12px}
  .tse-acf-gallery-slide img{height:100%;border-radius:12px}
  .tse-gallery-arrow{width:36px;height:36px;font-size:20px}.tse-gallery-prev{left:10px}.tse-gallery-next{right:10px}
  .tse-safari-highlights{padding:0 22px}.tse-safari-highlight-item{padding:17px 0}.tse-safari-highlight-text{font-size:16px}.tse-safari-highlight-icon{flex-basis:17px;width:17px;height:17px;line-height:17px;font-size:12px}
}


/* v2.0: force transparent mobile gallery navigation buttons with white icons */
@media(max-width:767px){
  .tse-mobile-carousel-arrow,
  .tse-mobile-carousel-arrow:hover,
  .tse-mobile-carousel-arrow:focus,
  .tse-mobile-carousel-arrow:active,
  .tse-acf-gallery-mosaic-wrap .tse-mobile-carousel-arrow,
  .tse-acf-gallery-mosaic-wrap .tse-mobile-carousel-arrow:hover,
  .tse-acf-gallery-mosaic-wrap .tse-mobile-carousel-arrow:focus,
  .tse-acf-gallery-mosaic-wrap .tse-mobile-carousel-arrow:active,
  .tse-gallery-layout-arrow,
  .tse-gallery-layout-arrow:hover,
  .tse-gallery-layout-arrow:focus,
  .tse-gallery-layout-arrow:active,
  .tse-gallery-arrow,
  .tse-gallery-arrow:hover,
  .tse-gallery-arrow:focus,
  .tse-gallery-arrow:active{
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    color: #ffffff !important;
    fill: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.7) !important;
  }
  .tse-mobile-carousel-arrow svg,
  .tse-mobile-carousel-arrow i,
  .tse-gallery-layout-arrow svg,
  .tse-gallery-layout-arrow i,
  .tse-gallery-arrow svg,
  .tse-gallery-arrow i{
    color:#ffffff !important;
    fill:#ffffff !important;
  }
}

/* Safari Itinerary Days */
.tse-itinerary-days {
    width: 100%;
}

.tse-itinerary-day {
    border-radius: 6px;
    padding: 30px;
    margin-bottom: 30px;
    box-sizing: border-box;
}

.tse-itinerary-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.tse-itinerary-day-title,
.tse-itinerary-side-heading {
    margin: 0;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
    color: inherit;
}

.tse-itinerary-divider {
    border-top: 1px solid #d9dee2;
    margin: 26px 0 28px;
}

.tse-itinerary-description,
.tse-itinerary-transfer-description {
    font-size: 14px;
    line-height: 1.75;
}

.tse-itinerary-description p,
.tse-itinerary-transfer-description p {
    margin: 0 0 12px;
}

.tse-itinerary-highlights {
    margin-top: 28px;
    font-size: 14px;
}

.tse-itinerary-highlights strong {
    display: block;
    margin-bottom: 14px;
}

.tse-itinerary-highlights ul,
.tse-itinerary-info {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tse-itinerary-highlights li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 8px 0;
    line-height: 1.5;
}

.tse-itinerary-small-icon {
    display: inline-flex;
    width: 14px;
    min-width: 14px;
    justify-content: center;
    color: #667085;
    font-size: 12px;
    line-height: 1.5;
}

.tse-itinerary-photo-title {
    margin: 26px 0 14px;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;
    color: inherit;
}

.tse-itinerary-photo-link {
    display: block;
    text-decoration: none !important;
}

.tse-itinerary-main-image {
    display: block;
    width: 100%;
    height: 263px;
    object-fit: cover;
    border-radius: 6px;
}

.tse-itinerary-accommodation-name {
    padding: 16px 0 22px;
    border-bottom: 1px solid #d9dee2;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}

.tse-itinerary-accommodation-name a {
    color: inherit;
    text-decoration: none;
}

.tse-itinerary-accommodation-name a:hover {
    text-decoration: underline;
}

.tse-itinerary-info {
    border-bottom: 1px solid #d9dee2;
    padding: 22px 0 24px;
    margin-bottom: 28px;
}

.tse-itinerary-info li {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.45;
}

.tse-itinerary-info li:last-child {
    margin-bottom: 0;
}

.tse-itinerary-info strong {
    font-weight: 700;
}

.tse-itinerary-transfer-box {
    border-radius: 6px;
    padding: 18px 16px;
}

.tse-itinerary-transfer-box h4 {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 700;
    color: inherit;
}

@media (max-width: 767px) {
    .tse-itinerary-day {
        padding: 15px;
        margin-bottom: 24px;
    }

    .tse-itinerary-grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .tse-itinerary-main-image {
        height: 240px;
    }
}

/* v2.6: accommodation gallery inside Safari Itinerary Days */
.tse-itinerary-accommodation-gallery,
.tse-itinerary-activity-gallery{
    height:263px;
    margin:0 0 0;
    border-radius:6px;
}
.tse-itinerary-accommodation-gallery .tse-acf-gallery-slider-track,
.tse-itinerary-activity-gallery .tse-acf-gallery-slider-track{
    gap:0;
}
.tse-itinerary-accommodation-gallery .tse-acf-gallery-slide,
.tse-itinerary-activity-gallery .tse-acf-gallery-slide{
    min-width:100%;
    flex:0 0 100%;
    height:100%;
    border-radius:6px;
}
.tse-itinerary-accommodation-gallery .tse-acf-gallery-slide img,
.tse-itinerary-activity-gallery .tse-acf-gallery-slide img{
    border-radius:6px;
}
.tse-itinerary-accommodation-gallery .tse-gallery-arrow,
.tse-itinerary-accommodation-gallery .tse-gallery-arrow:hover,
.tse-itinerary-accommodation-gallery .tse-gallery-arrow:focus,
.tse-itinerary-activity-gallery .tse-gallery-arrow,
.tse-itinerary-activity-gallery .tse-gallery-arrow:hover,
.tse-itinerary-activity-gallery .tse-gallery-arrow:focus{
    background:transparent!important;
    color:#ffffff!important;
    border:0!important;
    box-shadow:none!important;
    text-shadow:0 2px 8px rgba(0,0,0,.75)!important;
}

/* v2.7: itinerary accommodation gallery height + inherit website typography */
.tse-itinerary-day,
.tse-itinerary-day *{
    font-family: inherit;
}
.tse-itinerary-day{
    font-size: inherit;
}
.tse-itinerary-day-title,
.tse-itinerary-side-heading,
.tse-itinerary-photo-title,
.tse-itinerary-accommodation-name,
.tse-itinerary-transfer-box h4{
    font-family: inherit;
    font-size: inherit;
    color: inherit;
}
.tse-itinerary-description,
.tse-itinerary-transfer-description,
.tse-itinerary-highlights,
.tse-itinerary-info li{
    font-family: inherit;
    font-size: inherit;
}
.tse-itinerary-accommodation-gallery{
    height:350px!important;
}
.tse-itinerary-accommodation-gallery .tse-acf-gallery-slide,
.tse-itinerary-accommodation-gallery .tse-acf-gallery-slide a,
.tse-itinerary-accommodation-gallery .tse-acf-gallery-slide img,
.tse-itinerary-activity-gallery .tse-acf-gallery-slide img{
    height:350px!important;
}



/* v2.9: activity/day image gallery support inside Safari Itinerary Days */
.tse-itinerary-activity-gallery{
    width:100%;
    margin:0;
    border-radius:6px;
    overflow:hidden;
}
.tse-itinerary-activity-gallery .tse-acf-gallery-slide,
.tse-itinerary-activity-gallery .tse-acf-gallery-slide a,
.tse-itinerary-activity-gallery .tse-acf-gallery-slide img{
    width:100%;
    border-radius:6px;
}
.tse-itinerary-activity-gallery .tse-acf-gallery-slide img{
    display:block;
    object-fit:cover;
}

/* v2.8 Accommodation gallery lightbox navigation */
.tse-lightbox-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  background: rgba(0, 0, 0, 0.92) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}
.tse-lightbox-overlay[hidden] { display: none !important; }
.tse-lightbox-image {
  max-width: min(1100px, 92vw) !important;
  max-height: 86vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.45) !important;
}
.tse-lightbox-close,
.tse-lightbox-prev,
.tse-lightbox-next {
  position: fixed !important;
  z-index: 1000000 !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  cursor: pointer !important;
  line-height: 1 !important;
  padding: 10px !important;
  font-family: Arial, Helvetica, sans-serif !important;
}
.tse-lightbox-close { top: 18px !important; right: 22px !important; font-size: 42px !important; }
.tse-lightbox-prev,
.tse-lightbox-next { top: 50% !important; transform: translateY(-50%) !important; font-size: 58px !important; }
.tse-lightbox-prev { left: 22px !important; }
.tse-lightbox-next { right: 22px !important; }
.tse-lightbox-prev[disabled],
.tse-lightbox-next[disabled] { opacity: .25 !important; cursor: default !important; }
.tse-lightbox-counter {
  position: fixed !important;
  bottom: 18px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  background: rgba(0,0,0,.3) !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
}
@media (max-width: 767px) {
  .tse-lightbox-overlay { padding: 16px !important; }
  .tse-lightbox-prev { left: 8px !important; }
  .tse-lightbox-next { right: 8px !important; }
  .tse-lightbox-prev,
  .tse-lightbox-next { font-size: 44px !important; }
  .tse-lightbox-close { top: 10px !important; right: 12px !important; font-size: 36px !important; }
}


/* v3.0: Safari Itinerary Days container spacing, typography, and activity image height */
.tse-itinerary-day{
    padding:30px;
    font-family:'Jost', Arial, sans-serif!important;
    font-size:17px!important;
    line-height:1.7!important;
}
.tse-itinerary-day *{
    font-family:'Jost', Arial, sans-serif!important;
}
.tse-itinerary-day-title,
.tse-itinerary-side-heading,
.tse-itinerary-photo-title,
.tse-itinerary-accommodation-name,
.tse-itinerary-transfer-box h4{
    font-family:'Jost', Arial, sans-serif!important;
}
.tse-itinerary-description,
.tse-itinerary-description p,
.tse-itinerary-transfer-description,
.tse-itinerary-transfer-description p,
.tse-itinerary-highlights,
.tse-itinerary-highlights li,
.tse-itinerary-info li{
    font-size:17px!important;
}
.tse-itinerary-activity-gallery,
.tse-itinerary-activity-gallery .tse-acf-gallery-slider-viewport,
.tse-itinerary-activity-gallery .tse-acf-gallery-slider-track,
.tse-itinerary-activity-gallery .tse-acf-gallery-slide,
.tse-itinerary-activity-gallery .tse-acf-gallery-slide a,
.tse-itinerary-activity-gallery .tse-acf-gallery-slide img,
.tse-itinerary-main-image{
    height:350px!important;
}
.tse-itinerary-activity-gallery .tse-acf-gallery-slide img,
.tse-itinerary-main-image{
    object-fit:cover!important;
}
@media (max-width: 767px){
    .tse-itinerary-day{
        padding:15px;
        font-size:17px!important;
    }
}


/* v3.1 HARD FIX: force Safari Itinerary Days spacing + Jost + activity image height */
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-day,
.tse-itinerary-days .tse-itinerary-day{
    padding:30px;
    font-family:'Jost', Arial, sans-serif!important;
    font-size:17px!important;
    line-height:1.7!important;
    box-sizing:border-box!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-day *,
.tse-itinerary-days .tse-itinerary-day *{
    font-family:'Jost', Arial, sans-serif!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-main-image,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slider-viewport,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slider-track,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide a,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide img,
.tse-itinerary-days .tse-itinerary-main-image,
.tse-itinerary-days .tse-itinerary-activity-gallery,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slider-viewport,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slider-track,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide a,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide img{
    height:350px!important;
    min-height:350px!important;
    max-height:350px!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-main-image,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery img,
.tse-itinerary-days .tse-itinerary-main-image,
.tse-itinerary-days .tse-itinerary-activity-gallery img{
    object-fit:cover!important;
}
@media (max-width:767px){
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-day,
    .tse-itinerary-days .tse-itinerary-day{
        padding:15px;
        font-size:17px!important;
    }
}


/* v3.2: add breathing space under OVERNIGHT & MEAL PLAN heading */
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-side-heading,
.tse-itinerary-days .tse-itinerary-side-heading{
    padding-bottom:10px!important;
    margin-bottom:10px!important;
}

/* v3.3 accommodation amenities inside itinerary meta list */
.tse-itinerary-day .tse-itinerary-amenities-row {
    align-items: flex-start;
}
.tse-itinerary-day .tse-itinerary-amenities-list {
    line-height: 1.65;
}

/* v3.4: cleaner accommodation meta rows + clickable review/location links */
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-info,
.tse-itinerary-days .tse-itinerary-info{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:18px 0 22px!important;
    border-top:1px solid rgba(0,0,0,.08)!important;
    border-bottom:1px solid rgba(0,0,0,.10)!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-info li,
.tse-itinerary-days .tse-itinerary-info li{
    display:grid!important;
    grid-template-columns:22px max-content minmax(0,1fr)!important;
    gap:8px!important;
    align-items:start!important;
    margin:0!important;
    padding:8px 0!important;
    line-height:1.55!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-small-icon,
.tse-itinerary-days .tse-itinerary-small-icon{
    width:18px!important;
    min-width:18px!important;
    height:18px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    margin-top:2px!important;
    opacity:.85!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-info strong,
.tse-itinerary-days .tse-itinerary-info strong{
    font-weight:700!important;
    white-space:nowrap!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-meta-value,
.tse-itinerary-days .tse-itinerary-meta-value{
    min-width:0!important;
    overflow-wrap:anywhere!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-meta-link,
.tse-itinerary-days .tse-itinerary-meta-link{
    color:inherit!important;
    text-decoration:underline!important;
    text-underline-offset:3px!important;
    font-weight:500!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-meta-link:hover,
.tse-itinerary-days .tse-itinerary-meta-link:hover{
    opacity:.72!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-amenities-row,
.tse-itinerary-days .tse-itinerary-amenities-row{
    padding-top:10px!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-amenities-list,
.tse-itinerary-days .tse-itinerary-amenities-list{
    display:block!important;
    line-height:1.65!important;
}
@media (max-width:767px){
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-info li,
    .tse-itinerary-days .tse-itinerary-info li{
        grid-template-columns:20px max-content minmax(0,1fr)!important;
        gap:7px!important;
    }
}


/* v3.5: review link display + hard itinerary container padding fix */
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-day,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-day,
.tse-itinerary-days > .tse-itinerary-day,
.tse-itinerary-day{
    padding:30px;
    box-sizing:border-box!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-review-row .tse-itinerary-review-value,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-review-row .tse-itinerary-review-value,
.tse-itinerary-days .tse-itinerary-review-row .tse-itinerary-review-value{
    display:block!important;
    min-width:0!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-review-link,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-review-link,
.tse-itinerary-days .tse-itinerary-review-link{
    display:inline-block!important;
    color:inherit!important;
    text-decoration:underline!important;
    text-underline-offset:3px!important;
    overflow-wrap:anywhere!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-review-link[href^="http"]::after,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-review-link[href^="http"]::after,
.tse-itinerary-days .tse-itinerary-review-link[href^="http"]::after{
    content:""!important;
}
@media (max-width:767px){
    .elementor-widget-tse_safari_itinerary_days .tse-itinerary-day,
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-day,
    .tse-itinerary-days > .tse-itinerary-day,
    .tse-itinerary-day{
        padding:15px;
    }
}


/* v3.6: TSE ACF Gallery Grid native Elementor lightbox arrow overrides */
.elementor-lightbox .elementor-swiper-button,
.elementor-lightbox .swiper-button-prev,
.elementor-lightbox .swiper-button-next,
.dialog-lightbox-widget .elementor-swiper-button,
.dialog-lightbox-widget .swiper-button-prev,
.dialog-lightbox-widget .swiper-button-next,
.dialog-lightbox-widget .elementor-lightbox .elementor-swiper-button,
.dialog-lightbox-widget .elementor-lightbox .swiper-button-prev,
.dialog-lightbox-widget .elementor-lightbox .swiper-button-next{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:54px!important;
  height:66px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#ffffff!important;
  fill:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.elementor-lightbox .elementor-swiper-button:hover,
.elementor-lightbox .elementor-swiper-button:focus,
.elementor-lightbox .elementor-swiper-button:active,
.elementor-lightbox .swiper-button-prev:hover,
.elementor-lightbox .swiper-button-prev:focus,
.elementor-lightbox .swiper-button-prev:active,
.elementor-lightbox .swiper-button-next:hover,
.elementor-lightbox .swiper-button-next:focus,
.elementor-lightbox .swiper-button-next:active,
.dialog-lightbox-widget .elementor-swiper-button:hover,
.dialog-lightbox-widget .elementor-swiper-button:focus,
.dialog-lightbox-widget .elementor-swiper-button:active,
.dialog-lightbox-widget .swiper-button-prev:hover,
.dialog-lightbox-widget .swiper-button-prev:focus,
.dialog-lightbox-widget .swiper-button-prev:active,
.dialog-lightbox-widget .swiper-button-next:hover,
.dialog-lightbox-widget .swiper-button-next:focus,
.dialog-lightbox-widget .swiper-button-next:active{
  border:0!important;
  outline:0!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#ffffff!important;
  fill:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.elementor-lightbox .elementor-swiper-button i,
.elementor-lightbox .elementor-swiper-button svg,
.elementor-lightbox .elementor-swiper-button svg *,
.elementor-lightbox .swiper-button-prev::after,
.elementor-lightbox .swiper-button-next::after,
.dialog-lightbox-widget .elementor-swiper-button i,
.dialog-lightbox-widget .elementor-swiper-button svg,
.dialog-lightbox-widget .elementor-swiper-button svg *,
.dialog-lightbox-widget .swiper-button-prev::after,
.dialog-lightbox-widget .swiper-button-next::after{
  color:#ffffff!important;
  fill:#ffffff!important;
  stroke:#ffffff!important;
  text-shadow:none!important;
}
.elementor-lightbox .elementor-swiper-button-prev,
.dialog-lightbox-widget .elementor-swiper-button-prev{
  left:24px!important;
}
.elementor-lightbox .elementor-swiper-button-next,
.dialog-lightbox-widget .elementor-swiper-button-next{
  right:24px!important;
}
.elementor-lightbox .dialog-close-button,
.dialog-lightbox-widget .dialog-close-button{
  border:0!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#ffffff!important;
  fill:#ffffff!important;
  text-shadow:none!important;
}
@media(max-width:767px){
  .elementor-lightbox .elementor-swiper-button,
  .elementor-lightbox .swiper-button-prev,
  .elementor-lightbox .swiper-button-next,
  .dialog-lightbox-widget .elementor-swiper-button,
  .dialog-lightbox-widget .swiper-button-prev,
  .dialog-lightbox-widget .swiper-button-next{
    width:44px!important;
    height:56px!important;
    border:0!important;
    background:none!important;
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    color:#ffffff!important;
    fill:#ffffff!important;
  }
  .elementor-lightbox .elementor-swiper-button-prev,
  .dialog-lightbox-widget .elementor-swiper-button-prev{
    left:10px!important;
  }
  .elementor-lightbox .elementor-swiper-button-next,
  .dialog-lightbox-widget .elementor-swiper-button-next{
    right:10px!important;
  }
}


/* v3.6: TSE Gallery Grid forced inside-controls for native Elementor lightbox */
.dialog-lightbox-widget .tse-elementor-lightbox-nav,
.elementor-lightbox .tse-elementor-lightbox-nav{
  position:fixed!important;
  top:50%!important;
  z-index:9999999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:54px!important;
  height:66px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#ffffff!important;
  fill:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
  transform:translateY(-50%)!important;
  cursor:pointer!important;
  font-size:42px!important;
  line-height:1!important;
  font-weight:300!important;
}
.dialog-lightbox-widget .tse-elementor-lightbox-nav:hover,
.dialog-lightbox-widget .tse-elementor-lightbox-nav:focus,
.dialog-lightbox-widget .tse-elementor-lightbox-nav:active,
.elementor-lightbox .tse-elementor-lightbox-nav:hover,
.elementor-lightbox .tse-elementor-lightbox-nav:focus,
.elementor-lightbox .tse-elementor-lightbox-nav:active{
  border:0!important;
  outline:0!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#ffffff!important;
  fill:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.dialog-lightbox-widget .tse-elementor-lightbox-nav-prev,
.elementor-lightbox .tse-elementor-lightbox-nav-prev{
  left:24px!important;
}
.dialog-lightbox-widget .tse-elementor-lightbox-nav-next,
.elementor-lightbox .tse-elementor-lightbox-nav-next{
  right:24px!important;
}
@media(max-width:767px){
  .dialog-lightbox-widget .tse-elementor-lightbox-nav,
  .elementor-lightbox .tse-elementor-lightbox-nav{
    width:44px!important;
    height:56px!important;
    font-size:34px!important;
    background:none!important;
    background-color:transparent!important;
    box-shadow:none!important;
    color:#ffffff!important;
  }
  .dialog-lightbox-widget .tse-elementor-lightbox-nav-prev,
  .elementor-lightbox .tse-elementor-lightbox-nav-prev{
    left:10px!important;
  }
  .dialog-lightbox-widget .tse-elementor-lightbox-nav-next,
  .elementor-lightbox .tse-elementor-lightbox-nav-next{
    right:10px!important;
  }
}


/* v3.6.1: hide desktop mosaic gallery layout arrows; lightbox arrows remain inside Elementor preview */
.tse-acf-gallery-mosaic-wrap .tse-gallery-layout-arrow{
  display:none !important;
}

.tse-safari-destinations.tse-safari-destinations-no-dividers .tse-safari-highlight-item{border-bottom:0!important}

/* v3.6.6: mobile-only side padding correction for Safari Highlights and Destinations lists */
@media (max-width:767px){
  .elementor-widget-tse_safari_highlights .tse-safari-highlights,
  .elementor-widget-tse-safari-highlights .tse-safari-highlights,
  .tse-safari-highlights,
  .elementor-widget-tse_safari_destinations .tse-safari-destinations,
  .elementor-widget-tse-safari-destinations .tse-safari-destinations,
  .tse-safari-destinations{
    padding-left:0!important;
    padding-right:0!important;
  }

  .elementor-widget-tse_safari_highlights .tse-safari-highlight-item,
  .elementor-widget-tse-safari-highlights .tse-safari-highlight-item,
  .tse-safari-highlights .tse-safari-highlight-item,
  .elementor-widget-tse_safari_destinations .tse-safari-destinations .tse-safari-highlight-item,
  .elementor-widget-tse-safari-destinations .tse-safari-destinations .tse-safari-highlight-item,
  .tse-safari-destinations .tse-safari-highlight-item{
    padding-left:0!important;
    padding-right:0!important;
  }
}



/* v3.6.8: TSE Safari Itinerary Days padding is controlled from the widget Container Padding responsive control. */


/* v3.7.3: Life in the Safari desktop carousel with editable per-view count, gap, image sizing, and arrows */
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery,
.tse-itinerary-days .tse-itinerary-activity-gallery{
    --tse-life-safari-slides:3;
    --tse-life-safari-gap:10px;
    --tse-life-safari-slide-width:calc((100% - 20px) / 3);
    height:350px;
    min-height:350px;
    max-height:350px;
    overflow:hidden!important;
    border-radius:6px!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slider-track,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slider-track{
    display:flex!important;
    gap:var(--tse-life-safari-gap)!important;
    height:100%!important;
    align-items:stretch!important;
    transition:transform .35s ease!important;
    will-change:transform!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide{
    min-width:var(--tse-life-safari-slide-width)!important;
    flex:0 0 var(--tse-life-safari-slide-width)!important;
    width:auto!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    border-radius:6px!important;
    overflow:hidden!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide a,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide img,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide a,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide img{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    border-radius:6px!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide img,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-acf-gallery-slide img{
    object-fit:cover!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery .tse-gallery-arrow,
.tse-itinerary-days .tse-itinerary-activity-gallery .tse-gallery-arrow{
    display:flex!important;
}
@media (max-width:767px){
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-activity-gallery,
    .tse-itinerary-days .tse-itinerary-activity-gallery{
        --tse-life-safari-slides:1;
        --tse-life-safari-gap:0px;
        --tse-life-safari-slide-width:100%;
        height:240px;
        min-height:240px;
        max-height:240px;
        overflow:hidden!important;
    }
}

/* v3.7.2: Life in the Safari layout only - place the gallery below the two itinerary columns */
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-grid > .tse-itinerary-life-safari-full,
.tse-itinerary-days .tse-itinerary-grid > .tse-itinerary-life-safari-full{
    grid-column:1 / -1!important;
    width:100%!important;
    margin-top:24px!important;
    clear:both!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-grid > .tse-itinerary-life-safari-full .tse-itinerary-photo-title,
.tse-itinerary-days .tse-itinerary-grid > .tse-itinerary-life-safari-full .tse-itinerary-photo-title{
    margin:0 0 14px!important;
}
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-grid > .tse-itinerary-life-safari-full .tse-itinerary-activity-gallery,
.tse-itinerary-days .tse-itinerary-grid > .tse-itinerary-life-safari-full .tse-itinerary-activity-gallery{
    width:100%!important;
}
@media (max-width:767px){
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-grid > .tse-itinerary-life-safari-full,
    .tse-itinerary-days .tse-itinerary-grid > .tse-itinerary-life-safari-full{
        grid-column:1!important;
        margin-top:var(--tse-last-pricing-sticky-top, 30px)!important;
    }
}

/* v3.7.5: Last itinerary day sticky pricing box with editable top distance and specialist image */
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-day--last .tse-itinerary-right,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-day--last .tse-itinerary-right,
.tse-itinerary-days .tse-itinerary-day--last .tse-itinerary-right{
    position:relative!important;
    align-self:stretch!important;
    min-height:100%!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-box,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-box,
.tse-itinerary-days .tse-itinerary-last-pricing-box{
    position:sticky!important;
    top:var(--tse-last-pricing-sticky-top, 30px)!important;
    width:100%!important;
    overflow:hidden!important;
    border-radius:6px!important;
    background:#f5f7f8!important;
    box-shadow:none!important;
    z-index:2!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-heading,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-heading,
.tse-itinerary-days .tse-itinerary-last-pricing-heading{
    margin:0!important;
    padding:9px 16px!important;
    background:#63a821;
    color:#ffffff!important;
    text-align:center!important;
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:700!important;
    text-transform:uppercase!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-body,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-body,
.tse-itinerary-days .tse-itinerary-last-pricing-body{
    padding:18px 22px 22px!important;
    text-align:center!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-content,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-content,
.tse-itinerary-days .tse-itinerary-last-pricing-content{
    margin:0 0 18px!important;
    color:inherit!important;
    font-size:inherit!important;
    line-height:1.65!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-content p,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-content p,
.tse-itinerary-days .tse-itinerary-last-pricing-content p{
    margin:0 0 10px!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-content p:last-child,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-content p:last-child,
.tse-itinerary-days .tse-itinerary-last-pricing-content p:last-child{
    margin-bottom:0!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-action,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-action,
.tse-itinerary-days .tse-itinerary-last-pricing-action{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    width:100%!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-specialist,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-specialist,
.tse-itinerary-days .tse-itinerary-last-pricing-specialist{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:999px!important;
    object-fit:cover!important;
    display:block!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-button,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-button,
.tse-itinerary-days .tse-itinerary-last-pricing-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:220px!important;
    min-height:34px!important;
    padding:8px 22px!important;
    border-radius:999px!important;
    background:#63a821;
    color:#ffffff!important;
    text-decoration:none!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:700!important;
    border:0!important;
    box-shadow:none!important;
}
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-button:hover,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-button:hover,
.tse-itinerary-days .tse-itinerary-last-pricing-button:hover{
    color:#ffffff!important;
    text-decoration:none!important;
    filter:brightness(.96);
}
@media (max-width:767px){
    .elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-box,
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-box,
    .tse-itinerary-days .tse-itinerary-last-pricing-box{
        position:static!important;
        top:auto!important;
    }
    .elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-body,
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-body,
    .tse-itinerary-days .tse-itinerary-last-pricing-body{
        padding:16px!important;
    }
    .elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-action,
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-action,
    .tse-itinerary-days .tse-itinerary-last-pricing-action{
        gap:10px!important;
    }
    .elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-specialist,
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-specialist,
    .tse-itinerary-days .tse-itinerary-last-pricing-specialist{
        width:40px!important;
        height:40px!important;
        min-width:40px!important;
    }
    .elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-button,
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-button,
    .tse-itinerary-days .tse-itinerary-last-pricing-button{
        width:auto!important;
        flex:1 1 auto!important;
        min-width:0!important;
    }
}


/* v3.8.1: custom arrow bullet styling only for itinerary description text lists */
.tse-itinerary-description ul,
.tse-itinerary-description ol{
    list-style:none !important;
    padding-left:0 !important;
    margin-left:0 !important;
}

.tse-itinerary-description li.tse-itinerary-custom-bullet-item{
    position:relative !important;
    display:block !important;
    padding-left:25px !important;
    line-height:1.7 !important;
    margin:0 0 12px !important;
    --tse-itinerary-text-bullet-size:8px;
}

.tse-itinerary-description li.tse-itinerary-custom-bullet-item::before{
    content:'' !important;
    position:absolute !important;
    left:0 !important;
    top:0.55em !important;
    width:0 !important;
    height:0 !important;
    border-left:var(--tse-itinerary-text-bullet-size) solid #76b746 !important;
    border-top:calc(var(--tse-itinerary-text-bullet-size) * 0.625) solid transparent !important;
    border-bottom:calc(var(--tse-itinerary-text-bullet-size) * 0.625) solid transparent !important;
}


/* v3.9.2: TSE FAQ Accordion widget - smooth, template-safe styles */
.tse-faq-accordion{
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
}
.tse-faq-accordion-item{
    border:0;
    border-radius:0;
    overflow:visible;
    background:transparent;
}
.tse-faq-accordion-question{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:64px;
    padding:18px 28px;
    border:0 !important;
    border-radius:10px;
    background:#f7f8fa;
    color:#111111;
    box-shadow:none !important;
    text-align:left;
    cursor:pointer;
    font-weight:700;
    line-height:1.35;
    appearance:none;
    transition:background-color .22s ease, color .22s ease;
}
.tse-faq-accordion-question:hover,
.tse-faq-accordion-question:focus{
    background:#f7f8fa;
    color:#111111;
    box-shadow:none !important;
}
.tse-faq-accordion-question:focus-visible{
    outline:2px solid currentColor;
    outline-offset:3px;
}
.tse-faq-accordion-question-text{
    display:block;
}
.tse-faq-accordion-icon{
    position:relative;
    width:18px;
    height:18px;
    min-width:18px;
    color:inherit;
}
.tse-faq-accordion-icon::before{
    content:'';
    position:absolute;
    left:50%;
    top:50%;
    width:12px;
    height:12px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translate(-50%, -62%) rotate(45deg);
    transition:transform .28s ease;
}
.tse-faq-accordion-item.is-open .tse-faq-accordion-icon::before{
    transform:translate(-50%, -38%) rotate(225deg);
}
.tse-faq-accordion-answer{
    display:block;
    overflow:hidden;
    max-height:0;
    opacity:0;
    transition:max-height .32s ease, opacity .24s ease;
    will-change:max-height, opacity;
}
.tse-faq-accordion-answer[hidden]{
    display:none;
}
.tse-faq-accordion-item.is-open .tse-faq-accordion-answer{
    opacity:1;
}
.tse-faq-accordion-answer-inner{
    padding:28px 70px 34px;
    background:#ffffff;
    color:#4b5563;
    line-height:1.7;
}
.tse-faq-accordion-answer-inner p:first-child{
    margin-top:0;
}
.tse-faq-accordion-answer-inner p:last-child{
    margin-bottom:0;
}
@media (max-width:767px){
    .tse-faq-accordion-question{
        min-height:54px;
        padding:15px 18px;
        border-radius:8px;
    }
    .tse-faq-accordion-answer-inner{
        padding:20px 18px 26px;
    }
}


/* v3.9.3: Last day pricing mobile specialist text and editable specialist image size */
.elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-mobile-text,
.elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-mobile-text,
.tse-itinerary-days .tse-itinerary-last-pricing-mobile-text{
    display:none!important;
}
@media (max-width:767px){
    .elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-action,
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-action,
    .tse-itinerary-days .tse-itinerary-last-pricing-action{
        flex-direction:column!important;
        gap:22px!important;
        align-items:center!important;
    }
    .elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-specialist,
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-specialist,
    .tse-itinerary-days .tse-itinerary-last-pricing-specialist{
        width:120px!important;
        height:120px!important;
        min-width:120px!important;
        margin:22px auto 0!important;
    }
    .elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-mobile-text,
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-mobile-text,
    .tse-itinerary-days .tse-itinerary-last-pricing-mobile-text{
        display:block!important;
        max-width:420px!important;
        margin:0 auto!important;
        color:#111827;
        font-size:20px;
        line-height:1.7!important;
        font-weight:500!important;
        text-align:center!important;
    }
    .elementor-widget-tse_safari_itinerary_days .tse-itinerary-last-pricing-button,
    .elementor-widget-tse-safari-itinerary-days .tse-itinerary-last-pricing-button,
    .tse-itinerary-days .tse-itinerary-last-pricing-button{
        width:100%!important;
        max-width:430px!important;
        min-height:54px!important;
        font-size:17px!important;
    }
}


/* v3.9.4: TSE Recommended Accommodations */
.tse-recommended-accommodations{
    width:100%;
}
.tse-recommended-accommodations-title{
    margin:0 0 22px;
    line-height:1.25;
}
.tse-recommended-accommodations-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}
.tse-recommended-accommodation-card{
    overflow:hidden;
    border-radius:16px;
    background:#ffffff;
    box-shadow:0 10px 28px rgba(15, 23, 42, .08);
}
.tse-recommended-accommodation-image{
    display:block;
    overflow:hidden;
}
.tse-recommended-accommodation-image img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
}
.tse-recommended-accommodation-content{
    padding:18px;
}
.tse-recommended-accommodation-name{
    margin:0 0 8px;
    font-size:20px;
    line-height:1.25;
}
.tse-recommended-accommodation-name a{
    color:inherit;
    text-decoration:none;
}
.tse-recommended-accommodation-location{
    margin:0 0 10px;
    font-size:14px;
    line-height:1.45;
    opacity:.78;
}
.tse-recommended-accommodation-excerpt{
    margin:0 0 16px;
    line-height:1.65;
}
.tse-recommended-accommodation-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:10px 18px;
    border-radius:999px;
    background:#63a821;
    color:#ffffff!important;
    text-decoration:none!important;
    font-weight:700;
    line-height:1.2;
}
.tse-recommended-accommodation-button:hover{
    color:#ffffff!important;
    text-decoration:none!important;
    filter:brightness(.96);
}
@media (max-width:1024px){
    .tse-recommended-accommodations-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:767px){
    .tse-recommended-accommodations-grid{
        grid-template-columns:1fr;
    }
}


/* v3.9.5: Clean accommodation amenities card layout */
.tse-itinerary-amenities-row--cards{
    display:block!important;
    width:100%!important;
}
.tse-itinerary-amenities-heading{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    margin:0 0 10px!important;
    line-height:1.35!important;
}
.tse-itinerary-amenities-heading strong{
    font-weight:700!important;
}
.tse-itinerary-amenities-grid{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    width:100%!important;
    margin:0!important;
}
.tse-itinerary-amenity-card{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    padding:10px 12px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#f5f7f8;
    color:#1f2933;
    line-height:1.35!important;
    box-sizing:border-box!important;
}
.tse-itinerary-amenity-card .tse-itinerary-small-icon{
    color:#63a821;
}
.tse-itinerary-amenity-card .tse-itinerary-small-icon svg{
    fill:#63a821;
}
.tse-itinerary-amenity-card-text{
    display:block!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
    font-size:13px!important;
}
@media (max-width:767px){
    .tse-itinerary-amenities-grid{
        grid-template-columns:1fr;
    }
    .tse-itinerary-amenity-card{
        padding:10px 11px;
    }
}


/* v3.9.7: Clean accommodation location row */
.tse-itinerary-meta-row.tse-itinerary-meta-link-row:first-child{
    align-items:flex-start!important;
}
.tse-itinerary-meta-row.tse-itinerary-meta-link-row:first-child strong{
    display:inline-block!important;
}
.tse-itinerary-meta-row.tse-itinerary-meta-link-row:first-child .tse-itinerary-meta-link{
    font-weight:600!important;
    text-decoration:none!important;
}
.tse-itinerary-meta-row.tse-itinerary-meta-link-row:first-child .tse-itinerary-meta-link:hover{
    text-decoration:underline!important;
}


/* v3.9.8: Standalone Accommodation Amenities Elementor element */
.tse-accommodation-amenities-element{
    width:100%;
    padding:24px;
    border-radius:18px;
    background:#ffffff;
    box-sizing:border-box;
}
.tse-accommodation-location-section{
    margin:0 0 24px;
}
.tse-accommodation-location-heading,
.tse-accommodation-amenities-heading{
    margin:0 0 14px;
    color:#111827;
    line-height:1.25;
}
.tse-accommodation-location-box{
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 16px;
    border:1px solid #e5e7eb;
    border-radius:14px;
    background:#f5f7f8;
    color:#1f2933;
    line-height:1.55;
}
.tse-accommodation-location-box a{
    color:inherit;
    text-decoration:none;
    font-weight:600;
}
.tse-accommodation-location-box a:hover{
    text-decoration:underline;
}
.tse-accommodation-location-icon,
.tse-accommodation-amenity-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    min-width:20px;
    height:20px;
    color:#63a821;
    font-weight:800;
    line-height:1;
}
.tse-accommodation-amenities-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
}
.tse-accommodation-amenity-card{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    padding:12px 14px;
    border:1px solid #e5e7eb;
    border-radius:14px;
    background:#f5f7f8;
    color:#1f2933;
    line-height:1.4;
    box-sizing:border-box;
}
.tse-accommodation-amenity-card span:last-child{
    min-width:0;
    overflow-wrap:anywhere;
}
@media (max-width:1024px){
    .tse-accommodation-amenities-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:767px){
    .tse-accommodation-amenities-element{
        padding:18px;
    }
    .tse-accommodation-amenities-grid{
        grid-template-columns:1fr;
    }
}


/* v3.9.9: Tours cards with frontend duration and price filter */
.tse-tours-filter-wrap{width:100%}.tse-tours-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.tse-tour-card{overflow:hidden;border:1px solid #eadfd4;border-radius:18px;background:#fff;box-shadow:none;transition:transform .25s ease,opacity .2s ease}.tse-tour-card.is-hidden{display:none!important}.tse-tour-card-image{position:relative;display:block;min-height:220px;overflow:hidden;text-decoration:none!important}.tse-tour-card-image img{display:block;width:100%;height:260px;object-fit:cover;transition:transform .35s ease}.tse-tour-card:hover .tse-tour-card-image img{transform:scale(1.035)}.tse-tour-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.55));z-index:1}.tse-tour-card-badge{position:absolute;top:24px;left:28px;z-index:2;display:inline-flex;align-items:center;justify-content:center;padding:9px 20px;border-radius:999px;background:#df7b47;color:#fff;font-size:13px;line-height:1;font-weight:800;letter-spacing:3px;text-transform:uppercase}.tse-tour-card-title{position:absolute;left:28px;right:28px;bottom:28px;z-index:2;margin:0;color:#fff;font-size:26px;line-height:1.15;font-weight:500}.tse-tour-card-body{padding:26px 30px 28px}.tse-tour-card-info{display:flex;gap:14px;margin:0 0 8px;color:#6b625e;font-size:16px;line-height:1.45}.tse-tour-card-info strong{min-width:118px;color:#1f1713;font-weight:800}.tse-tour-card-info span{flex:1}.tse-tour-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:28px;padding-top:26px;border-top:1px solid #eadfd4}.tse-tour-card-price-from{margin:0 0 7px;color:#6b625e;font-size:13px;line-height:1;letter-spacing:3px}.tse-tour-card-price{color:#1f1713;font-size:34px;line-height:1;font-weight:500}.tse-tour-card-price-suffix{margin-top:8px;color:#6b625e;font-size:14px;line-height:1.2}.tse-tour-card-button{display:inline-flex;align-items:center;gap:10px;color:#df7b47!important;text-decoration:none!important;font-size:14px;line-height:1.2;font-weight:800;letter-spacing:3px;text-transform:uppercase;white-space:nowrap}.tse-tour-card-button-arrow{font-size:22px;line-height:1}.tse-tours-filter-box{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(280px,1.4fr);gap:50px;margin:0 auto 34px;padding:46px 54px;border:1px solid #eadfd4;border-radius:14px;background:#fff;color:#1f1713}.tse-tours-filter-heading{margin:0 0 28px;font-size:20px;line-height:1.25;font-weight:700}.tse-tours-filter-duration{display:flex;flex-wrap:wrap;gap:18px 28px}.tse-tours-filter-duration .tse-tours-filter-heading{flex:0 0 100%}.tse-tours-filter-checkbox{display:inline-flex;align-items:center;gap:12px;cursor:pointer;color:inherit}.tse-tours-filter-checkbox input{width:22px;height:22px;margin:0}.tse-tours-filter-checkbox span{font-size:18px;line-height:1.2}.tse-tours-filter-range-wrap{width:100%}.tse-tours-filter-range{width:100%;height:8px;border-radius:999px;background:#88c846;outline:none;appearance:none;-webkit-appearance:none}.tse-tours-filter-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:28px;height:28px;border:4px solid #fff;border-radius:999px;background:#63a821;box-shadow:0 0 0 3px #63a821;cursor:pointer}.tse-tours-filter-range::-moz-range-thumb{width:28px;height:28px;border:4px solid #fff;border-radius:999px;background:#63a821;box-shadow:0 0 0 3px #63a821;cursor:pointer}.tse-tours-filter-price-values{display:flex;justify-content:space-between;margin-top:22px;font-size:18px;font-weight:800}.tse-tours-filter-notice{margin:34px auto 0;padding:18px 24px;border:1px solid rgba(99,168,33,.22);border-radius:999px;background:#f7fff3;color:#4c7d45;font-size:20px;line-height:1.45;font-weight:600}.tse-tours-filter-empty{margin:26px 0 0;padding:16px 20px;border-radius:12px;background:#fff7ed;color:#9a3412;font-weight:700;text-align:center}@media(max-width:1024px){.tse-tours-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tse-tours-filter-box{grid-template-columns:1fr;gap:34px;padding:34px}}@media(max-width:767px){.tse-tours-filter-grid{grid-template-columns:1fr}.tse-tour-card-title{left:22px;right:22px;bottom:24px;font-size:23px}.tse-tour-card-badge{top:20px;left:22px;padding:8px 16px;font-size:11px;letter-spacing:2px}.tse-tour-card-body{padding:22px}.tse-tour-card-info{display:block}.tse-tour-card-info strong{display:inline;min-width:0}.tse-tour-card-footer{align-items:flex-start;flex-direction:column}.tse-tours-filter-box{margin-top:34px;padding:24px}.tse-tours-filter-duration{display:grid;grid-template-columns:1fr;gap:16px}.tse-tours-filter-checkbox span{font-size:16px}.tse-tours-filter-notice{border-radius:16px;font-size:16px}}


/* v3.9.10: filter above tour cards */
.tse-tours-filter-wrap .tse-tours-filter-box{
    margin-top:0;
    margin-bottom:34px;
}
.tse-tours-filter-wrap .tse-tours-filter-notice{
    margin-top:0;
    margin-bottom:34px;
}

/* v3.9.11: minimal smooth tours filter + filled checkmarks + smaller place visited */
.tse-tour-card-info{font-size:14px!important;line-height:1.35!important;}
.tse-tour-card-info strong{min-width:105px!important;}
.tse-tour-card-info:nth-of-type(2){font-size:12px!important;line-height:1.4!important;opacity:.82;}
.tse-tour-card-info:nth-of-type(2) strong{font-size:13px!important;}
.tse-tours-filter-box{padding:38px 44px!important;border-radius:14px!important;box-shadow:none!important;}
.tse-tours-filter-heading{margin-bottom:26px!important;font-size:19px!important;}
.tse-tours-filter-checkbox{gap:12px!important;user-select:none;}
.tse-tours-filter-checkbox input{appearance:none!important;-webkit-appearance:none!important;position:relative!important;width:24px!important;height:24px!important;min-width:24px!important;border:1px solid #cfd6cc!important;border-radius:5px!important;background:#fff!important;cursor:pointer!important;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;}
.tse-tours-filter-checkbox input::after{content:'';position:absolute;left:7px;top:3px;width:7px;height:13px;border:solid #fff;border-width:0 2px 2px 0;opacity:0;transform:rotate(45deg) scale(.7);transition:opacity .16s ease,transform .16s ease;}
.tse-tours-filter-checkbox input:checked{background:#63a821!important;border-color:#63a821!important;box-shadow:0 2px 6px rgba(99,168,33,.22)!important;}
.tse-tours-filter-checkbox input:checked::after{opacity:1;transform:rotate(45deg) scale(1);}
.tse-tours-filter-checkbox span{font-size:17px!important;color:#6f6763!important;}
.tse-tours-filter-range{height:7px!important;background:linear-gradient(90deg,#63a821 0%,#63a821 var(--tse-range-progress,100%),#edf0ec var(--tse-range-progress,100%),#edf0ec 100%)!important;transition:background .18s ease!important;}
.tse-tours-filter-range::-webkit-slider-thumb{width:28px!important;height:28px!important;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease!important;}
.tse-tours-filter-range::-webkit-slider-thumb:hover{transform:scale(1.08);}
.tse-tours-filter-range::-moz-range-thumb{width:28px!important;height:28px!important;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease!important;}
.tse-tours-filter-range::-moz-range-thumb:hover{transform:scale(1.08);}
.tse-tours-filter-price-values{font-size:17px!important;}
.tse-tour-card{transition:opacity .22s ease,transform .22s ease!important;}
.tse-tours-filter-clear{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:18px 8px 28px auto;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;color:#9a8f87!important;font-size:16px;line-height:1.2;font-weight:700;cursor:pointer;}
.tse-tours-filter-clear:hover{color:#63a821!important;background:transparent!important;}
.tse-tours-filter-clear[hidden]{display:none!important;}
.tse-tours-filter-clear span{font-size:22px;line-height:1;font-weight:300;}
.tse-tours-filter-notice{margin-top:0!important;}
@media(max-width:767px){
.tse-tours-filter-box{padding:22px!important;}
.tse-tour-card-info,.tse-tour-card-info:nth-of-type(2){font-size:12px!important;}
.tse-tour-card-info strong,.tse-tour-card-info:nth-of-type(2) strong{font-size:12px!important;}
.tse-tours-filter-clear{margin:14px 0 24px auto;font-size:15px;}
}

/* v3.9.12: hard fix huge duration checkbox and keep tours filter minimal */
.tse-tours-filter-box .tse-tours-filter-checkbox{
    display:inline-flex!important;
    align-items:center!important;
    gap:12px!important;
    line-height:1.2!important;
}
.tse-tours-filter-box .tse-tours-filter-checkbox input[type="checkbox"][data-duration-filter]{
    all:unset!important;
    box-sizing:border-box!important;
    display:inline-block!important;
    position:relative!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    max-width:22px!important;
    min-height:22px!important;
    max-height:22px!important;
    border:1px solid #cfd6cc!important;
    border-radius:5px!important;
    background:#ffffff!important;
    cursor:pointer!important;
    flex:0 0 22px!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
    vertical-align:middle!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}
.tse-tours-filter-box .tse-tours-filter-checkbox input[type="checkbox"][data-duration-filter]::after{
    content:''!important;
    position:absolute!important;
    left:6px!important;
    top:2px!important;
    width:7px!important;
    height:13px!important;
    border:solid #ffffff!important;
    border-width:0 2px 2px 0!important;
    opacity:0!important;
    transform:rotate(45deg) scale(.75)!important;
    transition:opacity .16s ease, transform .16s ease!important;
}
.tse-tours-filter-box .tse-tours-filter-checkbox input[type="checkbox"][data-duration-filter]:checked{
    background:#63a821!important;
    border-color:#63a821!important;
}
.tse-tours-filter-box .tse-tours-filter-checkbox input[type="checkbox"][data-duration-filter]:checked::after{
    opacity:1!important;
    transform:rotate(45deg) scale(1)!important;
}
.tse-tours-filter-box .tse-tours-filter-checkbox span{
    font-size:16px!important;
    line-height:1.2!important;
}
.tse-tours-filter-box .tse-tours-filter-duration{
    align-items:center!important;
}

/* v3.9.13: Standalone Accommodation Type & Location Elementor element */
.tse-accommodation-info-element{width:100%;}
.tse-accommodation-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.tse-accommodation-info-card{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-sizing:border-box;}
.tse-accommodation-info-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;border-radius:999px;background:rgba(99,168,33,.12);color:#63a821;font-weight:800;line-height:1;}
.tse-accommodation-info-content{min-width:0;}
.tse-accommodation-info-label{margin:0 0 4px;color:#6b7280;font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.tse-accommodation-info-value{color:#111827;font-size:17px;line-height:1.35;font-weight:700;}
.tse-accommodation-info-value a{color:inherit;text-decoration:none;}
.tse-accommodation-info-value a:hover{text-decoration:underline;}
.tse-accommodation-info-layout-stacked .tse-accommodation-info-grid{grid-template-columns:1fr;}
@media(max-width:767px){.tse-accommodation-info-grid{grid-template-columns:1fr}.tse-accommodation-info-card{padding:14px 15px;}}

/* v3.9.16: Accommodation Type & Location query logic copied from Recommended Accommodations pattern */
.tse-accommodation-info-heading{margin:0 0 20px;line-height:1.25;}
.tse-accommodation-info-query-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.tse-accommodation-info-card-wrap{overflow:hidden;border:1px solid #e5e7eb;border-radius:14px;background:#fff;}
.tse-accommodation-info-image{display:block;overflow:hidden;}
.tse-accommodation-info-image img{display:block;width:100%;height:190px;object-fit:cover;}
.tse-accommodation-info-post-title{margin:0;padding:16px 16px 0;font-size:19px;line-height:1.25;}
.tse-accommodation-info-post-title a{color:inherit;text-decoration:none;}
.tse-accommodation-info-card-wrap>.tse-accommodation-info-grid{grid-template-columns:1fr!important;padding:16px;gap:10px;}
.tse-accommodation-info-single{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
@media(max-width:1024px){.tse-accommodation-info-query-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.tse-accommodation-info-query-grid,.tse-accommodation-info-single{grid-template-columns:1fr;}}

/* v3.9.17: Accommodation Type & Location button */
.tse-accommodation-info-button-wrap{
    padding:0 16px 18px;
}
.tse-accommodation-info-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    padding:11px 18px;
    border-radius:999px;
    background:#68A522;
    color:#ffffff!important;
    text-decoration:none!important;
    font-size:14px;
    line-height:1.2;
    font-weight:800;
    text-align:center;
    transition:filter .2s ease, transform .2s ease;
}
.tse-accommodation-info-button:hover{
    color:#ffffff!important;
    text-decoration:none!important;
    filter:brightness(.96);
    transform:translateY(-1px);
}

/* v3.9.18: one Show More button below accommodation grid */
.tse-accommodation-info-show-more-wrap{
    display:flex;
    justify-content:center;
    margin-top:28px;
}
.tse-accommodation-info-show-more-button{
    width:auto!important;
    min-width:190px;
    padding:14px 30px!important;
    background:#68A522!important;
    color:#ffffff!important;
}
.tse-accommodation-info-card-wrap .tse-accommodation-info-button-wrap{
    display:none!important;
}

/* v3.9.19: accommodation card buttons + on-page load more */
.tse-accommodation-info-load-item.is-hidden{
    display:none!important;
}
.tse-accommodation-info-card-wrap .tse-accommodation-info-button-wrap{
    display:block!important;
    padding:0 16px 18px;
}
.tse-accommodation-info-card-wrap .tse-accommodation-info-button{
    width:100%;
    min-width:0;
}
.tse-accommodation-info-show-more-wrap{
    display:flex;
    justify-content:center;
    margin-top:28px;
}
button.tse-accommodation-info-show-more-button{
    border:0!important;
    cursor:pointer;
}
.tse-accommodation-info-show-more-button{
    width:auto!important;
    min-width:190px;
    padding:14px 30px!important;
    background:#68A522!important;
    color:#ffffff!important;
}
.tse-accommodation-info-show-more-button[hidden]{
    display:none!important;
}

/* v3.9.20: itinerary accommodation type and location support */
.tse-itinerary-meta-row .tse-itinerary-meta-value{
    overflow-wrap:anywhere;
}

/* v3.9.21: force Accommodation Type + Location inside TSE Safari Itinerary Days */
.tse-itinerary-info.tse-itinerary-meta .tse-itinerary-meta-row strong{
    white-space:normal;
}

/* v3.9.22: visible Accommodation Type row inside TSE Safari Itinerary Days */
.tse-itinerary-accommodation-type-row strong{
    font-weight:800;
}

/* v3.9.23: hard fix for accommodation Show More reveal button */
.tse-accommodation-info-load-wrap .tse-accommodation-info-load-item.is-hidden{
    display:none!important;
}
.tse-accommodation-info-show-more-wrap button.tse-accommodation-info-show-more-button{
    pointer-events:auto!important;
    user-select:none;
}
.tse-accommodation-info-show-more-button:not([hidden]){
    display:inline-flex!important;
}

/* v3.9.24: frontend-safe Show More fallback for cached client pages */
.tse-accommodation-info-load-wrap .tse-accommodation-info-load-item.is-hidden{display:none!important;}
.tse-accommodation-info-show-more-button{position:relative;z-index:5;}
.tse-accommodation-info-show-more-button[hidden]{display:none!important;}

/* v3.9.25: restored Accommodation Type row in TSE Safari Itinerary Days */
.tse-itinerary-accommodation-type-row .tse-itinerary-meta-value{
    font-weight:600;
}

/* v3.9.26: TSE Tours Cards Filter screenshot-style design */
.tse-tours-card-design-v3926{
    align-items:stretch;
}
.tse-tour-card-v3926{
    overflow:hidden;
    border:1px solid #eee5dc!important;
    border-radius:8px!important;
    background:#ffffff!important;
    box-shadow:0 6px 22px rgba(31,23,19,.06)!important;
    display:flex!important;
    flex-direction:column!important;
}
.tse-tour-card-v3926 .tse-tour-card-image-wrap{
    position:relative;
    overflow:hidden;
}
.tse-tour-card-v3926 .tse-tour-card-image{
    display:block!important;
    position:relative!important;
    height:auto!important;
    min-height:0!important;
}
.tse-tour-card-v3926 .tse-tour-card-image img{
    display:block!important;
    width:100%!important;
    height:190px!important;
    object-fit:cover!important;
    transition:transform .35s ease;
}
.tse-tour-card-v3926:hover .tse-tour-card-image img{
    transform:scale(1.035);
}
.tse-tour-card-v3926 .tse-tour-card-image-placeholder{
    display:block;
    width:100%;
    height:190px;
    background:#f2eee9;
}
.tse-tour-card-v3926 .tse-tour-card-badge{
    position:absolute!important;
    top:12px!important;
    left:12px!important;
    z-index:3!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    padding:7px 13px!important;
    border-radius:2px!important;
    background:#6f4c3c!important;
    color:#ffffff!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
}
.tse-tour-card-v3926 .tse-tour-card-duration-badge{
    position:absolute;
    right:12px;
    bottom:12px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 13px;
    border-radius:2px;
    background:#68A522;
    color:#ffffff;
    font-size:11px;
    line-height:1;
    font-weight:800;
}
.tse-tour-card-v3926 .tse-tour-card-body{
    padding:22px 16px 0!important;
    flex:1 1 auto;
}
.tse-tour-card-v3926 .tse-tour-card-title{
    position:static!important;
    margin:0 0 12px!important;
    padding:0!important;
    color:#171717!important;
    font-size:19px!important;
    line-height:1.25!important;
    font-weight:700!important;
    text-shadow:none!important;
}
.tse-tour-card-v3926 .tse-tour-card-title a{
    color:inherit!important;
    text-decoration:none!important;
}
.tse-tour-card-v3926 .tse-tour-card-title a:hover{
    color:#68A522!important;
}
.tse-tour-card-v3926 .tse-tour-card-overlay{
    display:none!important;
}
.tse-tour-card-v3926 .tse-tour-card-chips{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:0 0 12px;
}
.tse-tour-card-v3926 .tse-tour-card-chip{
    display:inline-flex;
    padding:5px 10px;
    border-radius:999px;
    background:#f4efec;
    color:#a98778;
    font-size:11px;
    line-height:1;
    font-weight:500;
}
.tse-tour-card-v3926 .tse-tour-card-mini-meta{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    padding:0 0 11px;
    margin:0 0 12px;
    border-bottom:1px solid #eadfd8;
    color:#9a8278;
    font-size:12px;
    line-height:1.4;
}
.tse-tour-card-v3926 .tse-tour-card-mini-item{
    display:inline-flex;
    gap:6px;
    align-items:center;
}
.tse-tour-card-v3926 .tse-tour-card-details{
    margin:0 0 16px;
}
.tse-tour-card-v3926 .tse-tour-card-info{
    display:flex!important;
    align-items:flex-start;
    gap:10px;
    margin:0 0 8px!important;
    color:#4f4a47!important;
    font-size:13px!important;
    line-height:1.55!important;
}
.tse-tour-card-v3926 .tse-tour-card-info strong{
    min-width:92px;
    color:#9a6f5d!important;
    font-size:11px!important;
    line-height:1.5!important;
    font-weight:800!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
}
.tse-tour-card-v3926 .tse-tour-card-places span{
    font-size:12px!important;
}
.tse-tour-card-v3926 .tse-tour-card-price-row{
    display:flex;
    align-items:flex-end;
    gap:6px;
    margin:22px 0 20px;
}
.tse-tour-card-v3926 .tse-tour-card-price-from{
    color:#b09283!important;
    font-size:10px!important;
    line-height:1.7!important;
    font-weight:700!important;
    letter-spacing:.16em!important;
}
.tse-tour-card-v3926 .tse-tour-card-price{
    color:#8a5b45!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:800!important;
}
.tse-tour-card-v3926 .tse-tour-card-price-suffix{
    color:#a58b7f!important;
    font-size:11px!important;
    line-height:1.5!important;
}
.tse-tour-card-v3926 .tse-tour-card-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:14px 16px 14px;
    border-top:1px solid #eadfd8;
    background:#F6FBF1;
}
.tse-tour-card-v3926 .tse-tour-card-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:38px!important;
    padding:10px 12px!important;
    border-radius:4px!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
    transition:all .2s ease!important;
}
.tse-tour-card-v3926 .tse-tour-card-button-outline{
    border:1px solid #8a5b45;
    background:#ffffff;
    color:#8a5b45;
}
.tse-tour-card-v3926 .tse-tour-card-button-outline:hover{
    background:#8a5b45;
    color:#ffffff;
}
.tse-tour-card-v3926 .tse-tour-card-button-filled{
    border:1px solid #df8150;
    background:#df8150;
    color:#ffffff;
}
.tse-tour-card-v3926 .tse-tour-card-button-filled:hover{
    filter:brightness(.96);
    color:#ffffff;
}
@media(max-width:767px){
    .tse-tour-card-v3926 .tse-tour-card-image img,
    .tse-tour-card-v3926 .tse-tour-card-image-placeholder{
        height:210px!important;
    }
    .tse-tour-card-v3926 .tse-tour-card-actions{
        grid-template-columns:1fr;
    }
}

/* v3.9.27: Tours Cards Filter uses ACF field `time` and displays Nights instead of Days */
.tse-tour-card-v3926 .tse-tour-card-duration-badge{
    text-transform:none;
}

/* v3.9.28: TSE Tours Cards Filter full color-control support */
.tse-tour-card-v3926 .tse-tour-card-title a,
.tse-tour-card-v3926 .tse-tour-card-button{
    transition:background .2s ease, color .2s ease, border-color .2s ease, filter .2s ease, transform .2s ease!important;
}

/* v3.9.29: allow Elementor color controls to override tour card button defaults */
.tse-tour-card-v3926 .tse-tour-card-button-filled,
.tse-tour-card-v3926 .tse-tour-card-button-outline{
    background-clip:padding-box;
}

/* v3.9.30: FINAL variable-based color fix for TSE Tours Card buttons */
.tse-tours-filter-wrap .tse-tour-card-v3926 .tse-tour-card-button-outline{
    background:var(--tse-tours-details-bg,#ffffff)!important;
    background-color:var(--tse-tours-details-bg,#ffffff)!important;
    border-color:var(--tse-tours-details-border,#8a5b45)!important;
    color:var(--tse-tours-details-text,#8a5b45)!important;
}
.tse-tours-filter-wrap .tse-tour-card-v3926 .tse-tour-card-button-outline:hover{
    background:var(--tse-tours-details-hover-bg,#8a5b45)!important;
    background-color:var(--tse-tours-details-hover-bg,#8a5b45)!important;
    border-color:var(--tse-tours-details-hover-bg,#8a5b45)!important;
    color:var(--tse-tours-details-hover-text,#ffffff)!important;
}
.tse-tours-filter-wrap .tse-tour-card-v3926 .tse-tour-card-button-filled{
    background:var(--tse-tours-quote-bg,#df8150)!important;
    background-color:var(--tse-tours-quote-bg,#df8150)!important;
    border-color:var(--tse-tours-quote-bg,#df8150)!important;
    color:var(--tse-tours-quote-text,#ffffff)!important;
}
.tse-tours-filter-wrap .tse-tour-card-v3926 .tse-tour-card-button-filled:hover{
    background:var(--tse-tours-quote-hover-bg,#cf7547)!important;
    background-color:var(--tse-tours-quote-hover-bg,#cf7547)!important;
    border-color:var(--tse-tours-quote-hover-bg,#cf7547)!important;
    color:var(--tse-tours-quote-hover-text,#ffffff)!important;
}

/* v3.9.31: TSE Places To Visit Filter */
.tse-places-filter-wrap{
    --tse-place-button-bg:#68A522;
    --tse-place-button-text:#ffffff;
    --tse-place-button-hover-bg:#5C941E;
    --tse-place-button-hover-text:#ffffff;
}
.tse-places-filter-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 28px;
    padding:14px;
    border:1px solid #DDEFD0;
    border-radius:8px;
    background:#F6FBF1;
}
.tse-places-filter-button{
    appearance:none;
    border:1px solid #DDEFD0;
    border-radius:999px;
    background:#ffffff;
    color:#68A522;
    padding:10px 16px;
    font-size:12px;
    font-weight:800;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
    transition:all .2s ease;
}
.tse-places-filter-button:hover,
.tse-places-filter-button.is-active{
    background:#68A522;
    border-color:#68A522;
    color:#ffffff;
}
.tse-places-filter-empty{
    margin:0 0 22px;
    padding:14px 16px;
    border-radius:8px;
    background:#fff4ec;
    color:#68A522;
    font-weight:600;
}
.tse-places-filter-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
}
.tse-place-card{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid #DDEFD0;
    border-radius:8px;
    background:#ffffff;
    box-shadow:0 6px 22px rgba(31,23,19,.06);
}
.tse-place-card[hidden],
.tse-place-card.is-hidden{
    display:none!important;
}
.tse-place-card-image{
    display:block;
    overflow:hidden;
}
.tse-place-card-image img,
.tse-place-card-image-placeholder{
    display:block;
    width:100%;
    height:240px;
    object-fit:cover;
    background:#f1ebe6;
    transition:transform .35s ease;
}
.tse-place-card:hover .tse-place-card-image img{
    transform:scale(1.035);
}
.tse-place-card-term{
    position:absolute;
    top:12px;
    left:12px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 12px;
    border-radius:2px;
    background:#68A522;
    color:#ffffff;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.tse-place-card-body{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    padding:20px 16px 16px;
}
.tse-place-card-title{
    margin:0 0 10px;
    font-size:20px;
    line-height:1.25;
    font-weight:800;
    color:#171717;
}
.tse-place-card-title a{
    color:inherit;
    text-decoration:none;
}
.tse-place-card-title a:hover{
    color:#68A522;
}
.tse-place-card-excerpt{
    margin:0 0 18px;
    color:#5e5651;
    font-size:14px;
    line-height:1.65;
}
.tse-place-card-button{
    margin-top:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:11px 14px;
    border-radius:4px;
    background:var(--tse-place-button-bg,#68A522)!important;
    color:var(--tse-place-button-text,#ffffff)!important;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    text-decoration:none!important;
    transition:all .2s ease;
}
.tse-place-card-button:hover{
    background:var(--tse-place-button-hover-bg,#5C941E)!important;
    color:var(--tse-place-button-hover-text,#ffffff)!important;
}
@media(max-width:1024px){
    .tse-places-filter-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:767px){
    .tse-places-filter-grid{
        grid-template-columns:1fr;
    }
    .tse-place-card-image img,
    .tse-place-card-image-placeholder{
        height:220px;
    }
}

/* v3.9.32: Places To Visit green theme and hidden filter default */
.tse-places-filter-wrap{
    --tse-place-button-bg:#68A522;
    --tse-place-button-hover-bg:#5C941E;
}

/* v3.9.34: minimal filter design for TSE Tours Cards Filter */
.tse-tours-filter-wrap{
    --tse-tours-filter-range-track:#68A522;
    --tse-tours-filter-range-thumb:#68A522;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter{
    position:relative!important;
    display:grid!important;
    grid-template-columns:260px minmax(0,1fr)!important;
    align-items:center!important;
    gap:34px!important;
    margin:0 0 32px!important;
    padding:22px 24px!important;
    border:1px solid #dfe8d8!important;
    border-radius:12px!important;
    background:#ffffff!important;
    box-shadow:none!important;
    color:#232323!important;
    overflow:visible!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter:before,
.tse-tours-filter-corner,
.tse-tours-filter-top-star,
.tse-tours-filter-top-star:before,
.tse-tours-filter-top-star:after{
    display:none!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-duration{
    position:relative;
    z-index:2;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
    padding:0 28px 0 0!important;
    border-right:1px solid #e5eee0!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-price{
    position:relative;
    z-index:2;
    width:100%!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-heading{
    display:block!important;
    margin:0 0 14px!important;
    color:#68A522!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-heading:before,
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-heading:after{
    display:none!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-checkbox{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin:0!important;
    cursor:pointer!important;
    color:#333333!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:500!important;
    letter-spacing:0!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-checkbox span{
    color:inherit!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-checkbox input[type="checkbox"][data-duration-filter]{
    all:unset!important;
    box-sizing:border-box!important;
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
    border:1.5px solid #b8c8b0!important;
    border-radius:4px!important;
    background:#ffffff!important;
    display:inline-block!important;
    position:relative!important;
    cursor:pointer!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-checkbox input[type="checkbox"][data-duration-filter]:checked{
    background:#68A522!important;
    border-color:#68A522!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-checkbox input[type="checkbox"][data-duration-filter]:checked:after{
    content:"";
    position:absolute;
    left:5px;
    top:2px;
    width:5px;
    height:9px;
    border:solid #fff;
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-range-wrap{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-price-values{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    color:#333333!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:0!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-range{
    width:100%!important;
    height:24px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    outline:none!important;
    -webkit-appearance:none!important;
    appearance:none!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-range::-webkit-slider-runnable-track{
    height:4px!important;
    background:var(--tse-tours-filter-range-track,#68A522)!important;
    border-radius:999px!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-range::-moz-range-track{
    height:4px!important;
    background:var(--tse-tours-filter-range-track,#68A522)!important;
    border-radius:999px!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-range::-webkit-slider-thumb{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:18px!important;
    height:18px!important;
    margin-top:-7px!important;
    border:3px solid var(--tse-tours-filter-range-thumb,#68A522)!important;
    border-radius:50%!important;
    background:#ffffff!important;
    box-shadow:0 2px 8px rgba(0,0,0,.15)!important;
    cursor:pointer!important;
}
.tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-range::-moz-range-thumb{
    width:14px!important;
    height:14px!important;
    border:3px solid var(--tse-tours-filter-range-thumb,#68A522)!important;
    border-radius:50%!important;
    background:#ffffff!important;
    box-shadow:0 2px 8px rgba(0,0,0,.15)!important;
    cursor:pointer!important;
}
.tse-tours-filter-wrap .tse-tours-filter-notice{
    position:relative!important;
    margin:-10px 0 28px!important;
    padding:14px 16px!important;
    border:1px solid #dfe8d8!important;
    border-radius:10px!important;
    background:#f8fbf5!important;
    color:#333333!important;
    font-size:14px!important;
    line-height:1.5!important;
    font-style:normal!important;
    letter-spacing:0!important;
}
.tse-tours-filter-wrap .tse-tours-filter-notice:before{
    display:none!important;
}
@media(max-width:1024px){
    .tse-tours-filter-wrap .tse-tours-luxury-filter{
        grid-template-columns:1fr!important;
        gap:22px!important;
        padding:20px!important;
    }
    .tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-duration{
        border-right:0!important;
        border-bottom:1px solid #e5eee0!important;
        padding:0 0 18px!important;
    }
}
@media(max-width:767px){
    .tse-tours-filter-wrap .tse-tours-luxury-filter{
        padding:18px!important;
        margin-bottom:24px!important;
    }
    .tse-tours-filter-wrap .tse-tours-luxury-filter .tse-tours-filter-heading{
        font-size:11px!important;
    }
}

/* v3.9.35: TSE FAQ Accordion ACF field selectors now search all ACF fields */

/* v3.9.36: FAQ widget robust fallback for Accommodations FAQ repeater: faq > faq_title / faq_description */
