/* Let's Travel Bhutan: editorial theme styles. Tokens come from theme.json. */

:root {
	--ltb-forest: var(--wp--preset--color--forest);
	--ltb-mountain: var(--wp--preset--color--mountain);
	--ltb-sage: var(--wp--preset--color--sage);
	--ltb-ivory: var(--wp--preset--color--ivory);
	--ltb-stone: var(--wp--preset--color--stone);
	--ltb-charcoal: var(--wp--preset--color--charcoal);
	--ltb-gold: var(--wp--preset--color--gold);
	--ltb-muted: var(--wp--preset--color--muted);
	--ltb-serif: var(--wp--preset--font-family--heading);
	--ltb-sans: var(--wp--preset--font-family--body);
	--ltb-radius: 6px;
	--ltb-gutter: clamp(1rem, 4vw, 2.5rem);
	--ltb-section: clamp(3.5rem, 8vw, 7rem);
	--ltb-header-h: 84px;
	--ltb-ease: cubic-bezier(.2, .7, .2, 1);
}

/* Base ------------------------------------------------------------------ */
html { scroll-padding-top: calc(var(--ltb-header-h) + 1rem); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
::selection { background: var(--ltb-sage); color: var(--ltb-forest); }
img { max-width: 100%; height: auto; }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--ltb-gold);
	outline-offset: 3px;
	border-radius: 2px;
}
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; z-index: 100000; background: var(--ltb-ivory); padding: .75rem 1rem; top: .5rem; left: .5rem; }
.ltb-main { padding-bottom: 0; }
.ltb-main > *:first-child { margin-block-start: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }

.ltb-eyebrow {
	font-family: var(--ltb-sans);
	font-size: .78rem !important;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ltb-forest);
	display: flex;
	align-items: center;
	gap: .75rem;
	margin: 0 0 1rem;
}
.ltb-eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--ltb-gold); flex: none; }
.ltb-eyebrow a { color: inherit; text-decoration: none; }
.ltb-eyebrow a:hover { text-decoration: underline; }
.wp-block-post-terms.ltb-eyebrow a { color: inherit; text-decoration: none; }

.ltb-lead { font-size: clamp(1.125rem, 1.6vw, 1.3rem); line-height: 1.6; color: var(--ltb-charcoal); max-width: 46rem; }
.ltb-section-title { font-size: var(--wp--preset--font-size--x-large); margin: 0 0 clamp(1.5rem, 3vw, 2.5rem); }
.ltb-link-arrow { font-weight: 700; text-decoration: none; color: var(--ltb-forest); display: inline-flex; gap: .45rem; align-items: center; }
.ltb-link-arrow::after { content: "→"; transition: transform .25s var(--ltb-ease); }
.ltb-link-arrow:hover::after { transform: translateX(4px); }
.ltb-link-arrow:hover { text-decoration: underline; }

/* Buttons */
.wp-element-button, .wp-block-button__link { transition: background-color .2s, color .2s, border-color .2s; }
.wp-block-button.is-style-outline > .wp-block-button__link,
.ltb-btn-outline {
	display: inline-block;
	background: transparent;
	color: var(--ltb-forest);
	border: 1px solid var(--ltb-forest);
	border-radius: 4px;
	padding: .85rem 1.6rem;
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.ltb-btn-outline:hover { background: var(--ltb-forest); color: var(--ltb-ivory); }
.wp-block-button.is-style-light > .wp-block-button__link { background: var(--ltb-ivory); color: var(--ltb-forest); border-color: var(--ltb-ivory); }
.wp-block-button.is-style-light > .wp-block-button__link:hover { background: var(--wp--preset--color--white); color: var(--ltb-forest); }
.ltb-btn-sm .wp-block-button__link { padding: .65rem 1.15rem; font-size: .875rem; }

/* Header ---------------------------------------------------------------- */
.ltb-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .ltb-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ltb-site-header { top: 0; } }
.ltb-header {
	background: color-mix(in srgb, var(--ltb-ivory) 96%, transparent);
	border-bottom: 1px solid var(--ltb-stone);
	padding-left: var(--ltb-gutter);
	padding-right: var(--ltb-gutter);
}
.ltb-header__bar { min-height: var(--ltb-header-h); gap: 1.5rem; }
.ltb-header__logo { flex: none; margin: 0; }
.ltb-header__logo img { width: 118px; height: auto; display: block; }
.ltb-nav-main { flex: 1; justify-content: flex-end; }
.ltb-nav-main .wp-block-navigation__container { gap: clamp(.9rem, 1.8vw, 1.75rem); }
.ltb-nav-main .wp-block-navigation-item__content { color: var(--ltb-charcoal); text-decoration: none; padding: .5rem 0; position: relative; }
.ltb-nav-main > .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: .15rem; height: 1px; background: var(--ltb-gold);
	transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ltb-ease);
}
.ltb-nav-main .wp-block-navigation-item__content:hover::after,
.ltb-nav-main .wp-block-navigation-item__content[aria-current="page"]::after { transform: scaleX(1) !important; }
.ltb-nav-main .wp-block-navigation-item__content[aria-current="page"] { color: var(--ltb-forest); }
.ltb-nav-main .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--white) !important;
	border: 1px solid var(--ltb-stone) !important;
	border-radius: var(--ltb-radius);
	box-shadow: 0 18px 40px -24px rgba(23, 61, 43, .35);
	padding: .6rem 0 !important;
	min-width: 270px !important;
}
.ltb-nav-main .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.25rem !important; font-weight: 500; }
.ltb-nav-main .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--ltb-sage); }
.ltb-nav-main .ltb-nav-all { border-top: 1px solid var(--ltb-stone); margin-top: .35rem; padding-top: .35rem; }
.ltb-nav-main .ltb-nav-all .wp-block-navigation-item__content { font-weight: 700 !important; color: var(--ltb-forest) !important; }
.ltb-nav-cta { display: none !important; }
.ltb-header__cta { flex: none; margin: 0 !important; }

/* Below 1100px the menu opens from a button (core only switches at 600px). */
@media (max-width: 1099px) {
	.ltb-header__cta { display: none; }
	.ltb-nav-main .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.ltb-nav-main .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.ltb-header__logo img { width: 100px; }
	:root { --ltb-header-h: 72px; }
}
.ltb-nav-main .wp-block-navigation__responsive-container-open,
.ltb-nav-main .wp-block-navigation__responsive-container-close { color: var(--ltb-forest); }
.ltb-nav-main .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--ltb-forest) !important;
	color: var(--ltb-ivory) !important;
	padding: clamp(1.25rem, 5vw, 2.5rem) !important;
}
.ltb-nav-main .is-menu-open .wp-block-navigation__responsive-container-close { color: var(--ltb-ivory); }
.ltb-nav-main .is-menu-open .wp-block-navigation__container { gap: .4rem !important; align-items: flex-start !important; }
.ltb-nav-main .is-menu-open .wp-block-navigation-item__content {
	color: var(--ltb-ivory) !important;
	font-family: var(--ltb-serif);
	font-size: clamp(1.6rem, 6vw, 2.1rem);
	font-weight: 500;
	padding: .25rem 0 !important;
}
.ltb-nav-main .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important; border: 0 !important; box-shadow: none; padding: .25rem 0 .75rem 1rem !important; min-width: 0 !important;
}
.ltb-nav-main .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--ltb-sans); font-size: 1rem; padding: .3rem 0 !important;
}
.ltb-nav-main .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: transparent; text-decoration: underline; }
.ltb-nav-main .is-menu-open .ltb-nav-all { border-top-color: rgba(250, 248, 242, .25); }
.ltb-nav-main .is-menu-open .ltb-nav-all .wp-block-navigation-item__content { color: var(--ltb-ivory) !important; }
.ltb-nav-main .is-menu-open .ltb-nav-cta { display: block !important; margin-top: 1.5rem; }
.ltb-nav-main .is-menu-open .ltb-nav-cta .wp-block-navigation-item__content {
	font-family: var(--ltb-sans); font-size: 1rem; font-weight: 700; background: var(--ltb-ivory); color: var(--ltb-forest) !important;
	padding: .85rem 1.5rem !important; border-radius: 4px;
}
@media (prefers-reduced-motion: no-preference) {
	.ltb-nav-main .is-menu-open .wp-block-navigation__container > li { animation: ltb-rise .5s var(--ltb-ease) both; }
	.ltb-nav-main .is-menu-open .wp-block-navigation__container > li:nth-child(2) { animation-delay: .04s; }
	.ltb-nav-main .is-menu-open .wp-block-navigation__container > li:nth-child(3) { animation-delay: .08s; }
	.ltb-nav-main .is-menu-open .wp-block-navigation__container > li:nth-child(4) { animation-delay: .12s; }
	.ltb-nav-main .is-menu-open .wp-block-navigation__container > li:nth-child(5) { animation-delay: .16s; }
	.ltb-nav-main .is-menu-open .wp-block-navigation__container > li:nth-child(6) { animation-delay: .2s; }
	.ltb-nav-main .is-menu-open .wp-block-navigation__container > li:nth-child(7) { animation-delay: .24s; }
}
@keyframes ltb-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Breadcrumbs (1Solution Travel Core markup) */
.ostc-breadcrumbs, .wp-block-ostc-breadcrumbs { font-size: .8125rem; color: var(--ltb-muted); margin: 0 0 1.5rem; }
.ostc-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem .5rem; }
.ostc-breadcrumbs li { display: inline-flex; align-items: center; gap: .5rem; }
.ostc-breadcrumbs li + li::before { content: "/"; color: var(--ltb-stone); }
.ostc-breadcrumbs a { color: var(--ltb-muted); text-decoration: none; }
.ostc-breadcrumbs a:hover { color: var(--ltb-forest); text-decoration: underline; }
.ostc-breadcrumbs [aria-current] { color: var(--ltb-charcoal); }

/* Page intro and prose -------------------------------------------------- */
.ltb-page-intro { padding-top: clamp(2.5rem, 6vw, 5rem); padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.ltb-page-intro h1, .ltb-page-intro .wp-block-post-title, .ltb-page-intro .wp-block-query-title { margin: 0 0 1rem; }
.ltb-prose { padding-bottom: var(--ltb-section); }
.ltb-prose > h2 { font-size: var(--wp--preset--font-size--large); margin-top: 2.75rem; }
.ltb-prose > h3 { font-size: 1.5rem; margin-top: 2rem; }
.ltb-prose > p, .ltb-prose > ul, .ltb-prose > ol { max-width: 68ch; }
.ltb-prose li { margin-bottom: .4rem; }
.ltb-note-block { padding-bottom: var(--ltb-section); color: var(--ltb-muted); }

/* Bands and sections */
.ltb-band { padding-top: var(--ltb-section); padding-bottom: var(--ltb-section); }
.ltb-band--sage, .is-style-sage { background: var(--ltb-sage); }
.ltb-band--ivory { background: var(--ltb-ivory); }
.ltb-band--white { background: var(--wp--preset--color--white); }
.ltb-band--forest { background: var(--ltb-forest); color: var(--ltb-ivory); }
.ltb-band--forest h2, .ltb-band--forest h3, .ltb-band--forest .ltb-eyebrow, .ltb-band--forest a { color: var(--ltb-ivory); }
.ltb-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem 2rem; margin-bottom: clamp(1.75rem, 3vw, 2.75rem); }
.ltb-section-head > * { margin: 0 !important; }
.ltb-section-head .ltb-section-title { margin: 0; }

/* Credits ---------------------------------------------------------------- */
.ltb-credit { display: block; font-size: .75rem; line-height: 1.4; color: var(--ltb-muted); margin: .5rem 0 0; letter-spacing: .01em; }
.ltb-credit a { color: inherit; }
.ltb-credit--overlay { position: absolute; right: .75rem; bottom: .6rem; z-index: 2; color: #fff; background: rgba(23, 33, 27, .62); padding: .2rem .55rem; border-radius: 3px; margin: 0; }
.wp-block-cover .ltb-credit--overlay { position: absolute; }
figure .ltb-credit { text-align: left; }

/* Home: hero ------------------------------------------------------------- */
.ltb-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	padding-top: clamp(2.5rem, 6vw, 5.5rem);
	padding-bottom: var(--ltb-section);
}
.ltb-hero__text h1 { font-size: clamp(2.9rem, 6.2vw, 5.4rem); line-height: 1.02; letter-spacing: -.015em; margin: 0 0 1.5rem; }
.ltb-hero__text .ltb-lead { margin-bottom: 2.25rem; }
.ltb-hero__collage { position: relative; padding-bottom: 3.5rem; padding-left: 3rem; }
.ltb-hero__main img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border-radius: var(--ltb-radius); display: block; }
.ltb-hero__main { margin: 0; }
.ltb-hero__inset { position: absolute; left: 0; bottom: 0; width: 42%; margin: 0; border: 8px solid var(--ltb-ivory); border-radius: calc(var(--ltb-radius) + 4px); background: var(--ltb-ivory); }
.ltb-hero__inset img { aspect-ratio: 1; object-fit: cover; width: 100%; border-radius: var(--ltb-radius); display: block; }
.ltb-hero__inset .ltb-credit { position: absolute; top: calc(100% + 2px); left: 0; white-space: nowrap; }
.ltb-hero__main .ltb-credit { text-align: right; padding-left: 45%; }
.ltb-hero__facts { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--ltb-stone); font-size: .9rem; color: var(--ltb-muted); }
.ltb-hero__facts p { margin: 0; }
.ltb-hero__facts strong { display: block; color: var(--ltb-forest); font-family: var(--ltb-serif); font-size: 1.6rem; font-weight: 600; line-height: 1.1; }
@media (max-width: 900px) {
	.ltb-hero { grid-template-columns: 1fr; }
	.ltb-hero__collage { padding-left: 2rem; max-width: 560px; }
}

/* Home: statement */
.ltb-statement { text-align: center; padding-top: var(--ltb-section); padding-bottom: var(--ltb-section); }
.ltb-statement p.ltb-statement__text { font-family: var(--ltb-serif); font-size: clamp(1.6rem, 3.2vw, 2.5rem); line-height: 1.3; color: var(--ltb-forest); font-weight: 500; margin: 0 auto 1.5rem; }
.ltb-statement::before { content: ""; display: block; width: 1px; height: 56px; background: var(--ltb-gold); margin: 0 auto 2rem; }

/* Travel style tiles: staggered editorial grid */
.ltb-styles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem clamp(1.25rem, 3vw, 2.5rem); }
.ltb-style:nth-child(3n+2) { margin-top: 3.5rem; }
.ltb-style:nth-child(3n) { margin-top: 1.25rem; }
.ltb-style__link { display: block; text-decoration: none; color: inherit; }
.ltb-style__media { display: block; overflow: hidden; border-radius: var(--ltb-radius); background: var(--ltb-sage); }
.ltb-style__media img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .8s var(--ltb-ease); }
.ltb-style:nth-child(3n) .ltb-style__media img { aspect-ratio: 1; }
.ltb-style__link:hover .ltb-style__media img { transform: scale(1.035); }
.ltb-style__text { display: grid; gap: .3rem; padding-top: 1rem; }
.ltb-style__name { font-family: var(--ltb-serif); font-size: 1.75rem; line-height: 1.15; color: var(--ltb-forest); font-weight: 500; }
.ltb-style__link:hover .ltb-style__name { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.ltb-style__tagline { color: var(--ltb-charcoal); font-size: .95rem; }
.ltb-style__count { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--ltb-muted); }
@media (max-width: 860px) {
	.ltb-styles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; }
	.ltb-style:nth-child(n) { margin-top: 0; }
	.ltb-style:nth-child(even) { margin-top: 2rem; }
	.ltb-style:nth-child(3n) .ltb-style__media img { aspect-ratio: 4 / 5; }
	.ltb-style__name { font-size: 1.35rem; }
}

/* Tour cards */
.ltb-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 3.25rem) clamp(1.25rem, 3vw, 2.25rem); }
.ltb-card { display: flex; flex-direction: column; }
.ltb-card[hidden] { display: none; }
.ltb-card__media { display: block; overflow: hidden; border-radius: var(--ltb-radius); background: var(--ltb-sage); }
.ltb-card__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .8s var(--ltb-ease); }
.ltb-card:hover .ltb-card__media img { transform: scale(1.03); }
.ltb-card__body { padding-top: 1.15rem; display: flex; flex-direction: column; flex: 1; }
.ltb-card__body .ltb-eyebrow { margin-bottom: .6rem; font-size: .72rem !important; }
.ltb-card__title { font-size: 1.55rem; line-height: 1.18; margin: 0 0 .6rem; }
.ltb-card__title a { color: var(--ltb-forest); text-decoration: none; }
.ltb-card__title a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.ltb-card__meta { font-size: .875rem; color: var(--ltb-muted); margin: 0 0 .6rem; }
.ltb-card__text { font-size: .95rem; margin: 0 0 1rem; }
.ltb-card__actions { margin: auto 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-items: center; font-size: .9rem; padding-top: .5rem; }
.ltb-card__enquire { color: var(--ltb-muted); }
.ltb-card__enquire:hover { color: var(--ltb-forest); }
@media (max-width: 1000px) { .ltb-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ltb-cards { grid-template-columns: 1fr; } }

/* Featured journeys: the first card is a wide editorial feature */
.ltb-tour-grid--editorial .ltb-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; margin-bottom: 1rem; }
.ltb-tour-grid--editorial .ltb-card:first-child .ltb-card__media img { aspect-ratio: 5 / 4; }
.ltb-tour-grid--editorial .ltb-card:first-child .ltb-card__title { font-size: clamp(1.9rem, 3.2vw, 2.6rem); }
.ltb-tour-grid--editorial .ltb-card:first-child .ltb-card__text { font-size: 1.05rem; }
@media (max-width: 760px) { .ltb-tour-grid--editorial .ltb-card:first-child { grid-template-columns: 1fr; } }

/* Filters */
.ltb-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 2.25rem; }
.ltb-filter {
	font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer;
	background: transparent; color: var(--ltb-charcoal); border: 1px solid var(--ltb-stone);
	border-radius: 999px; padding: .5rem 1rem; min-height: 40px;
}
.ltb-filter:hover { border-color: var(--ltb-forest); }
.ltb-filter.is-active { background: var(--ltb-forest); border-color: var(--ltb-forest); color: var(--ltb-ivory); }

/* Why us: numbered points */
.ltb-why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3.5rem); counter-reset: why; }
.ltb-why > .wp-block-group, .ltb-why > div { counter-increment: why; border-top: 1px solid rgba(23, 61, 43, .25); padding-top: 1.5rem; }
.ltb-why > .wp-block-group::before, .ltb-why > div::before {
	content: counter(why, decimal-leading-zero); font-family: var(--ltb-serif); font-size: 1.1rem; color: var(--ltb-gold); font-weight: 600; letter-spacing: .08em; display: block; margin-bottom: 1rem;
}
.ltb-why h3 { font-size: 1.6rem; margin: 0 0 .75rem; }
.ltb-why p { margin: 0; }
@media (max-width: 860px) { .ltb-why { grid-template-columns: 1fr; } }

/* Meet your host */
.ltb-host { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.ltb-host__media { margin: 0; }
.ltb-host__media img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border-radius: var(--ltb-radius); display: block; }
.ltb-host blockquote, .ltb-host .wp-block-quote { margin: 1.5rem 0; }
.ltb-host .wp-block-quote p { font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.3; color: var(--ltb-forest); }
@media (max-width: 860px) { .ltb-host { grid-template-columns: 1fr; } .ltb-host__media { max-width: 460px; } }

/* Regions */
.ltb-regions { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.ltb-region__link { display: grid; gap: .5rem; text-decoration: none; color: inherit; }
.ltb-region__media { display: block; overflow: hidden; border-radius: var(--ltb-radius); background: var(--ltb-stone); }
.ltb-region__media img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform .8s var(--ltb-ease); }
.ltb-region__link:hover img { transform: scale(1.04); }
.ltb-region__name { font-family: var(--ltb-serif); font-size: 1.45rem; color: var(--ltb-forest); line-height: 1.15; padding-top: .35rem; }
.ltb-region__link:hover .ltb-region__name { text-decoration: underline; text-decoration-thickness: 1px; }
.ltb-region__text { font-size: .875rem; color: var(--ltb-muted); }
.ltb-region-cards--hub .ltb-regions { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 2rem 1.5rem; }
.ltb-region-cards--hub { padding-bottom: 3rem; }
@media (max-width: 1000px) { .ltb-regions { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ltb-regions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Plan with confidence: link rows */
.ltb-plan { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.ltb-plan-links { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ltb-stone); }
.ltb-plan-links li { border-bottom: 1px solid var(--ltb-stone); margin: 0; }
.ltb-plan-links a {
	display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; padding: 1.25rem 0; text-decoration: none; color: var(--ltb-charcoal);
}
.ltb-plan-links a::after { content: "→"; grid-row: 1 / span 2; grid-column: 2; align-self: center; color: var(--ltb-forest); transition: transform .25s var(--ltb-ease); }
.ltb-plan-links a:hover::after { transform: translateX(4px); }
.ltb-plan-links strong { font-family: var(--ltb-serif); font-size: 1.45rem; font-weight: 500; color: var(--ltb-forest); }
.ltb-plan-links a:hover strong { text-decoration: underline; text-decoration-thickness: 1px; }
.ltb-plan-links span { font-size: .9rem; color: var(--ltb-muted); }
@media (max-width: 860px) { .ltb-plan { grid-template-columns: 1fr; } }

/* Blog / post cards */
.ltb-post-cards .wp-block-post-template { gap: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2.25rem); }
.ltb-post-card { gap: .5rem !important; }
.ltb-post-card .wp-block-post-featured-image { margin: 0 0 .6rem; overflow: hidden; border-radius: var(--ltb-radius); }
.ltb-post-card .wp-block-post-featured-image img { transition: transform .8s var(--ltb-ease); border-radius: var(--ltb-radius); }
.ltb-post-card:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.ltb-post-card .ltb-credit { display: none; } /* listed in the footer credits panel */
.ltb-post-card__title { font-size: 1.55rem; line-height: 1.18; margin: 0; }
.ltb-post-card__title a { text-decoration: none; color: var(--ltb-forest); }
.ltb-post-card__title a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.ltb-post-card__excerpt { font-size: .95rem; margin: 0; }
.ltb-post-card__excerpt .wp-block-post-excerpt__more-link { display: none; }
.ltb-post-card__date { font-size: .8rem; color: var(--ltb-muted); }
.ltb-main--listing .ltb-post-cards { padding-bottom: var(--ltb-section); }
.ltb-blog-tools { margin-bottom: 2.5rem; gap: 1rem 2rem; align-items: center; }
.ltb-chips.wp-block-categories, .ltb-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ltb-chips li a { display: inline-block; border: 1px solid var(--ltb-stone); border-radius: 999px; padding: .4rem .9rem; font-size: .85rem; font-weight: 600; text-decoration: none; color: var(--ltb-charcoal); }
.ltb-chips li a:hover, .ltb-chips li.current-cat a { border-color: var(--ltb-forest); background: var(--ltb-forest); color: var(--ltb-ivory); }
.ltb-search .wp-block-search__input { border: 1px solid var(--ltb-stone); border-radius: 4px; background: #fff; padding: .6rem .8rem; min-width: 220px; }
.ltb-search .wp-block-search__button { margin-left: .4rem; }

/* CTA band */
.ltb-cta { background: var(--ltb-forest); color: var(--ltb-ivory); text-align: center; padding-top: var(--ltb-section); padding-bottom: var(--ltb-section); margin-top: 0 !important; }
.ltb-cta .ltb-eyebrow { color: var(--ltb-ivory); justify-content: center; }
.ltb-cta .ltb-eyebrow::after { content: ""; width: 28px; height: 1px; background: var(--ltb-gold); }
.ltb-cta__title { color: var(--ltb-ivory) !important; font-size: var(--wp--preset--font-size--x-large); margin: 0 0 1rem; }
.ltb-cta__text { color: rgba(250, 248, 242, .88); font-size: 1.1rem; margin: 0 auto 2rem; }
.ltb-cta .ltb-whatsapp { margin-top: 1rem; }
.ltb-cta .ltb-btn-outline { color: var(--ltb-ivory); border-color: rgba(250, 248, 242, .6); }
.ltb-cta .ltb-btn-outline:hover { background: var(--ltb-ivory); color: var(--ltb-forest); }
.ltb-cta__buttons { gap: .75rem; }

/* Footer ---------------------------------------------------------------- */
.ltb-footer { background: var(--ltb-sage); padding: clamp(3.5rem, 7vw, 5.5rem) var(--ltb-gutter) 1.5rem; margin-top: 0; font-size: .925rem; }
.ltb-footer__grid { gap: clamp(1.5rem, 4vw, 3rem) !important; margin-bottom: 3rem !important; }
.ltb-footer__brand p { max-width: 30ch; }
.ltb-footer__brand .wp-block-site-logo img { width: 150px; }
.ltb-footer__heading { font-family: var(--ltb-sans) !important; font-size: .75rem !important; letter-spacing: .14em; text-transform: uppercase; font-weight: 700 !important; color: var(--ltb-forest); margin: 0 0 1rem; }
.ltb-footer__heading--sub { margin-top: 2rem; }
.ltb-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.ltb-footer__links a { color: var(--ltb-charcoal); text-decoration: none; }
.ltb-footer__links a:hover { color: var(--ltb-forest); text-decoration: underline; }
.ltb-footer__contact { margin-top: 1.25rem; }
.ltb-footer__base { border-top: 1px solid rgba(23, 61, 43, .18); padding-top: 1.5rem; gap: .75rem 2rem; font-size: .8125rem; color: var(--ltb-muted); }
.ltb-footer__base p { margin: 0; }
.ltb-footer__base a { color: var(--ltb-charcoal); }
.ltb-footer__credit a { font-weight: 700; color: var(--ltb-forest); }
@media (max-width: 781px) { .ltb-footer__grid { flex-wrap: wrap !important; } .ltb-footer__grid > .wp-block-column { flex-basis: 45% !important; } .ltb-footer__grid > .ltb-footer__brand { flex-basis: 100% !important; } }
@media (max-width: 480px) { .ltb-footer__grid > .wp-block-column { flex-basis: 100% !important; } }

/* Agency contact block in the footer and contact page */
.ostc-agency-contact dl, .ostc-contact dl { margin: 0; }
.wp-block-ostc-agency-contact a { color: var(--ltb-forest); }

/* Tour page -------------------------------------------------------------- */
.ltb-tour-hero {
	display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 5rem);
	align-items: center; padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.ltb-tour-hero--text { grid-template-columns: 1fr; }
.ltb-tour-hero__title { font-size: clamp(2.4rem, 4.6vw, 4rem); line-height: 1.05; margin: 0 0 1.25rem; }
.ltb-tour-hero__lead { font-size: 1.15rem; max-width: 40rem; margin: 0 0 1.75rem; }
.ltb-tour-hero__facts { display: grid; grid-template-columns: auto 1fr; gap: .5rem 1.5rem; margin: 0 0 2rem; padding: 1.25rem 0; border-top: 1px solid var(--ltb-stone); border-bottom: 1px solid var(--ltb-stone); }
.ltb-tour-hero__facts > div { display: contents; }
.ltb-tour-hero__facts dt { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--ltb-muted); padding-top: .2rem; }
.ltb-tour-hero__facts dd { margin: 0; color: var(--ltb-forest); font-weight: 600; }
.ltb-tour-hero__actions { display: flex; flex-wrap: wrap; gap: .85rem 1.25rem; align-items: center; }
.ltb-tour-hero__actions .wp-element-button { display: inline-block; text-decoration: none; }
.ltb-tour-hero__media { margin: 0; }
.ltb-tour-hero__media img { display: block; width: 100%; aspect-ratio: 4 / 5; max-height: 72vh; object-fit: cover; border-radius: var(--ltb-radius); }
@media (max-width: 900px) {
	.ltb-tour-hero { grid-template-columns: 1fr; }
	.ltb-tour-hero__media img { aspect-ratio: 4 / 3; max-height: none; }
}
.ltb-tour-layout { gap: clamp(2rem, 5vw, 5rem) !important; padding-top: clamp(1.5rem, 3vw, 2.5rem); padding-bottom: var(--ltb-section); }
.ltb-tour-main > * + * { margin-top: clamp(2.5rem, 5vw, 4rem); }
.ltb-tour-main .ltb-section-title, .ltb-tour-main .ostc-block__heading { font-size: clamp(1.9rem, 3vw, 2.5rem); margin: 0 0 1.25rem; }
.ltb-tour-overview > p:first-child { font-size: 1.15rem; }
.ltb-sticky { position: sticky; top: calc(var(--ltb-header-h) + 1.5rem); }
@media (max-width: 781px) { .ltb-sticky { position: static; } }
.ltb-tour-facts { background: var(--wp--preset--color--white); border: 1px solid var(--ltb-stone); border-radius: 8px; padding: 1.5rem 1.5rem .75rem; }
.ltb-tour-facts .ltb-section-title { font-size: 1.5rem; margin: 0 0 .75rem; }
.ltb-facts { margin: 0; }
.ltb-facts__row { padding: .8rem 0; border-top: 1px solid var(--ltb-stone); }
.ltb-facts__row:first-child { border-top: 0; }
.ltb-facts dt { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--ltb-muted); margin-bottom: .2rem; }
.ltb-facts dd { margin: 0; font-size: .95rem; }
.ltb-aside-cta { margin-top: 1.25rem; padding: 1.5rem; border-radius: 8px; background: var(--ltb-sage); }
.ltb-aside-cta__title { font-size: 1.45rem; margin: 0 0 .5rem; }
.ltb-aside-cta p { font-size: .925rem; }
.ltb-aside-cta .ltb-whatsapp { margin: .75rem 0 0; }
.ltb-aside-cta .ltb-whatsapp a { width: 100%; text-align: center; box-sizing: border-box; }

/* Highlights (ostc/field-list) */
.ltb-highlights ul, .wp-block-ostc-field-list ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem 2rem; }
.wp-block-ostc-field-list li { position: relative; padding-left: 1.75rem; }
.wp-block-ostc-field-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: .8rem; height: .45rem; border-left: 2px solid var(--ltb-mountain); border-bottom: 2px solid var(--ltb-mountain); transform: rotate(-45deg); }
@media (max-width: 640px) { .wp-block-ostc-field-list ul { grid-template-columns: 1fr; } }

/* Itinerary (ostc/itinerary) */
.ostc-itinerary__days { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ltb-stone); }
.ostc-itinerary__day { border-bottom: 1px solid var(--ltb-stone); margin: 0; }
.ostc-itinerary__details > summary { list-style: none; cursor: pointer; padding: 1.25rem 2.5rem 1.25rem 0; position: relative; }
.ostc-itinerary__details > summary::-webkit-details-marker { display: none; }
.ostc-itinerary__details > summary::after {
	content: ""; position: absolute; right: .4rem; top: 50%; width: 10px; height: 10px; margin-top: -7px;
	border-right: 1.5px solid var(--ltb-forest); border-bottom: 1.5px solid var(--ltb-forest); transform: rotate(45deg); transition: transform .25s var(--ltb-ease);
}
.ostc-itinerary__details[open] > summary::after { transform: rotate(-135deg); margin-top: -2px; }
.ostc-itinerary__title { margin: 0; display: flex; gap: 1rem; align-items: baseline; font-size: 1.45rem; line-height: 1.25; }
.ostc-itinerary__label { flex: none; font-family: var(--ltb-sans); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ltb-forest); background: var(--ltb-sage); border-radius: 3px; padding: .3rem .55rem; position: relative; top: -.2em; min-width: 4.4rem; text-align: center; }
.ostc-itinerary__details > summary:hover .ostc-itinerary__name { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.ostc-itinerary__body { padding: 0 0 1.5rem 5.4rem; }
.ostc-itinerary__body p { max-width: 64ch; }
.ostc-itinerary__meta { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin: 1rem 0 0; font-size: .875rem; }
.ostc-itinerary__meta dt { display: inline; font-weight: 700; color: var(--ltb-muted); }
.ostc-itinerary__meta dt::after { content: ": "; }
.ostc-itinerary__meta dd { display: inline; margin: 0; }
@media (max-width: 640px) { .ostc-itinerary__body { padding-left: 0; } .ostc-itinerary__title { flex-direction: column; gap: .5rem; } .ostc-itinerary__label { top: 0; } }

/* Practical + FAQ */
.ltb-tour-practical h3 { font-family: var(--ltb-sans); font-size: 1rem; font-weight: 700; color: var(--ltb-forest); margin: 1.75rem 0 .5rem; }
.ltb-tour-practical p { max-width: 64ch; }
.ltb-faq__group { border-top: 1px solid var(--ltb-stone); }
.ltb-faq__item { border-bottom: 1px solid var(--ltb-stone); }
.ltb-faq__item[hidden], .ltb-faq__group[hidden] { display: none; }
.ltb-faq__item > summary { list-style: none; cursor: pointer; padding: 1.1rem 2.5rem 1.1rem 0; position: relative; font-weight: 600; color: var(--ltb-forest); font-size: 1.05rem; }
.ltb-faq__item > summary::-webkit-details-marker { display: none; }
.ltb-faq__item > summary::before, .ltb-faq__item > summary::after { content: ""; position: absolute; right: .35rem; top: 50%; width: 12px; height: 1.5px; background: var(--ltb-forest); transition: transform .25s var(--ltb-ease); }
.ltb-faq__item > summary::after { transform: rotate(90deg); }
.ltb-faq__item[open] > summary::after { transform: rotate(0); }
.ltb-faq__item > summary:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.ltb-faq__answer { padding: 0 0 1.25rem; max-width: 68ch; }
.ltb-faq__answer > *:first-child { margin-top: 0; }
.ltb-faq--all { padding-bottom: var(--ltb-section); }
.ltb-faq__topic { font-size: var(--wp--preset--font-size--large); margin: 3rem 0 1rem; }
.ltb-faq__topics ul { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ltb-faq__topics a { display: inline-block; border: 1px solid var(--ltb-stone); border-radius: 999px; padding: .4rem .9rem; font-size: .85rem; font-weight: 600; text-decoration: none; color: var(--ltb-charcoal); }
.ltb-faq__topics a:hover { border-color: var(--ltb-forest); color: var(--ltb-forest); }
.ltb-faq-search { margin: 0 0 1.5rem; max-width: 34rem; }
.ltb-faq-search label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: .4rem; }
.ltb-faq-search input { width: 100%; box-sizing: border-box; }
.ltb-faq-search__status { font-size: .85rem; color: var(--ltb-muted); margin: .4rem 0 0; min-height: 1.2em; }

/* Owner review note (editors only) */
.ltb-review-note { border: 1px dashed var(--ltb-gold); background: #FFF9EC; border-radius: 6px; padding: 1rem 1.25rem; font-size: .9rem; margin-bottom: 1.5rem; }
.ltb-review-note__title { font-weight: 700; margin: 0 0 .4rem; color: #6B4E22; }
.ltb-review-note p { margin: .3rem 0; }

/* Travel style and region heads */
.ltb-style-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.ltb-style-head__text h1, .ltb-style-head__text .wp-block-query-title, .ltb-style-head__text .wp-block-post-title { margin: 0 0 1.25rem; }
.ltb-style-head__media { margin: 0; }
.ltb-style-head__media img { display: block; width: 100%; aspect-ratio: 4 / 5; max-height: 70vh; object-fit: cover; border-radius: var(--ltb-radius); }
.ltb-suits { border-left: 2px solid var(--ltb-gold); padding-left: 1rem; margin-top: 1.5rem; }
@media (max-width: 860px) { .ltb-style-head { grid-template-columns: 1fr; } .ltb-style-head__media img { aspect-ratio: 4 / 3; } }
.ltb-main--style .ltb-tour-grid, .ltb-main--region .ltb-tour-grid { padding-bottom: var(--ltb-section); }
.ltb-other-styles { padding-top: var(--ltb-section); padding-bottom: var(--ltb-section); border-top: 1px solid var(--ltb-stone); }

/* Travel Info hub and guides */
.ltb-guide-list { padding-bottom: 2rem; }
.ltb-guide-list .wp-block-post-template { gap: 0 clamp(1.5rem, 4vw, 3rem); }
.ltb-guide { border-top: 1px solid var(--ltb-stone); padding: 1.5rem 0 1.75rem; height: 100%; }
.ltb-guide__title { font-size: 1.6rem; margin: 0 0 .5rem; }
.ltb-guide__title a { text-decoration: none; color: var(--ltb-forest); }
.ltb-guide__title a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.ltb-guide__excerpt { margin: 0; color: var(--ltb-charcoal); font-size: .95rem; }
.ltb-guide__excerpt .wp-block-post-excerpt__more-link { display: none; }
.ltb-guide-foot { padding-bottom: 3rem; }
.ltb-guide-nav { padding-top: 3rem; padding-bottom: var(--ltb-section); border-top: 1px solid var(--ltb-stone); }
.ltb-guide-links { list-style: none; margin: 0; padding: 0; columns: 2 280px; column-gap: 3rem; }
.ltb-guide-links li { break-inside: avoid; padding: .5rem 0; border-bottom: 1px solid var(--ltb-stone); }
.ltb-guide-links a { text-decoration: none; color: var(--ltb-forest); font-weight: 600; }
.ltb-guide-links a:hover { text-decoration: underline; }
.ostc-accuracy, .wp-block-ostc-accuracy { font-size: .85rem; color: var(--ltb-muted); border-left: 2px solid var(--ltb-gold); padding: .25rem 0 .25rem 1rem; margin: 1.25rem 0 0; }
.ostc-sources ul, .wp-block-ostc-sources ul { padding-left: 1.2rem; }
.ltb-main--guide .ostc-block__heading, .ltb-main--article .ostc-block__heading { font-size: var(--wp--preset--font-size--large); }

/* Blog article */
.ltb-article__head { padding-bottom: 2rem; }
.ltb-byline { gap: .5rem 1.5rem; font-size: .875rem; color: var(--ltb-muted); }
.ltb-article__image { margin-bottom: clamp(2rem, 5vw, 3.5rem) !important; }
.ltb-article__image img { border-radius: var(--ltb-radius); }
.ltb-article .ltb-prose { padding-bottom: 2rem; }
.ltb-article__foot { padding-bottom: 2rem; }
.ltb-article .wp-block-ostc-related { padding-top: 3rem; padding-bottom: var(--ltb-section); border-top: 1px solid var(--ltb-stone); }
.ostc-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
@media (max-width: 860px) { .ostc-cards { grid-template-columns: 1fr; } }

/* Contact page */
.ltb-contact { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; padding-bottom: var(--ltb-section); }
.ltb-contact__aside { background: var(--ltb-sage); border-radius: 8px; padding: 1.75rem; position: sticky; top: calc(var(--ltb-header-h) + 1.5rem); }
.ltb-contact__aside h2 { font-size: 1.6rem; margin-top: 0; }
.ltb-contact__aside h3 { font-family: var(--ltb-sans); font-size: .95rem; font-weight: 700; margin: 1.5rem 0 .4rem; }
@media (max-width: 860px) { .ltb-contact { grid-template-columns: 1fr; } .ltb-contact__aside { position: static; } }

/* Enquiry form */
.ltb-enquiry-band .ltb-section-title { margin-bottom: .75rem; }
.ltb-form { margin-top: 1.5rem; }
.ltb-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; }
.ltb-field--wide { grid-column: 1 / -1; }
.ltb-field label, .ltb-field legend { display: block; font-weight: 700; font-size: .9rem; margin-bottom: .4rem; color: var(--ltb-charcoal); }
.ltb-field fieldset { border: 0; margin: 0; padding: 0; }
.ltb-field__req { font-weight: 500; color: var(--ltb-muted); }
.ltb-form input[type="text"], .ltb-form input[type="email"], .ltb-form input[type="tel"], .ltb-form input[type="number"], .ltb-form select, .ltb-form textarea,
.ltb-faq-search input {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--ltb-charcoal);
	background: #fff; border: 1px solid #B9BFB6; border-radius: 4px; padding: .75rem .85rem; min-height: 48px;
	transition: border-color .2s, box-shadow .2s;
}
.ltb-form textarea { min-height: 0; resize: vertical; }
.ltb-form input:focus, .ltb-form select:focus, .ltb-form textarea:focus, .ltb-faq-search input:focus { border-color: var(--ltb-forest); box-shadow: 0 0 0 3px rgba(93, 141, 77, .25); outline: none; }
.ltb-field__checks { display: flex; flex-wrap: wrap; gap: .6rem; }
.ltb-field__checks label { display: inline-flex; align-items: center; gap: .5rem; font-weight: 500; font-size: .925rem; border: 1px solid var(--ltb-stone); background: #fff; border-radius: 4px; padding: .55rem .8rem; margin: 0; cursor: pointer; }
.ltb-field__checks label:has(input:checked) { border-color: var(--ltb-forest); background: var(--ltb-sage); }
.ltb-field__checks input { accent-color: var(--ltb-forest); width: 1.05rem; height: 1.05rem; }
.ltb-field.has-error input, .ltb-field.has-error select, .ltb-field.has-error textarea { border-color: #A3312A; }
.ltb-field__error { color: #A3312A; font-size: .875rem; margin: .35rem 0 0; font-weight: 600; }
.ltb-form__errors { background: #FBEDEB; border-left: 3px solid #A3312A; padding: 1rem 1rem 1rem 2.25rem; margin: 1rem 0; }
.ltb-form__errors a { color: #7E241F; }
.ltb-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ltb-form__required-note, .ltb-form__note, .ltb-form__privacy { font-size: .85rem; color: var(--ltb-muted); }
.ltb-form__privacy { margin-top: 1.5rem; }
.ltb-form__submit button { cursor: pointer; font-family: inherit; }
.ltb-notice { padding: 1rem 1.25rem; border-radius: 6px; margin: 1rem 0; font-weight: 600; }
.ltb-notice--success { background: #E3F0DF; border-left: 3px solid var(--ltb-mountain); color: var(--ltb-forest); }
.ltb-notice--warning { background: #FFF6E3; border-left: 3px solid var(--ltb-gold); color: #5E441C; }
.ltb-notice--error { background: #FBEDEB; border-left: 3px solid #A3312A; color: #7E241F; }
@media (max-width: 640px) { .ltb-form__grid { grid-template-columns: 1fr; } }

/* Credits page table */
.ltb-credits-wrap { overflow-x: auto; padding-bottom: var(--ltb-section); }
.ltb-credits { width: 100%; border-collapse: collapse; font-size: .875rem; }
.ltb-credits th { text-align: left; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ltb-muted); border-bottom: 1px solid var(--ltb-charcoal); padding: .6rem .75rem .6rem 0; }
.ltb-credits td { vertical-align: top; border-bottom: 1px solid var(--ltb-stone); padding: .9rem .75rem .9rem 0; }
.ltb-credits__thumb img { width: 72px; height: 72px; object-fit: cover; border-radius: 4px; display: block; }
.ltb-credits small { color: var(--ltb-muted); }

/* Designed pages (page-canvas) */
.ltb-canvas > .alignfull:first-child { margin-top: 0; }
.ltb-canvas > * + .alignfull, .ltb-canvas > .alignfull + * { margin-top: 0; }
.ltb-section { padding-top: var(--ltb-section); padding-bottom: var(--ltb-section); }
.ltb-section--tight-top { padding-top: 0; }
.ltb-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
@media (max-width: 860px) { .ltb-split { grid-template-columns: 1fr; } }
.ltb-split figure { margin: 0; }
.ltb-split img { border-radius: var(--ltb-radius); }
.ltb-stack-styles { display: grid; gap: clamp(3rem, 7vw, 6rem); }

/* Signature Travels hub: alternating style intros */
.ltb-style-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: center; padding: clamp(2.5rem, 5vw, 4rem) 0; border-top: 1px solid var(--ltb-stone); }
.ltb-style-intro:nth-child(even) { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.ltb-style-intro:nth-child(even) > figure { order: 2; }
.ltb-style-intro figure { margin: 0; }
.ltb-style-intro img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: var(--ltb-radius); display: block; }
.ltb-style-intro h3 { font-size: clamp(1.8rem, 3vw, 2.4rem); margin: 0 0 .75rem; }
@media (max-width: 860px) { .ltb-style-intro, .ltb-style-intro:nth-child(even) { grid-template-columns: 1fr; } .ltb-style-intro:nth-child(even) > figure { order: 0; } }

/* About page */
.ltb-about-quote { font-family: var(--ltb-serif); }
.ltb-pending-note { font-size: .85rem; color: var(--ltb-muted); border: 1px dashed var(--ltb-stone); border-radius: 6px; padding: .75rem 1rem; }

/* Motion preferences */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Layout refinements ----------------------------------------------------- */
/* Grid and split containers manage their own spacing (no flow-layout block gap on children). */
.ltb-hero > *, .ltb-host > *, .ltb-plan > *, .ltb-split > *, .ltb-style-head > *, .ltb-style-intro > *, .ltb-contact > *,
.ltb-why > *, .ltb-section-head > *, .ltb-tour-hero > * { margin-block-start: 0 !important; }
.ltb-section-head.alignwide { margin-left: auto; margin-right: auto; }
@media (max-width: 599px) {
	.ltb-header__cta { display: none !important; }
	.ltb-hero__facts { gap: .75rem 1.25rem; flex-wrap: nowrap; font-size: .8rem; }
	.ltb-hero__facts strong { font-size: 1.35rem; }
}
/* Mobile menu: left aligned */
.ltb-nav-main .is-menu-open .wp-block-navigation__responsive-container-content,
.ltb-nav-main .is-menu-open .wp-block-navigation__container,
.ltb-nav-main .is-menu-open .wp-block-navigation-item,
.ltb-nav-main .is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left;
}
.ltb-nav-main .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 2.5rem; }
/* Travel style tiles: calmer proportions */
.ltb-style__media img { aspect-ratio: 4 / 3; }
.ltb-style:nth-child(3n+2) .ltb-style__media img { aspect-ratio: 1; }
.ltb-style:nth-child(3n) .ltb-style__media img { aspect-ratio: 4 / 3; }
.ltb-style:nth-child(3n+2) { margin-top: 2.5rem; }
.ltb-style:nth-child(3n) { margin-top: 0; }
/* Tour page */
.ltb-tour-main .ltb-prose { padding-bottom: 0; }
.ltb-tour-main > .ltb-section-title + * { margin-top: 0 !important; }
.ltb-tour-aside .ltb-sticky { position: sticky; top: calc(var(--ltb-header-h) + 1.5rem); }
.ltb-tour-aside .ltb-aside-cta { margin-top: 0; }
.ltb-tour-aside > .ltb-tour-facts { margin-bottom: 1.25rem; }
.ltb-hero__main .ltb-credit { padding-left: 46%; }
.ltb-section-head__text.alignwide { margin-left: auto !important; margin-right: auto !important; }
.wp-block-term-description.ltb-lead > p:last-child { margin-bottom: 0; }
