/*
Theme Name: Essence Earth Journeys
Theme URI: https://essenceearthjourneys.com.au/
Description: Block theme for Essence Earth Journeys, carrying the Essence Sri Lanka branding (General Sans + Lora, Essence red, teal and cream). Child of Twenty Twenty-Five.
Author: EUX Digital
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.6
Text Domain: essence-earth-journeys
*/

/* ---------- Base ---------- */
:root {
	--ee-header-h: 86px;
	--ee-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23882A2A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E");
	--ee-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%235D8796'/%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
:where(h1, h2, h3, h4) em,
.ee-serif-accent em {
	font-family: var(--wp--preset--font-family--lora);
	font-style: italic;
	font-weight: 500;
}
.wp-site-blocks > main { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
main > .entry-content > *:first-child,
main .wp-block-post-content > *:first-child { margin-block-start: 0; }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
.ee-serif { font-family: var(--wp--preset--font-family--lora) !important; }
.ee-upper { text-transform: uppercase; }

/* ---------- Header ---------- */
.ee-header {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0; right: 0;
	z-index: 100;
	color: #fff;
	background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 100%);
	transition: background-color .3s ease, color .3s ease, box-shadow .3s ease;
}
.ee-header .ee-header__inner { min-height: var(--ee-header-h); gap: 24px; }
.ee-header .wp-block-navigation a,
.ee-header .ee-header__contact,
.ee-header .ee-header__contact a { color: inherit; text-decoration: none; }
.ee-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--coral); }
.ee-header .ee-logo { margin: 0; }
.ee-header .ee-logo img { width: 124px; height: auto; display: block; }
.ee-header .ee-logo--dark { display: none; }
.ee-header .ee-header__divider { width: 1px; height: 18px; background: currentColor; opacity: .5; }
.ee-header .ee-header__contact { text-align: right; line-height: 1.15; margin: 0; }
.ee-header .ee-header__contact strong { font-size: 22px; font-weight: 600; display: block; }
.ee-header .ee-header__inquire { align-self: stretch; margin: 0 !important; }
.ee-header .ee-header__inquire .wp-block-button__link {
	height: 100%; min-height: var(--ee-header-h);
	display: flex; align-items: center;
	background: var(--wp--preset--color--coral);
	font-size: 18px; font-weight: 500; text-transform: uppercase; padding-inline: 38px;
}
.ee-header .ee-header__inquire .wp-block-button__link:hover { background: var(--wp--preset--color--brand); }
body.ee-scrolled .ee-header,
body.ee-solid-header .ee-header {
	background: #fff; color: var(--wp--preset--color--ink);
	box-shadow: 0 2px 18px rgba(0,0,0,.08);
}
body.ee-scrolled .ee-header .ee-logo--light,
body.ee-solid-header .ee-header .ee-logo--light { display: none; }
body.ee-scrolled .ee-header .ee-logo--dark,
body.ee-solid-header .ee-header .ee-logo--dark { display: block; }
body.ee-solid-header .wp-site-blocks > main { padding-top: var(--ee-header-h); }
@media (max-width: 1100px) {
	.ee-header .ee-header__contact, .ee-header .ee-header__divider { display: none; }
	.ee-header .ee-header__inquire .wp-block-button__link { padding-inline: 20px; font-size: 15px; }
}
@media (max-width: 600px) {
	:root { --ee-header-h: 66px; }
	.ee-header .ee-logo img { width: 96px; }
}
.ee-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--deep-teal); color: #fff;
}

/* ---------- Section helpers ---------- */
.ee-leaf { position: relative; overflow: hidden; isolation: isolate; }
.ee-leaf::after {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	top: 0; right: 0; width: min(520px, 45vw); aspect-ratio: 1;
	background: url(assets/images/leafblog.svg) no-repeat top right / contain;
	opacity: .55;
}
.ee-leaf--left::after { right: auto; left: 0; transform: scaleX(-1); }
.ee-leaf--dark::after { background-image: url(assets/images/leaftab.svg); opacity: .25; }
.ee-quote-bg { position: relative; isolation: isolate; }
.ee-quote-bg::before {
	content: ""; position: absolute; z-index: -1; top: 0; right: 8%;
	width: 400px; height: 270px; background: url(assets/images/quote.webp) no-repeat center / contain; opacity: .5;
}

/* ---------- Sliders ---------- */
.ee-slider-wrap { position: relative; }
[class*="is-style-ee-slider-"] {
	display: flex !important; flex-wrap: nowrap !important;
	overflow-x: auto; overflow-y: hidden;
	scroll-snap-type: x mandatory; scroll-behavior: smooth;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	gap: 24px;
	grid-template-columns: none !important;
	padding: 0; list-style: none;
}
[class*="is-style-ee-slider-"]::-webkit-scrollbar { display: none; }
[class*="is-style-ee-slider-"] > * {
	flex: 0 0 auto; scroll-snap-align: start;
	margin: 0 !important; max-width: none !important;
}
.is-style-ee-slider-hero, .is-style-ee-slider-gallery, .is-style-ee-slider-reviews { gap: 0 !important; }
.is-style-ee-slider-hero > *, .is-style-ee-slider-gallery > *, .is-style-ee-slider-reviews > * { width: 100% !important; }
.is-style-ee-slider-cards > * { width: calc(50% - 12px) !important; }
.is-style-ee-slider-tiles { gap: 16px !important; }
.is-style-ee-slider-tiles > * { width: 258px !important; }
.is-style-ee-slider-tabs { gap: 10px !important; flex: 1; }
.is-style-ee-slider-tabs > * { width: 240px !important; }
@media (max-width: 781px) {
	.is-style-ee-slider-cards > * { width: 86% !important; }
	.is-style-ee-slider-tiles > * { width: 66% !important; }
	.is-style-ee-slider-tabs > * { width: 180px !important; }
}
/* gallery as slider */
.wp-block-gallery.is-style-ee-slider-gallery > figure.wp-block-image { width: 100% !important; }
.wp-block-gallery.is-style-ee-slider-gallery > figure img,
.wp-block-gallery.is-style-ee-slider-hero > figure img {
	width: 100% !important; height: auto !important; aspect-ratio: 1240 / 660; object-fit: cover !important;
}
.wp-block-gallery.is-style-ee-slider-hero > figure img { aspect-ratio: auto; height: clamp(320px, 48vw, 690px) !important; }
/* nav buttons */
.ee-slider-nav button {
	width: 46px; height: 46px; border-radius: 50%;
	border: 1px solid var(--wp--preset--color--brand);
	background: #fff var(--ee-arrow) no-repeat center / 22px;
	cursor: pointer; padding: 0; transition: opacity .2s, transform .2s;
}
.ee-slider-nav button.ee-prev { transform: scaleX(-1); }
.ee-slider-nav button:disabled { opacity: .35; cursor: default; }
.ee-slider-nav button:not(:disabled):hover { background-color: var(--wp--preset--color--blush); }
.ee-slider-nav--overlay button {
	position: absolute; top: 50%; margin-top: -23px; z-index: 5;
	background-color: rgba(255,255,255,.85); border-color: rgba(255,255,255,.9);
}
.ee-slider-nav--overlay .ee-prev { left: 14px; }
.ee-slider-nav--overlay .ee-next { right: 14px; }
.ee-slider-nav--top { position: absolute; right: 0; top: -94px; display: flex; gap: 14px; }
.ee-slider-nav--sides { display: contents; }
.ee-tabs-row { display: flex; align-items: center; gap: 18px; }
.ee-tabs-row .ee-slider-nav button { background-color: transparent; border-color: #fff; filter: brightness(0) invert(1); }
.ee-slider-dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.ee-slider-dots button {
	width: 16px; height: 4px; border: 0; border-radius: 2px; padding: 0;
	background: #c8d6dc; cursor: pointer;
}
.ee-slider-dots button.is-active { width: 26px; background: var(--wp--preset--color--teal); }
.ee-slider-dots--round button { width: 10px; height: 10px; border-radius: 50%; }
.ee-slider-dots--round button.is-active { width: 10px; }
@media (max-width: 781px) { .ee-slider-nav--top { position: static; justify-content: flex-end; margin-bottom: 14px; } }

/* ---------- Cards (tour query loop) ---------- */
.ee-card .wp-block-post-featured-image { margin-bottom: 16px; }
.ee-card .wp-block-post-featured-image img { aspect-ratio: 540 / 445; object-fit: cover; width: 100%; }
.ee-card .wp-block-post-title { font-size: clamp(22px, 2vw, 28px); line-height: 1.5; font-weight: 500; margin: 0; }
.ee-card .wp-block-post-title a { text-decoration: none; }
.ee-card .wp-block-post-excerpt { margin-top: 4px; }
.ee-card .wp-block-post-excerpt__excerpt { margin: 0; font-size: 18px; }
.ee-card .wp-block-post-excerpt__more-text { display: none; }

/* ---------- Location tiles ---------- */
.ee-tile.wp-block-cover { min-height: 460px; padding: 28px 40px; align-items: flex-end; }
.ee-tile .wp-block-cover__inner-container p { color: #fff; font-size: 18px; margin: 0; }
.ee-tile a { color: inherit; text-decoration: none; }
.ee-tile a::after { content: ""; position: absolute; inset: 0; }

/* ---------- Hero covers ---------- */
.ee-hero.wp-block-cover { min-height: clamp(420px, 56vw, 800px); }
.ee-hero--page.wp-block-cover { min-height: clamp(380px, 46vw, 660px); }
.ee-hero h1, .ee-hero .ee-hero__title {
	color: #f5eaea; font-family: var(--wp--preset--font-family--lora); font-weight: 400;
	font-size: var(--wp--preset--font-size--huge); line-height: 1.1; margin: 0;
}

/* ---------- Lists ---------- */
.is-style-ee-checklist { list-style: none; padding-left: 0; }
.is-style-ee-checklist > li { position: relative; padding-left: 30px; margin-bottom: 10px; }
.is-style-ee-checklist > li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 18px; height: 18px;
	background: var(--ee-check) no-repeat center / contain;
}
.is-style-ee-checklist ul { list-style: disc; padding-left: 18px; margin-top: 8px; }
.is-style-ee-checklist ul li { margin-bottom: 2px; }

/* ---------- Pill + circle buttons ---------- */
.is-style-ee-pill {
	display: inline-block; background: #efefef; color: var(--wp--preset--color--brand);
	font-weight: 600; border-radius: 30px; padding: 8px 22px; line-height: 1.35;
}
.wp-block-button.is-style-ee-circle .wp-block-button__link {
	width: 60px; height: 60px; padding: 0; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: transparent; color: var(--wp--preset--color--ink);
	border: 1px solid currentColor; font-size: 26px; line-height: 1;
}
.wp-block-button.is-style-ee-circle .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: #fff; }
.wp-block-button.is-style-ee-coral .wp-block-button__link { background: var(--wp--preset--color--coral); }
.wp-block-button.is-style-ee-coral .wp-block-button__link:hover { background: var(--wp--preset--color--brand); }

/* ---------- Tables ---------- */
.wp-block-table.is-style-ee-price table { border-collapse: collapse; width: 100%; background: #fff; }
.wp-block-table.is-style-ee-price thead { border: 0; }
.wp-block-table.is-style-ee-price th {
	background: var(--wp--preset--color--brand); color: #fff; text-align: left;
	font-size: 15px; font-weight: 600; text-transform: uppercase; padding: 10px 22px; border: 0;
}
.wp-block-table.is-style-ee-price td { padding: 10px 22px; border: 1px solid #e3e3e3; font-size: 18px; text-transform: uppercase; color: var(--wp--preset--color--ink); }
.wp-block-table.is-style-ee-price td:nth-child(2) { color: var(--wp--preset--color--brand); text-transform: none; font-size: 20px; }
.wp-block-table.is-style-ee-summary table { border-collapse: separate; border-spacing: 0 6px; width: 100%; }
.wp-block-table.is-style-ee-summary th { background: var(--wp--preset--color--brand); color: #fff; padding: 12px 18px; text-align: left; border: 0; font-weight: 600; }
.wp-block-table.is-style-ee-summary td { padding: 14px 18px; vertical-align: top; border: 0; font-family: var(--wp--preset--font-family--general-sans); font-size: 16px; }
.wp-block-table.is-style-ee-summary tr:nth-child(odd) td { background: var(--wp--preset--color--blush); }
.wp-block-table.is-style-ee-summary tr:nth-child(even) td { background: var(--wp--preset--color--ice); }
.wp-block-table.is-style-ee-summary td:first-child { font-weight: 600; white-space: nowrap; color: var(--wp--preset--color--brand); }
@media (max-width: 781px) { .wp-block-table { overflow-x: auto; } }

/* ---------- Tour page ---------- */
.ee-breadcrumb { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }
.ee-breadcrumb a { color: #8a8a8a; text-decoration: none; }
.ee-day-title { display: flex; align-items: center; gap: 12px; font-size: clamp(22px, 2vw, 26px) !important; text-transform: uppercase; }
.ee-day-title::before {
	content: ""; flex: 0 0 26px; height: 26px; border-radius: 50%;
	background: var(--wp--preset--color--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M7 13l5 5 5-5'/%3E%3C/svg%3E") no-repeat center / 16px;
}
.ee-day-title strong { color: var(--wp--preset--color--brand); font-weight: 600; text-transform: none; }
.ee-icon-line { gap: 14px !important; margin-block: 6px !important; }
.ee-icon-line .wp-block-image { margin: 0; flex: 0 0 24px; }
.ee-icon-line .wp-block-image img { width: 24px; height: 24px; object-fit: contain; }
.ee-icon-line p { margin: 0; }
.ee-ideal { gap: 48px !important; }
.ee-ideal .wp-block-image img { height: 46px; width: auto; filter: brightness(0) saturate(100%) invert(95%) sepia(9%) saturate(500%) hue-rotate(10deg); }
.ee-ideal p { margin: 6px 0 0; text-transform: uppercase; }
.ee-day + .ee-day { border-top: 1px solid #e2ded8; }

/* ---------- Destinations ---------- */
.ee-tabs .wp-block-button__link {
	width: 100%; background: rgba(76,106,113,.55); color: #fff; text-transform: uppercase;
	font-size: 18px; font-weight: 400; padding: 14px 18px; line-height: 1.4;
}
.ee-tabs .wp-block-button.is-active .wp-block-button__link,
.ee-tabs .wp-block-button__link:hover { background: var(--wp--preset--color--deep-teal); }
.ee-activity img { width: 116px; height: 116px; border-radius: 50%; object-fit: contain; }
.ee-activity { text-align: center; }
.ee-activity p { margin-top: 8px; }
.ee-rating-word { font-family: "Comic Sans MS", "Chalkboard SE", cursive; font-weight: 800; text-transform: uppercase; font-style: italic; }

/* ---------- Home: highlights / included / why ---------- */
.ee-highlight { text-align: center; }
.ee-highlight .wp-block-image { border-bottom: 2px dotted var(--wp--preset--color--brand); padding-bottom: 18px; margin-bottom: 14px; }
.ee-highlight .wp-block-image img { height: 110px; width: auto; margin-inline: auto; }
.ee-highlight h3 { font-family: var(--wp--preset--font-family--lora); color: var(--wp--preset--color--brand); font-size: 44px; font-weight: 500; margin: 0; }
.ee-highlight h3 small, .ee-highlight h3 sub { font-size: 20px; font-style: italic; vertical-align: baseline; }
.ee-highlight p { color: var(--wp--preset--color--brand); margin: 6px 0 0; line-height: 1.25; }
.ee-included-item { gap: 16px !important; }
.ee-included-item .wp-block-image { margin: 0; flex: 0 0 60px; }
.ee-included-item .wp-block-image img { width: 60px; height: 60px; padding: 14px; border-radius: 50%; background: rgba(255,255,255,.15); object-fit: contain; }
.ee-included-item p { margin: 0; font-size: 24px; line-height: 1.2; }
.ee-incl-card { background: rgba(255,255,255,.06); border-bottom: 1px dashed rgba(255,255,255,.4); border-radius: 12px; }
.ee-incl-card h3 { font-family: var(--wp--preset--font-family--lora); font-style: italic; font-weight: 600; font-size: 26px; }
.ee-why h3 { font-size: 26px; font-weight: 400; line-height: 1.15; }
.ee-why .ee-why__icon img { height: 58px; width: auto; }
.ee-why .ee-why__photo img { aspect-ratio: 322 / 100; object-fit: cover; border-radius: 4px; width: 100%; }
.ee-why p { font-size: 15px; line-height: 1.25; }

/* ---------- Reviews ---------- */
.ee-review .ee-review__meta { justify-content: space-between; }
.ee-review .ee-review__meta p { margin: 0; }
.ee-review .ee-review__stars { color: #FFD700; letter-spacing: 2px; }
.ee-review .ee-review__stars span { color: var(--wp--preset--color--ink); }
.ee-review .ee-review__text { font-family: var(--wp--preset--font-family--lora); font-style: italic; color: #888; font-size: 20px; }

/* ---------- Photography ---------- */
.wp-block-gallery.is-style-ee-masonry { display: block !important; columns: 3 300px; column-gap: 14px; }
.wp-block-gallery.is-style-ee-masonry > figure.wp-block-image {
	width: 100% !important; display: block; margin: 0 0 14px !important; break-inside: avoid;
}
.wp-block-gallery.is-style-ee-masonry > figure.wp-block-image img { height: auto !important; object-fit: initial !important; width: 100%; }

/* ---------- Footer ---------- */
.ee-footer a { text-decoration: none; }
.ee-footer a:hover { color: var(--wp--preset--color--brand); }
.ee-footer .ee-footer__email a { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; color: var(--wp--preset--color--ink); }
.ee-footer .ee-footer__avatar img { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; }
.ee-footer h4 { font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ee-footer .ee-footer__links p { margin: 0 0 6px; font-size: 15px; }
.ee-footer .ee-social img { width: 28px; height: 28px; }
.ee-footer .ee-social { gap: 6px !important; }
.ee-footer .ee-footer__wordmark { font-family: var(--wp--preset--font-family--lora); font-style: italic; font-size: 26px; line-height: 1; text-transform: uppercase; }
.ee-footer .ee-footer__address { font-family: var(--wp--preset--font-family--lora); font-size: 15px; }

/* ---------- Inquire modal ---------- */
.ee-modal-source { display: none !important; }
dialog.ee-dialog {
	width: min(920px, 94vw); max-height: 92vh; border: 0; padding: 0; overflow: auto;
	box-shadow: 0 30px 80px rgba(0,0,0,.35);
}
dialog.ee-dialog::backdrop { background: rgba(0,0,0,.6); }
dialog.ee-dialog .ee-dialog__close {
	position: absolute; top: 10px; right: 14px; border: 0; background: none; font-size: 30px; line-height: 1; cursor: pointer; color: var(--wp--preset--color--ink);
}
dialog.ee-dialog .ee-dialog__body { padding: 28px clamp(18px, 4vw, 48px) 36px; }
dialog.ee-dialog .ee-dialog__tab,
dialog.ee-dialog .ee-dialog__tab-label {
	display: inline-flex; gap: 10px; align-items: center; text-transform: uppercase; font-weight: 500;
	border-bottom: 2px solid var(--wp--preset--color--brand); padding-bottom: 12px; margin-bottom: 22px; color: var(--wp--preset--color--brand);
}
body.ee-modal-open { overflow: hidden; }
.ee-dialog .wpforms-container .wpforms-field-label { font-weight: 500; font-size: 14px; }
.ee-dialog .wpforms-container input, .ee-dialog .wpforms-container select, .ee-dialog .wpforms-container textarea { border-radius: 0 !important; }
.ee-dialog .wpforms-container .wpforms-submit { background: var(--wp--preset--color--brand) !important; border-radius: 0 !important; padding: 10px 32px !important; }

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	[class*="is-style-ee-slider-"] { scroll-behavior: auto; }
}

/* Highlight drawn as an image (e.g. a number set in an SVG) */
.ee-highlight h3 .ee-highlight__glyph { height: 44px; width: auto; display: inline-block; vertical-align: middle; }

/* Booking process: wide infographic on desktop, stacked version on phones */
.our-booking-process > h2 { text-align: center; margin-bottom: 40px; }
.our-booking-process .booking-process-img-mobile { display: none; }
@media (max-width: 781px) {
	.our-booking-process .booking-process-img { display: none; }
	.our-booking-process .booking-process-img-mobile { display: block; }
}

/* Tour page */
.ee-breadcrumb__sep { margin: 0 10px; color: var(--wp--preset--color--ink); }
.ee-breadcrumb strong { color: var(--wp--preset--color--ink); }
.ee-tour-title { font-family: var(--wp--preset--font-family--lora); font-weight: 400; font-size: clamp(38px, 5vw, 64px) !important; line-height: 1.12; margin-top: 18px; }
.ee-tour-intro .ee-pricing-title { font-family: var(--wp--preset--font-family--lora); font-weight: 500; font-size: 30px; margin: 28px 0 12px; }
.ee-tour-intro .wp-block-table.is-style-ee-price td { color: var(--wp--preset--color--ink); font-size: 16px; padding: 10px 12px; }
.ee-tour-intro .wp-block-table.is-style-ee-price td:nth-child(n+2) { color: var(--wp--preset--color--brand); }
.wp-block-table.is-style-ee-price td small { display: block; font-size: 13px; text-transform: none; color: var(--wp--preset--color--ink); }

/* Collapsible tour sections (core/details) */
.ee-accordion > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	font-family: var(--wp--preset--font-family--lora);
	font-size: clamp(34px, 4.6vw, 64px);
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
	margin-bottom: 32px;
}
.ee-accordion > summary::-webkit-details-marker { display: none; }
.ee-accordion > summary::after {
	content: "";
	flex: 0 0 60px;
	height: 60px;
	border: 1px solid var(--wp--preset--color--ink);
	border-radius: 50%;
	background: url("assets/images/arrow-down.svg") center / 22px no-repeat;
	transform: rotate(180deg);
	transition: transform .25s ease;
}
.ee-accordion:not([open]) > summary::after { transform: none; }
.ee-accordion:not([open]) > summary { margin-bottom: 0; }
@media (max-width: 781px) {
	.ee-accordion > summary::after { flex-basis: 44px; height: 44px; background-size: 16px; }
	.wp-block-table.is-style-ee-summary td:first-child { white-space: normal; }
}
/* Header layout details */
.ee-header .ee-header__inner > .wp-block-group:last-child { align-self: stretch; }
.ee-header .ee-header__contact { align-self: center; }
.ee-header .wp-block-buttons.ee-header__inquire { align-self: stretch; margin: 0; }
.ee-header .ee-header__inquire .wp-block-button { display: flex; }
.ee-header .ee-header__inquire .wp-block-button__link { border-radius: 0; }
.ee-header .ee-logo a { display: block; }
.ee-header .wp-block-navigation__responsive-container-open { color: inherit; }

/* Footer contact lines */
.ee-footer .ee-footer__address--pin,
.ee-footer .ee-footer__address--phone { position: relative; padding-left: 24px; }
.ee-footer .ee-footer__address--pin::before,
.ee-footer .ee-footer__address--phone::before {
	content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px;
	background: url("assets/images/mapicon.svg") center / contain no-repeat;
}
.ee-footer .ee-footer__address--phone::before { background-image: url("assets/images/wd-phone-dark.svg.svg"); }
.ee-footer .ee-footer__address a { color: inherit; }
.ee-footer .ee-footer__wordmark { margin-bottom: 28px; }
/* Gallery sliders: fixed slide height so a portrait photo cannot stretch the row */
.wp-block-gallery.is-style-ee-slider-hero { align-items: flex-start !important; }
.wp-block-gallery.is-style-ee-slider-hero > figure.wp-block-image { height: clamp(320px, 48vw, 690px); }
.wp-block-gallery.is-style-ee-slider-gallery { align-items: flex-start !important; }
.wp-block-gallery.is-style-ee-slider-gallery > figure.wp-block-image { height: clamp(240px, 46vw, 660px); }
.wp-block-gallery[class*="is-style-ee-slider-"] > figure.wp-block-image img {
	height: 100% !important; min-height: 0 !important; width: 100% !important; object-fit: cover !important;
}
.ee-tour-details .ee-accordion + .ee-accordion { margin-top: 64px; }
.ee-footer .ee-footer__wordmark { font-style: italic !important; }
.ee-day > .wp-block-gallery { max-width: calc(100% - 24px); }

/* Destinations tabs: one full-width tab per view on phones */
@media (max-width: 600px) {
	.is-style-ee-slider-tabs > * { width: 100% !important; flex: 0 0 100% !important; }
}

/* =========================================================
   Typography matched to essencesrilanka.com.au
   ========================================================= */
body { line-height: 1.5; }
:where(h1, h2) { line-height: 1.1; }
/* Header */
.ee-header .ee-header__contact strong { font-size: 24px; font-weight: 500; line-height: 1; }
.ee-header .ee-header__contact { text-transform: uppercase; line-height: 1.25; }
/* Home: mission */
body.home .has-cream-background-color .wp-block-column > p.has-large-font-size { font-size: 20px !important; font-weight: 500; line-height: 1.5; }
/* Tour cards */
.ee-card .wp-block-post-excerpt__excerpt { font-size: 20px; line-height: 1.5; }
/* Why select */
.ee-why h3 { font-size: 24px; line-height: 1.2; }
.ee-why p { font-size: 14px; line-height: 18px; }
/* Booking process accent word */
.our-booking-process h2 span { font-family: var(--wp--preset--font-family--lora); font-style: italic; }
/* Reviews */
.ee-quote-bg > h2 { font-weight: 400; line-height: 1.5; }
.ee-quote-bg > h2 em { font-weight: 400; }
.ee-review .ee-review__meta strong { line-height: 1.1; }
.ee-review .ee-review__text { line-height: 1.5; }
.ee-quote-bg .wp-block-button__link { font-size: 18px; font-weight: 400; padding: 10px 12px; }
/* Highlights of nature */
.ee-highlight + .ee-highlight { margin: 0; }
.has-text-align-center:has(+ .wp-block-group > .ee-highlight) em,
h2:has(+ .wp-block-group > .ee-highlight) em { font-weight: 400; }
.ee-highlight .wp-block-image { border-bottom: 1px dashed var(--wp--preset--color--ink); }
.ee-highlight h3 { font-size: 42px; font-style: italic; font-weight: 500; line-height: 1.1; margin-top: 4px; }
.ee-highlight p { font-size: 18px; line-height: 1.1; }
/* Instagram */
h2:has(a[href*="instagram.com"]) { font-size: var(--wp--preset--font-size--xx-large) !important; font-weight: 400 !important; line-height: 1.1; letter-spacing: -0.02em; }
/* Footer */
.ee-footer h2 { font-weight: 500; }
.ee-footer .ee-footer__email { font-size: clamp(30px, 3.75vw, 54px) !important; font-weight: 500; }
.ee-footer .ee-footer__links p, .ee-footer .ee-footer__address { font-size: 14px; line-height: 1.6; }
.ee-footer h4 { line-height: 1.4; }
/* Inquire form */
.ee-dialog .wpforms-container .wpforms-field-label { font-weight: 500 !important; font-size: 16px !important; }
/* Tour page */
.is-style-ee-pill { font-size: 24px; font-weight: 700; }
.ee-tour-intro > p, .ee-tour-intro .wp-block-column > p { font-size: 19px; line-height: 1.58; }
.ee-tour-intro .ee-pricing-title { font-size: 28px; font-weight: 600; line-height: 1; }
.ee-tour-intro .wp-block-table.is-style-ee-price td { font-size: 18px; font-weight: 500; line-height: 1.5; }
.ee-tour-intro .wp-block-table.is-style-ee-price td:nth-child(n+2) { font-size: 20px; }
.wp-block-table.is-style-ee-price th { font-size: 14px; }
.ee-accordion > summary { font-weight: 500; }
.ee-day-title { font-size: 24px !important; text-transform: none; }
.ee-day-title strong { font-weight: 600; }
.ee-day h4 { font-size: 20px; line-height: 1.5; }
.ee-day strong { font-weight: 500; }
.ee-day p { line-height: 1.5; }
/* About */
body.page-id-10 main h2.has-large-font-size { font-family: var(--wp--preset--font-family--lora); font-size: clamp(26px, 2.5vw, 36px) !important; font-weight: 400; line-height: 1.2; }
body.page-id-10 main p { line-height: 1.43; }
/* Destinations */
body.page-id-9 main h4 { font-size: 18px; line-height: 1.1; }
body.page-id-9 main p, body.page-id-9 main li { line-height: 1.43; }
body.page-id-9 main h2.stitle,
body.page-id-9 main .ee-leaf h2.has-text-color { font-family: var(--wp--preset--font-family--lora); line-height: 1.2; }
body.page-id-9 main .ee-leaf h2.has-text-color { font-size: clamp(40px, 4.5vw, 64px); }
/* Hero titles: 90px like the source */
.ee-hero h1, .ee-hero .ee-hero__title { letter-spacing: 0.01em; }

/* =========================================================
   Card + tile hover: lift and colour change
   ========================================================= */
.is-style-ee-slider-cards, .is-style-ee-slider-tiles { padding-top: 24px !important; margin-top: -24px !important; }
.ee-card { transition: transform .35s ease; }
.ee-card:hover { transform: translate3d(0, -20px, 0); }
.ee-card .wp-block-post-title a { transition: color .35s ease; }
.ee-card:hover .wp-block-post-title a { color: var(--wp--preset--color--coral); }
.ee-tile.wp-block-cover { transition: transform .35s ease; }
.ee-tile.wp-block-cover:hover { transform: translate3d(0, -20px, 0); }
.ee-tile .wp-block-cover__inner-container p { transition: color .35s ease; }
.ee-tile.wp-block-cover:hover .wp-block-cover__inner-container p { color: var(--wp--preset--color--coral); }

/* =========================================================
   What's included: one ticket-style panel + leaf
   ========================================================= */
.ee-leaf--left:has(.ee-incl-card)::after { display: none; }
.ee-leaf--left:has(.ee-incl-card)::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	left: 33px; top: 50%; width: 556px; max-width: 45%; aspect-ratio: 556 / 469;
	background: url(assets/images/leaf.webp) no-repeat left top / contain;
}
.ee-leaf--left:has(.ee-incl-card) > .wp-block-columns { max-width: 1140px; margin-inline: auto; }
.ee-leaf--left:has(.ee-incl-card) .ee-included-item { margin-bottom: 18px; }
.ee-included-item .wp-block-image img { padding: 10px; background: #6c93a0; }
.ee-included-item p { color: #F7F5F2; }
.wp-block-column:has(> .ee-incl-card) {
	background: #56808F; border-radius: 16px; padding: 36px 0;
	display: flex; flex-direction: column; justify-content: center; gap: 32px;
}
.ee-incl-card {
	position: relative; background: none; border-radius: 0;
	border-bottom: 1px dashed rgb(255 255 255 / 30%);
	padding: 0 25px 6px !important; margin: 0 !important;
}
.ee-incl-card::before, .ee-incl-card::after {
	content: ""; position: absolute; bottom: -12px; width: 22px; height: 22px; border-radius: 50%;
	background: var(--wp--preset--color--teal);
}
.ee-incl-card::before { left: -11px; }
.ee-incl-card::after { right: -11px; }
.ee-incl-card:last-child { border-bottom: 0; padding-bottom: 0 !important; }
.ee-incl-card:last-child::before, .ee-incl-card:last-child::after { display: none; }
.ee-incl-card h3 { font-size: 24px; line-height: 1.2; color: #F7F5F2; margin: 0 0 16px; }
.ee-incl-card p, .ee-incl-card a { color: #F7F5F2; font-size: 20px; line-height: 1.4; }
.ee-incl-card p { margin: 0 0 24px; }
.ee-incl-card a { text-decoration: underline; }
.ee-incl-card a:hover { color: var(--wp--preset--color--coral); }
@media (max-width: 781px) {
	.ee-incl-card h3 { font-size: 18px; }
	.ee-incl-card p, .ee-incl-card a { font-size: 16px; }
	.ee-incl-card p { margin-bottom: 15px; }
	.wp-block-column:has(> .ee-incl-card) { gap: 16px; }
	.ee-included-item p { font-size: 18px; }
	.ee-leaf--left:has(.ee-incl-card)::before { left: -50px; width: 330px; max-width: 73%; top: 40%; }
}

/* =========================================================
   Draggable sliders
   ========================================================= */
[class*="is-style-ee-slider-"]:not(.is-style-ee-slider-tabs) { cursor: grab; }
[class*="is-style-ee-slider-"] img { -webkit-user-drag: none; user-select: none; }
[class*="is-style-ee-slider-"].is-dragging {
	cursor: grabbing; scroll-snap-type: none !important; scroll-behavior: auto !important; user-select: none;
}
[class*="is-style-ee-slider-"].is-dragging * { pointer-events: none; }

/* =========================================================
   Map: drag to pan, zoom buttons
   ========================================================= */
.ee-map { position: relative; margin: 0 !important; }
.ee-map__stage {
	position: relative; overflow: hidden; height: min(864px, 60vw); min-height: 452px;
	background: var(--wp--preset--color--aqua); cursor: grab; touch-action: pan-y;
}
.ee-map__stage.is-zoomed { touch-action: none; }
.ee-map__stage.is-dragging { cursor: grabbing; }
.ee-map__stage img {
	position: absolute; left: 0; top: 50%; width: 100% !important; height: auto !important; max-width: none;
	transform-origin: 50% 50%; transition: transform .45s ease; will-change: transform; user-select: none; -webkit-user-drag: none;
}
.ee-map__stage.is-dragging img { transition: none; }
.ee-map__controls { position: absolute; right: 50px; bottom: 40px; display: flex; gap: 10px; z-index: 2; }
.ee-map__controls .ee-map__zoom { display: flex; }
.ee-map__controls button {
	width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.7); border: 0; border-radius: 5px; cursor: pointer; padding: 0; transition: background .3s;
}
.ee-map__controls .ee-map__zoom button:first-child { border-radius: 5px 0 0 5px; }
.ee-map__controls .ee-map__zoom button:last-child { border-radius: 0 5px 5px 0; }
.ee-map__controls button:hover { background: #fff; }
.ee-map__controls button:disabled { opacity: .5; cursor: default; }
.ee-map__controls svg { width: 22px; height: 22px; }
@media (max-width: 781px) {
	.ee-map__stage { height: 452px; min-height: 0; }
	.ee-map__controls { right: 16px; bottom: 16px; }
}

/* =========================================================
   Floating actions: WhatsApp (bottom right), back to top (bottom left)
   ========================================================= */
.ee-wa { position: fixed; right: 30px; bottom: 30px; z-index: 900; font-family: var(--wp--preset--font-family--general-sans); }
.ee-wa__button {
	display: flex; align-items: center; gap: 10px; border: 0; cursor: pointer;
	background: none; padding: 0; color: var(--wp--preset--color--ink);
}
.ee-wa__label {
	background: #fff; border-radius: 4px; padding: 6px 12px; font-size: 13px; line-height: 1.3;
	box-shadow: 0 4px 14px rgba(0,0,0,.15); white-space: nowrap;
}
.ee-wa__icon {
	width: 56px; height: 56px; border-radius: 50%; background: #2db742;
	display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.2);
	transition: transform .25s ease;
}
.ee-wa__button:hover .ee-wa__icon { transform: scale(1.06); }
.ee-wa__icon svg { width: 30px; height: 30px; fill: #fff; }
.ee-wa__panel {
	position: absolute; right: 0; bottom: 72px; width: 340px; max-width: calc(100vw - 40px);
	background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.2);
	opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .25s ease, transform .25s ease;
}
.ee-wa.is-open .ee-wa__panel { opacity: 1; transform: none; pointer-events: auto; }
.ee-wa__head { background: #2db742; color: #fff; padding: 18px 20px; position: relative; }
.ee-wa__title { font-size: 18px; font-weight: 600; margin: 0 28px 6px 0; line-height: 1.3; }
.ee-wa__desc { font-size: 12px; line-height: 1.5; margin: 0; }
.ee-wa__close {
	position: absolute; top: 10px; right: 12px; border: 0; background: none; color: #fff;
	font-size: 26px; line-height: 1; cursor: pointer; padding: 0;
}
.ee-wa__body { padding: 16px 20px 10px; }
.ee-wa__account {
	display: flex; align-items: center; gap: 12px; padding: 12px; border-left: 2px solid #2db742;
	background: #f5f7f9; border-radius: 0 4px 4px 0; text-decoration: none; color: var(--wp--preset--color--ink);
	transition: background .2s;
}
.ee-wa__account:hover { background: #eef1f4; color: var(--wp--preset--color--ink); }
.ee-wa__avatar { flex: 0 0 48px; width: 48px; height: 48px; }
.ee-wa__name { display: block; font-size: 11px; color: #777; }
.ee-wa__account strong { display: block; font-size: 14px; font-weight: 600; }
.ee-wa__online { display: block; font-size: 11px; color: #2db742; }
.ee-wa__foot { font-size: 11px; color: #999; text-align: center; margin: 10px 0 0; }
@media (max-width: 600px) {
	.ee-wa { right: 16px; bottom: 16px; }
	.ee-wa__label { display: none; }
	.ee-wa__icon { width: 52px; height: 52px; }
	.ee-wa__panel { bottom: 66px; }
}
.ee-totop {
	position: fixed; left: 30px; bottom: 30px; z-index: 900;
	width: 50px; height: 50px; border-radius: 50%; border: 0; cursor: pointer; padding: 0;
	background: var(--wp--preset--color--brand); color: #fff;
	display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.2);
	opacity: 0; visibility: hidden; transform: translateY(16px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s, background .2s;
}
.ee-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.ee-totop:hover { background: var(--wp--preset--color--coral); }
.ee-totop svg { width: 22px; height: 22px; }
@media (max-width: 600px) { .ee-totop { left: 16px; bottom: 16px; width: 46px; height: 46px; } }
body.ee-modal-open .ee-wa, body.ee-modal-open .ee-totop { display: none; }

/* =========================================================
   Entrance animations (fade up, as on the source site)
   ========================================================= */
.ee-anim {
	opacity: 0; transform: translate3d(0, 200px, 0);
	transition: opacity 1s ease, transform 1s ease;
	transition-delay: var(--ee-delay, 0s);
}
.ee-anim.is-in { opacity: 1; transform: none; }
@media (max-width: 781px) { .ee-anim { transform: translate3d(0, 80px, 0); } }
@keyframes ee-rise { from { opacity: 0; transform: translate3d(0, 60px, 0); } to { opacity: 1; transform: none; } }
main > :first-child .ee-hero__title,
main .wp-block-post-content > .wp-block-cover:first-child .wp-block-cover__inner-container > *,
main .wp-block-post-content > .is-style-ee-slider-hero:first-child .ee-hero__title { animation: ee-rise 1.1s ease both .15s; }
@media (prefers-reduced-motion: reduce) {
	.ee-anim { opacity: 1; transform: none; transition: none; }
	.ee-card, .ee-tile.wp-block-cover { transition: none; }
	.ee-card:hover, .ee-tile.wp-block-cover:hover { transform: none; }
	main .ee-hero__title, main .wp-block-cover__inner-container > * { animation: none !important; }
	.ee-map__stage img { transition: none; }
}
/* Typography follow-ups */
.ee-footer h2 { font-weight: 500 !important; }
.wpforms-container .wpforms-field-label { font-weight: 500 !important; font-size: 16px !important; line-height: 1.4 !important; }
.ee-tile .wp-block-cover__inner-container p { line-height: 1.1; }

/* Included items: keep words whole, Essence spacing */
.ee-leaf--left:has(.ee-incl-card) .wp-block-group:has(> .ee-included-item) { column-gap: 12px !important; }
.ee-included-item { gap: 15px !important; }
.ee-included-item p { overflow-wrap: normal; word-break: normal; hyphens: none; }
@media (min-width: 782px) and (max-width: 1199px) { .ee-included-item p { font-size: 20px; } }

@media (max-width: 781px) {
	.ee-leaf--left:has(.ee-incl-card) .wp-block-group:has(> .ee-included-item) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 20px !important; margin-top: 24px !important; }
	.ee-leaf--left:has(.ee-incl-card) .ee-included-item { flex-direction: column; align-items: center !important; margin-bottom: 0; gap: 12px !important; }
	.ee-included-item .wp-block-image { flex-basis: auto; }
	.ee-included-item .wp-block-image img { width: 50px; height: 50px; }
	.ee-included-item p { font-size: 16px; text-align: center; }
}

/* Typography follow-ups 2 */
.ee-footer p.has-xx-large-font-size { font-weight: 500; }
.ee-tour-intro .wp-block-column > p.has-medium-font-size { font-size: 19px !important; line-height: 1.58; }
body.page-id-10 main strong { font-weight: 700; }
body.page-id-10 main p.has-large-font-size { font-size: clamp(26px, 2.5vw, 36px) !important; line-height: 1.43; }

.ee-tour-intro .wp-block-table.is-style-ee-price td:nth-child(n+2) { white-space: nowrap; }


/* ---------- Frosted menu bar over the hero, as on essencesrilanka.com.au ---------- */
/* The blur sits on a pseudo-element: backdrop-filter on the fixed header itself would trap the fixed mobile menu overlay inside it. */
body:not(.single-tour):not(.ee-scrolled):not(.ee-solid-header) .ee-header {
	background: transparent;
	border-bottom: 1px solid rgba(255, 255, 255, .5);
}
body:not(.single-tour):not(.ee-scrolled):not(.ee-solid-header) .ee-header::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
}


/* ---------- Destination tours (rows like the Essence "Our Tours" page) ---------- */
.ee-dtours { --ee-dt-gutter: clamp(16px, 4vw, 40px); --ee-dt-width: min(1300px, calc(100% - 2 * var(--ee-dt-gutter))); }
.ee-dtours.alignfull { margin-top: 0; margin-bottom: 0; }
.ee-dtour__media { position: relative; }
.ee-dtour__image { display: block; width: 100%; height: 616px; object-fit: cover; }
.ee-dtour__pill {
	position: absolute; bottom: 40px; left: calc((100% - var(--ee-dt-width)) / 2);
	width: fit-content; max-width: var(--ee-dt-width); box-sizing: border-box;
	padding: 10px 30px; border-radius: 60px; background: rgba(84, 121, 135, .7); color: #fff;
}
.ee-dtour__title { margin: 0; font-family: var(--wp--preset--font-family--lora); font-size: 40px; font-weight: 500; line-height: 1.1; color: #fff; }
.ee-dtour__price { margin: 8px 0 0; font-size: 24px; font-weight: 500; line-height: 1.43; color: #fff; }
.ee-dtour__price--mobile { display: none; }
.ee-dtour__body { background: var(--wp--preset--color--teal); color: #fff; padding: 56px 0; }
.ee-dtour__inner { width: var(--ee-dt-width); margin: 0 auto; padding: 0 15px; box-sizing: border-box; }
.ee-dtour__icons {
	display: inline-flex; flex-wrap: wrap; align-items: center; gap: 12px 40px;
	margin: 0; padding: 12px 30px; list-style: none; border-radius: 60px; background: rgba(0, 0, 0, .1);
}
.ee-dtour__icons li { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 18px; line-height: 1.43; text-transform: uppercase; }
.ee-dtour__icons img { width: 42px; height: 42px; object-fit: contain; filter: brightness(0) invert(1); }
.ee-dtour__text { display: flex; justify-content: space-between; gap: 60px; margin-top: 50px; }
.ee-dtour__intro, .ee-dtour__highlights { flex: 1 1 50%; min-width: 0; }
.ee-dtour__text.is-single .ee-dtour__intro { flex-basis: 100%; }
.ee-dtour__intro p { margin: 0 0 1em; font-size: 18px; line-height: 1.56; }
.ee-dtour__intro p:last-child { margin-bottom: 0; }
.ee-dtour__highlights h4 { margin: 0 0 12px; font-size: 18px; font-weight: 700; line-height: 1.4; color: #fff; }
.ee-dtour__highlights ul { margin: 0; padding: 0; list-style: none; }
.ee-dtour__highlights li { margin: 0; font-size: 20px; line-height: 1.4; }
.ee-dtour__actions { display: flex; gap: 15px; margin-top: 50px; }
.ee-dtour__button {
	display: block; min-width: 182px; padding: 10px; box-sizing: border-box; text-align: center;
	background: #fff; color: #000; font-size: 18px; line-height: 1.43; text-decoration: none;
	transition: background-color .5s, color .5s;
}
.ee-dtour__button:hover, .ee-dtour__button:focus-visible { background: var(--wp--preset--color--coral); color: #fff; }
@media (max-width: 1024px) {
	.ee-dtour__title { font-size: 32px; }
	.ee-dtour__text { gap: 40px; }
}
@media (max-width: 767px) {
	.ee-dtour__image { height: 350px; }
	.ee-dtour__pill { left: 0; bottom: 30px; width: 100%; max-width: none; padding: 10px 30px; }
	.ee-dtour__title { font-size: 25px; }
	.ee-dtour__pill .ee-dtour__price { display: none; }
	.ee-dtour__body { padding: 20px 0 56px; }
	.ee-dtour__price--mobile { display: block; margin: 0; padding: 0 32px 20px; font-size: 24px; font-weight: 400; line-height: 1.43; }
	.ee-dtour__inner { width: 100%; padding: 0 15px; }
	.ee-dtour__icons {
		display: flex; flex-wrap: nowrap; justify-content: space-around; gap: 0;
		margin: 0 -15px; padding: 25px 16px; border-radius: 0; background: rgba(0, 0, 0, .3);
	}
	.ee-dtour__icons span { display: none; }
	.ee-dtour__text { flex-direction: column; gap: 20px; margin-top: 20px; }
	.ee-dtour__intro p { font-size: 16px; line-height: 1.75; }
	.ee-dtour__highlights { display: none; }
	.ee-dtour__actions { flex-direction: column; margin-top: 50px; }
	.ee-dtour__button { width: 100%; }
}
/* Beat the page-wide paragraph and heading line-heights. */
.ee-dtours .ee-dtour__intro p { line-height: 28px; }
.ee-dtours .ee-dtour__highlights h4 { line-height: 1.4; }

/* Price table in the tour sidebar: fixed columns so the travel period isn't squeezed, prices wrap as on essencesrilanka.com.au. */
.ee-tour-intro .wp-block-table.is-style-ee-price table { table-layout: fixed; }
.ee-tour-intro .wp-block-table.is-style-ee-price table th { padding: 10px 12px; vertical-align: middle; }
.ee-tour-intro .wp-block-table.is-style-ee-price table th:first-child { width: 38%; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) th:first-child { width: 24%; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) th:nth-child(2) { width: 34%; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) :is(th, td) { padding: 10px 8px; }
.ee-tour-intro .wp-block-table.is-style-ee-price table td:nth-child(n+2) { white-space: normal; text-transform: none; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) td { font-size: 15px; line-height: 1.4; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) th { font-size: 12px; }
/* 4-column price tables (group tour): keep a readable minimum and scroll sideways in narrow sidebars. */
.ee-tour-intro .wp-block-table.is-style-ee-price:has(th:nth-child(4)) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) { min-width: 400px; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) td:first-child { font-size: 13px; }
/* 3+ column price tables also scroll in the narrow tablet sidebar; 2-column ones split evenly. */
.ee-tour-intro .wp-block-table.is-style-ee-price:has(th:nth-child(3)) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(3)) { min-width: 340px; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:not(:has(th:nth-child(3))) th:first-child { width: 50%; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) th { font-size: 11px; padding: 10px 6px; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) { min-width: 400px; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) th:first-child { width: 23%; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) th:nth-child(2) { width: 29%; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) th:nth-child(3) { width: 26%; }
.ee-tour-intro .wp-block-table.is-style-ee-price table :is(th, td) { box-sizing: border-box; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) th:first-child { width: 25%; }
.ee-tour-intro .wp-block-table.is-style-ee-price table:has(th:nth-child(4)) th:nth-child(2) { width: 28%; }
