:root{--tspp-green:#13984b;--tspp-green-2:#0d7e3e;--tspp-green-dark:#0b4a2f;--tspp-mint:#eefaf3;--tspp-mint-2:#e5f7ec;--tspp-gold:#f4b41b;--tspp-border:#d8eadf;--tspp-text:#173c2b;--tspp-muted:#6e8176;--tspp-shadow:0 18px 55px rgba(20,88,55,.10);--tspp-shadow-strong:0 20px 60px rgba(11,74,47,.16)}
.single-product .shop-page-title,.single-product .product-main,.single-product .product-footer{display:none!important}.single-product{background:linear-gradient(180deg,#edfdf4 0,#f8fffb 36%,#fff 100%)}
.tspp-page{position:relative;overflow:hidden;padding:26px 0 70px;color:var(--tspp-text)}.tspp-container{position:relative;z-index:2;width:min(1450px,calc(100% - 44px));margin:auto}.tspp-bg-orb{position:absolute;border-radius:50%;filter:blur(4px);opacity:.55;pointer-events:none}.tspp-bg-orb-a{width:420px;height:420px;right:-130px;top:120px;background:radial-gradient(circle,#c8f1d8 0,rgba(200,241,216,0) 70%)}.tspp-bg-orb-b{width:360px;height:360px;left:-150px;top:520px;background:radial-gradient(circle,#dff7e8 0,rgba(223,247,232,0) 72%)}
.tspp-breadcrumb{font-size:13px;color:#7b8d83;margin:0 0 14px}.tspp-breadcrumb .woocommerce-breadcrumb{margin:0}.tspp-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px}.tspp-heading h1{font-size:clamp(30px,3vw,46px);line-height:1.12;margin:11px 0 9px;color:#123d2b;letter-spacing:-.025em}.tspp-chips{display:flex;gap:8px;flex-wrap:wrap}.tspp-chips span{background:rgba(255,255,255,.92);border:1px solid var(--tspp-border);padding:7px 12px;border-radius:999px;font-size:13px;box-shadow:0 5px 18px rgba(31,105,65,.05)}.tspp-chips .is-accent{background:#e7f8ee;color:#087c42;font-weight:800}.tspp-chips .is-sale{background:#12984b;color:#fff;border-color:#12984b;font-weight:800}.tspp-rating-row{display:flex;align-items:center;gap:7px;color:#456355}.tspp-stars{color:#159746;letter-spacing:1.5px;font-size:17px}.tspp-rating-row i{height:16px;border-left:1px solid #bacac0;margin:0 5px}.tspp-heading-favorite{border:1px solid #cfe6d8;background:#fff;color:#157c44;border-radius:14px;padding:12px 16px;font-weight:700;box-shadow:0 8px 22px rgba(22,105,65,.08);cursor:pointer}.tspp-heading-favorite span{font-size:21px;vertical-align:-2px;margin-right:4px}
.tspp-hero-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(390px,.92fr);gap:24px;align-items:start}.tspp-gallery-card,.tspp-booking-card,.tspp-content-card,.tspp-side-card{background:#fff;border:1px solid var(--tspp-border);border-radius:24px;box-shadow:var(--tspp-shadow)}.tspp-gallery-card{position:relative;padding:12px}.tspp-media-badge{position:absolute;z-index:5;left:28px;top:28px;background:linear-gradient(135deg,#0d9b4a,#087a3b);color:#fff;padding:9px 13px;border-radius:11px;font-weight:800;box-shadow:0 10px 25px rgba(11,126,63,.28)}.tspp-main-media{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#edf3ef}.tspp-main-media:after{content:"";position:absolute;inset:auto 0 0;height:24%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.16));pointer-events:none}.tspp-slide{display:none;position:absolute;inset:0;margin:0}.tspp-slide.is-active{display:block;animation:tsppFade .28s ease}.tspp-slide img{width:100%;height:100%;object-fit:cover;display:block}.tspp-nav,.tspp-zoom{position:absolute;border:0;z-index:4;display:grid;place-items:center;cursor:pointer;color:#fff;background:rgba(12,74,45,.72);backdrop-filter:blur(7px);box-shadow:0 10px 25px rgba(0,0,0,.16);transition:.2s ease}.tspp-nav:hover,.tspp-zoom:hover{background:var(--tspp-green);transform:translateY(-50%) scale(1.05)}.tspp-nav{top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;font-size:34px;line-height:1}.tspp-nav span{display:block;margin-top:-4px}.tspp-prev{left:20px}.tspp-next{right:20px}.tspp-zoom{right:18px;bottom:18px;display:flex;gap:7px;width:auto;height:44px;border-radius:13px;padding:0 14px;font-size:21px}.tspp-zoom:hover{transform:scale(1.04)}.tspp-zoom small{font-size:12px;font-weight:700}.tspp-photo-count{position:absolute;left:18px;bottom:18px;z-index:4;background:rgba(255,255,255,.92);color:#28533e;padding:8px 11px;border-radius:11px;font-size:13px;font-weight:700}.tspp-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:12px}.tspp-thumb{position:relative;padding:0;border:2px solid transparent;border-radius:13px;overflow:hidden;background:#eee;aspect-ratio:16/10;cursor:pointer;transition:.2s ease}.tspp-thumb:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(20,88,55,.12)}.tspp-thumb.is-active{border-color:var(--tspp-green);box-shadow:0 0 0 3px rgba(19,152,75,.10)}.tspp-thumb img{width:100%;height:100%;object-fit:cover}.tspp-thumb span{position:absolute;right:6px;bottom:5px;width:22px;height:22px;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#fff;border-radius:50%;font-size:11px}
.tspp-booking-card{padding:0 24px 22px;position:sticky;top:92px;overflow:hidden;box-shadow:var(--tspp-shadow-strong)}.tspp-card-ribbon{margin:0 -24px 18px;padding:16px 24px;background:linear-gradient(135deg,#0f8e47,#15aa57);color:#fff;display:flex;align-items:center;justify-content:space-between}.tspp-card-ribbon span{font-weight:800;font-size:17px}.tspp-card-ribbon small{opacity:.86}.tspp-info-list{border-bottom:1px solid #e5eee8;padding:0 0 14px;margin-bottom:14px}.tspp-info-list>div{display:grid;grid-template-columns:30px minmax(118px,1fr) minmax(105px,auto);gap:9px;align-items:center;padding:8px 0;font-size:15px}.tspp-info-list>div>span:nth-child(2){color:#4b6256}.tspp-info-list strong{color:#138d45;text-align:right;overflow-wrap:anywhere}.tspp-info-list a{color:#138d45;text-decoration:underline;text-underline-offset:3px}.tspp-row-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#eff9f3;font-size:16px}.tspp-seat{background:#e9f9ef;padding:5px 9px;border-radius:999px}.tspp-seat-meter{padding:10px 12px;background:#fbfefc;border:1px solid #e2eee6;border-radius:13px;margin-bottom:15px}.tspp-seat-meter>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#60766a}.tspp-seat-meter b{color:#0d8b43}.tspp-meter{height:7px;background:#e7f2eb;border-radius:999px;overflow:hidden;margin-top:8px}.tspp-meter i{display:block;height:100%;background:linear-gradient(90deg,#f2bb29,#19a953);border-radius:999px}.tspp-price-block{padding:13px 0 15px}.tspp-price-block>small{display:block;color:#718279;font-size:12px;margin-bottom:3px}.tspp-price{margin:0}.tspp-price .price,.tspp-price ins{font-size:32px!important;color:#129d4b!important;font-weight:800!important;text-decoration:none!important}.tspp-price del{font-size:19px!important;color:#7c8981!important;margin-right:8px}.tspp-price-block em{display:block;color:#839188;font-size:11px;font-style:normal;margin-top:3px}
/* Fix Flatsome quantity controls and missing number */
.tspp-cart-wrap form.cart{display:grid!important;grid-template-columns:138px minmax(0,1fr)!important;gap:11px!important;align-items:stretch!important;margin:0!important;width:100%!important}.tspp-cart-wrap .quantity.buttons_added,.tspp-cart-wrap .quantity{display:grid!important;grid-template-columns:42px 54px 42px!important;width:138px!important;min-width:138px!important;height:56px!important;margin:0!important;border:1px solid #e5d9b6!important;border-radius:13px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 7px 18px rgba(173,123,0,.08)!important}.tspp-cart-wrap .quantity .button,.tspp-cart-wrap .quantity input.minus,.tspp-cart-wrap .quantity input.plus{position:static!important;display:block!important;width:42px!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#ffc21c,#f4ad00)!important;color:#fff!important;font-size:21px!important;font-weight:800!important;line-height:54px!important;box-shadow:none!important}.tspp-cart-wrap .quantity input.qty,.tspp-cart-wrap .quantity .input-text.qty{position:static!important;display:block!important;visibility:visible!important;opacity:1!important;width:54px!important;min-width:54px!important;height:54px!important;margin:0!important;padding:0!important;border:0!important;border-left:1px solid #f0e6c9!important;border-right:1px solid #f0e6c9!important;border-radius:0!important;background:#fff!important;color:#253b30!important;text-align:center!important;font-size:16px!important;font-weight:800!important;line-height:54px!important;-moz-appearance:textfield!important}.tspp-cart-wrap .quantity input.qty::-webkit-outer-spin-button,.tspp-cart-wrap .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important}.tspp-cart-wrap .single_add_to_cart_button{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;width:100%!important;min-height:56px!important;margin:0!important;padding:0 18px!important;border:0!important;border-radius:13px!important;background:linear-gradient(135deg,#15aa55,#0c8c43)!important;box-shadow:0 12px 24px rgba(12,140,67,.22)!important;color:#fff!important;font-weight:800!important;font-size:16px!important;letter-spacing:.02em!important;text-transform:uppercase!important;white-space:normal!important}.tspp-cart-wrap .single_add_to_cart_button:before{content:'🧳';margin-right:9px;font-size:18px}.tspp-cart-wrap .single_add_to_cart_button:hover{filter:brightness(1.04);transform:translateY(-1px)}
.tspp-booking-note{background:#fff9e9;border-left:4px solid #f3b51b;padding:10px 12px;border-radius:8px;font-size:13px}.tspp-contact-box{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:16px;background:linear-gradient(135deg,#edf9f2,#e6f7ed);border:1px solid #d9ede1;border-radius:15px;padding:14px}.tspp-contact-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;font-size:21px}.tspp-contact-box div{display:flex;flex-direction:column}.tspp-contact-box small{color:var(--tspp-muted)}.tspp-contact-box a{background:var(--tspp-green);color:#fff;padding:10px 13px;border-radius:10px;font-weight:700;white-space:nowrap}.tspp-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.tspp-trust span{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:10px 5px;border:1px solid var(--tspp-border);border-radius:11px;color:#2c684a;background:#fff}.tspp-trust b{font-size:11px}.tspp-trust small{font-size:9px;color:#829189}
.tspp-highlights{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:24px 0}.tspp-highlights>div{background:linear-gradient(180deg,#fff,#fbfffc);border:1px solid var(--tspp-border);border-radius:17px;padding:17px;display:grid;grid-template-columns:38px 1fr;column-gap:9px;align-items:center;box-shadow:0 9px 25px rgba(22,96,59,.06)}.tspp-highlights>div>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eaf8f0;font-size:20px;grid-row:1/3}.tspp-highlights small{color:var(--tspp-muted)}.tspp-highlights strong{font-size:15px}
.tspp-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.tspp-content-card{padding:23px}.tspp-tabs-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #e4eee7;padding-bottom:12px}.tspp-tabs-nav button{border:0;background:#eef7f1;color:#315e48;padding:11px 16px;border-radius:11px;font-weight:700;cursor:pointer}.tspp-tabs-nav button.is-active{background:linear-gradient(135deg,#14a14e,#0d8641);color:#fff;box-shadow:0 8px 18px rgba(13,134,65,.18)}.tspp-tab{display:none;padding-top:20px}.tspp-tab.is-active{display:block}.tspp-short-desc{padding:16px 18px;background:#f5fbf7;border-left:4px solid var(--tspp-green);border-radius:10px;margin-bottom:18px}.tspp-long-desc img{border-radius:14px}.tspp-side-card{padding:24px;position:sticky;top:92px}.tspp-side-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#17aa55,#0f8742);color:#fff;font-size:25px;font-weight:800;box-shadow:0 10px 22px rgba(15,135,66,.22)}.tspp-side-card h3{margin:13px 0 7px}.tspp-side-card ul{list-style:none;margin:0;padding:0}.tspp-side-card li{padding:11px 0;border-bottom:1px dashed #dce8e0}.tspp-side-card li:before{content:'✓';color:var(--tspp-green);font-weight:800;margin-right:8px}.tspp-related{margin-top:38px}.tspp-section-title small{text-transform:uppercase;letter-spacing:.12em;color:#0d8c44;font-weight:800}.tspp-section-title h2{font-size:30px;margin:3px 0 17px}.tspp-related .product-small.box{background:#fff;border:1px solid var(--tspp-border);border-radius:17px;overflow:hidden;box-shadow:0 10px 30px rgba(21,91,55,.08)}
.tspp-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:99999;display:none;align-items:center;justify-content:center;padding:30px}.tspp-lightbox.is-open{display:flex}.tspp-lightbox img{max-width:95vw;max-height:90vh;border-radius:14px}.tspp-lightbox button{position:absolute;right:24px;top:18px;border:0;background:#fff;width:44px;height:44px;border-radius:50%;font-size:30px;cursor:pointer}
@keyframes tsppFade{from{opacity:.45;transform:scale(1.006)}to{opacity:1;transform:scale(1)}}
@media(max-width:1180px){.tspp-hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(350px,.9fr)}.tspp-highlights{grid-template-columns:repeat(3,1fr)}.tspp-booking-card{padding-left:20px;padding-right:20px}.tspp-card-ribbon{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}}
@media(max-width:980px){.tspp-hero-grid,.tspp-content-grid{grid-template-columns:1fr}.tspp-booking-card,.tspp-side-card{position:static}.tspp-heading{align-items:flex-start}.tspp-main-media{aspect-ratio:16/10}}
@media(max-width:849px){.tspp-container{width:min(100% - 24px,760px)}.tspp-heading{flex-direction:column}.tspp-heading-favorite{align-self:flex-start}.tspp-highlights{grid-template-columns:repeat(2,1fr)}.tspp-thumbnails{grid-template-columns:repeat(4,1fr)}.tspp-trust{grid-template-columns:1fr}.tspp-contact-box{grid-template-columns:42px 1fr}.tspp-contact-box a{grid-column:1/-1;text-align:center}.tspp-info-list>div{grid-template-columns:30px 1fr}.tspp-info-list strong{grid-column:2;text-align:left}.tspp-cart-wrap form.cart{grid-template-columns:138px minmax(0,1fr)!important}}
@media(max-width:560px){.tspp-page{padding-top:12px}.tspp-heading h1{font-size:27px}.tspp-highlights{grid-template-columns:1fr}.tspp-thumbnails{grid-template-columns:repeat(3,1fr)}.tspp-booking-card{padding-left:16px;padding-right:16px}.tspp-card-ribbon{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.tspp-price .price,.tspp-price ins{font-size:27px!important}.tspp-cart-wrap form.cart{grid-template-columns:1fr!important}.tspp-cart-wrap .quantity.buttons_added,.tspp-cart-wrap .quantity{width:100%!important;grid-template-columns:48px 1fr 48px!important}.tspp-cart-wrap .quantity input.qty,.tspp-cart-wrap .quantity .input-text.qty{width:100%!important;min-width:0!important}.tspp-cart-wrap .single_add_to_cart_button{width:100%!important}.tspp-nav{width:42px;height:42px}.tspp-prev{left:11px}.tspp-next{right:11px}.tspp-zoom small{display:none}.tspp-photo-count{left:11px;bottom:11px}}

/* Success notification after adding a tour to the WooCommerce cart */
.tspp-cart-toast{position:fixed;z-index:100000;right:24px;top:92px;width:min(430px,calc(100vw - 28px));display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;padding:17px 18px 15px;background:rgba(255,255,255,.98);border:1px solid #cfe8d8;border-radius:18px;box-shadow:0 24px 70px rgba(10,74,43,.24);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:translate3d(24px,-8px,0) scale(.97);transition:opacity .24s ease,transform .3s cubic-bezier(.2,.85,.25,1),visibility .24s;pointer-events:none}
.tspp-cart-toast.is-visible{opacity:1;visibility:visible;transform:translate3d(0,0,0) scale(1);pointer-events:auto}
.tspp-cart-toast:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;border-radius:18px 0 0 18px;background:linear-gradient(180deg,#20bd66,#078d43)}
.tspp-toast-check{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#e4faed,#c9f2da);box-shadow:inset 0 0 0 1px #bfe9cf}
.tspp-toast-check svg{width:38px;height:38px;overflow:visible}
.tspp-toast-check circle{fill:none;stroke:#13a653;stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151;animation:tsppToastCircle .55s ease forwards}
.tspp-toast-check path{fill:none;stroke:#0b9448;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:34;stroke-dashoffset:34;animation:tsppToastTick .38s .34s ease forwards}
.tspp-toast-copy{min-width:0;padding-right:23px}.tspp-toast-copy strong{display:block;color:#0c6737;font-size:17px;line-height:1.25}.tspp-toast-copy span{display:block;margin-top:4px;color:#64776c;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tspp-toast-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:2px}.tspp-toast-actions a{min-height:39px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:13px;font-weight:800;text-decoration:none!important;transition:.18s ease}.tspp-toast-cart{border:1px solid #bcdcca;color:#127a42!important;background:#f7fdf9}.tspp-toast-checkout{border:1px solid #10984b;color:#fff!important;background:linear-gradient(135deg,#16ad58,#0b8b42);box-shadow:0 8px 18px rgba(11,139,66,.18)}.tspp-toast-actions a:hover{transform:translateY(-1px);filter:brightness(1.02)}
.tspp-toast-close{position:absolute;right:10px;top:8px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#f1f7f3;color:#547064;font-size:20px;line-height:28px;cursor:pointer}.tspp-toast-close:hover{background:#e3f1e8;color:#0b7540}
@keyframes tsppToastCircle{to{stroke-dashoffset:0}}@keyframes tsppToastTick{to{stroke-dashoffset:0}}
@media(max-width:600px){.tspp-cart-toast{right:14px;left:14px;top:auto;bottom:16px;width:auto;padding:15px 15px 13px}.tspp-toast-actions{grid-template-columns:1fr 1fr}.tspp-toast-copy span{white-space:normal}}

/* Stable booking date + WooCommerce variation controls */
.tspp-booking-date-box{margin:16px 0;padding:16px;border:1px solid #d7ebdf;border-radius:16px;background:linear-gradient(145deg,#fbfffc,#f1fbf5);box-shadow:0 10px 24px rgba(12,116,61,.07)}
.tspp-date-title{display:flex;gap:10px;align-items:center;margin-bottom:13px}.tspp-date-title>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#dff6e8;font-size:20px}.tspp-date-title div{display:flex;flex-direction:column}.tspp-date-title strong{color:#174d32;font-size:15px}.tspp-date-title small{color:#71877a;font-size:11px}
.tspp-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tspp-date-grid label{display:flex;flex-direction:column;gap:6px;margin:0}.tspp-date-grid label>span{font-size:12px;font-weight:700;color:#315e48}.tspp-date-grid input{width:100%!important;height:48px!important;margin:0!important;padding:0 12px!important;border:1px solid #cfe2d6!important;border-radius:11px!important;background:#fff!important;color:#234536!important;font-size:14px!important;box-shadow:none!important}.tspp-date-grid input:focus{border-color:#16a456!important;box-shadow:0 0 0 3px rgba(22,164,86,.11)!important}.tspp-date-grid input[readonly]{background:#f7faf8!important;color:#5d7267!important}
.tspp-date-summary{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:12px;color:#587065}.tspp-date-dot{width:8px;height:8px;border-radius:50%;background:#16a456;box-shadow:0 0 0 4px rgba(22,164,86,.1)}
.tspp-cart-wrap form.variations_form{display:block!important}.tspp-cart-wrap table.variations{width:100%!important;margin:0 0 12px!important;border:0!important;background:transparent!important}.tspp-cart-wrap table.variations tbody,.tspp-cart-wrap table.variations tr{display:block!important;width:100%!important}.tspp-cart-wrap table.variations tr{margin-bottom:11px!important}.tspp-cart-wrap table.variations th,.tspp-cart-wrap table.variations td{display:block!important;width:100%!important;padding:0!important;border:0!important;text-align:left!important}.tspp-cart-wrap table.variations label{display:block!important;margin:0 0 6px!important;color:#234c36!important;font-size:12px!important;font-weight:800!important}.tspp-cart-wrap table.variations select{width:100%!important;height:48px!important;margin:0!important;padding:0 40px 0 13px!important;border:1px solid #cfe2d6!important;border-radius:11px!important;background-color:#fff!important;color:#244736!important;font-size:14px!important;box-shadow:none!important}.tspp-cart-wrap table.variations select:focus{border-color:#16a456!important;box-shadow:0 0 0 3px rgba(22,164,86,.1)!important}.tspp-cart-wrap .reset_variations{display:inline-flex!important;margin-top:7px!important;color:#118848!important;font-size:12px!important;font-weight:700!important}.tspp-cart-wrap .single_variation_wrap{margin-top:10px}.tspp-cart-wrap .woocommerce-variation-price{margin-bottom:10px;padding:10px 12px;border-radius:11px;background:#edf9f2}.tspp-cart-wrap .woocommerce-variation-price .price{color:#0d9348!important;font-size:24px!important;font-weight:800!important}.tspp-cart-wrap .woocommerce-variation-availability{font-size:12px;color:#507060}.tspp-cart-wrap .woocommerce-variation-add-to-cart{display:grid!important;grid-template-columns:138px minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important}.tspp-cart-wrap input[name="tspp_start_date"]{display:none!important}
@media(max-width:560px){.tspp-date-grid{grid-template-columns:1fr}.tspp-cart-wrap .woocommerce-variation-add-to-cart{grid-template-columns:1fr!important}}


/* v2.3.5: compact left information column + equal horizontal related-tour carousel */
.tspp-main-column{min-width:0;display:flex;flex-direction:column;gap:22px}
.tspp-main-column .tspp-highlights{margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.tspp-main-column .tspp-content-grid{grid-template-columns:minmax(0,1fr);gap:18px}
.tspp-main-column .tspp-content-card{position:relative;overflow:hidden}
.tspp-main-column .tspp-content-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#0d8c44,#2bc56c,#d9a922)}
.tspp-main-column .tspp-side-card{position:static;display:grid;grid-template-columns:52px 1fr;column-gap:14px;align-items:start;padding:20px 22px;background:linear-gradient(135deg,#f7fff9,#fffef7)}
.tspp-main-column .tspp-side-card .tspp-side-icon{grid-row:1/3}
.tspp-main-column .tspp-side-card h3{margin:2px 0 7px}
.tspp-main-column .tspp-side-card ul{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.tspp-main-column .tspp-side-card li{font-size:13px;padding:8px 0}

.tspp-related{margin-top:44px;padding:26px 0 8px;border-top:1px solid #e2eee6}
.tspp-related-scroller{width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 2px 18px;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:auto;scrollbar-color:#15964b #e8f3ec}
.tspp-related-scroller::-webkit-scrollbar{height:12px}
.tspp-related-scroller::-webkit-scrollbar-track{background:#e8f3ec;border-radius:999px;border:3px solid #fff}
.tspp-related-scroller::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#0f8d45,#28b761);border-radius:999px;border:2px solid #e8f3ec}
.tspp-related-scroller::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#08783a,#19a553)}
.tspp-related-scroller .related.products{width:max-content;min-width:100%;margin:0!important}
.tspp-related-scroller .related.products>h2{display:none}
.tspp-related-scroller ul.products{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:280px!important;grid-template-columns:none!important;gap:18px!important;width:max-content!important;min-width:100%;margin:0!important;padding:0!important}
.tspp-related-scroller ul.products li.product{width:280px!important;max-width:280px!important;min-width:280px!important;height:100%!important;margin:0!important;padding:0!important;float:none!important;display:flex!important}
.tspp-related-scroller ul.products li.product>.col-inner,
.tspp-related-scroller ul.products li.product .product-small,
.tspp-related-scroller ul.products li.product .product-small.box{width:100%;height:100%;display:flex;flex-direction:column}
.tspp-related-scroller ul.products li.product .box-image{aspect-ratio:4/3;overflow:hidden;background:#eef5f0}
.tspp-related-scroller ul.products li.product .box-image img{width:100%!important;height:100%!important;object-fit:cover!important}
.tspp-related-scroller ul.products li.product .box-text{flex:1;display:flex;flex-direction:column;padding:14px 14px 16px!important}
.tspp-related-scroller ul.products li.product .product-title{min-height:44px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tspp-related-scroller ul.products li.product .price-wrapper{margin-top:auto;padding-top:9px}
.tspp-related-scroller ul.products li.product .price{font-weight:700;color:#0c8741}
.tspp-scroll-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 0;color:#638071;font-size:12px}
.tspp-scroll-hint span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e9f7ee;color:#0d9145;font-size:17px;font-weight:800}

@media(max-width:1180px){.tspp-main-column .tspp-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.tspp-main-column .tspp-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.tspp-related-scroller ul.products{grid-auto-columns:260px!important}.tspp-related-scroller ul.products li.product{width:260px!important;max-width:260px!important;min-width:260px!important}}
@media(max-width:680px){.tspp-main-column .tspp-highlights{grid-template-columns:1fr 1fr}.tspp-main-column .tspp-side-card ul{grid-template-columns:1fr}.tspp-related-scroller ul.products{grid-auto-columns:min(78vw,270px)!important}.tspp-related-scroller ul.products li.product{width:min(78vw,270px)!important;max-width:min(78vw,270px)!important;min-width:min(78vw,270px)!important}}
@media(max-width:460px){.tspp-main-column .tspp-highlights{grid-template-columns:1fr}.tspp-main-column .tspp-side-card{grid-template-columns:44px 1fr;padding:18px}.tspp-main-column .tspp-side-card .tspp-side-icon{width:44px;height:44px}}

/* v2.3.6: enforce perfectly uniform related-tour cards */
.tspp-related-scroller ul.products{
  align-items:stretch!important;
  grid-auto-rows:390px!important;
}
.tspp-related-scroller ul.products li.product,
.tspp-related-scroller ul.products li.product>.col-inner,
.tspp-related-scroller ul.products li.product .product-small,
.tspp-related-scroller ul.products li.product .product-small.box{
  height:390px!important;
  min-height:390px!important;
  max-height:390px!important;
  box-sizing:border-box!important;
}
.tspp-related-scroller ul.products li.product .product-small.box{
  overflow:hidden!important;
  border-radius:17px!important;
}
.tspp-related-scroller ul.products li.product .box-image,
.tspp-related-scroller ul.products li.product .box-image>div,
.tspp-related-scroller ul.products li.product .box-image .image-cover,
.tspp-related-scroller ul.products li.product .box-image .image-fade_in_back{
  width:100%!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  flex:0 0 220px!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
}
.tspp-related-scroller ul.products li.product .box-image img{
  width:100%!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  object-fit:cover!important;
  object-position:center!important;
}
.tspp-related-scroller ul.products li.product .box-text{
  height:170px!important;
  min-height:170px!important;
  max-height:170px!important;
  flex:0 0 170px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  padding:13px 14px 14px!important;
}
.tspp-related-scroller ul.products li.product .category{
  min-height:18px!important;
  max-height:18px!important;
  line-height:18px!important;
  margin:0 0 4px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.tspp-related-scroller ul.products li.product .product-title,
.tspp-related-scroller ul.products li.product .name.product-title{
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  line-height:23px!important;
  margin:0!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.tspp-related-scroller ul.products li.product .price-wrapper{
  min-height:30px!important;
  max-height:30px!important;
  margin-top:auto!important;
  padding-top:8px!important;
  overflow:hidden!important;
}
.tspp-related-scroller ul.products li.product .price{
  display:block!important;
  line-height:22px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.tspp-related-scroller ul.products li.product .quick-view,
.tspp-related-scroller ul.products li.product .quick-view.quick-view-added{
  height:34px!important;
  line-height:34px!important;
  margin:0!important;
}
@media(max-width:680px){
  .tspp-related-scroller ul.products{grid-auto-rows:370px!important}
  .tspp-related-scroller ul.products li.product,
  .tspp-related-scroller ul.products li.product>.col-inner,
  .tspp-related-scroller ul.products li.product .product-small,
  .tspp-related-scroller ul.products li.product .product-small.box{height:370px!important;min-height:370px!important;max-height:370px!important}
  .tspp-related-scroller ul.products li.product .box-image,
  .tspp-related-scroller ul.products li.product .box-image>div,
  .tspp-related-scroller ul.products li.product .box-image .image-cover,
  .tspp-related-scroller ul.products li.product .box-image .image-fade_in_back,
  .tspp-related-scroller ul.products li.product .box-image img{height:205px!important;min-height:205px!important;max-height:205px!important;flex-basis:205px!important}
  .tspp-related-scroller ul.products li.product .box-text{height:165px!important;min-height:165px!important;max-height:165px!important;flex-basis:165px!important}
}


/* v2.3.7: exact related-card geometry + collapsible FAQ */
.tspp-related-scroller ul.products li.product,
.tspp-related-scroller ul.products li.product > .col-inner,
.tspp-related-scroller ul.products li.product .product-small,
.tspp-related-scroller ul.products li.product .product-small.box,
.tspp-related-scroller ul.products li.product .box{
  width:280px!important;
  min-width:280px!important;
  max-width:280px!important;
  height:390px!important;
  min-height:390px!important;
  max-height:390px!important;
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
}
.tspp-related-scroller ul.products li.product .box-image,
.tspp-related-scroller ul.products li.product .box-image > div,
.tspp-related-scroller ul.products li.product .box-image a,
.tspp-related-scroller ul.products li.product .image-cover,
.tspp-related-scroller ul.products li.product .image-fade_in_back{
  display:block!important;
  width:100%!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  padding-top:0!important;
  flex:0 0 220px!important;
  overflow:hidden!important;
}
.tspp-related-scroller ul.products li.product .box-image img,
.tspp-related-scroller ul.products li.product .box-image a img{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.tspp-related-scroller ul.products li.product .box-text{
  width:100%!important;
  height:170px!important;
  min-height:170px!important;
  max-height:170px!important;
  flex:0 0 170px!important;
  display:grid!important;
  grid-template-rows:18px 48px 1fr 30px!important;
  align-content:stretch!important;
  gap:4px!important;
  padding:13px 14px 14px!important;
  overflow:hidden!important;
}
.tspp-related-scroller ul.products li.product .category{height:18px!important;min-height:18px!important;max-height:18px!important;margin:0!important}
.tspp-related-scroller ul.products li.product .product-title,
.tspp-related-scroller ul.products li.product .name.product-title{height:48px!important;min-height:48px!important;max-height:48px!important;line-height:24px!important;margin:0!important}
.tspp-related-scroller ul.products li.product .price-wrapper{height:30px!important;min-height:30px!important;max-height:30px!important;padding:0!important;margin:0!important;align-self:end!important}
.tspp-related-scroller ul.products li.product .quick-view{position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:34px!important;line-height:34px!important;z-index:4!important}
.tspp-related-scroller ul.products li.product .box-image{position:relative!important}

.tspp-faq-card{padding:22px!important;position:static!important;top:auto!important;background:linear-gradient(145deg,#f8fffa,#eef9f2)!important}
.tspp-faq-heading{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.tspp-faq-heading small{display:block;color:#0d8c44;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:11px;margin-bottom:2px}
.tspp-faq-heading h3{margin:0!important;font-size:22px}
.tspp-faq-list{display:grid;gap:9px}
.tspp-faq-item{border:1px solid #dcebe1;border-radius:12px;background:#fff;overflow:hidden}
.tspp-faq-question{width:100%;border:0;background:#fff;color:#263d31;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:13px 14px;font:inherit;font-weight:700;cursor:pointer}
.tspp-faq-question:hover{background:#f5fbf7;color:#0c8741}
.tspp-faq-question i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e8f7ed;color:#0d8c44;font-style:normal;font-size:20px;line-height:1;transition:transform .22s ease,background .22s ease}
.tspp-faq-question[aria-expanded="true"] i{transform:rotate(45deg);background:#0f9348;color:#fff}
.tspp-faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
.tspp-faq-answer>p{overflow:hidden;margin:0;padding:0 14px;color:#51665a;line-height:1.65}
.tspp-faq-item.is-open .tspp-faq-answer{grid-template-rows:1fr}
.tspp-faq-item.is-open .tspp-faq-answer>p{padding:0 14px 14px}
@media(max-width:980px){.tspp-related-scroller ul.products li.product,.tspp-related-scroller ul.products li.product>.col-inner,.tspp-related-scroller ul.products li.product .product-small,.tspp-related-scroller ul.products li.product .product-small.box,.tspp-related-scroller ul.products li.product .box{width:260px!important;min-width:260px!important;max-width:260px!important}}
@media(max-width:680px){.tspp-related-scroller ul.products li.product,.tspp-related-scroller ul.products li.product>.col-inner,.tspp-related-scroller ul.products li.product .product-small,.tspp-related-scroller ul.products li.product .product-small.box,.tspp-related-scroller ul.products li.product .box{width:min(78vw,270px)!important;min-width:min(78vw,270px)!important;max-width:min(78vw,270px)!important;height:370px!important;min-height:370px!important;max-height:370px!important}.tspp-related-scroller ul.products li.product .box-image,.tspp-related-scroller ul.products li.product .box-image>div,.tspp-related-scroller ul.products li.product .box-image a,.tspp-related-scroller ul.products li.product .image-cover,.tspp-related-scroller ul.products li.product .image-fade_in_back,.tspp-related-scroller ul.products li.product .box-image img,.tspp-related-scroller ul.products li.product .box-image a img{height:205px!important;min-height:205px!important;max-height:205px!important;flex-basis:205px!important}.tspp-related-scroller ul.products li.product .box-text{height:165px!important;min-height:165px!important;max-height:165px!important;flex-basis:165px!important}}

/* v2.3.8: FAQ is a full-width section below the product area */
.tspp-content-grid{grid-template-columns:minmax(0,1fr)!important}
.tspp-faq-section{margin-top:34px;padding:26px 28px;background:linear-gradient(145deg,#f8fffa,#eef9f2);border:1px solid #d4eadb;border-radius:22px;box-shadow:0 14px 38px rgba(20,101,59,.08)}
.tspp-faq-section .tspp-faq-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.tspp-faq-section .tspp-faq-heading small{display:block;color:#0d8c44;font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:11px;margin-bottom:2px}
.tspp-faq-section .tspp-faq-heading h2{margin:0;font-size:26px;line-height:1.2;color:#263d31}
.tspp-faq-section .tspp-faq-list{display:grid;gap:10px}
.tspp-faq-section .tspp-faq-item{border:1px solid #dcebe1;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 14px rgba(26,95,58,.04)}
.tspp-faq-section .tspp-faq-question{width:100%;border:0;background:#fff;color:#263d31;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:16px 18px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease}
.tspp-faq-section .tspp-faq-question:hover{background:#f5fbf7;color:#0c8741}
.tspp-faq-section .tspp-faq-question i{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e8f7ed;color:#0d8c44;font-style:normal;font-size:22px;line-height:1;transition:transform .25s ease,background .25s ease,color .25s ease}
.tspp-faq-section .tspp-faq-question[aria-expanded="true"] i{transform:rotate(180deg);background:#0f9348;color:#fff}
.tspp-faq-section .tspp-faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.tspp-faq-section .tspp-faq-answer>div{overflow:hidden}
.tspp-faq-section .tspp-faq-answer p{margin:0;padding:0 18px;color:#51665a;line-height:1.7}
.tspp-faq-section .tspp-faq-item.is-open .tspp-faq-answer{grid-template-rows:1fr}
.tspp-faq-section .tspp-faq-item.is-open .tspp-faq-answer p{padding:0 18px 17px}
@media(max-width:767px){.tspp-faq-section{padding:20px 16px;border-radius:17px}.tspp-faq-section .tspp-faq-heading h2{font-size:22px}.tspp-faq-section .tspp-faq-question{padding:14px;font-size:14px}.tspp-faq-section .tspp-faq-answer p{padding-left:14px;padding-right:14px}.tspp-faq-section .tspp-faq-item.is-open .tspp-faq-answer p{padding-left:14px;padding-right:14px}}

/* v2.3.9: do not let the full tour document render inside Flatsome Quick View. */
.mfp-content .tspp-page,
.product-lightbox .tspp-page,
.quick-view .tspp-page{display:none!important}


/* Tours are booked as one item: hide WooCommerce +/- quantity controls. */
.tspp-cart-wrap form.cart,.tspp-cart-wrap .woocommerce-variation-add-to-cart{grid-template-columns:minmax(0,1fr)!important}
.tspp-cart-wrap .quantity,.tspp-cart-wrap .quantity.buttons_added{display:none!important}
.tspp-cart-wrap .single_add_to_cart_button{width:100%!important}


/* v2.4.4 accessibility: AA contrast, control semantics and 44px targets. */
:root{--tspp-green:#087a3b;--tspp-green-2:#0a6b36;--tspp-muted:#5f7067}
.tspp-breadcrumb{color:#5d6f65}.tspp-chips .is-sale{background:#087a3b}.tspp-stars{color:#087a3b}.tspp-heading-favorite{color:#0a6b36}
.tspp-media-badge{background:linear-gradient(135deg,#08783f,#076a36)}.tspp-card-ribbon{background:linear-gradient(135deg,#08783f,#0a6b36)}
.tspp-info-list strong,.tspp-info-list a,.tspp-seat-meter b{color:#087a3b}.tspp-price .price,.tspp-price ins{color:#087a3b!important}.tspp-price-block>small{color:#5f7067}.tspp-price-block em{color:#5f6c65}
.tspp-cart-wrap .quantity .button,.tspp-cart-wrap .quantity input.minus,.tspp-cart-wrap .quantity input.plus{color:#17382a!important}
.tspp-cart-wrap .single_add_to_cart_button{background:linear-gradient(135deg,#087a3b,#075f31)!important}.tspp-cart-wrap .woocommerce-variation-price .price{color:#087a3b!important}
.tspp-date-title small{color:#5d6f65}.tspp-scroll-hint{color:#557265}.tspp-scroll-hint span{color:#087a3b}.tspp-related-scroller ul.products li.product .price{color:#087a3b}
.tspp-toast-close{width:44px;height:44px;line-height:44px;right:7px;top:5px}.tspp-toast-copy{padding-right:38px}.tspp-toast-actions a{min-height:44px}
.tspp-tabs-nav button{min-height:44px}.tspp-thumb{min-height:44px}.tspp-faq-question{min-height:48px}
.tspp-page button:focus-visible,.tspp-page a:focus-visible,.tspp-page input:focus-visible,.tspp-page select:focus-visible,.tspp-lightbox button:focus-visible{outline:3px solid #075f31!important;outline-offset:3px!important;box-shadow:0 0 0 4px rgba(255,255,255,.96)!important}

/* ===== v1.3.4 typography hardening ===== */
.tspp-page,
.tspp-page button,.tspp-page input,.tspp-page select,.tspp-page textarea,
.tspp-related-scroller,
.tspp-related-scroller button,.tspp-related-scroller input,.tspp-related-scroller select,.tspp-related-scroller textarea{
  font-family:inherit!important;
  font-synthesis:none;
  font-variant-ligatures:normal;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
