/* JoinExcursions site-wide UI chrome: header tools (language / currency / cart) and the
   multi-excursion cart drawer. Kept out of main.css on purpose — main.css keeps getting
   overwritten by external syncs; do NOT fold these rules back into it.

   The .jx-hdr-dd / .jx-dd-* base styles are duplicated here (they also live in main.css)
   so the header switcher survives a main.css clobber. This file loads last and wins. */

/* ---- Header dropdown base (language + currency), shared by mobile and desktop ---- */
.jx-hdr-dd{position:relative;}
.jx-dd-btn{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #E3E7E4;border-radius:8px;padding:7px 10px;font-family:inherit;font-size:13px;font-weight:600;color:#1C2011;cursor:pointer;line-height:1;}
.jx-dd-btn:hover{border-color:#1C7F73;}
.jx-dd-flag{font-size:15px;line-height:1;}
.jx-dd-caret{font-size:9px;color:#5F6358;}
.jx-dd-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #ECEFEE;border-radius:10px;box-shadow:0 14px 34px rgba(16,50,43,.16);list-style:none;margin:0;padding:6px;min-width:150px;z-index:99999;}
.jx-hdr-dd.is-open .jx-dd-menu{display:block;}
.jx-dd-menu li{margin:0;}
.jx-dd-menu a{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:7px;color:#1C2011;font-size:13.5px;font-weight:500;text-decoration:none;white-space:nowrap;}
.jx-dd-menu a:hover{background:#F2F5F3;}
.jx-dd-menu .is-active a{color:#1C7F73;font-weight:700;}
.jx-dd-note{padding:7px 12px 5px;font-size:10.5px;color:#5F6862;border-top:1px solid #F2F5F3;margin-top:4px;white-space:nowrap;}

/* ---- Desktop header tools -------------------------------------------------------
   Injected into .navigation-wrap just before the "Book" button. The parent theme
   swaps to .mobile-header at <=1024px, where .jx-mh-tools already carries these. */
.jx-dtools{display:flex;align-items:center;gap:9px;margin-left:18px;}
.jx-dtools .jx-dd-menu{min-width:160px;}
@media(max-width:1024px){.jx-dtools{display:none;}}

/* ---- Cart button (used in both headers) ---- */
.jx-cart-btn{position:relative;display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #E3E7E4;border-radius:8px;padding:7px 11px;font-family:inherit;font-size:13px;font-weight:600;color:#1C2011;cursor:pointer;line-height:1;}
.jx-cart-btn:hover{border-color:#1C7F73;}
.jx-cart-btn svg{display:block;}
.jx-cart-count{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#AD5D19;color:#fff;font-size:11px;font-weight:700;display:none;align-items:center;justify-content:center;line-height:1;}
.jx-cart-btn.has-items .jx-cart-count{display:flex;}
/* the mobile header keeps the burger last, so the cart sits before it */
.jx-mh-tools .jx-cart-btn{padding:7px 9px;}

/* ---- Cart drawer ---- */
.jx-cart-overlay{position:fixed;inset:0;background:rgba(16,32,25,.45);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;z-index:100000;}
.jx-cart-drawer{position:fixed;top:0;right:0;height:100%;width:400px;max-width:92vw;background:#fff;box-shadow:-14px 0 40px rgba(16,50,43,.18);transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:100001;display:flex;flex-direction:column;}
body.jx-cart-open .jx-cart-overlay{opacity:1;visibility:visible;}
body.jx-cart-open .jx-cart-drawer{transform:translateX(0);}
body.jx-cart-open{overflow:hidden;}

.jx-cart-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 22px;border-bottom:1px solid #ECEFEE;flex:0 0 auto;}
.jx-cart-head h3{margin:0;font-size:17px;font-weight:700;color:#1C2011;}
.jx-cart-head-sub{display:block;margin-top:3px;font-size:12.5px;font-weight:500;color:#5F6862;}
.jx-cart-close{background:none;border:none;font-size:26px;line-height:1;color:#5F6862;cursor:pointer;padding:0 2px;}
.jx-cart-close:hover{color:#1C2011;}

.jx-cart-body{flex:1 1 auto;overflow-y:auto;padding:8px 22px;}
.jx-cart-item{padding:17px 0;border-bottom:1px solid #F2F5F3;display:flex;gap:13px;}
.jx-cart-item:last-child{border-bottom:none;}
.jx-cart-thumb{flex:0 0 auto;width:62px;height:62px;border-radius:10px;object-fit:cover;background:#F2F5F3;}
.jx-cart-info{flex:1 1 auto;min-width:0;}
.jx-cart-name{margin:0 0 5px;font-size:14.5px;font-weight:700;color:#1C2011;line-height:1.35;}
.jx-cart-name a{color:inherit;text-decoration:none;}
.jx-cart-name a:hover{color:#1C7F73;}
.jx-cart-meta{margin:0;font-size:12.5px;color:#5F6862;line-height:1.6;}
.jx-cart-meta b{color:#494D41;font-weight:600;}
.jx-cart-row-b{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;}
.jx-cart-price{font-size:15px;font-weight:700;color:#1C7F73;white-space:nowrap;}
.jx-cart-remove{background:none;border:none;padding:0;font-size:12px;color:#a0a89f;cursor:pointer;text-decoration:underline;font-family:inherit;}
.jx-cart-remove:hover{color:#E45745;}
.jx-cart-remove[disabled]{opacity:.5;cursor:default;text-decoration:none;}

.jx-cart-empty{text-align:center;padding:54px 16px;color:#5F6862;}
.jx-cart-empty svg{opacity:.35;margin-bottom:14px;}
.jx-cart-empty p{margin:0 0 18px;font-size:14px;}

.jx-cart-foot{flex:0 0 auto;padding:18px 22px 22px;border-top:1px solid #ECEFEE;background:#FAFBFA;}
.jx-cart-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.jx-cart-total span{font-size:14px;font-weight:600;color:#494D41;}
.jx-cart-total b{font-size:21px;font-weight:800;color:#1C2011;}
.jx-cart-actions{display:flex;flex-direction:column;gap:9px;}
.jx-cart-checkout{display:block;width:100%;text-align:center;background:#1C7F73;color:#fff;border:none;border-radius:9px;padding:14px 18px;font-family:inherit;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;}
.jx-cart-checkout:hover{background:#1C7F73;color:#fff;}
.jx-cart-keep{display:block;width:100%;text-align:center;background:none;border:1px solid #E3E7E4;border-radius:9px;padding:12px 18px;font-family:inherit;font-size:14px;font-weight:600;color:#494D41;text-decoration:none;cursor:pointer;}
.jx-cart-keep:hover{border-color:#1C7F73;color:#1C2011;}
.jx-cart-note{margin:12px 0 0;text-align:center;font-size:11.5px;color:#5F6862;line-height:1.5;}

/* ---- "Add to cart" on the trip booking widget ---- */
.jx-addcart-btn{display:block;width:100%;margin-top:10px;background:#fff;color:#1C2011;border:1.5px solid #1C7F73;border-radius:8px;padding:13px 18px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;text-align:center;}
.jx-addcart-btn:hover{background:#F1FAF8;}
.jx-addcart-btn[disabled]{opacity:.6;cursor:default;}

/* ---- Toast confirming an add ---- */
.jx-cart-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,18px);background:#1C2011;color:#fff;padding:13px 22px;border-radius:10px;font-size:14px;font-weight:600;box-shadow:0 12px 30px rgba(16,50,43,.3);opacity:0;visibility:hidden;transition:opacity .22s ease,transform .22s ease,visibility .22s ease;z-index:100002;display:flex;align-items:center;gap:9px;max-width:90vw;}
.jx-cart-toast.is-on{opacity:1;visibility:visible;transform:translate(-50%,0);}
.jx-cart-toast svg{flex:0 0 auto;}

@media(max-width:480px){
  .jx-cart-drawer{width:100%;max-width:100%;}
  .jx-cart-head,.jx-cart-body,.jx-cart-foot{padding-left:16px;padding-right:16px;}
}

/* ─── Currency switcher in the top bar (WP Travel Engine Currency Converter) ───
   The add-on renders through nice-select, whose closed control is a 42px boxed
   field. The top bar's own content (social icons, phone, email) is shorter than
   that, so the box grew the bar and pushed the hero down. These rules make the
   closed control sit inline as plain text with a caret — the same treatment WP
   Travel Engine's own demo uses — so the bar keeps its original height. Only the
   closed control is reset; the dropdown panel keeps the add-on's styling. */
.header-t-currnc .nice-select{
	height:auto;
	min-height:0;
	line-height:inherit;
	padding:0 20px 0 0;
	border:0;
	border-radius:0;
	background:transparent;
	font-size:inherit;
	color:inherit;
}
.header-t-currnc .nice-select:hover,
.header-t-currnc .nice-select:focus,
.header-t-currnc .nice-select.open{background:transparent;border:0;box-shadow:none;}
.header-t-currnc .nice-select::after{right:4px;}

/* the open dropdown is a panel in its own right — keep the add-on's sizing there */
.header-t-currnc .nice-select .list{line-height:normal;color:initial;}
.header-t-currnc .nice-select .list .option{line-height:34px;min-height:34px;}

/* ---- Trip video embeds ----
   The importer writes <div class="jx-video"><iframe></div> with an inline "inset:0", which
   WordPress strips on save, so the player fell out of its 16:9 box: a big empty gap under
   "Video" and the player painted over the next section (the itinerary). Pin it here. */
.jx-video{position:relative;width:100%;height:0;padding-top:56.25%;margin:0 0 1em;overflow:hidden;border-radius:8px;background:#000;}
.jx-video iframe{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;border:0;}

/* ---- Booking pop-up (WP Travel Engine) ----
   A whole month fits without scrolling inside the calendar, the step tabs read as
   clickable (functions.php makes them work), and the guidance line shows above the buttons. */
.wpte-modal .flatpickr-calendar .flatpickr-weekdays{height:auto!important;}
.wpte-modal .flatpickr-calendar .flatpickr-weekday{height:auto!important;line-height:1!important;padding:8px 0!important;}
.wpte-modal .flatpickr-calendar .flatpickr-day{height:40px!important;max-height:40px;line-height:40px!important;padding:0!important;}
.wpte-modal .flatpickr-calendar .flatpickr-months{padding-top:4px;padding-bottom:4px;}
@media (min-width:768px){
	.wpte-modal{height:min(calc(100vh - 32px),760px);}
	.wpte-modal .wte-process-layout,
	.wpte-modal .wte-popup-sidebar{height:100%;max-height:100%;}
	.wpte-modal .wte-process-tabs .wte-process-tab-item{max-height:calc(min(100vh - 32px,760px) - 231px);}
}
.wpte-modal .wte-process-nav-item a{cursor:pointer;}
.wpte-modal .wte-process-nav-item:not(.active) a:hover{color:#1C7F73;}
.wpte-modal .wte-process-tab-controller{position:relative;}
.jx-bk-hint{display:none;position:absolute;left:0;right:0;bottom:100%;z-index:3;margin:0 0 8px;box-shadow:0 6px 18px rgba(0,0,0,.08);padding:10px 14px;border-radius:8px;background:#FFF4E5;border:1px solid #F5C98B;color:#7A4B00;font-size:14px;line-height:1.5;text-align:center;}
.jx-bk-hint.is-on{display:block;}
/* the summary shows a date only once the customer has picked one */
body:not(.jx-date-picked) .wpte-modal .wte-booking-dates{display:none;}
/* logged-in admins: keep the pop-up (and its close button) clear of the WordPress admin bar */
@media (min-width:768px){
	body.admin-bar .wpte-modal{top:calc(50% + 16px);height:min(calc(100vh - 64px),760px);}
	body.admin-bar .wpte-modal .wte-process-tabs .wte-process-tab-item{max-height:calc(min(100vh - 64px,760px) - 231px);}
}
@media (max-width:767px){
	body.admin-bar .wpte-modal{top:46px;height:calc(100% - 46px);}
}
/* phones: the pop-up scrolls as a whole, so the note sits in the flow above the buttons */
@media (max-width:767px){
	.jx-bk-hint{position:static;margin:0 0 10px;box-shadow:none;}
}

/* ---- Header: language and currency side by side (desktop and mobile) ----
   Client request, Oct 2026: "EN ˅" next to "GBP ˅" in the header bar, as on the big travel
   sites. The currency switcher is the Currency Converter add-on's own (nice-select); here its
   closed control is dressed like the language button. The top-bar copy is hidden so the
   header holds exactly one of each. */
.jx-cur-dd{position:relative;}
.jx-cur-dd .header-t-currnc{display:block;margin:0;padding:0;border:0;}
.jx-cur-dd .wte-currency-switcher-drpdown{margin:0;}
.jx-cur-dd .nice-select{float:none;display:flex;align-items:center;height:auto;min-height:0;line-height:1;padding:7px 24px 7px 10px;border:1px solid #E3E7E4;border-radius:8px;background:#fff;font-family:inherit;font-size:13px;font-weight:600;color:#1C2011;white-space:nowrap;}
.jx-cur-dd .nice-select:hover,.jx-cur-dd .nice-select.open,.jx-cur-dd .nice-select:focus{border-color:#1C7F73;box-shadow:none;}
.jx-cur-dd .nice-select::after{right:10px;width:5px;height:5px;margin-top:-4px;border-color:#5F6358;}
.jx-cur-dd .nice-select .current{line-height:1;}
.jx-cur-dd .nice-select .list{left:auto;right:0;min-width:210px;margin-top:6px;line-height:normal;color:#1C2011;z-index:99999;border-radius:10px;box-shadow:0 14px 34px rgba(16,50,43,.16);}
.jx-cur-dd .nice-select .list .option{line-height:34px;min-height:34px;font-weight:500;}
.header-t-lft-wrap > .languagendcurrency-wrap{display:none!important;}
/* phones: keep "EN" readable next to the currency (the client wants both labels), and give
   the logo whatever room is left */
@media(max-width:520px){
	.jx-lang-dd .jx-dd-cur-label{display:inline;}
	.jx-mobile-header .site-branding{flex:1 1 auto;max-width:calc(100% - 230px);}
	.jx-cur-dd .nice-select{padding:7px 20px 7px 8px;font-size:12.5px;}
	.jx-cur-dd .nice-select::after{right:8px;}
}
@media(max-width:400px){
	.jx-mobile-header .site-branding{max-width:calc(100% - 214px);}
	.jx-dd-flag{display:none;}
	.jx-cur-dd .nice-select{padding:6px 18px 6px 7px;font-size:12px;}
}

/* ---- One content width across the site ----
   Inner pages, the header and the footer all sit on the theme's .container (1320px, 15px
   padding: 1290px of content). The homepage's block sections used the block editor's own
   1200px content size and its hero 1340px, so every section started and ended at a
   different line than the logo, menu and footer. Everything now uses the same 1290px. */
.home .entry-content-wrap > .wp-block-group.alignfull.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.home .wp-block-cover .wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:1290px;}
.home .entry-content-wrap > .wp-block-group.alignfull,
.home .wp-block-cover .wp-block-group.is-layout-constrained{padding-left:15px;padding-right:15px;}
/* the logo was pulled 28px left of the content line on wide screens; it now starts with it */
@media(min-width:1400px){.site-header .site-branding{margin-left:0;}}
/* SEO copy block at the foot of the homepage: same width as the sections above it */
.home .jx-seo{max-width:1290px;padding-left:0;padding-right:0;}
/* "Discover the real Turkey" band: the photo touched the band's top edge and fell short of
   its bottom; give the band even padding and let the photo fill its column */
.home .tm-cta{padding:40px !important;border-radius:16px;}
.home .tm-cta > .wp-block-columns{align-items:center !important;gap:48px;margin:0;}
.home .tm-cta .tm-cta-img figure{margin:0;}
.home .tm-cta .tm-cta-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;}
@media(max-width:781px){.home .tm-cta{padding:24px !important;}.home .tm-cta > .wp-block-columns{gap:24px;}}
/* footer bottom row: copyright + privacy link on the left, payment logos on the right, all on
   one centred line (the privacy link used to drop below and the logos sat lower) */
.site-footer .footer-b .container{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;}
.site-footer .footer-b .footer-b-wrap,.site-footer .footer-b .site-info{display:flex;align-items:center;gap:8px 22px;flex-wrap:wrap;margin:0;}
.site-footer .footer-b .footer-cop,.site-footer .footer-b .footer-inf{margin:0;}
.site-footer .footer-b .payments-showcase{display:flex;align-items:center;gap:10px;margin:0;}
@media(max-width:767px){.site-footer .footer-b .container{justify-content:center;text-align:center;}.site-footer .footer-b .footer-b-wrap,.site-footer .footer-b .site-info{justify-content:center;}}
.jx-orig-price{margin:24px 0;}
.jx-orig-price h2,.jx-orig-price h3{letter-spacing:normal;}
.jx-orig-price img{max-width:100%;height:auto;}
/* language / currency / cart: one height, one line (the add-on's wrapper was 38px tall with
   the closed control at its top, so "€ EUR" sat higher than "EN") */
.jx-dtools .jx-dd-btn,.jx-mh-tools .jx-dd-btn,.jx-cur-dd .nice-select,.jx-dtools .jx-cart-btn,.jx-mh-tools .jx-cart-btn{height:34px;box-sizing:border-box;}
.jx-cur-dd,.jx-cur-dd .header-t-currnc,.jx-cur-dd .wte-currency-switcher-drpdown{display:flex;align-items:center;height:34px;line-height:1;}
/* phones: the logo takes only the room the four controls leave, so it is never covered */
@media(max-width:520px){
	.jx-mobile-header .site-branding .custom-logo,.jx-mobile-header .custom-logo-link img{max-width:135px !important;height:auto !important;}
	.jx-mobile-header .site-branding{max-width:none;flex:0 1 135px;}
}
@media(max-width:380px){
	.jx-mobile-header .site-branding .custom-logo,.jx-mobile-header .custom-logo-link img{max-width:118px !important;}
	.jx-mobile-header .site-branding{flex-basis:118px;}
	.jx-dtools .jx-dd-btn,.jx-mh-tools .jx-dd-btn,.jx-cur-dd .nice-select,.jx-mh-tools .jx-cart-btn{height:32px;}
}
/* the banner photo fills its half of the band (it sat centred at 460px with gaps either side) */
.home .tm-cta .tm-cta-img{display:flex;align-items:center;}
.home .tm-cta .tm-cta-img .wp-block-image,.home .tm-cta .tm-cta-img figure{width:100%;max-width:none;height:auto;margin:0;}
.home .tm-cta .tm-cta-img img{width:100% !important;max-width:none !important;}
@media(max-width:781px){
	/* the banner's text block kept its 56px desktop side padding on phones: "Discov-er the real..." */
	.home .tm-cta .wp-block-column > .wp-block-group{padding-left:0 !important;padding-right:0 !important;}
	.home .tm-cta h2{font-size:clamp(26px,7vw,34px) !important;word-break:normal;overflow-wrap:normal;}
}
@media(max-width:781px){.home .jx-seo{padding-left:7px;padding-right:7px;}}

/* ---- Empty checkout (functions.php replaces WTE's one-line notice) ---- */
.jx-empty-checkout{max-width:640px;margin:40px auto 60px;padding:40px 32px;text-align:center;background:#F5FBFA;border:1px solid #DCEFEC;border-radius:16px;}
.jx-empty-checkout h2{margin:0 0 10px;font-size:clamp(22px,3vw,28px);}
.jx-empty-checkout p{margin:0 0 22px;color:#4f5a5e;}
.jx-empty-checkout-btn{display:inline-block;padding:13px 28px;border-radius:8px;background:#AD5D19;color:#fff !important;font-weight:700;text-decoration:none;}
.jx-empty-checkout-btn:hover{background:#8F4C13;}

/* ---- No maps: Contact page card takes the row the map used; trip cards never show a map ---- */
.tm-contact-wrap .tm-contact-card{flex-basis:100% !important;}
.trip-map-wrapper,.wte-map-placeholder{display:none !important;}
/* pages where the add-on leaves its plain <select> (checkout): same look as the other buttons */
.jx-cur-dd select.wte-cc-currency-list-display:not([style*="display: none"]){height:34px;box-sizing:border-box;padding:0 26px 0 10px;border:1px solid #E3E7E4;border-radius:8px;background-color:#fff;font-family:inherit;font-size:13px;font-weight:600;color:#1C2011;line-height:1;cursor:pointer;width:auto;min-width:0;}
/* Contact: with the map gone the address card is centred at a readable width */
.tm-contact-wrap,.is-layout-constrained > .tm-contact-wrap{max-width:760px !important;margin-left:auto !important;margin-right:auto !important;}

/* ---- About Us page: the Travel Monster demo's About layout, with the client's own text ----------
   Sections in order: intro (text + framed photo), feature row on cream, "how it works" with staggered
   cards on a dotted map, dark-teal counter band over balloons, trust row, testimonial slider on cream,
   image + cream panel. Sizes, colours and spacing follow wptravelenginedemo.com/travel-monster/about-us. */
.jx-ab{--ab-dark:#1C2011;--ab-body:rgba(28,32,17,.8);--ab-teal:#1C7F73;--ab-orange:#AD5D19;--ab-cream:#FEFAF6;font-family:'Poppins',sans-serif;color:var(--ab-body);margin-top:0!important;margin-bottom:0!important;}
.jx-ab .jx-ab-wrap{max-width:1290px;margin:0 auto;padding:0 15px;box-sizing:border-box;}
.jx-ab p{margin:0 0 14px;font-size:16px;line-height:1.75;}
.jx-ab .jx-ab-script{font-family:'Caveat',cursive;font-size:24px;font-weight:700;color:var(--ab-teal);line-height:1.3;margin:0 0 6px;}
.jx-ab .jx-ab-display{font-size:55px;font-weight:600;line-height:1.3;color:var(--ab-dark);margin:0 0 36px;letter-spacing:0;}
.jx-ab .jx-ab-title{font-size:40px;font-weight:600;line-height:1.2;color:var(--ab-dark);margin:0 0 30px;}
.jx-ab .jx-ab-lead{font-size:17px;}
.jx-ab .jx-ab-head{text-align:center;max-width:760px;margin:0 auto 46px;}
.jx-ab .jx-ab-head .jx-ab-title{margin-bottom:22px;}
.jx-ab .jx-ab-sub{font-size:18px;line-height:1.75;margin:0 0 16px;}
.jx-ab .jx-ab-squiggle{width:64px;height:12px;display:block;margin:0 auto;}
.jx-ab .jx-ab-center{text-align:center;margin:44px 0 0;}
.jx-ab .jx-ab-btn{display:inline-block;background:var(--ab-orange);color:#fff!important;font-size:16px;font-weight:500;text-transform:uppercase;padding:20px 32px;border-radius:4px;text-decoration:none!important;line-height:1;transition:background .2s;}
.jx-ab .jx-ab-btn:hover{background:#8F4C13;}
.jx-ab .jx-ab-deco{position:absolute;pointer-events:none;}

/* intro */
.jx-ab-intro{background:#fff;padding:35px 0 80px;}
.jx-ab-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;}
.jx-ab-intro-text{max-width:640px;}
.jx-ab-intro-grid > *,.jx-ab-culture-grid > *,.jx-ab-split-box > *{min-width:0;}
.jx-ab h2,.jx-ab h3{overflow-wrap:break-word;}
.jx-ab-intro-media{position:relative;justify-self:end;width:470px;max-width:100%;padding:72px 40px 40px 0;box-sizing:border-box;}
.jx-ab-intro-media img{position:relative;z-index:1;display:block;width:430px;max-width:100%;height:490px;object-fit:cover;border-radius:4px;}
.jx-ab-intro-panel{position:absolute;right:0;top:112px;bottom:0;width:430px;max-width:calc(100% - 40px);background:#F1FAF9;border-radius:4px;}
.jx-ab-deco-top{width:240px;height:110px;top:0;left:-80px;}
.jx-ab-deco-side{width:90px;height:300px;right:-36px;top:300px;z-index:2;}

/* features */
.jx-ab-features{background:var(--ab-cream);padding:56px 0 60px;}
.jx-ab-features .jx-ab-head{margin-bottom:40px;}
.jx-ab-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 40px;max-width:1120px;margin:0 auto;}
.jx-ab-feat{text-align:center;}
.jx-ab-ico{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#E3F5F2;margin-bottom:22px;}
.jx-ab-ico svg{width:24px;height:24px;fill:none;stroke:var(--ab-teal);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.jx-ab-feat h3{font-size:19px;font-weight:500;line-height:1.75;color:var(--ab-dark);margin:0 0 12px;}
.jx-ab-feat p{margin:0;}

/* how it works: staggered cards over a faint dotted map */
.jx-ab-culture{padding:80px 0;background:#fff;position:relative;overflow:hidden;}
.jx-ab-culture::before{content:"";position:absolute;right:0;top:0;bottom:0;width:58%;background-image:radial-gradient(circle,#E3F2EE 2.6px,transparent 2.8px);background-size:15px 15px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 60% 55%,#000 30%,transparent 72%);mask-image:radial-gradient(ellipse 70% 60% at 60% 55%,#000 30%,transparent 72%);pointer-events:none;}
.jx-ab-culture .jx-ab-wrap{position:relative;}
.jx-ab-culture-grid{display:grid;grid-template-columns:5fr 6fr;gap:60px;align-items:center;}
.jx-ab-culture-text{position:relative;padding-top:120px;max-width:560px;}
.jx-ab-deco-pin{width:190px;height:140px;left:-70px;top:0;}
.jx-ab-cards{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:30px;align-items:center;}
.jx-ab-card{background:#fff;border-radius:4px;box-shadow:0 10px 40px rgba(28,32,17,.07);padding:32px 30px;text-align:center;}
.jx-ab-card-1{grid-column:1;grid-row:1 / span 2;}
.jx-ab-card-2{grid-column:2;grid-row:1;}
.jx-ab-card-3{grid-column:2;grid-row:2;}
.jx-ab-cico svg{width:56px;height:56px;display:block;margin:0 auto 22px;}
.jx-ab-card h3{font-size:19px;font-weight:500;line-height:1.4;color:var(--ab-dark);margin:0 0 12px;}
.jx-ab-card p{margin:0;}

/* counter band */
.jx-ab-counter{position:relative;padding:115px 0;background:#24786F url(/wp-content/uploads/2026/10/about-cappadocia-balloons.jpg) center/cover no-repeat;}
.jx-ab-counter::before{content:"";position:absolute;inset:0;background:rgba(36,120,111,.9);}
.jx-ab-count-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1125px;}
.jx-ab-count{display:flex;align-items:center;gap:20px;justify-content:center;color:#fff;}
.jx-ab-count svg{width:56px;height:56px;flex:0 0 56px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.jx-ab-num{display:block;font-size:16px;font-weight:600;line-height:1.75;margin-bottom:12px;}
.jx-ab-lab{display:block;font-size:16px;font-weight:600;line-height:1.75;text-transform:uppercase;}

/* trust row */
.jx-ab-trust{background:#fff;padding:80px 0;}
.jx-ab-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px 70px;margin:0 auto 34px;}
.jx-ab-logo{font-size:21px;font-weight:400;color:#5f6763;letter-spacing:-.2px;white-space:nowrap;}
.jx-ab-logo b{font-weight:700;color:var(--ab-teal);}
.jx-ab .jx-ab-trust-note{max-width:860px;margin:0 auto;text-align:center;}

/* testimonials */
.jx-ab-testi{background:var(--ab-cream);padding:80px 0;}
.jx-ab-slider{position:relative;max-width:1160px;margin:0 auto;padding:0 110px;box-sizing:border-box;}
.jx-ab-slide{display:none;grid-template-columns:272px 1fr;gap:52px;align-items:center;margin:0;}
.jx-ab-slide.is-active{display:grid;}
.jx-ab-photo{position:relative;width:228px;height:228px;margin:0 auto;}
.jx-ab-photo span{position:absolute;inset:0;border-radius:50%;background:var(--ab-teal);transform:translate(-14px,-10px);}
.jx-ab-photo img{position:relative;width:228px;height:228px;border-radius:50%;object-fit:cover;display:block;}
.jx-ab-slide blockquote{margin:0;padding:0;border:0;background:none;quotes:none;}
.jx-ab-slide blockquote::before,.jx-ab-slide blockquote::after{display:none;content:none;}
.jx-ab-quote{width:22px;height:17px;fill:var(--ab-teal);display:block;margin-bottom:22px;}
.jx-ab-slide h3{font-size:25px;font-weight:500;line-height:1.3;margin:0 0 12px;}
.jx-ab-slide h3 a{color:var(--ab-dark);text-decoration:none;}
.jx-ab-slide h3 a:hover{color:var(--ab-teal);}
.jx-ab-slide blockquote p{font-size:18px;line-height:1.8;margin:0 0 18px;font-style:normal;}
.jx-ab-slide cite{font-style:normal;font-size:18px;color:var(--ab-dark);}
.jx-ab-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1.5px solid var(--ab-teal);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.jx-ab-arrow:hover{background:var(--ab-teal);}
.jx-ab-arrow svg{width:22px;height:22px;fill:none;stroke:var(--ab-teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.jx-ab-arrow:hover svg{stroke:#fff;}
.jx-ab-prev{left:0;}
.jx-ab-next{right:0;}

/* image + cream panel */
.jx-ab-split{background:#fff;padding:80px 0;}
.jx-ab-split-box{display:grid;grid-template-columns:1fr 1fr;background:var(--ab-cream);border-radius:8px;overflow:hidden;}
.jx-ab-split-img img{display:block;width:100%;height:100%;min-height:560px;object-fit:cover;}
.jx-ab-split-text{align-self:center;padding:56px;}
.jx-ab .jx-ab-split-text p{font-size:18px;}
.jx-ab .jx-ab-split-text p:last-child{margin:30px 0 0;}

/* the theme spaces the content 72px below the page banner and above the footer; the demo runs edge to edge */
.site-content .main-content-wrapper:has(.jx-ab-intro){margin-top:0 !important;margin-bottom:0 !important;}
.site-content article:has(.jx-ab-intro){margin-bottom:0 !important;}

@media (max-width:1100px){
	.jx-ab .jx-ab-display{font-size:42px;}
	.jx-ab-intro-grid,.jx-ab-culture-grid{gap:40px;}
	.jx-ab-count-grid{grid-template-columns:repeat(2,1fr);row-gap:50px;}
	.jx-ab-slider{padding:0 70px;}
}
@media (max-width:860px){
	.jx-ab .jx-ab-display{font-size:34px;margin-bottom:22px;}
	.jx-ab .jx-ab-title{font-size:30px;}
	.jx-ab-intro{padding:30px 0 56px;}
	.jx-ab-intro-grid,.jx-ab-culture-grid{grid-template-columns:minmax(0,1fr);}
	.jx-ab-intro-media{justify-self:center;padding:40px 24px 24px 0;}
	.jx-ab-intro-media img{height:420px;}
	.jx-ab-intro-panel{top:80px;}
	.jx-ab-deco-top{left:-20px;width:180px;}
	.jx-ab-deco-side{display:none;}
	.jx-ab-feat-grid{grid-template-columns:1fr 1fr;gap:34px 24px;}
	.jx-ab-culture,.jx-ab-trust,.jx-ab-testi,.jx-ab-split{padding:56px 0;}
	.jx-ab-culture-text{padding-top:70px;}
	.jx-ab-deco-pin{left:-30px;}
	.jx-ab-counter{padding:70px 0;}
	.jx-ab-slide.is-active{grid-template-columns:1fr;gap:28px;text-align:center;}
	.jx-ab-quote{margin:0 auto 18px;}
	.jx-ab-slider{padding:0;}
	.jx-ab-arrow{top:114px;}
	.jx-ab-split-box{grid-template-columns:minmax(0,1fr);}
	.jx-ab-split-img img{min-height:0;height:300px;}
	.jx-ab-split-text{padding:34px 24px;}
}
@media (max-width:560px){
	.jx-ab .jx-ab-display{font-size:30px;}
	.jx-ab .jx-ab-sub,.jx-ab .jx-ab-split-text p,.jx-ab-slide blockquote p{font-size:16px;}
	.jx-ab-feat-grid{grid-template-columns:1fr;}
	.jx-ab-intro-media img{height:360px;}
	.jx-ab-cards{grid-template-columns:1fr;}
	.jx-ab-card-1,.jx-ab-card-2,.jx-ab-card-3{grid-column:1;grid-row:auto;}
	.jx-ab-count-grid{grid-template-columns:1fr;row-gap:36px;}
	.jx-ab-count{justify-content:flex-start;padding-left:20%;}
	.jx-ab-logos{gap:16px 34px;}
	.jx-ab-logo{font-size:18px;}
	.jx-ab-slide h3{font-size:21px;}
}
/* ---- WCAG AA contrast (1.5.0) --------------------------------------------------------------
   The brand teal and orange are the AA shades (#1C7F73 4.85:1, #AD5D19 4.82:1 on white); the
   theme and plugin colours below were 2.5-4.4:1 and are deepened just enough to pass. */
html:root{--tmp-primary-color:#1C7F73;--tmp-primary-color-rgb:28,127,115;--tmp-secondary-color:#AD5D19;--tmp-secondary-color-rgb:173,93,25;--wp--preset--color--teal:#1C7F73;--wp--preset--color--orange:#AD5D19}
.wpte-trip-meta,.wpte-trip-meta a,.wpte-trip-meta span{color:#5F6862}
.single-trip .travel-monster-breadcrumbs,.single-trip .travel-monster-breadcrumbs a,.single-trip .travel-monster-breadcrumbs span{color:#5F6862} /* white background only; banner breadcrumbs stay light */
.nav-tab-wrapper .nav-tab:not(.nav-tab-active),.nav-tab-wrapper .jx-rev-tab{color:#5D6468!important}
.wpte-bf-price .wpte-bf-pqty{color:#6B6970!important}
.wpte-bf-price .wpte-bf-offer-amount{color:#0D834C!important}
#reset-trip-search-criteria,.clear-search-criteria{color:#C8203A!important}
.wte-search-terms-list .count{color:#5F6668!important}
#wpdcom .wpd-comment-text,#wpdcom .wpd-comment-text p{color:#4A4D52}
#wpdcom .wpd-comment-author,#wpdcom .wpd-comment-author a{color:#008167}
#wpdcom .wpd-reply-button,#wpdcom .wpd-reply-button span,#wpdcom .wpdiscuz-sort-button{color:#5D6468}
/* Mobile header: the currency <select> is swapped for a nice-select dropdown once scripts run;
   drawn at the dropdown's size beforehand so the header does not shift (CLS). */
.jx-mh-tools .jx-cur-dd select.wte-cc-currency-list-display{box-sizing:border-box;width:61px;height:34px;margin:0;padding:0 18px 0 9px;border:1px solid #E3E7E4;border-radius:8px;background:#fff;color:#1C2011;font-family:inherit;font-size:13px;font-weight:600;line-height:1;-webkit-appearance:none;appearance:none;overflow:hidden}
/* Tour cards: the photo slider stays invisible until its script starts, which on phones made the
   first card photo (the page's largest image) appear seconds late. Before start-up the first
   slide is shown at the slider's own square size, so nothing moves when it starts. */
.category-trip-fig .splide:not(.is-initialized){visibility:visible}
.category-trip-fig .splide:not(.is-initialized) .splide__track{overflow:hidden;aspect-ratio:1/1}
.category-trip-fig .splide:not(.is-initialized) .splide__list{display:flex;height:100%;margin:0;padding:0}
.category-trip-fig .splide:not(.is-initialized) .splide__slide{flex:0 0 100%;width:100%;height:100%}
.category-trip-fig .splide:not(.is-initialized) .splide__slide img{display:block;width:100%;height:100%;object-fit:cover}
/* Links inside running text are underlined, not told apart by colour alone (WCAG 1.4.1). */
:is(.jx-dest-seo-band,.entry-content,.post-data,.archive-description,.term-description) :is(p,li) a:not([class]){text-decoration:underline;text-underline-offset:2px}
/* Card photo slider dots: a 24px tap target each, the same small white dot drawn in the middle. */
.splide__pagination .splide__pagination__page,.wpte-gallery-wrapper .splide__pagination .splide__pagination__page{width:24px!important;height:24px!important;margin:0;border-radius:0;opacity:1;background:radial-gradient(circle,#fff 0 4px,transparent 4.6px)!important}
.splide__pagination .splide__pagination__page.is-active,.wpte-gallery-wrapper .splide__pagination .splide__pagination__page.is-active{background:radial-gradient(circle,#fff 0 5px,transparent 5.6px)!important;transform:none}
.splide__pagination{gap:0}
/* wpDiscuz rating labels (#888, 3.5:1) */
.wpd-rating-title,.wpd-rating-data .wpdrt,.wpd-rating-data .wpdrc{color:#5D6468!important}
/* Checkout (client, 2026-10-28: "keep the layout very clean"): the label sits above each field
   instead of floating inside it, every field has the same rounded box, and Hotel Name, Email
   and Phone take a full row (checkout.js marks them .jx-full). */
#wptravelengine-checkout__form .wpte-checkout__form-col.jx-full{grid-column:1/-1}
#wptravelengine-checkout__form .wpte-material-ui-input-control label,#wptravelengine-checkout__form .wpte-checkout__form-col>label.wpte-bf-label{position:static!important;top:auto!important;left:auto!important;transform:none!important;display:block;margin:0 0 6px;padding:0;font-size:14px!important;font-weight:500;line-height:1.4;color:#1F2A28!important;pointer-events:auto;background:none}
#wptravelengine-checkout__form .wpte-material-ui-input-control fieldset{display:none}
#wptravelengine-checkout__form .wpte-checkout__field-required{color:#C81E1E}
#wptravelengine-checkout__form .wpte-checkout__form-col input.wpte-checkout__input,#wptravelengine-checkout__form .wpte-checkout__form-col select,#wptravelengine-checkout__form .wpte-material-ui-input-control textarea{box-sizing:border-box;width:100%;height:48px;padding:0 14px;border:1px solid #C3CCC9!important;border-radius:8px;background:#fff;font-size:15px;color:#1F2A28;box-shadow:none}
#wptravelengine-checkout__form .wpte-material-ui-input-control textarea{height:auto;min-height:96px;padding:12px 14px}
#wptravelengine-checkout__form .wpte-checkout__form-col select{padding:0 36px 0 14px!important;line-height:46px}
#wptravelengine-checkout__form .wpte-checkout__form-col input.wpte-checkout__input:focus,#wptravelengine-checkout__form .wpte-checkout__form-col select:focus,#wptravelengine-checkout__form .wpte-material-ui-input-control textarea:focus{border-color:#1C7F73!important;box-shadow:0 0 0 3px rgba(28,127,115,.18);outline:none}
#wptravelengine-checkout__form .wpte-checkout__form-col input::placeholder,#wptravelengine-checkout__form .wpte-material-ui-input-control textarea::placeholder{color:#6B7470;opacity:1}
/* Booking modal, package step (client, 2026-10-28): an instruction above the package buttons
   (only when there is more than one to choose from), inactive buttons clearly clickable, the
   chosen one filled in brand teal. */
.wte-button-group.wte-package-type:has(.wte-button-group>div:nth-child(2)){flex-wrap:wrap}
.wte-button-group.wte-package-type:has(.wte-button-group>div:nth-child(2))::before{content:"\1F449  Please select your preferred package option below:";display:block;flex:0 0 100%;width:100%;margin:0 0 12px;font-size:16px;font-weight:700;line-height:1.4;color:#1F2A28}
.wte-package-type .wte-check-button{color:#2E3A37!important;border:1.5px solid #6B7672!important;background:#fff!important;font-weight:600!important;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.wte-package-type .wte-check-button:hover{color:#1C7F73!important;border-color:#1C7F73!important;background:#EAF4F2!important}
.wte-check-button.checked,input:checked+.wte-package-type .wte-check-button{color:#fff!important;border-color:#1C7F73!important;background:#1C7F73!important;box-shadow:0 2px 6px rgba(28,127,115,.28)}
input:focus-visible+.wte-package-type .wte-check-button{outline:2px solid #1C7F73;outline-offset:2px}
