/* JoinExcursions trip-page components (reviews, pricing card, cost layout, booking tabs,
   enquiry form, tour-details tab). Kept separate from main.css on purpose — main.css keeps
   getting overwritten by external syncs; do NOT fold these rules back into it. */

/* ---- Trip traveller reviews ----------------------------------------------------------
   Rendered by wpDiscuz now (the same plugin the live joinexcursions.com site runs), so the
   hand-built `.jx-rv-*` card styles that used to live here are gone — wpDiscuz ships its own
   markup and CSS, and its default accent (#00B38F) already matches the production site.
   Only the wrapper survives: it's the scroll target for the "Reviews" button injected into
   the trip tab bar. Restyle wpDiscuz through its own admin settings rather than adding
   overrides here, so the widget keeps matching production. */
.jx-reviews-section{margin-top:38px;}
/* "Reviews of <Trip>" title above the widget, mirroring production's placement. Sits above
   a hairline rule the same way the reference does, then leaves room before the thread. */
.jx-reviews-heading{
	margin:0 0 34px;padding-top:34px;border-top:1px solid #ECEFEE;
	text-align:center;font-size:26px;font-weight:700;line-height:1.3;color:#1C2011;
}
@media(max-width:600px){.jx-reviews-heading{font-size:21px;margin-bottom:26px;padding-top:26px;}}

/* ---- Cost tab: Included / Not Included side-by-side cards ---- */
.single-trip .post-data.cost{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
.single-trip .post-data.cost .wpte-cost-tab-title{grid-column:1/-1;margin-bottom:4px;}
.single-trip .post-data.cost .content{background:#F7F9F8;border:1px solid #ECEFEE;border-radius:16px;padding:24px 28px;margin:0;}
.single-trip .post-data.cost .content h3{margin:0 0 14px;font-size:1.2rem;}
.single-trip .post-data.cost .content ul{margin-bottom:0;}
@media(max-width:640px){.single-trip .post-data.cost{grid-template-columns:1fr;}}

/* ---- Cost tab: pricing card ---- */
.jx-price-card{margin:30px 0 8px;background:#F7F9F8;border:1px solid #ECEFEE;border-radius:16px;padding:30px 28px 26px;}
.jx-pc-eyebrow{margin:0;text-align:center;font-family:Caveat,cursive;font-size:24px;font-weight:600;color:#1C7F73;}
.jx-pc-title{margin:2px 0 8px;text-align:center;font-size:1.45rem;font-weight:700;color:#1C2011;}
.jx-pc-sub{margin:0 auto 20px;max-width:640px;text-align:center;font-size:14.5px;line-height:1.6;color:#494D41;}
.jx-pc-table{background:#fff;border:1px solid #ECEFEE;border-radius:12px;overflow:hidden;}
.jx-pc-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;font-size:15.5px;color:#1C2011;}
.jx-pc-row + .jx-pc-row{border-top:1px solid #F0F3F1;}
.jx-pc-label{font-weight:600;}
.jx-pc-small{font-size:12.5px;color:#6B7280;font-weight:400;}
.jx-pc-green{color:#1C7F73;}
.jx-pc-price{font-weight:700;color:#1C7F73;font-size:16.5px;white-space:nowrap;}
.jx-pc-free{color:#AD5D19;letter-spacing:.5px;}
.jx-pc-note{margin:16px 0 0;background:#E3F6F1;border-radius:12px;padding:14px 18px;text-align:center;}
.jx-pc-note-head{margin:0 0 3px;font-weight:700;font-size:15px;color:#1C2011;}
.jx-pc-note-sub{margin:0;font-size:13.5px;line-height:1.55;color:#3a3f33;}
.jx-pc-chips{margin:16px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.jx-pc-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #ECEFEE;border-radius:100px;padding:7px 15px;font-size:12.5px;font-weight:600;color:#494D41;}
.jx-pc-chip::before{content:"✓";color:#1C7F73;font-weight:700;}
@media(max-width:600px){.jx-price-card{padding:22px 16px 20px;}.jx-pc-row{padding:13px 14px;}}

/* ---- Booking sidebar: Booking / Enquiry tabs + enquiry form ---- */
.jx-bk-tabs{display:flex;gap:6px;margin:0 0 18px;border-bottom:1px solid #ECEFEE;}
.jx-bk-tab{flex:1;appearance:none;background:none !important;border:none;border-bottom:2px solid transparent;border-radius:0;margin:0 0 -1px;padding:12px 8px;font:inherit;font-size:15px;font-weight:600;color:#5F6862;cursor:pointer;transition:color .18s,border-color .18s;}
.jx-bk-tab:hover{color:#1C2011;}
.jx-bk-tab.is-active{color:#1C7F73;border-bottom-color:#1C7F73;}
.jx-bk-panel[hidden]{display:none;}
.jx-bk-enq-lead{margin:0 0 16px;font-size:13.5px;line-height:1.55;color:#5F6862;}
.jx-bk-panel-enq .enquiry-form-title{display:none !important;}
.jx-bk-panel-enq .wte_enquiry_contact_form-wrap{margin:0;padding:0;background:none;border:0;box-shadow:none;max-width:none;}
.jx-bk-panel-enq .wte_enquiry_contact_form{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
.jx-bk-panel-enq .wte_enquiry_contact_form > *{grid-column:1/-1;}
.jx-bk-panel-enq .row-repeater.country-holder,.jx-bk-panel-enq .row-repeater.contact,.jx-bk-panel-enq .row-repeater.adult,.jx-bk-panel-enq .row-repeater.children{grid-column:span 1;}
.jx-bk-panel-enq .row-repeater,.jx-bk-panel-enq .row-form{margin:0 0 15px;float:none;width:auto !important;max-width:none !important;min-width:0;}
.jx-bk-panel-enq label{display:block;margin:0 0 6px;font-size:13px;font-weight:600;color:#1C2011;letter-spacing:.2px;}
.jx-bk-panel-enq .required{color:#AD5D19;}
.jx-bk-panel-enq input[type=text],.jx-bk-panel-enq input[type=email],.jx-bk-panel-enq input[type=tel],.jx-bk-panel-enq input[type=number],.jx-bk-panel-enq select,.jx-bk-panel-enq textarea{width:100% !important;max-width:none !important;min-width:0;padding:11px 14px;border:1px solid #E3E7E4;border-radius:10px;background-color:#fff;font:inherit;font-size:14px;color:#1C2011;transition:border-color .18s,box-shadow .18s;box-sizing:border-box;}
.jx-bk-panel-enq input:focus,.jx-bk-panel-enq select:focus,.jx-bk-panel-enq textarea:focus{outline:none;border-color:#1C7F73;box-shadow:0 0 0 3px rgba(28, 127, 115,.14);}
.jx-bk-panel-enq ::placeholder{color:#AEB6B0;opacity:1;}
.jx-bk-panel-enq select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%237c857f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:36px;cursor:pointer;}
.jx-bk-panel-enq input[type=number]{-moz-appearance:textfield;appearance:textfield;}
.jx-bk-panel-enq input[type=number]::-webkit-outer-spin-button,.jx-bk-panel-enq input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.jx-bk-panel-enq textarea{min-height:104px;resize:vertical;}
.jx-bk-panel-enq .package-name-holder{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-bottom:16px;}
.jx-bk-panel-enq .package-name-holder label{margin:0;}
.jx-bk-panel-enq .wp-travel-engine-info{display:inline-block;padding:6px 14px;background:#F1FAF8;border-radius:100px;font-weight:600;color:#156358;font-size:13px;line-height:1.4;}
.jx-bk-panel-enq .confirm-holder label{font-weight:400;font-size:12.5px;line-height:1.55;color:#5F6862;}
.jx-bk-panel-enq .confirm-holder a{color:#1C7F73;}
.jx-bk-panel-enq .enquiry-submit{grid-column:1/-1;width:100%;margin-top:4px;padding:14px 20px;border:none;border-radius:100px;background:#1C7F73;color:#fff;font-size:15px;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:background .18s,transform .18s;}
.jx-bk-panel-enq .enquiry-submit:hover{background:#156358;transform:translateY(-1px);}
.jx-bk-panel-enq .success-msg{color:#156358;font-size:13.5px;}
.jx-bk-panel-enq .failed-msg{color:#DC2626;font-size:13.5px;}

/* ---- Mobile sticky booking bar --------------------------------------------------------
   WTE's .wpte-booking-area is already position:fixed at the bottom on mobile, but tall
   (~129px) and price-less. Compact it to one row: rating + "from" price on the left, the
   Check Availability CTA on the right. Desktop keeps the full sidebar widget untouched. */
.jx-mbar-info{display:none;}
@media(max-width:782px){
	.single-trip .wpte-booking-area{
		padding:10px 14px 8px !important;
		box-shadow:0 -6px 20px rgba(16,50,43,.14);border-top:1px solid #ECEFEE;background:#fff;
	}
	/* one row: the info block and the button wrap are siblings inside .wpte-booking-inner-wrapper */
	.single-trip .wpte-booking-area .wpte-booking-inner-wrapper{
		display:flex !important;align-items:center;gap:12px;
	}
	.single-trip .wpte-booking-area .wpte-bf-btn-wrap{
		display:flex !important;align-items:center;margin:0 !important;flex:0 0 auto;
	}
	/* the collapsible price list / badges are replaced by the inline "From" price */
	.single-trip .wpte-booking-area .wpte-bf-price-wrap,
	.single-trip .wpte-booking-area .wpte-bf-content{display:none !important;}
	.single-trip .jx-mbar-info{
		display:flex;flex-direction:column;justify-content:center;gap:2px;
		order:-1;flex:1 1 auto;min-width:0;line-height:1.25;
	}
	.single-trip .jx-mbar-rating{font-size:12.5px;color:#5F6862;white-space:nowrap;}
	.single-trip .jx-mbar-rating b{color:#1C2011;font-weight:700;margin-left:3px;}
	.single-trip .jx-mbar-star{color:#AD5D19;}
	.single-trip .jx-mbar-dot{margin:0 5px;color:#c3ccc5;}
	.single-trip .jx-mbar-price{font-size:13px;color:#5F6862;white-space:nowrap;}
	.single-trip .jx-mbar-price b{font-size:20px;font-weight:700;color:#1C2011;margin-left:4px;}
	/* primary CTA sits right, sized to fit a 390px phone alongside the info block */
	.single-trip .wpte-booking-area .wpte-bf-btn{
		width:auto !important;min-width:0 !important;margin:0 !important;
		padding:11px 16px !important;border-radius:100px !important;
		font-size:13.5px !important;line-height:1.2;white-space:nowrap;
	}
	/* drop the bits the compact bar replaces */
	.single-trip .wpte_price-toggle-btn-mb{display:none !important;}
	.single-trip .wpte-booking-area .jx-enquiry-btn{display:none !important;}
	/* the only enquiry entry point on mobile (the Send Enquiry button is hidden in the
	   compact bar) — make it clearly readable, with the link styled as the action */
	.single-trip .wpte-booking-footer-text{
		margin:8px 0 0 !important;padding:0 !important;text-align:center;
		font-size:13px;line-height:1.35;color:#494D41;
	}
	.single-trip .wpte-booking-footer-text a,
	.single-trip .wpte-booking-footer-text a:link{
		color:#1C7F73 !important;font-weight:700;text-decoration:none;margin-left:4px;white-space:nowrap;
	}
	.single-trip .wpte-booking-footer-text a::after{content:" \2192";}
}

/* ---- Site header: logo size + position ------------------------------------------------
   Site-wide (not trip-only) but kept in this file because main.css keeps being overwritten
   by external syncs — main.css already has a `tm-logo-size` block that this supersedes.
   The logo sat at x=55 (centered .container's 40px gutter + its 15px padding); a negative
   margin pulls just the branding left without moving the nav. */
.site-header .site-branding .custom-logo{max-height:40px !important;width:auto;height:auto;}
/* Only pull it left when the centered container has a gutter to pull into; below that the
   container is full-width and the negative margin clipped the logo off-screen. */
@media(min-width:1400px){.site-header .site-branding{margin-left:-28px;}}
/* Desktop header between 1025px (where it replaces the mobile header) and ~1366px: the
   logo + 6 menu items + language/cart/currency need ~1250px at full size, so the row ran
   off both sides and the EN / cart / EUR controls were cut. Shrink in steps instead. */
.site-header .site-branding .site-title-description{display:none;}
.site-header .header-b .container{grid-template-columns:auto minmax(0,1fr);column-gap:20px;}
.site-header .navigation-wrap{justify-self:end;max-width:100%;}
@media(min-width:1025px){.site-header .primary-menu-wrapper{flex-wrap:nowrap;}.site-header .primary-menu-wrapper>li{white-space:nowrap;}}
@media(min-width:1025px) and (max-width:1366px){
	.site-header .site-branding .custom-logo{max-height:none !important;width:240px;}
	.site-header .primary-menu-wrapper>li{margin-left:20px;}
	.site-header .primary-menu-wrapper>li:first-child{margin-left:0;}
	.site-header .primary-menu-wrapper>li>a{font-size:15px;}
	.jx-dtools{margin-left:14px;gap:6px;}
}
@media(min-width:1025px) and (max-width:1200px){
	.site-header .site-branding .custom-logo{width:180px;}
	.site-header .primary-menu-wrapper>li{margin-left:14px;}
	.site-header .primary-menu-wrapper>li>a{font-size:14.5px;}
}
/* the mobile header is a separate custom block (.jx-mobile-header, outside .site-header)
   whose own rules use !important — override those explicitly */
@media(max-width:782px){
	.jx-mobile-header .custom-logo{max-height:30px !important;max-width:160px !important;}
	.jx-mobile-header .mobile-header-t .container{padding-left:8px;}
}

/* ---- Trip header: match the WTE demo exactly -----------------------------------------
   Measured against wptravelenginedemo.com/travel-monster on the same theme+plugin: the
   trip-facts label/value typography already matched byte-for-byte (14px/500/rgba(15,29,35,.64)
   and 16px/600/rgb(15,29,35), Poppins). Only these two differed. */
.single-trip .entry-title,.single-trip .trip-title{color:#1C2011;}          /* was #232323 */
.single-trip .nav-tab-wrapper .nav-tab{line-height:1.2;}                    /* was 20.8px, demo 19.2px */

/* ---- Itinerary --------------------------------------------------------------------
   Left to WP Travel Engine's native design on purpose: it already renders the dashed
   rail, filled pin markers on the first/last rows, small hollow dots between, the
   "Day N :" labels, the chevron accordion and the row dividers. An earlier numbered-step
   override was removed here to match the requested reference. Only light typography
   tuning below. */
/* Drop the "Day N :" prefix only — these are single-day excursions, so the day wording is
   wrong. The element stays (the plugin paints the rail markers with `.title::before`:
   a 14px hollow dot, or a 48px filled pin on the first/last rows), we just blank its text. */
.wte-trip-itinerary-v2 .itinerary-row .title{
	font-size:0 !important;color:transparent !important;margin-right:0 !important;
}
/* Collapsed-by-default exposed a plugin bug: two of WTE's own handlers respond to the same
   click, so the inline max-height it sets gets reset to 0 while the `show` class sticks —
   rows would never open. Drive the height from that class instead (it toggles correctly). */
.wte-trip-itinerary-v2 .itinerary-content{max-height:0;overflow:hidden;}
.wte-trip-itinerary-v2 .itinerary-content.show{max-height:4000px !important;}
/* the plugin's transition on max-height outranks even inline !important in the cascade,
   so a late reset kept winning — drop it and the open/closed state sticks */
.wte-trip-itinerary-v2 .itinerary-content{transition:none !important;}
.wte-trip-itinerary-v2 .itinerary-content p{line-height:1.7;color:#494D41;}
.wte-trip-itinerary-v2 .itinerary-content li{line-height:1.65;color:#494D41;}

/* ---- Sticky trip tab bar -------------------------------------------------------------
   WTE ships a `wpte-tabs-sticky` class but the parent theme overrides the positioning, so
   the bar never actually pinned. The theme header is position:relative (scrolls away), so
   the bar can pin at top:0. It sticks within #tabs-container, i.e. for as long as the tab
   sections are on screen. */
.single-trip .wpte-tabs-container .nav-tab-wrapper{
	position:sticky;top:0;z-index:99;background:#fff;
	box-shadow:0 1px 0 #ECEFEE, 0 6px 16px -12px rgba(16,50,43,.35);
}
/* clear the WP admin bar for logged-in users */
.admin-bar .single-trip .wpte-tabs-container .nav-tab-wrapper{top:32px;}
@media(max-width:782px){.admin-bar .single-trip .wpte-tabs-container .nav-tab-wrapper{top:46px;}}
/* narrow screens: let the strip scroll sideways rather than wrap (child, so sticky is safe) */
.single-trip .wpte-tabs-container .tab-inner-wrapper{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
.single-trip .wpte-tabs-container .tab-inner-wrapper::-webkit-scrollbar{display:none;}
/* on phones WTE scrolls this outer wrapper instead; hide its grey scrollbar too (swipe still works) */
.single-trip .wpte-sticky-tab-mobile{scrollbar-width:none;-ms-overflow-style:none;}
.single-trip .wpte-sticky-tab-mobile::-webkit-scrollbar{display:none;}
.single-trip .wpte-tabs-container .tab-inner-wrapper .nav-tab{white-space:nowrap;}
/* headings inside the panels clear the pinned bar when jumped to */
.single-trip .wpte-tabs-container .tab-content{scroll-margin-top:80px;}

/* ---- "Reviews" scroll-anchor button in the trip tab bar ---- */
.jx-rev-tab{cursor:pointer;}
/* Mirrors WTE's .tab-anchor-wrapper look — the Reviews anchor can't use that class
   itself because WTE 6.8's tab JS crashes on wrappers without an .nb-tab-trigger child
   (which killed every tab button). Keep in sync with single-trip.css if WTE restyles. */
.jx-rev-tab-wrap{width:auto;}
.jx-rev-tab-wrap .wte-tab-title{margin:0;padding:0;font-size:16px;font-weight:400;line-height:inherit;}
.jx-rev-tab-wrap .nav-tab{
	font-size:16px;font-weight:400;display:flex !important;align-items:center;text-align:center;gap:8px;
	padding:16px 4px;border-bottom:2px solid transparent;text-decoration:none;
	white-space:nowrap;color:rgba(15,29,35,.56) !important;transition:all .3s ease;box-shadow:none;
}
.jx-rev-tab-wrap .nav-tab:hover{color:var(--wpte-primary-color,var(--primary-color,#1C7F73)) !important;}
.wpte-sticky-tab-mobile .jx-rev-tab-wrap .nav-tab{padding-right:16px;border-bottom-width:1px;color:inherit;}
/* fallback offset for the native #jx-reviews jump (JS handles the sticky case precisely) */
#jx-reviews{scroll-margin-top:90px;}

/* ---- "Tour Details" tab ---- */
.jx-td-title{margin:0 0 20px;}
.jx-td-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.jx-td-card{background:#F7F9F8;border:1px solid #ECEFEE;border-radius:16px;padding:22px 24px;}
.jx-td-head{display:flex;align-items:center;gap:11px;margin:0 0 15px;padding-bottom:13px;border-bottom:1px solid #E7ECE9;font-size:1.05rem;font-weight:700;color:#1C2011;}
.jx-td-ico{width:34px;height:34px;border-radius:50%;background:#E3F6F1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.jx-td-ico--orange{background:#FBEEDF;}
.jx-td-list{list-style:none;margin:0;padding:0;}
.jx-td-list li{display:flex;align-items:flex-start;gap:9px;margin:0 0 9px;font-size:14.5px;line-height:1.5;color:#494D41;}
.jx-td-list li:last-child{margin-bottom:0;}
.jx-td-list li svg{flex:0 0 auto;margin-top:3px;}
.jx-td-chips{margin:0;display:flex;flex-wrap:wrap;gap:8px;}
.jx-td-chip{display:inline-block;background:#fff;border:1px solid #ECEFEE;border-radius:100px;padding:6px 13px;font-size:13px;font-weight:600;color:#494D41;}
.jx-td-pickup{margin:20px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;background:#E3F6F1;border-radius:12px;padding:15px 20px;}
.jx-td-pickup-label{display:inline-flex;align-items:center;gap:9px;color:#1C2011;font-size:15px;}
.jx-td-pickup-value{font-weight:600;color:#156358;font-size:15px;}
.jx-td-depart{margin-left:auto;display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:100px;padding:8px 16px;font-size:13px;color:#494D41;}
.jx-td-depart b{color:#1C2011;font-size:14.5px;}
.jx-td-note{margin:20px 0 0;text-align:center;background:#F7F9F8;border:1px dashed #CDE9E2;border-radius:12px;padding:13px 18px;font-size:13.5px;font-weight:600;color:#156358;}
@media(max-width:900px){.jx-td-grid{grid-template-columns:1fr;}.jx-td-depart{margin-left:0;}}

/* ---- "Need help with booking?" line (booking sidebar) ---------------------------------
   Hidden on desktop per client request — the sidebar already has the "Send Enquiry"
   button, so the line was redundant there. On mobile it stays (the compact sticky bar
   hides the enquiry button, so this line is the only enquiry entry point) and is styled
   below in the ≤782px block to be clearly readable. */
@media(min-width:783px){
	.single-trip .wpte-booking-area .wpte-booking-footer-text{display:none !important;}
}

/* ---- Enquiry modal ("Send an enquiry") ------------------------------------------------
   Moved here from main.css (which keeps being clobbered by external syncs — when that
   happened the modal rendered unstyled, which is why it looked broken). Redesigned:
   fixed header, independently scrolling form body, tidied fields, brand submit. Loads
   after main.css, so any stale .jx-enq-* copies left there are harmless. */
.jx-enq-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px;}
.jx-enq-modal[hidden]{display:none;}
.jx-enq-overlay{position:absolute;inset:0;background:rgba(12,24,20,.55);backdrop-filter:blur(3px);}
.jx-enq-dialog{
	position:relative;display:flex;flex-direction:column;background:#fff;border-radius:18px;
	width:100%;max-width:540px;max-height:88vh;overflow:hidden;padding:0;
	box-shadow:0 30px 80px rgba(16,50,43,.32);animation:jxEnqIn .22s ease;
}
@keyframes jxEnqIn{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}
.jx-enq-close{
	position:absolute;top:14px;right:14px;z-index:3;width:34px;height:34px;padding:0;
	display:flex;align-items:center;justify-content:center;
	border:none;background:#F2F5F3;border-radius:50%;font-size:22px;line-height:1;color:#494D41;cursor:pointer;transition:background .15s;
}
.jx-enq-close:hover{background:#E3E7E4;color:#1C2011;}
.jx-enq-title{flex:0 0 auto;margin:0;padding:24px 58px 0 26px;font-size:1.4rem;font-weight:700;color:#1C2011;}
.jx-enq-lead{flex:0 0 auto;margin:0;padding:7px 58px 16px 26px;color:#5F6862;font-size:14px;line-height:1.6;border-bottom:1px solid #F2F5F3;}
.jx-enq-body{flex:1 1 auto;overflow-y:auto;padding:20px 26px 24px;overscroll-behavior:contain;}

/* the WTE form arrives with its own card chrome — strip it, the modal is the card */
.jx-enq-body .wte_enquiry_contact_form-wrap{margin:0;padding:0;background:none;border:0;box-shadow:none;}
.jx-enq-body form{margin:0;display:flex;flex-wrap:wrap;justify-content:space-between;}
.jx-enq-body form .row-repeater,
.jx-enq-body form .row-form{width:100%;max-width:100%;margin:0 0 15px;float:none;}
/* short fields pair up: country+phone, adults+children */
.jx-enq-body form .country-holder,.jx-enq-body form .contact,
.jx-enq-body form .adult,.jx-enq-body form .children{width:48.5%;max-width:48.5% !important;}
@media(max-width:480px){
	.jx-enq-body form .country-holder,.jx-enq-body form .contact,
	.jx-enq-body form .adult,.jx-enq-body form .children{width:100%;max-width:100% !important;}
}
.jx-enq-body form label{display:block;font-size:13px;font-weight:600;color:#494D41;margin:0 0 6px;}
.jx-enq-body form .required{color:#AD5D19;}
.jx-enq-body form input:not([type=checkbox]):not([type=hidden]):not([type=submit]),
.jx-enq-body form select,
.jx-enq-body form textarea{
	width:100%;box-sizing:border-box;padding:11px 14px;margin:0;
	border:1.5px solid #E3E7E4;border-radius:10px;background:#fff;
	font-family:inherit;font-size:14.5px;color:#1C2011;line-height:1.4;
	transition:border-color .15s,box-shadow .15s;appearance:auto;
}
.jx-enq-body form textarea{min-height:110px;resize:vertical;}
.jx-enq-body form input:not([type=checkbox]):not([type=hidden]):not([type=submit]):focus,
.jx-enq-body form select:focus,
.jx-enq-body form textarea:focus{
	outline:none;border-color:#1C7F73;box-shadow:0 0 0 3px rgba(28, 127, 115,.14);
}
.jx-enq-body form ::placeholder{color:#a8b0aa;}
/* the "Trip: <name>" info row becomes a quiet chip strip */
.jx-enq-body form .package-name-holder{
	display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;
	padding:10px 14px;background:#F1FAF8;border-radius:10px;
}
.jx-enq-body form .package-name-holder label{margin:0;font-size:13px;}
.jx-enq-body form .package-name-holder .wp-travel-engine-info{
	display:inline-block;padding:4px 12px;background:#fff;border-radius:100px;
	font-weight:600;color:#156358;font-size:13px;line-height:1.4;
}
/* consent row: quiet fine print, brand checkbox */
.jx-enq-body form .confirm-holder>label:empty{display:none;}
.jx-enq-body form .confirm-holder .wpte-checkbox-wrap{display:flex;align-items:flex-start;gap:9px;}
.jx-enq-body form .confirm-holder .wpte-checkbox-wrap input[type=checkbox]{
	flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;accent-color:#1C7F73;
}
.jx-enq-body form .confirm-holder .wpte-checkbox-wrap label{
	margin:0;font-weight:400;font-size:12.5px;line-height:1.55;color:#5F6862;
}
/* WTE prints "our<a>Privacy Policy</a>" with no space — margin restores it */
.jx-enq-body form .confirm-holder a{color:#1C7F73;margin-left:4px;}
.jx-enq-body form .enquiry-submit,
.jx-enq-body form [type=submit]{
	width:100%;margin:4px 0 0;padding:14px 20px;border:none;border-radius:100px;
	background:#1C7F73;color:#fff;font-size:15px;font-weight:700;letter-spacing:.3px;
	cursor:pointer;transition:background .18s,transform .18s;
}
.jx-enq-body form .enquiry-submit:hover,
.jx-enq-body form [type=submit]:hover{background:#156358;transform:translateY(-1px);}
.jx-enq-body .success-msg{color:#156358;font-size:13.5px;}
.jx-enq-body .failed-msg{color:#DC2626;font-size:13.5px;}
@media(max-width:480px){
	.jx-enq-modal{padding:10px;}
	.jx-enq-dialog{max-height:92vh;border-radius:16px;}
	.jx-enq-title{padding:20px 52px 0 18px;font-size:1.25rem;}
	.jx-enq-lead{padding:6px 52px 14px 18px;}
	.jx-enq-body{padding:16px 18px 20px;}
}

/* ---- FAQs tab -------------------------------------------------------------------------
   Questions moved out of Overview into their own tab (functions.php, field jx_faqs). */
.single-trip .jx-faqs .jx-faq{border:1px solid #ECEFEE;border-radius:12px;background:#fff;margin:0 0 10px;transition:border-color .2s,box-shadow .2s;}
.single-trip .jx-faqs .jx-faq[open]{border-color:#cfe9e5;box-shadow:0 6px 18px rgba(16,50,43,.06);}
.single-trip .jx-faqs .jx-faq-q{list-style:none;cursor:pointer;padding:14px 48px 14px 18px;font-weight:600;color:#1C2011;position:relative;line-height:1.45;}
.single-trip .jx-faqs .jx-faq-q::-webkit-details-marker{display:none;}
.single-trip .jx-faqs .jx-faq-q::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid #1C7F73;border-bottom:2px solid #1C7F73;transform:rotate(45deg);transition:transform .2s;}
.single-trip .jx-faqs .jx-faq[open] .jx-faq-q::after{transform:rotate(-135deg);margin-top:-2px;}
.single-trip .jx-faqs .jx-faq-a{padding:0 18px 16px;color:#4a524c;}
.single-trip .jx-faqs .jx-faq-a p{margin:0;}

/* ---- Price details under the Cost card ------------------------------------------------
   Per-vehicle prices and package tables moved out of Overview by the catalogue sync. */
.single-trip .jx-pc-details{margin:22px 0 0;}
.single-trip .jx-pc-details h3{font-size:1.15rem;margin:22px 0 10px;}
.single-trip .jx-pc-details p{margin:0 0 10px;}
.single-trip .jx-pc-details ul{margin:0 0 14px;padding-left:1.2em;}

/* Tables the scrape had flattened into one line per cell, rebuilt as real tables. */
.single-trip table.jx-table{width:100%;border-collapse:separate;border-spacing:0;margin:6px 0 18px;border:1px solid #ECEFEE;border-radius:12px;overflow:hidden;font-size:.95rem;}
.single-trip table.jx-table th,.single-trip table.jx-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #ECEFEE;vertical-align:top;}
.single-trip table.jx-table thead th{background:#F7F9F8;font-weight:600;color:#1C2011;}
.single-trip table.jx-table tbody tr:last-child td{border-bottom:0;}
.single-trip table.jx-table tbody tr:nth-child(even) td{background:#FBFCFB;}
.single-trip table.jx-table td:not(:first-child),.single-trip table.jx-table th:not(:first-child){white-space:nowrap;}
@media(max-width:600px){.single-trip table.jx-table th,.single-trip table.jx-table td{padding:8px 10px;font-size:.9rem;}}

/* ---- Trip facts on phones: two per row instead of a six-row column --------------------- */
@media(max-width:782px){
	.single-trip ul.trip-facts-value{grid-template-columns:repeat(2,minmax(0,1fr)) !important;column-gap:14px;row-gap:14px;}
	.single-trip ul.trip-facts-value li{min-width:0;}
	.single-trip ul.trip-facts-value .trip-facts-text{min-width:0;overflow-wrap:anywhere;}
}

/* ---- Full-width bands: subtract the scrollbar (see --jx-sbw in functions.php) ---- */
.page.full-width .alignfull,.single.full-width .alignfull{
	width:calc(100vw - var(--jx-sbw,0px));max-width:calc(100vw - var(--jx-sbw,0px));
	margin-left:calc(50% - 50vw + var(--jx-sbw,0px) / 2);margin-right:calc(50% - 50vw + var(--jx-sbw,0px) / 2);
}

/* ---- Original-site SEO copy (pages-fill .jx-seo block) -------------------------------
   Readable measure, body-weight type, trip names as linked tiles instead of big <h3>s. */
.jx-seo{max-width:1100px;margin:40px auto 30px !important;padding:56px 20px 10px;border-top:1px solid #e9eeee;color:#4f5a5e;}
.jx-seo>*{max-width:none !important;}
.jx-seo h3{font-size:1.3rem;font-weight:600;line-height:1.4;color:#1d2a2f;margin:36px 0 12px;}
.jx-seo>h3:first-child{font-size:clamp(1.5rem,2.3vw,2rem);font-weight:700;text-align:center;margin-top:0;margin-bottom:8px;}
.jx-seo>h3:first-child+p{text-align:center;color:#156358;font-weight:500;margin-bottom:8px;}
.jx-seo p{font-size:15.5px;line-height:1.8;margin:0 0 14px;}
.jx-seo ul.jx-seo-links,.jx-seo ul.jx-seo-points{list-style:none;padding:0;margin:16px 0 8px;display:grid;gap:10px;}
.jx-seo ul.jx-seo-links{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.jx-seo ul.jx-seo-links li{margin:0;}
.jx-seo ul.jx-seo-links a,.jx-seo ul.jx-seo-links li:not(:has(a)){display:flex;align-items:center;height:100%;box-sizing:border-box;padding:12px 16px;border:1px solid #dfeceb;border-radius:8px;background:#f5fbfa;color:#1d2a2f;font-size:15px;font-weight:500;line-height:1.35;text-decoration:none;transition:border-color .15s,color .15s,background .15s;}
.jx-seo ul.jx-seo-links a::after{content:"\2192";margin-left:auto;padding-left:10px;color:#156358;}
.jx-seo ul.jx-seo-links a:hover{border-color:#156358;color:#156358;background:#fff;}
.jx-seo ul.jx-seo-points{grid-template-columns:repeat(2,minmax(0,1fr));}
.jx-seo ul.jx-seo-points li{position:relative;margin:0;padding-left:28px;font-size:15.5px;line-height:1.6;}
.jx-seo ul.jx-seo-points li::before{content:"";position:absolute;left:4px;top:5px;width:12px;height:7px;border-left:2px solid #156358;border-bottom:2px solid #156358;transform:rotate(-45deg);}
@media(max-width:640px){.jx-seo{padding:40px 16px 0;margin-top:24px !important;}.jx-seo ul.jx-seo-points{grid-template-columns:1fr;}.jx-seo h3{font-size:1.15rem;}}

/* ---- Footer: drop the theme vendor credit, keep our copyright; keep the phone on one line */
.site-footer .footer-cop .author-link,.site-footer .footer-cop .wp-link{display:none;}
.site-footer .custom-html-widget p{overflow-wrap:normal;}

/* ---- Home "Explore popular trips": the source excerpts run 6-10 lines and repeat the title,
   so cards had ragged heights. Four lines is enough to tempt a click. */
.home .wpte-trip-single .wpte-trip-content p{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}

/* ---- Home on phones ------------------------------------------------------------------
   Testimonial arrows sat at the slide's vertical middle, which on a phone is the middle of
   the quote text, covering words. Put them beside the photo instead.
   Destination / activity tiles: one 340px tile per row made 12 screens of scrolling; two
   per row keeps the photos recognisable at half the length. */
/* theme button padding (16px 32px) stretched the round arrows into ovals */
.tm-testi-arrow{padding:0 !important;}
@media(max-width:782px){
	.tm-testi-slider{padding:0 !important;}
	.tm-testi-arrow{top:150px !important;width:44px !important;height:44px !important;background:#fff;}
	.tm-testi-content h3{font-size:1.45rem !important;}
	.tm-testi-content .tm-testi-quote{font-size:16.5px !important;line-height:1.7;}
	.tm-testi-arrow.tm-prev{left:0 !important;}
	.tm-testi-arrow.tm-next{right:0 !important;}
}
@media(max-width:600px){
	.home .wpte-trip-list-wrapper:has(>.wpte-trip-category){display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px;margin:0 !important;}
	.home .wpte-trip-list-wrapper>.wpte-trip-category{width:auto !important;max-width:none !important;flex:none !important;margin:0 !important;padding:0 !important;}
	.home .wpte-trip-category .wpte-trip-category-title{font-size:15px;line-height:1.3;}
	.home .wpte-trip-category .trip-count{display:block;margin:2px 0 0;}
}

/* ---- Trip listings (/trip/, destination / activity pages) on phones ------------------
   The search + sort + "Apply Filters" bar is sticky, and on a phone it held ~190px of an
   844px screen over the cards the whole way down; the list also started 72px below the
   banner. Let it scroll away, and close the gap. */
@media(max-width:768px){
	.wpte-toolbar-container{position:static !important;padding:14px 0 !important;}
	.post-type-archive-trip .main-content-wrapper,
	.tax-destination .main-content-wrapper,
	.tax-activities .main-content-wrapper,
	.tax-trip_types .main-content-wrapper{margin-top:20px !important;}
}

/* ---- Overview of a trip whose source text belonged to another tour (joinex-catalogue) */
.single-trip .jx-ask-program{margin-top:14px;padding:14px 18px;border-left:3px solid #156358;background:#f2faf9;border-radius:6px;color:#2d4a47;}

/* ---- Trip tab row on tablets: with all seven tabs (Overview, Itinerary, Cost, Tour Details,
   FAQs, Map, Reviews) the 40px gaps needed ~745px, so at 768px "Reviews" sat cut off past
   the edge of a row whose scrollbar is hidden. Tighter gaps fit them all. */
@media(min-width:600px) and (max-width:1100px){
	.single-trip .tab-inner-wrapper{column-gap:22px !important;}
}

/* ---- Trip pages ≤1024px: the booking card gives way to the sticky "From €… · Check
   Availability" bar, but its currency selector stayed behind on its own above "Related
   trips". Currency is switched from the header / mobile menu at these widths. */
@media(max-width:1024px){
	.single-trip .widget-area .wpte-booking-area-wrapper .wte-currency-switcher-drpdown{display:none !important;}
}

/* ---- Trip cards: meaningless meta ---------------------------------------------------
   Every trip has a minimum group size of 1 and no maximum, so every card read "1 Person"
   (as if the tour were for one person); the related-trip cards read "Activity: 1 Activity".
   Neither tells a customer anything. Duration and price stay. */
.category-trips-single .category-trips-single-inner-wrap .category-trip-desti > .category-trip-pax,
.category-trip-pax,
.wpte-trip-meta.wpte-trip-pax{display:none !important;}
.category-trip-meta-infos > .category-trip-meta-info:nth-child(2):last-child{display:none !important;}

/* ---- Blog posts: live tour price under each tour card (functions.php) ---------------- */
.single-post .jx-post-price{margin:-4px 0 22px;font-size:15px;color:#4f5a5e;}
.single-post .jx-post-price strong{color:#1d2a2f;font-size:17px;font-weight:700;margin-right:6px;}
.single-post .jx-post-price a{color:#156358;font-weight:600;text-decoration:none;white-space:nowrap;}
.single-post .jx-post-price a:hover{text-decoration:underline;}
.single-post .jx-price-list{margin:12px 0 28px;overflow-x:auto;}
.single-post .jx-price-list table{width:100%;max-width:640px;border-collapse:collapse;font-size:15px;}
.single-post .jx-price-list th{text-align:left;font-weight:600;color:#1d2a2f;background:#f2faf9;padding:10px 14px;border-bottom:2px solid #dfeceb;}
.single-post .jx-price-list td{padding:9px 14px;border-bottom:1px solid #edf1f1;color:#4f5a5e;}
.single-post .jx-price-list td:last-child,.single-post .jx-price-list th:last-child{text-align:right;white-space:nowrap;font-weight:600;color:#1d2a2f;}
.single-post .jx-price-list a{color:#156358;text-decoration:none;}
.single-post .jx-price-list a:hover{text-decoration:underline;}

/* ---- "Related posts" band under blog posts: the parent theme sizes it with 100vw like the
   home page's full-width bands, so it overhung the right edge by the scrollbar's width.
   Same correction (--jx-sbw is set in functions.php). */
.related-post{
	width:calc(100vw - var(--jx-sbw,0px));max-width:calc(100vw - var(--jx-sbw,0px));
	margin-left:calc(50% - 50vw + var(--jx-sbw,0px) / 2);margin-right:calc(50% - 50vw + var(--jx-sbw,0px) / 2);
}

/* ---- Stat tiles (Blog "Welcome to Turkey": 2 / 84M / 8 / 16th) on phones: 2 x 2 instead of
   four full-width boxes stacked down a whole screen. */
@media(max-width:781px){
	.wp-block-columns:has(> .wp-block-column > .jx-stat-tile){display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px !important;}
	.wp-block-columns:has(> .wp-block-column > .jx-stat-tile) > .wp-block-column{flex-basis:auto !important;margin:0 !important;}
	.jx-stat-tile .jx-stat-num{font-size:1.6rem !important;}
}

/* ---- Generated sitemap page ---------------------------------------------------------------- */
.jx-sitemap h2{font-size:1.5rem;margin:34px 0 10px;padding-bottom:8px;border-bottom:2px solid #dfeceb;}
.jx-sitemap h3{font-size:1.1rem;margin:24px 0 8px;} .jx-sitemap h3 small,.jx-sitemap li small{color:#5F6862;font-weight:400;}
.jx-sitemap ul{list-style:none;padding:0;margin:0 0 6px;}
.jx-sitemap li{padding:3px 0;line-height:1.5;}
.jx-sitemap a{color:#156358;text-decoration:none;} .jx-sitemap a:hover{text-decoration:underline;}
.jx-sitemap .jx-sitemap-cols{columns:3 260px;column-gap:28px;} .jx-sitemap .jx-sitemap-cols li{break-inside:avoid;}

/* ---- Destination guide band: sized with 100vw (main.css), so it overhung by the scrollbar. */
.jx-dest-seo-band{width:calc(100vw - var(--jx-sbw,0px));margin-left:calc(-50vw + var(--jx-sbw,0px) / 2);}
/* trip-list toolbar on phones sat 5px past both edges */
@media(max-width:768px){.wpte-toolbar-container,.wp-travel-toolbar.trip-content-area{max-width:100%;box-sizing:border-box;margin-left:0 !important;margin-right:0 !important;}}

/* ---- Content pages with a sidebar on tablets: the theme kept main + sidebar side by side down to
   768px, squeezing the legal text to 520px beside a 202px strip whose dates overflowed. Stack them. */
@media(max-width:900px){
	.main-content-wrapper:has(> #secondary){flex-direction:column;}
	.main-content-wrapper > #primary,.main-content-wrapper > #secondary{width:100%;max-width:100%;}
	.main-content-wrapper > #secondary{margin-top:40px;}
}
.widget .wp-block-latest-posts__post-date{white-space:normal;}

/* ---- Destination guide price tables on phones: scroll inside the table, never push the page. */
@media(max-width:700px){
	.jx-dest-seo table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
}
