/**
 * NL Combinable Trips — stylesheet intentionally left unstyled.
 *
 * All built-in CSS has been removed at the user's request; style manually.
 * Reference: every class/modifier the markup renders, in the order it
 * appears in the DOM. Direction modifiers on .nl-combinable-trips__item are
 * either --after or --before.
 *
 * .nl-combinable-trips
 * .nl-combinable-trips__heading
 * .nl-combinable-trips__intro
 * .nl-combinable-trips__list
 * .nl-combinable-trips__item
 * .nl-combinable-trips__item--after
 * .nl-combinable-trips__item--before
 * .nl-combinable-trips__item--cross-border
 * .nl-combinable-trips__item--dovetail
 * .nl-combinable-trips__item--same-day
 * .nl-combinable-trips__link
 * .nl-combinable-trips__title
 * .nl-combinable-trips__dates
 * .nl-combinable-trips__gap
 * .nl-combinable-trips__tags
 * .nl-combinable-trips__reasons
 * .nl-combinable-trips__reason
 * .nl-combinable-trips__badge
 * .nl-combinable-trips__badge--available
 * .nl-combinable-trips__badge--limited
 * .nl-combinable-trips__badge--sold_out
 * .nl-combinable-trips__badge--soldout
 * .nl-combinable-trips__badge--unknown
 * .nl-combinable-trips__price
 *
 * [nl_combinable_trips_directory] (site-wide directory, added v1.4.0) —
 * separate class namespace, also unstyled by default:
 *
 * .nl-combinable-trips-directory
 * .nl-combinable-trips-directory__heading
 * .nl-combinable-trips-directory__intro
 * .nl-combinable-trips-directory__list
 * .nl-combinable-trips-directory__pair
 * .nl-combinable-trips-directory__pair--cross-border
 * .nl-combinable-trips-directory__pair--dovetail
 * .nl-combinable-trips-directory__pair--same-day
 * .nl-combinable-trips-directory__trip
 * .nl-combinable-trips-directory__trip--a
 * .nl-combinable-trips-directory__trip--b
 * .nl-combinable-trips-directory__link
 * .nl-combinable-trips-directory__title
 * .nl-combinable-trips-directory__dates
 * .nl-combinable-trips-directory__connector
 * .nl-combinable-trips-directory__gap
 * .nl-combinable-trips-directory__reasons
 * .nl-combinable-trips-directory__reason
 */

/* ============================================================
 * [nl_combinable_trips_directory] — styled by explicit request
 * (2026-07-09): trip A, the connector, and trip B sit inline on
 * one line via display: inline-block, wrapping only if the
 * container is too narrow. The .nl-combinable-trips__* block
 * above (non-directory) stays unstyled per the standing "style
 * manually" request — these rules are scoped strictly to the
 * -directory namespace and don't touch that block.
 * ============================================================ */

.nl-combinable-trips-directory {
	margin: 2em 0;
}

.nl-combinable-trips-directory__heading {
	margin-bottom: 0.4em;
}

.nl-combinable-trips-directory__intro {
	margin-bottom: 1.5em;
	max-width: 60em;
}

.nl-combinable-trips-directory__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nl-combinable-trips-directory__pair {
	display: block;
	padding: 1rem 1.25rem;
	margin: 0 0 1rem;
	border: 1px solid #e0e0e0;
	border-radius: 10px;
	background: #fafbfc;
	transition: box-shadow 0.15s, border-color 0.15s;
}

.nl-combinable-trips-directory__pair:last-child {
	margin-bottom: 0;
}

.nl-combinable-trips-directory__pair:hover {
	box-shadow: 0 2px 10px rgba( 0, 0, 0, 0.06 );
	border-color: #cfd6e0;
}

.nl-combinable-trips-directory__pair--dovetail {
	border-left: 3px solid #2a7a2a;
}

.nl-combinable-trips-directory__pair--same-day {
	background: #f4faf4;
}

.nl-combinable-trips-directory__pair--cross-border {
	border-left: 3px solid #7a4ac8;
}

.nl-combinable-trips-directory__trip,
.nl-combinable-trips-directory__connector {
	display: inline-block;
	vertical-align: middle;
}

.nl-combinable-trips-directory__trip {
	margin: 0.15em 0;
}

.nl-combinable-trips-directory__connector {
	margin: 0 0.6em;
	padding: 0.15em 0.6em;
	font-size: var(--wp--preset--font-size--small, 13px);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #8a9ab0;
	background: #fff;
	border: 1px solid #dde4ee;
	border-radius: 999px;
}

.nl-combinable-trips-directory__link {
	color: inherit;
	text-decoration: none;
}

.nl-combinable-trips-directory__link:hover .nl-combinable-trips-directory__title {
	text-decoration: none;
}

.nl-combinable-trips-directory__title {
	font-weight: 400;
}

.nl-combinable-trips-directory__dates {
	color: #666;
	font-size: var(--wp--preset--font-size--small, 13px);
}

.nl-combinable-trips-directory__gap {
	display: block;
	margin-top: 0.5em;
	font-size: var(--wp--preset--font-size--small, 13px);
	font-style: italic;
	color: #555;
}

.nl-combinable-trips-directory__reasons {
	display: block;
	margin-top: 0.5em;
}

.nl-combinable-trips-directory__reason {
	display: inline-block;
	margin: 0.15em 0.3em 0.15em 0;
	padding: 0.25em 0.6em;
	font-size: var(--wp--preset--font-size--small, 13px);
	color: #3a5a3a;
	background: #eef6ee;
	border: 1px solid #d5e8d5;
	border-radius: 6px;
}

/* ============================================================
 * Editorial landing page treatment.
 * Used by [nl_combinable_trips_featured] and
 * [nl_combinable_trips_directory] on the combinable holidays guide.
 * ============================================================ */

.nl-combinable-landing,
.nl-combinable-trips-featured,
.nl-combinable-trips-directory {
	--nlc-ink: #151914;
	--nlc-muted: #62685e;
	--nlc-soft: #f4f6f0;
	--nlc-line: #dfe3da;
	--nlc-action: #8a9a5b;
	--nlc-action-dark: #5f6f42;
	--nlc-shade: #2d332c;
}

.nl-combinable-landing {
	color: var(--nlc-ink);
	line-height: 1.62;
}

.nl-combinable-landing__intro {
	background: linear-gradient(180deg, #fffdf8, #f5f7f1);
	border-bottom: 1px solid var(--nlc-line);
	padding: 44px 0 34px;
}

.nl-combinable-landing__wrap,
.nl-combinable-trips-featured,
.nl-combinable-trips-directory,
.nl-combinable-landing__after {
	width: min(1120px, calc(100% - 48px));
	margin-left: auto;
	margin-right: auto;
}

.nl-combinable-landing__intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 36px;
	align-items: end;
}

.nl-combinable-landing__eyebrow,
.nl-combinable-trips-featured__kicker {
	display: block;
	color: var(--nlc-action-dark);
	font-size: var(--wp--preset--font-size--small, 13px);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 10px;
}

.nl-combinable-landing h1,
.nl-combinable-landing h2,
.nl-combinable-trips-featured h2 {
	margin: 0;
	text-transform: uppercase;
	line-height: 1.08;
	letter-spacing: 0;
}

.nl-combinable-landing h1 {
	font-size: clamp(38px, 5.8vw, 68px);
	max-width: 850px;
}

.nl-combinable-landing__standfirst {
	font-size: var(--wp--preset--font-size--medium, 20px);
	color: #30372f;
	max-width: 790px;
	margin: 16px 0 0;
}

.nl-combinable-landing__note {
	border: 1px solid var(--nlc-line);
	background: #fff;
	padding: 20px;
}

.nl-combinable-landing__note strong,
.nl-combinable-landing__note-title,
.nl-combinable-landing__value span,
.nl-combinable-landing__editorial-note strong,
.nl-combinable-landing__tip strong,
.nl-combinable-landing__tip-title,
.nl-combinable-trips-featured__why strong {
	display: block;
	text-transform: uppercase;
	font-size: var(--wp--preset--font-size--small, 13px);
	color: var(--nlc-action-dark);
	margin-bottom: 7px;
}

.nl-combinable-landing__note p,
.nl-combinable-landing__editorial-note p {
	margin: 0;
	color: var(--nlc-muted);
}

.nl-combinable-landing__value-strip {
	background: #fff;
	border-bottom: 1px solid var(--nlc-line);
}

.nl-combinable-landing__value-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-left: 1px solid var(--nlc-line);
}

.nl-combinable-landing__value {
	padding: 18px;
	border-right: 1px solid var(--nlc-line);
}

.nl-combinable-landing__value p {
	margin: 0;
}

.nl-combinable-landing__value span {
	font-size: var(--wp--preset--font-size--small, 13px);
	letter-spacing: 0.06em;
	margin-bottom: 4px;
}

.nl-combinable-landing__value b {
	font-size: var(--wp--preset--font-size--normal, 16px);
	text-transform: uppercase;
}

.nl-combinable-landing__section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin: 42px auto 22px;
}

.nl-combinable-landing__section-head h2 {
	font-size: clamp(28px, 3.3vw, 42px);
}

.nl-combinable-landing__section-head p {
	max-width: 520px;
	color: var(--nlc-muted);
	margin: 0;
}

.nl-combinable-trips-featured {
	border: 1px solid var(--nlc-line);
	background: #fff;
	margin-bottom: 34px;
}

.nl-combinable-trips-featured__image {
	min-height: 330px;
	background-position: center;
	background-size: cover;
}

.nl-combinable-trips-featured__image,
.nl-combinable-trips-featured__image figure,
.nl-combinable-trips-featured__image picture {
	height: 100%;
}

.nl-combinable-trips-featured__image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 330px;
	object-fit: cover;
}

.nl-combinable-trips-featured__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 28px;
	padding: 28px;
	border-top: 1px solid var(--nlc-line);
}

.nl-combinable-trips-featured__title {
	font-size: clamp(28px, 4vw, 46px);
	margin-bottom: 10px;
}

.nl-combinable-trips-featured__summary {
	color: #3f463d;
	font-size: var(--wp--preset--font-size--normal, 16px);
	max-width: 720px;
	margin: 0;
}

.nl-combinable-trips-featured__route {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 12px;
	align-items: stretch;
	margin: 22px 0;
}

.nl-combinable-trips-featured__node {
	border: 1px solid var(--nlc-line);
	background: #fbfbf8;
	padding: 16px;
}

.nl-combinable-trips-featured__node span,
.nl-combinable-trips-featured__node small {
	display: block;
	color: var(--nlc-muted);
	font-size: var(--wp--preset--font-size--small, 13px);
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 5px;
}

.nl-combinable-trips-featured__node strong {
	display: block;
	font-size: var(--wp--preset--font-size--normal, 16px);
	text-transform: uppercase;
	line-height: 1.18;
}

.nl-combinable-trips-featured__gap,
.nl-combinable-trips-directory__connector {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #d8ddcf;
	background: var(--nlc-soft);
	color: var(--nlc-action-dark);
	font-size: var(--wp--preset--font-size--small, 13px);
	font-weight: 900;
	text-transform: uppercase;
	text-align: center;
	padding: 0 12px;
	border-radius: 0;
	letter-spacing: 0;
}

.nl-combinable-trips-featured__why {
	align-self: stretch;
	border-left: 4px solid var(--nlc-action);
	background: #f7f8f3;
	padding: 20px;
}

.nl-combinable-trips-featured__why p {
	font-size: var(--wp--preset--font-size--normal, 16px);
	color: #4b5248;
	margin: 0;
}

.nl-combinable-trips-featured__reasons {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin-top: 12px;
}

.nl-combinable-trips-featured__reasons .nl-combinable-trips-directory__reason {
	padding: 11px 12px;
	background: #fff;
}

.nl-combinable-trips-featured__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 20px;
}

.nl-combinable-trips__button,
.nl-combinable-trips-directory__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--nlc-action);
	font-size: var(--wp--preset--font-size--small, 13px);
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.nl-combinable-trips__button--primary,
.nl-combinable-trips-directory__button--first {
	background: var(--nlc-action);
	color: #fff;
}

.nl-combinable-trips__button--secondary,
.nl-combinable-trips-directory__button--second {
	background: #fff;
	color: var(--nlc-action-dark);
}

.nl-combinable-trips__text-link {
	display: inline-flex;
	align-items: center;
	color: var(--nlc-action-dark);
	font-size: var(--wp--preset--font-size--small, 13px);
	font-weight: 900;
	text-transform: uppercase;
	text-decoration: none;
}

.nl-combinable-landing__editorial-note {
	margin: 0 auto 32px;
	border-top: 1px solid var(--nlc-line);
	border-bottom: 1px solid var(--nlc-line);
	background: #fbfbf8;
	padding: 18px 22px;
}

.nl-combinable-trips-directory {
	margin-top: 4px;
}

.nl-combinable-trips-directory__heading,
.nl-combinable-trips-directory__intro {
	display: none;
}

.nl-combinable-trips-directory__list {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--nlc-line);
	max-width: 1120px;
	margin-right: auto;
	margin-left: auto;
}

.nl-combinable-trips-directory__pair {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	grid-template-areas:
		"trip-a connector trip-b"
		"gap gap gap"
		"reasons reasons reasons";
	gap: 14px 18px;
	align-items: stretch;
	border: 0;
	border-bottom: 1px solid var(--nlc-line);
	border-radius: 0;
	background: #fff;
	padding: 30px 18px;
	margin: 0;
	box-shadow: none;
}

.nl-combinable-trips-directory__pair:hover {
	box-shadow: none;
	border-color: var(--nlc-line);
}

.nl-combinable-trips-directory__trip {
	display: block;
	margin: 0;
	border: 1px solid #edf0e8;
	background: #fbfbf8;
	padding: 18px;
	min-width: 0;
}

.nl-combinable-trips-directory__trip--a {
	grid-area: trip-a;
}

.nl-combinable-trips-directory__trip--b {
	grid-area: trip-b;
}

.nl-combinable-trips-directory__connector {
	grid-area: connector;
	align-self: center;
	justify-self: center;
	min-height: 30px;
	white-space: nowrap;
}

.nl-combinable-trips-directory__link {
	display: block;
	color: var(--nlc-ink);
	text-decoration: none;
}

.nl-combinable-trips-directory__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.nl-combinable-trips-directory__link:hover .nl-combinable-trips-directory__title {
	text-decoration: none;
}

.nl-combinable-trips-directory__title {
	display: block;
	font-weight: 900;
	text-transform: uppercase;
	font-size: var(--wp--preset--font-size--normal, 16px);
	line-height: 1.18;
	color: var(--nlc-ink);
}

.nl-combinable-trips-directory__dates {
	display: block;
	margin-top: 8px;
	color: var(--nlc-muted);
	font-size: var(--wp--preset--font-size--small, 13px);
	font-weight: 400;
	line-height: 1.35;
	text-transform: none;
}

.nl-combinable-trips-directory__button {
	margin-top: 14px;
}

.nl-combinable-trips-directory__actions .nl-combinable-trips-directory__button {
	margin-top: 0;
}

.nl-combinable-trips-directory__gap {
	grid-area: gap;
	display: block;
	margin: 0;
	padding-top: 2px;
	color: #3f463d;
	font-size: var(--wp--preset--font-size--normal, 16px);
	font-style: normal;
	font-weight: 650;
	line-height: 1.45;
}

.nl-combinable-trips-directory__reasons {
	grid-area: reasons;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 0;
}

.nl-combinable-trips-directory__reasons-inner {
	display: contents;
}

.nl-combinable-trips-directory__reason {
	display: flex;
	align-items: flex-start;
	min-height: 0;
	padding: 10px 12px;
	border: 1px solid var(--nlc-line);
	background: var(--nlc-soft);
	color: #4b5248;
	font-size: var(--wp--preset--font-size--small, 13px);
	font-weight: 500;
	line-height: 1.35;
	text-transform: none;
	border-radius: 0;
	margin: 0;
}

.nl-combinable-landing__after {
	margin-top: 28px;
	margin-bottom: 78px;
}

.nl-combinable-landing__tip {
	margin: 8px 0;
	border-top: 1px solid var(--nlc-line);
	border-bottom: 1px solid var(--nlc-line);
	padding: 18px 0;
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 22px;
	align-items: start;
}

.nl-combinable-landing__tip p {
	font-size: var(--wp--preset--font-size--normal, 16px);
	color: #3f463d;
	margin: 0;
}

.nl-combinable-landing__inline-cta {
	margin: 26px 0;
	padding: 16px 0;
	border-top: 1px solid var(--nlc-line);
	border-bottom: 1px solid var(--nlc-line);
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: center;
}

.nl-combinable-landing__booking-cta {
	margin-top: 34px;
	border: 1px solid var(--nlc-shade);
	border-left: 6px solid var(--nlc-action);
	background: var(--nlc-shade);
	color: #fff;
	padding: 26px;
}

.nl-combinable-landing__booking-cta h2 {
	font-size: clamp(27px, 3.4vw, 42px);
	margin-bottom: 10px;
	color: #fff;
}

.nl-combinable-landing__booking-cta p {
	color: #dce1d7;
	font-size: var(--wp--preset--font-size--normal, 16px);
	max-width: 760px;
	margin: 0 0 18px;
}

.nl-combinable-landing__booking-cta .nl-combinable-trips__button {
	background: #fff;
	border-color: #fff;
	color: var(--nlc-shade);
}

@media (max-width: 900px) {
	.nl-combinable-landing__intro-grid,
	.nl-combinable-trips-featured__body {
		grid-template-columns: 1fr;
	}

	.nl-combinable-landing__value-grid,
	.nl-combinable-trips-featured__route,
	.nl-combinable-trips-directory__pair {
		grid-template-columns: 1fr;
	}

	.nl-combinable-trips-directory__pair {
		grid-template-areas:
			"trip-a"
			"connector"
			"trip-b"
			"gap"
			"reasons";
	}

	.nl-combinable-trips-directory__connector {
		justify-self: start;
	}

	.nl-combinable-trips-directory__reasons {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.nl-combinable-landing__wrap,
	.nl-combinable-trips-featured,
	.nl-combinable-trips-directory,
	.nl-combinable-landing__after {
		width: calc(100% - 32px);
	}

	.nl-combinable-landing h1 {
		font-size: var(--wp--preset--font-size--medium, 20px);
	}

	.nl-combinable-landing__section-head {
		display: block;
	}

	.nl-combinable-trips-featured__image {
		min-height: 230px;
	}

	.nl-combinable-trips-featured__body,
	.nl-combinable-trips-directory__pair,
	.nl-combinable-landing__booking-cta {
		padding: 20px;
	}

	.nl-combinable-trips-directory__pair {
		padding-left: 0;
		padding-right: 0;
	}

	.nl-combinable-landing__tip,
	.nl-combinable-landing__inline-cta {
		display: block;
	}

	.nl-combinable-trips__button,
	.nl-combinable-trips-directory__button {
		width: 100%;
		margin-bottom: 8px;
	}
}
