/* VIP Tour Studio — isolated frontend design */
.vts-tour{--vts-ink:#173a42;--vts-dark:#0b2b33;--vts-gold:#d9aa6e;--vts-cream:#f6f3ec;--vts-muted:#4d666a;--vts-line:#dce5de;color:var(--vts-ink);font:400 16px/1.7 Roboto,Arial,sans-serif;background:#fff;padding:30px 0 0;overflow:clip}
.vts-tour *,.vts-tour *:before,.vts-tour *:after{box-sizing:border-box}.vts-tour .vts-wrap{width:calc(100% - 36px);max-width:1190px;margin:0 auto}.vts-tour h1,.vts-tour h2,.vts-tour h3,.vts-tour p{margin:0!important}.vts-tour h1,.vts-tour h2,.vts-tour h3{font-family:'Source Serif Pro','Source Serif 4',Georgia,serif!important;font-weight:700;letter-spacing:-.018em}.vts-tour button,.vts-tour input,.vts-tour select{font-family:Roboto,Arial,sans-serif}.vts-tour button{cursor:pointer}.vts-tour button:focus-visible,.vts-tour a:focus-visible,.vts-tour summary:focus-visible,.vts-tour input:focus-visible,.vts-tour select:focus-visible{outline:3px solid #b8894f;outline-offset:3px}.vts-tour a{text-decoration:none}.vts-tour [hidden]{display:none!important}
.vts-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#627577;font-size:13px;line-height:1.5;margin:0 0 23px}.vts-breadcrumb a{color:#52686e}.vts-breadcrumb a:hover{text-decoration:underline}.vts-header{margin-bottom:24px}.vts-kicker,.vts-eyebrow{display:block;font:800 12px/1.5 Roboto,Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#865e32;margin-bottom:13px}.vts-header h1{font-size:clamp(37px,4.5vw,57px);line-height:1.13;max-width:950px;color:var(--vts-ink)}.vts-header-facts{display:flex;flex-wrap:wrap;gap:10px 19px;margin-top:20px;color:#4c676b;font-size:14px}.vts-header-facts span:not(:last-child){padding-right:18px;border-right:1px solid #d8e1da}.vts-header-facts strong{color:#31555c}
.vts-photo-section{position:relative;margin:4px 0 32px}.vts-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,180px);gap:8px;border-radius:10px;overflow:hidden}.vts-mosaic-photo{position:relative;display:block;min-width:0;min-height:0;border:0;padding:0;background:#dbe4df;overflow:hidden}.vts-mosaic-photo:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(7,32,39,.3),transparent 50%);opacity:.7;pointer-events:none}.vts-mosaic-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}.vts-mosaic-photo:hover img{transform:scale(1.035)}.vts-mosaic-photo:first-child{grid-column:span 6;grid-row:span 2}.vts-mosaic-photo:not(:first-child){grid-column:span 3;grid-row:span 1}.vts-mosaic.vts-count-1{grid-template-rows:400px}.vts-mosaic.vts-count-1 .vts-mosaic-photo:first-child{grid-column:span 12;grid-row:span 1}.vts-mosaic.vts-count-2{grid-template-rows:390px}.vts-mosaic.vts-count-2 .vts-mosaic-photo:first-child{grid-column:span 8;grid-row:span 1}.vts-mosaic.vts-count-2 .vts-mosaic-photo:nth-child(2){grid-column:span 4;grid-row:span 1}.vts-mosaic.vts-count-3 .vts-mosaic-photo:first-child,.vts-mosaic.vts-count-4 .vts-mosaic-photo:first-child{grid-column:span 7}.vts-mosaic.vts-count-3 .vts-mosaic-photo:not(:first-child),.vts-mosaic.vts-count-4 .vts-mosaic-photo:not(:first-child){grid-column:span 5}.vts-mosaic.vts-count-4 .vts-mosaic-photo:nth-child(2){grid-column:span 5}.vts-mosaic.vts-count-4 .vts-mosaic-photo:nth-child(3),.vts-mosaic.vts-count-4 .vts-mosaic-photo:nth-child(4){grid-column:span 2}.vts-mosaic.vts-count-4 .vts-mosaic-photo:nth-child(4){grid-column:span 3}.vts-photo-more{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(5,27,33,.42);color:white;font-weight:800;font-size:23px}.vts-view-gallery{position:absolute;right:16px;bottom:16px;z-index:3;border:1px solid rgba(255,255,255,.6);border-radius:5px;background:rgba(255,255,255,.96);color:#173a42;padding:12px 17px;font-size:14px;font-weight:800;min-height:47px;box-shadow:0 4px 16px rgba(0,0,0,.1)}.vts-view-gallery span{margin-right:6px}
.vts-summary{display:grid;grid-template-columns:260px minmax(0,1fr);gap:35px;align-items:start;padding:16px 0 34px;border-bottom:1px solid var(--vts-line);margin-bottom:31px}.vts-summary h2{font-size:31px;line-height:1.2}.vts-summary p{color:var(--vts-muted);font-size:16px;line-height:1.8;max-width:840px}
.vts-main-grid{display:grid;grid-template-columns:minmax(0,1.66fr) minmax(310px,1fr);gap:38px;align-items:start;padding-bottom:70px}.vts-tour-details{min-width:0}.vts-detail-section{padding:30px 0;border-bottom:1px solid var(--vts-line)}.vts-detail-section:first-child{padding-top:0}.vts-detail-section:last-child{border-bottom:0}.vts-section-title{font-size:clamp(28px,3vw,36px);line-height:1.2;margin-bottom:24px!important}
.vts-inex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vts-inex-grid.vts-single-inex{grid-template-columns:1fr}.vts-inex-box{padding:22px;border:1px solid #e0e8e0;border-radius:9px;background:#fbfcfa}.vts-excluded{background:#fcfaf7;border-color:#e7e1d6}.vts-box-heading{display:flex;align-items:center;gap:10px;margin-bottom:17px}.vts-box-heading h2{font-size:23px;line-height:1.25}.vts-box-icon{display:inline-flex;justify-content:center;align-items:center;background:#e9f3e9;color:#35694a;border-radius:50%;width:28px;height:28px;flex:0 0 28px;font-weight:900}.vts-excluded .vts-box-icon{background:#f8e9dd;color:#98633b}.vts-inex-box ul{list-style:none;margin:0;padding:0}.vts-inex-box li{position:relative;padding:8px 0 8px 19px;color:var(--vts-muted);font-size:15px;line-height:1.55}.vts-inex-box li:before{content:'•';position:absolute;left:0;top:8px;color:#bd9159;font-weight:900}
.vts-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vts-highlight{display:flex;align-items:start;gap:12px;padding:16px;border:1px solid #e0e8e1;border-radius:6px;background:#f9faf7}.vts-highlight span{font-family:Georgia,serif;color:#987041;font-size:15px;font-weight:700}.vts-highlight p{font-size:16px;line-height:1.6;color:#3d5d62}.vts-main-points{list-style:none;padding:0;margin:0;display:grid;gap:12px}.vts-main-points li{position:relative;padding:13px 16px 13px 36px;background:#f8faf7;border:1px solid #e1e9e1;color:#3f5d63;border-radius:6px;font-size:16px}.vts-main-points li:before{content:'✓';position:absolute;left:14px;color:#98693b;font-weight:900}
.vts-itinerary{padding:0;margin:0;list-style:none;counter-reset:vts-step}.vts-itinerary li{position:relative;display:grid;grid-template-columns:47px minmax(0,1fr);gap:17px;padding-bottom:29px}.vts-itinerary li:not(:last-child):after{content:'';position:absolute;left:22px;top:47px;bottom:2px;border-left:1px dashed #c8d9cf}.vts-itin-number{position:relative;z-index:1;width:45px;height:45px;display:flex;align-items:center;justify-content:center;border:1px solid #dec7aa;border-radius:50%;background:#fbf2e6;color:#895b2c;font:700 16px Georgia,serif}.vts-itinerary h3{font-size:22px;line-height:1.3;margin:3px 0 7px!important}.vts-itinerary p{font-size:16px;color:var(--vts-muted);line-height:1.73}.vts-information-text{font-size:16px;line-height:1.8;color:var(--vts-muted)}.vts-information-text p+p{margin-top:12px!important}
.vts-booking-col{position:sticky;top:95px;max-height:calc(100vh - 110px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d8c6ab transparent}.vts-booking-card{border:1px solid #d9e2da;border-radius:10px;overflow:hidden;background:white;box-shadow:0 12px 36px rgba(16,48,55,.065)}.vts-booking-head{background:var(--vts-dark);color:white;padding:24px 25px}.vts-booking-head>span{color:#e6bb81;font-size:12px;font-weight:800;letter-spacing:1.1px}.vts-booking-head h2{color:white;font-size:31px;margin:7px 0 0!important}.vts-from{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;border-top:1px solid rgba(255,255,255,.2);margin-top:18px;padding-top:16px}.vts-from small{font-size:13px;color:#c8d9d5}.vts-from strong{font-size:27px;color:#e7bf85;font-family:Georgia,serif}.vts-from span{flex-basis:100%;color:#c6d7d3;font-size:12px}.vts-booking-form{padding:22px 24px 24px}.vts-field{display:grid;gap:7px;margin-bottom:15px;font-size:14px;font-weight:800;color:#2a4b52}.vts-field>span{color:#a86c3a}.vts-field input,.vts-field select{width:100%;min-width:0;min-height:48px;border:1px solid #ccd9d0!important;border-radius:5px!important;background:#fff!important;color:#173a42!important;padding:10px 12px!important;font-size:15px!important;line-height:1.5}.vts-field-row{display:grid;grid-template-columns:1fr .65fr;gap:11px}.vts-extras{border:1px solid #e0e5df;border-radius:7px;margin:9px 0 18px;padding:14px}.vts-extras legend{padding:0 5px;font-size:15px;font-weight:800;color:#173a42}.vts-extras legend small{font-size:12px;font-weight:500;color:#667a7b}.vts-extra-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e5eae5}.vts-extra-item:last-child{border:0}.vts-extra-item>label:first-child{display:flex;align-items:center;gap:9px;font-size:14px;color:#2b4a52;font-weight:700;flex:1}.vts-extra-check{width:17px;height:17px;accent-color:#173a42;flex-shrink:0}.vts-extra-item small{display:block;color:#667a7c;font-size:12px;font-weight:500}.vts-extra-qty-label{display:flex;align-items:center;gap:5px;font-size:12px;color:#526a6e;font-weight:700}.vts-extra-qty{width:56px;min-height:37px;padding:6px!important;border:1px solid #cfdbd1;border-radius:4px;font-size:13px}.vts-total-row{display:flex;align-items:end;justify-content:space-between;gap:8px;margin:18px 0;padding:16px;border:1px solid #e7dac7;border-radius:7px;background:#fcf8f1}.vts-total-row small{display:block;color:#815d30;font-weight:800;font-size:12px;text-transform:uppercase}.vts-total-row strong{display:block;color:#173a42;font:700 28px/1.25 Georgia,serif}.vts-total-row>span{max-width:110px;text-align:right;font-size:12px;color:#637478;line-height:1.5}.vts-booking-note{font-size:14px;line-height:1.65;color:#556b6e;margin:12px 0!important}.vts-consent{display:flex;align-items:start;gap:9px;color:#526b6e;font-size:13px;line-height:1.55;margin:15px 0}.vts-consent input{flex-shrink:0;width:16px;height:16px;accent-color:#173a42;margin-top:3px}.vts-consent a{text-decoration:underline;color:#173a42}.vts-booking-actions{display:grid;gap:9px}.vts-primary-btn,.vts-secondary-btn{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;min-height:52px;padding:12px 17px;border-radius:6px;font-size:15px;font-weight:800;text-align:left}.vts-primary-btn{border:1px solid #173a42;background:#173a42;color:#fff}.vts-primary-btn:hover{background:#28535b}.vts-secondary-btn{border:1px solid #bc955e;background:#e8c28a;color:#173a42}.vts-secondary-btn:hover{background:#f0d1a4}.vts-booking-disclaimer{font-size:12px;line-height:1.6;color:#6a7b7c;margin:14px 0 0!important}.vts-status{padding:12px 13px;background:#eff7f0;color:#2f6649;border:1px solid #cde1d1;border-radius:5px;font-size:14px;margin:12px 0 0!important;line-height:1.6}.vts-status.vts-error{background:#fff2ed;border-color:#e7c0b2;color:#8a412e}.vts-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.vts-wide-section{padding:75px 0}.vts-wide-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:27px;padding-bottom:21px;border-bottom:1px solid #dce5dd}.vts-wide-head h2{font-size:clamp(31px,3.7vw,46px);line-height:1.2}.vts-wide-head>p{font-size:16px;color:var(--vts-muted);max-width:310px}.vts-reviews{background:#f6f3ec}.vts-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vts-review-card{display:flex;flex-direction:column;border:1px solid #e2e2d9;border-radius:8px;background:#fff;padding:25px}.vts-review-quote{font:700 45px/1 Georgia,serif;color:#bd9160}.vts-review-card>p{font-size:16px;color:#3b5a5f;line-height:1.73;margin:7px 0 25px!important}.vts-review-author{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:auto;border-top:1px solid #e8ece7;padding-top:15px;font-size:14px}.vts-review-author strong{color:#173a42}.vts-review-author time{color:#61777a}.vts-faqs{background:#fff}.vts-faq-list{max-width:920px;margin:0 auto;border-top:1px solid #dce4dd}.vts-faq-list details{border-bottom:1px solid #dce4dd}.vts-faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:23px 2px;font-size:17px;font-weight:800;cursor:pointer;list-style:none;color:#173a42}.vts-faq-list summary::-webkit-details-marker{display:none}.vts-faq-list summary:after{content:'+';display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border:1px solid #ccdacf;border-radius:50%;font-size:21px;color:#94632f}.vts-faq-list details[open] summary:after{content:'−';color:#fff;background:#173a42}.vts-faq-list details>p{color:#4b6569;font-size:16px;line-height:1.8;padding:0 43px 22px 0}.vts-related{background:#f6f3ec}.vts-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.vts-related-card{border:1px solid #e0e5df;border-radius:9px;background:#fff;overflow:hidden}.vts-related-card img{width:100%;height:211px;object-fit:cover;display:block}.vts-related-card-body{padding:19px 22px 23px}.vts-related-card-body h3{font-size:24px;line-height:1.3;color:#173a42}.vts-related-card-body span{display:block;margin-top:15px;color:#80592e;font-weight:800;font-size:14px}.vts-related-card a:hover .vts-related-card-body span{text-decoration:underline}
.vts-lightbox{position:fixed;inset:0;margin:auto;padding:20px;border:0;max-width:min(1050px,96vw);width:100%;height:min(850px,94vh);background:#0b2027;color:#fff;border-radius:9px;overflow:hidden}.vts-lightbox::backdrop{background:rgba(2,14,18,.92)}.vts-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}.vts-lightbox-top{display:flex;justify-content:space-between;align-items:center;font-size:14px}.vts-gallery-close{border:1px solid #66797a;color:white;background:transparent;border-radius:50%;font-size:25px;width:39px;height:39px}.vts-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;margin:0}.vts-lightbox-image{object-fit:contain;max-width:100%;max-height:calc(94vh - 165px);min-height:0}.vts-gallery-caption{font-size:13px;color:#d3e3df;text-align:center;padding-top:9px}.vts-gallery-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px}.vts-gallery-navigation button{background:#173a42;color:white;border:1px solid #4d666a;border-radius:5px;padding:10px 18px;min-height:44px;font-size:14px;font-weight:700}
@media(max-width:1050px){.vts-main-grid{grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:22px}.vts-inex-grid{grid-template-columns:1fr}.vts-booking-form{padding:18px}.vts-highlight-grid{grid-template-columns:1fr}.vts-mosaic{grid-template-rows:repeat(2,160px)}}
@media(max-width:780px){.vts-main-grid{grid-template-columns:1fr;gap:24px}.vts-booking-col{position:static;max-height:none;overflow:visible;grid-row:1}.vts-booking-card{max-width:680px;margin:0 auto}.vts-summary{grid-template-columns:1fr;gap:10px}.vts-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vts-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vts-mosaic{grid-template-rows:repeat(2,140px)}}
@media(max-width:600px){.vts-tour{padding-top:19px}.vts-tour .vts-wrap{width:calc(100% - 30px)}.vts-header h1{font-size:clamp(34px,8.7vw,43px)}.vts-header-facts{font-size:13px;gap:8px 11px}.vts-header-facts span:not(:last-child){padding-right:9px}.vts-mosaic{grid-template-rows:240px 105px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border-radius:8px}.vts-mosaic .vts-mosaic-photo:first-child,.vts-mosaic.vts-count-2 .vts-mosaic-photo:first-child,.vts-mosaic.vts-count-3 .vts-mosaic-photo:first-child,.vts-mosaic.vts-count-4 .vts-mosaic-photo:first-child{grid-column:1/-1;grid-row:1}.vts-mosaic .vts-mosaic-photo:not(:first-child),.vts-mosaic.vts-count-3 .vts-mosaic-photo:not(:first-child),.vts-mosaic.vts-count-4 .vts-mosaic-photo:not(:first-child){grid-column:auto;grid-row:2}.vts-mosaic .vts-mosaic-photo:nth-child(n+4){display:none}.vts-mosaic.vts-count-1{grid-template-rows:270px}.vts-mosaic.vts-count-2{grid-template-rows:240px 105px}.vts-mosaic.vts-count-2 .vts-mosaic-photo:nth-child(2){grid-column:1/-1}.vts-photo-section{margin-bottom:26px}.vts-view-gallery{right:8px;bottom:8px;padding:9px 12px;min-height:40px;font-size:12px}.vts-summary{padding:0 0 26px;margin-bottom:20px}.vts-summary h2{font-size:29px}.vts-main-grid{padding-bottom:48px}.vts-detail-section{padding:26px 0}.vts-inex-box{padding:20px 18px}.vts-highlight-grid{gap:9px}.vts-section-title{font-size:30px}.vts-itinerary h3{font-size:20px}.vts-booking-head h2{font-size:28px}.vts-booking-form{padding:19px}.vts-wide-section{padding:52px 0}.vts-wide-head{display:block}.vts-wide-head>p{margin-top:10px!important}.vts-review-grid,.vts-related-grid{grid-template-columns:1fr;gap:12px}.vts-review-card{padding:22px}.vts-related-card img{height:220px}.vts-faq-list summary{font-size:16px}.vts-lightbox{max-width:100vw;width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:12px}.vts-lightbox-image{max-height:calc(100dvh - 160px)}}
@media(max-width:360px){.vts-field-row{grid-template-columns:1fr}.vts-mosaic{grid-template-rows:205px 90px}}
@media(prefers-reduced-motion:reduce){.vts-tour *{transition:none!important;scroll-behavior:auto!important}}
/* Tour listing shortcode and archive */
.vts-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;font:400 16px/1.65 Roboto,Arial,sans-serif;color:#173a42}.vts-collection *{box-sizing:border-box}.vts-collection-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e0e6df;border-radius:9px;background:#fff;overflow:hidden}.vts-collection-image{display:block;height:228px;background:#e7eee8}.vts-collection-image img{display:block;width:100%;height:100%;object-fit:cover}.vts-collection-content{display:flex;flex-direction:column;flex:1;padding:24px 22px}.vts-collection-content h3{font:700 25px/1.25 'Source Serif 4',Georgia,serif;margin:0 0 10px!important}.vts-collection-content h3 a{color:#173a42;text-decoration:none}.vts-collection-content p{color:#526a6e;font-size:14px;margin:0 0 15px!important}.vts-collection-content strong{font-size:18px;font-weight:800;margin-top:auto}.vts-collection-content strong small{display:block;color:#637677;font-size:12px;font-weight:500}.vts-collection-view{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;margin-top:21px;padding:12px 15px;background:#173a42;color:#fff!important;border-radius:5px;font-size:15px;font-weight:800;text-decoration:none!important}.vts-collection-view:hover{background:#28535b}.vts-archive{background:#f6f3ec;padding-bottom:70px}.vts-archive-wrap{max-width:1190px;width:calc(100% - 36px);margin:auto}.vts-archive-header{background:linear-gradient(125deg,#173a42,#0b2b33);color:white;padding:68px 0}.vts-archive-header span{color:#e7bc84;font-size:12px;font-weight:800;letter-spacing:1.2px}.vts-archive-header h1{font:700 clamp(38px,5vw,58px)/1.15 'Source Serif 4',Georgia,serif;color:white;margin:13px 0!important}.vts-archive-header p{max-width:600px;color:#d1e0dc;font-size:16px}.vts-archive-body{padding-top:35px}
@media(max-width:900px){.vts-collection{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.vts-collection{grid-template-columns:1fr;gap:15px}.vts-collection-image{height:230px}.vts-archive-header{padding:48px 0}.vts-archive{padding-bottom:45px}}
/* v1.1 — card content from the same fields as the Single Tour Page */
.vts-collection .vts-collection-facts{font-size:14px;margin-bottom:10px!important}
.vts-collection .vts-collection-description{font-size:15px;color:#486268;line-height:1.7;margin:0 0 12px!important}
.vts-collection-inclusions{list-style:none;padding:0;margin:0 0 18px!important;display:grid;gap:7px}
.vts-collection-inclusions li{font-size:14px;color:#3e5a5d;display:flex;align-items:flex-start;gap:9px;line-height:1.55}
.vts-collection-inclusions li:before{content:'✓';color:#286c4d;font-weight:900;flex:0 0 auto}
.vts-collection .vts-collection-price{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:auto}
.vts-collection .vts-collection-price strong{font-size:23px;font-family:'Source Serif 4',Georgia,serif;font-weight:700;color:#173a42}
.vts-collection .vts-collection-price span{font-size:14px;font-weight:700;color:#506c6e}
.vts-collection-single{grid-template-columns:minmax(0,380px)}
.vts-legacy-basis{display:block;font-size:14px;color:#586f72;font-weight:700;margin-top:5px}
/* Compatible with other Elementor widgets that declare data-vts-field attributes. */
[data-vts-synced="1"] [hidden]{display:none!important}
/* v1.1: show the same featured package price basis as the card. */
.vts-tour .vts-featured-basis{display:inline!important;max-width:none!important;font:700 14px/1.4 Roboto,Arial,sans-serif;color:#526a6e!important;white-space:nowrap}
#vts-booking{scroll-margin-top:105px}

/* Premium booking steps and concise information panels — 1.3.1 */
.vts-tour .vts-info-list{display:grid;gap:10px}
.vts-tour .vts-info-item{display:grid;grid-template-columns:minmax(140px,32%) minmax(0,1fr);gap:15px;align-items:start;padding:15px 18px;border:1px solid #e7e3da;border-radius:12px;background:#fffdfa;color:#435b60;line-height:1.6}
.vts-tour .vts-info-item strong{color:#173a42;font-size:14px}
.vts-tour .vts-detail-section:has(.vts-info-list){padding:29px 0}
.vts-tour .vts-step-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 0 23px}
.vts-tour .vts-step-progress>span{border-bottom:3px solid #e5e6e2;padding:0 3px 11px;color:#829092;font-weight:800;font-size:14px}
.vts-tour .vts-step-progress>span.is-current{border-color:#b77b3e;color:#173a42}
.vts-tour .vts-step-progress small{display:block;font-size:11px;font-weight:600;margin-top:3px}
.vts-tour .vts-booking-step[hidden],.vts-tour .vts-step-nav button[hidden]{display:none!important}
.vts-tour .vts-step-nav{display:flex;gap:10px;margin:16px 0 0}
.vts-tour .vts-step-nav button{border:1px solid #d8d1c4;border-radius:9px;min-height:48px;padding:11px 17px;font-size:14px;font-weight:800;cursor:pointer;color:#173a42;background:#fff}
.vts-tour .vts-step-nav .vts-step-next{flex:1;color:#fff;background:#173a42;border-color:#173a42}
.vts-tour .vts-booking-card{border-radius:15px;box-shadow:0 18px 44px rgba(16,48,55,.095)}
.vts-tour .vts-booking-col{scrollbar-width:thin}
@media(max-width:650px){.vts-tour .vts-info-item{grid-template-columns:1fr;gap:3px;padding:13px 14px}.vts-tour .vts-step-progress small{font-size:10px}}

/* v1.3.2: compact editorial FAQ and four-column related tour cards */
.vts-tour .vts-faqs{background:#f7f7f3;padding:65px 0 75px}
.vts-tour .vts-faqs .vts-wide-head{display:block;max-width:1080px;margin:0 auto 29px;border:0;padding:0;text-align:center}
.vts-tour .vts-faqs .vts-wide-head h2{font-size:clamp(30px,3.5vw,42px);margin:8px 0 10px!important}
.vts-tour .vts-faqs .vts-wide-head>p{max-width:none;margin:0!important;font-size:14px}
.vts-tour .vts-faq-list{max-width:940px;border:0;display:grid;gap:11px}
.vts-tour .vts-faq-list details{background:#fff;border:1px solid #e1e5de;border-radius:12px;overflow:hidden;box-shadow:0 2px 13px rgba(18,45,42,.035);transition:border-color .2s,box-shadow .2s}
.vts-tour .vts-faq-list details[open]{border-color:#c7b08d;box-shadow:0 8px 25px rgba(18,45,42,.07)}
.vts-tour .vts-faq-list summary{padding:19px 22px;gap:16px;font-size:15px;line-height:1.5;justify-content:flex-start}
.vts-tour .vts-faq-list summary:hover{background:#fcfbf8}
.vts-tour .vts-faq-number{color:#aa7c44;font-size:12px;letter-spacing:.06em;font-weight:800;flex:0 0 25px}
.vts-tour .vts-faq-question{flex:1;min-width:0}
.vts-tour .vts-faq-list summary:after{content:'+';font-size:22px;line-height:1;border:none;background:#f1f4f0;border-radius:8px;width:34px;height:34px;flex:0 0 34px;color:#173a42}
.vts-tour .vts-faq-list details[open] summary:after{content:'−';background:#173a42;color:#fff}
.vts-tour .vts-faq-answer{padding:0 68px 22px 63px}
.vts-tour .vts-faq-answer p{border-top:1px solid #e9ede7;padding-top:15px!important;margin:0!important;color:#536b6e;font-size:14px;line-height:1.75}
.vts-tour .vts-related-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.vts-tour .vts-related-card img{height:165px}
.vts-tour .vts-related-card-body{padding:17px}
.vts-tour .vts-related-card-body h3{font-size:19px;line-height:1.32;margin:0!important}
.vts-tour .vts-related-card-body span{margin-top:12px}
@media(max-width:900px){.vts-tour .vts-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.vts-tour .vts-faqs{padding:47px 0}.vts-tour .vts-faq-list summary{padding:15px 13px;gap:9px;font-size:14px}.vts-tour .vts-faq-number{flex-basis:20px}.vts-tour .vts-faq-answer{padding:0 17px 17px 42px}.vts-tour .vts-related-grid{grid-template-columns:1fr}.vts-tour .vts-related-card img{height:210px}}

/* v1.3.3: unified booking modal, premium compact information and FAQ */
.vts-tour .vts-detail-section:has(.vts-info-list){border-radius:16px;padding:25px 0 33px}
.vts-tour .vts-info-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px}
.vts-tour .vts-info-item{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:#f8f7f3;border:1px solid #e6e6df;border-radius:12px;line-height:1.55}
.vts-tour .vts-info-item:before{content:'✓';display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e4eee9;color:#17604b;font-weight:800;font-size:13px;margin-bottom:4px}
.vts-tour .vts-info-item strong{font-size:13px;letter-spacing:.01em;color:#102f37}
.vts-tour .vts-info-item span{font-size:13px;color:#536669}
.vts-tour .vts-faqs{background:#faf9f6}
.vts-tour .vts-faqs .vts-wide-head{text-align:left;max-width:1050px;border-bottom:1px solid #e3e7e4;padding-bottom:19px;margin-bottom:19px}
.vts-tour .vts-faqs .vts-wide-head h2{font-size:clamp(27px,3vw,37px)}
.vts-tour .vts-faq-list{max-width:1050px;gap:8px}
.vts-tour .vts-faq-list details{border-radius:10px;box-shadow:none;border-color:#e4e7e3}
.vts-tour .vts-faq-list summary{padding:17px 20px;font-weight:700;font-size:15px}
.vts-tour .vts-faq-answer{padding:0 24px 20px 65px}
.vts-tour .vts-faq-list details[open]{background:#fffdf9}
.vts-tour .vts-related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.vts-tour .vts-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.vts-tour .vts-info-list{grid-template-columns:1fr}.vts-tour .vts-info-item{padding:14px 16px}.vts-tour .vts-faq-answer{padding:0 17px 16px 45px}.vts-tour .vts-related-grid{grid-template-columns:1fr}.vts-tour .vts-booking-dialog .vts-booking-head{padding-right:48px}}


/* v1.3.4 — refreshed single-tour information, FAQ, and independent INLINE booking. */
.vts-tour .vts-booking-col{position:sticky;top:100px;overflow:visible;max-height:none;scrollbar-width:auto}
.vts-tour .vts-inline-booking{background:#fff;overflow:hidden;border:1px solid #e6e8e2;border-radius:18px;box-shadow:0 18px 48px rgba(11,40,44,.085)}
.vts-tour .vts-inline-booking .vts-booking-head{background:linear-gradient(133deg,#092d35,#174650);padding:27px 27px 25px}
.vts-tour .vts-inline-booking .vts-booking-head>span{font-size:10px;letter-spacing:.18em;color:#f1bc80}
.vts-tour .vts-inline-booking .vts-booking-head h2{font:700 31px/1.2 'Source Serif 4',Georgia,serif;color:#fff;margin:8px 0!important}
.vts-tour .vts-inline-booking .vts-booking-head p{margin:0!important;color:#e3eded;font-size:13px}
.vts-tour .vts-inline-booking .vts-from{margin-top:15px;padding-top:14px;gap:5px 9px}
.vts-tour .vts-inline-booking .vts-from strong{color:#f7ce94;font-size:25px}
.vts-tour .vts-inline-booking .vts-from span{flex-basis:auto;font-size:12px}
.vts-tour .vts-inline-booking .vts-booking-form{padding:23px}
.vts-tour .vts-inline-booking .vts-step-progress{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:25px}
.vts-tour .vts-inline-booking .vts-step-progress span{border:1px solid #e7e9e5;border-radius:10px;background:#fafaf7;color:#698084;display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;padding:12px 11px;line-height:1.35}
.vts-tour .vts-inline-booking .vts-step-progress span b{color:#8b9a9c;font-size:11px;letter-spacing:.08em}
.vts-tour .vts-inline-booking .vts-step-progress span.is-current{border-color:#dfb984;background:#fff7ec;color:#143842}
.vts-tour .vts-inline-booking .vts-step-progress span.is-current b{color:#ab7134}
.vts-tour .vts-inline-booking .vts-booking-step[hidden],.vts-tour .vts-other-code[hidden]{display:none!important}
.vts-tour .vts-inline-booking .vts-step-intro{margin-bottom:19px}
.vts-tour .vts-inline-booking .vts-step-intro h3{margin:0 0 4px!important;font:700 22px/1.22 'Source Serif 4',Georgia,serif;color:#143842}
.vts-tour .vts-inline-booking .vts-step-intro p{margin:0!important;color:#6d7e7c;font-size:12px;line-height:1.5}
.vts-tour .vts-inline-booking .vts-field{font-size:12px;letter-spacing:.01em;color:#24474c;margin-bottom:14px;gap:6px}
.vts-tour .vts-inline-booking .vts-field input,.vts-tour .vts-inline-booking .vts-field select{font-size:14px!important;min-height:46px;border-color:#dbe3e1!important;border-radius:9px!important;padding:9px 12px!important;box-shadow:none!important}
.vts-tour .vts-inline-booking .vts-field :is(input,select):focus-visible{outline:2px solid #d29f60;outline-offset:2px}
.vts-tour .vts-inline-booking .vts-field-row{grid-template-columns:1fr 1fr;gap:10px}
.vts-tour .vts-inline-booking .vts-field-row-equal{grid-template-columns:1fr}
.vts-tour .vts-inline-booking .vts-phone-grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px}
.vts-tour .vts-inline-booking .vts-extras{padding:14px 13px;background:#fafaf8;border-radius:11px;border-color:#e9e9df}
.vts-tour .vts-inline-booking .vts-extras legend{font-size:13px}
.vts-tour .vts-inline-booking .vts-extra-item{align-items:center;gap:5px;padding:10px 0}
.vts-tour .vts-inline-booking .vts-extra-item>label:first-child{font-size:12px}
.vts-tour .vts-inline-booking .vts-extra-qty{width:52px}
.vts-tour .vts-inline-booking .vts-step-next{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:14px 17px;background:#dca867;color:#092d35;border:0;border-radius:10px;font-size:14px;font-weight:800;cursor:pointer}
.vts-tour .vts-inline-booking .vts-step-next:hover{background:#f1c78e}
.vts-tour .vts-inline-booking .vts-step-back{display:inline-flex;margin-top:14px;background:transparent;color:#50666a;border:0;padding:5px 0;font-size:13px;font-weight:700;cursor:pointer}
.vts-tour .vts-inline-booking .vts-total-row{margin:15px 0 0;padding:15px;border-radius:11px;background:#f4f8f7;border-color:#dce9e5}
.vts-tour .vts-inline-booking .vts-total-row small{color:#536d6d}
.vts-tour .vts-inline-booking .vts-total-row strong{font-size:25px}
.vts-tour .vts-inline-booking .vts-primary-btn{background:#12434b;border-color:#12434b;border-radius:10px;font-size:13px;min-height:51px;padding:12px}
.vts-tour .vts-inline-booking .vts-secondary-btn{border-radius:10px;font-size:13px;min-height:50px;padding:12px}
.vts-tour .vts-inline-booking .vts-booking-actions button:disabled{opacity:.6;cursor:progress}
.vts-tour .vts-inline-booking .vts-consent{font-size:12px}
.vts-tour .vts-inline-booking .vts-booking-disclaimer{font-size:11px}
/* Important Information and Cancellation: fully scannable cards rather than long lines. */
.vts-tour .vts-important-section,.vts-tour .vts-cancellation-section{padding-top:42px;padding-bottom:42px}
.vts-tour .vts-important-section .vts-section-title,.vts-tour .vts-cancellation-section .vts-section-title{margin:6px 0 6px!important;font-size:clamp(29px,3vw,36px)}
.vts-tour .vts-info-lede{color:#64797b;font-size:14px;line-height:1.6;margin:0 0 20px!important}
.vts-tour .vts-important-section .vts-info-list,.vts-tour .vts-cancellation-section .vts-info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vts-tour .vts-important-section .vts-info-item,.vts-tour .vts-cancellation-section .vts-info-item{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;align-content:start;align-items:start;gap:5px 11px;min-width:0;background:#fafbf9;border:1px solid #e5e9e5;border-radius:13px;padding:17px 15px;box-shadow:none}
.vts-tour .vts-important-section .vts-info-item:before,.vts-tour .vts-cancellation-section .vts-info-item:before{content:'i';grid-column:1;grid-row:1 / span 2;width:29px;height:29px;margin:0;border-radius:9px;display:grid;place-items:center;background:#e7f0ed;color:#285851;font-weight:800;font:italic 700 17px Georgia,serif}
.vts-tour .vts-cancellation-section .vts-info-item:before{content:'✓';font:800 14px Roboto,Arial,sans-serif;background:#fcf0de;color:#915f30}
.vts-tour .vts-info-item strong{grid-column:2;grid-row:1;color:#143842;font-size:13px;line-height:1.4}
.vts-tour .vts-info-item span{grid-column:2;grid-row:2;color:#607174;font-size:13px;line-height:1.62;overflow-wrap:anywhere}
.vts-tour .vts-info-item:not(:has(strong)) span{grid-row:1 / span 2}
/* Refined FAQ: natural reading width, high-contrast affordance, no loud rows. */
.vts-tour .vts-faqs{background:#f7f8f5;padding:72px 0 77px}
.vts-tour .vts-faqs .vts-wide-head{display:block;max-width:880px;text-align:center;border:0;margin:0 auto 27px;padding:0}
.vts-tour .vts-faqs .vts-wide-head h2{margin:8px 0!important;font:700 clamp(30px,4vw,42px)/1.17 'Source Serif 4',Georgia,serif}
.vts-tour .vts-faqs .vts-wide-head>p{margin:0 auto!important;max-width:640px;font-size:14px}
.vts-tour .vts-faq-list{max-width:890px;display:grid;gap:9px;margin:0 auto;border:0}
.vts-tour .vts-faq-list details{background:#fff;border:1px solid #e0e7e2;border-radius:12px;box-shadow:none;overflow:hidden}
.vts-tour .vts-faq-list details[open]{background:#fff;border-color:#c7d5cd;box-shadow:0 7px 24px rgba(20,55,48,.055)}
.vts-tour .vts-faq-list summary{font-size:14px;line-height:1.55;font-weight:700;min-height:69px;gap:14px;padding:16px 19px}
.vts-tour .vts-faq-list summary:after{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid #e1e6e1;border-radius:50%;background:#f5f7f4;color:#315650;font-size:22px;font-weight:400}
.vts-tour .vts-faq-list details[open] summary:after{background:#143e44;color:#fff;border-color:#143e44}
.vts-tour .vts-faq-number{font-size:11px;color:#a47d50;flex:0 0 23px}
.vts-tour .vts-faq-question{flex:1;min-width:0}
.vts-tour .vts-faq-answer{padding:0 64px 21px 56px}
.vts-tour .vts-faq-answer p{border-top:1px solid #eff0ed;padding-top:13px!important;font-size:14px;line-height:1.8}
/* Related: always four distinct cards in one desktop row; responsive elsewhere. */
.vts-tour .vts-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.vts-tour .vts-related-card{min-width:0;border-radius:13px;overflow:hidden}
.vts-tour .vts-related-card img,.vts-tour .vts-related-placeholder{height:174px;width:100%;object-fit:cover;display:block}
.vts-tour .vts-related-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#244952,#ad875a);font-size:12px;letter-spacing:.12em;color:#fff;font-weight:800}
.vts-tour .vts-related-card-body{padding:17px}
.vts-tour .vts-related-card-body h3{font-size:19px;line-height:1.35;margin:0!important}
@media(max-width:1080px){.vts-tour .vts-important-section .vts-info-list,.vts-tour .vts-cancellation-section .vts-info-list{grid-template-columns:1fr}}
@media(max-width:900px){.vts-tour .vts-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.vts-tour .vts-booking-col{position:static;grid-row:1}.vts-tour .vts-important-section .vts-info-list,.vts-tour .vts-cancellation-section .vts-info-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.vts-tour .vts-important-section .vts-info-list,.vts-tour .vts-cancellation-section .vts-info-list{grid-template-columns:1fr}.vts-tour .vts-inline-booking .vts-booking-form{padding:19px 16px}.vts-tour .vts-inline-booking .vts-phone-grid{grid-template-columns:108px minmax(0,1fr)}.vts-tour .vts-faqs{padding:52px 0}.vts-tour .vts-faq-list summary{padding:13px 14px;gap:9px;font-size:13px}.vts-tour .vts-faq-answer{padding:0 18px 18px 44px}.vts-tour .vts-related-grid{grid-template-columns:1fr}.vts-tour .vts-related-card img,.vts-tour .vts-related-placeholder{height:210px}}
@media(max-width:380px){.vts-tour .vts-inline-booking .vts-field-row,.vts-tour .vts-inline-booking .vts-phone-grid{grid-template-columns:1fr}.vts-tour .vts-inline-booking .vts-booking-head h2{font-size:28px}}
/* Homepage: ensure hidden second benefits list never reappears under themed CSS. */
[data-vts-synced="1"] [hidden]{display:none!important}


/* v1.4.1 — iPhone / mobile booking form usability.
 * Does not affect prices, submissions, or the separate outside popup.
 * iOS Safari automatically zooms focused text controls when rendered under 16px.
 */
.vts-tour .vts-inline-booking .vts-field{
  display:block; /* Keep required * inline with label, not on its own grid row. */
  min-width:0;
  line-height:1.5;
}
.vts-tour .vts-inline-booking .vts-field>span[aria-hidden="true"]{
  display:inline;
  margin-left:2px;
  color:#a86c3a;
}
.vts-tour .vts-inline-booking .vts-field>small{display:inline}
.vts-tour .vts-inline-booking .vts-field :is(input,select,textarea){
  display:block;
  margin-top:7px;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
}
.vts-tour .vts-inline-booking .vts-field-row,
.vts-tour .vts-inline-booking .vts-phone-grid{
  min-width:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.vts-tour .vts-inline-booking .vts-field-row-equal{grid-template-columns:minmax(0,1fr)}
@media (max-width:780px){
  /* A desktop sticky scroll region inside the mobile page traps the form
     beneath Safari's keyboard and bottom browser toolbar. */
  .vts-tour .vts-booking-col{
    position:static!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .vts-tour .vts-booking-card,
  .vts-tour .vts-inline-booking,
  .vts-tour .vts-inline-booking .vts-booking-form{min-width:0;max-width:100%}
  .vts-tour .vts-inline-booking .vts-field :is(input,select,textarea),
  .vts-tour .vts-inline-booking input.vts-extra-qty{
    font-size:16px!important; /* Prevent iOS focus zoom; preserve pinch-to-zoom. */
    line-height:1.35;
    min-height:48px;
  }
  .vts-tour .vts-inline-booking .vts-field :is(input,select,textarea){
    padding:12px 13px!important;
    text-align:left;
    -webkit-text-size-adjust:100%;
  }
  .vts-tour .vts-inline-booking .vts-field input[type="date"]{
    direction:ltr;
    max-width:100%;
    min-width:0;
  }
  .vts-tour .vts-inline-booking .vts-step-progress{
    scroll-margin-top:110px;
  }
  .vts-tour .vts-inline-booking .vts-booking-form{
    padding-bottom:max(24px,env(safe-area-inset-bottom));
  }
  .vts-tour .vts-inline-booking .vts-extra-item{
    flex-wrap:wrap;
    row-gap:9px;
  }
  .vts-tour .vts-inline-booking .vts-extra-item>label:first-child{
    min-width:0;
    overflow-wrap:anywhere;
  }
}
@media (max-width:680px){
  .vts-tour .vts-inline-booking .vts-field-row,
  .vts-tour .vts-inline-booking .vts-field-row-equal,
  .vts-tour .vts-inline-booking .vts-phone-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
  }
  .vts-tour .vts-inline-booking .vts-booking-form{padding:20px 17px 25px}
  .vts-tour .vts-inline-booking .vts-step-progress{
    gap:8px;
    margin-bottom:20px;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .vts-tour .vts-inline-booking .vts-step-progress>span{
    min-width:0;
    padding:11px 10px;
    font-size:12px;
    overflow-wrap:anywhere;
  }
  .vts-tour .vts-inline-booking .vts-step-intro h3{font-size:clamp(21px,5.5vw,27px)}
  .vts-tour .vts-inline-booking .vts-step-intro p{font-size:14px;line-height:1.55}
  .vts-tour .vts-inline-booking .vts-field{font-size:14px;margin-bottom:16px}
  .vts-tour .vts-inline-booking .vts-step-next,
  .vts-tour .vts-inline-booking .vts-primary-btn,
  .vts-tour .vts-inline-booking .vts-secondary-btn{
    min-height:49px;
    font-size:14px;
    line-height:1.4;
    white-space:normal;
  }
  .vts-tour .vts-inline-booking .vts-total-row{
    flex-wrap:wrap;
    align-items:flex-start;
    gap:8px;
  }
  .vts-tour .vts-inline-booking .vts-total-row>span{
    text-align:left;
    max-width:none;
  }
  .vts-tour .vts-inline-booking .vts-booking-actions{min-width:0}
  .vts-tour .vts-inline-booking .vts-booking-disclaimer{font-size:12px;line-height:1.6}
}
@media (max-width:359px){
  .vts-tour .vts-inline-booking .vts-booking-form{padding:17px 13px 22px}
  .vts-tour .vts-inline-booking .vts-step-progress>span{font-size:11px;padding:9px 8px}
}
