@font-face {
	font-family: "WS Private DM Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("ws-dm-sans-400.ttf") format("truetype");
}

@font-face {
	font-family: "WS Private DM Sans";
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
	src: url("ws-dm-sans-500.ttf") format("truetype");
}

body.ws-tcd-private-active {
	--ws-private-blue: #0875c1;
	--ws-private-blue-dark: #075d9b;
	--ws-private-green: #168c62;
	--ws-private-ink: #172031;
	--ws-private-muted: #687078;
	--ws-private-line: #dce5e9;
	background: #fff;
}

body.ws-tcd-private-active header.elementor-location-header .ws-header-master,
body.ws-tcd-private-active .elementor-location-single,
body.ws-tcd-private-active .elementor-element.elementor-element-5a81854 {
	background-color: transparent !important;
}

body.ws-tcd-private-active header.elementor-location-header .ws-header-master {
	border-bottom-color: transparent !important;
}

/* Retire only the verified legacy presentation sections; the existing forms remain authoritative. */
body.ws-tcd-private-active .elementor-element-74f6f47,
body.ws-tcd-private-active .elementor-element-e781361,
body.ws-tcd-private-active .elementor-element-7daf128,
body.ws-tcd-private-active .elementor-element-8fa83ae {
	display: none !important;
}

.ws-private-page {
	width: min(1192px, calc(100% - 48px));
	margin: 0 auto;
	color: var(--ws-private-ink);
	font-family: "WS Private DM Sans", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.ws-private-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
	align-items: center;
	gap: clamp(38px, 6vw, 76px);
	padding: clamp(54px, 6vw, 76px) 0 clamp(48px, 5vw, 64px);
}

.ws-private-eyebrow {
	display: block;
	margin-bottom: 10px;
	color: var(--ws-private-blue);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .11em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ws-private-hero h1,
.ws-private-section-heading h2,
.ws-private-custom-intro h2 {
	margin: 0;
	color: var(--ws-private-ink);
	font-family: "WS Private DM Sans", sans-serif;
	font-weight: 500;
	letter-spacing: -.035em;
}

.ws-private-hero h1 {
	max-width: 640px;
	font-size: clamp(38px, 4.5vw, 56px);
	line-height: 1.08;
}

.ws-private-hero__copy > p {
	max-width: 590px;
	margin: 18px 0 0;
	color: var(--ws-private-muted);
	font-size: 16px;
	line-height: 1.65;
}

.ws-private-paths {
	display: grid;
	border-top: 1px solid var(--ws-private-line);
}

.ws-private-paths a {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	column-gap: 16px;
	min-height: 76px;
	padding: 15px 2px;
	border-bottom: 1px solid var(--ws-private-line);
	color: var(--ws-private-ink);
	text-decoration: none;
}

.ws-private-paths a > span {
	grid-column: 2;
	grid-row: 1 / span 2;
	color: var(--ws-private-blue);
	font-size: 19px;
	font-weight: 400;
}

.ws-private-paths a:hover strong,
.ws-private-paths a:focus-visible strong {
	color: var(--ws-private-blue);
}

.ws-private-paths a:focus-visible {
	outline: 3px solid rgba(8, 117, 193, .25);
	outline-offset: 3px;
}

.ws-private-paths strong,
.ws-private-paths small {
	display: block;
}

.ws-private-paths strong {
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
}

.ws-private-paths small {
	grid-column: 1;
	margin-top: 2px;
	color: var(--ws-private-muted);
	font-size: 13px;
	line-height: 1.4;
}

.ws-private-existing {
	padding: 0 0 clamp(64px, 7vw, 88px);
	scroll-margin-top: 110px;
}

.ws-private-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
	align-items: end;
	gap: 48px;
	margin-bottom: 26px;
}

.ws-private-section-heading h2,
.ws-private-custom-intro h2 {
	font-size: clamp(30px, 3.4vw, 42px);
	line-height: 1.12;
}

.ws-private-section-heading > p,
.ws-private-custom-intro p {
	margin: 0;
	color: var(--ws-private-muted);
	font-size: 13px;
	line-height: 1.7;
}

.ws-private-existing .ws-tcd-catalog {
	margin: 0;
}

.ws-private-existing .ws-tcd-catalog__grid {
	gap: 20px;
}

.ws-private-existing .ws-tcd-card__availability {
	min-height: 38px;
}

.ws-private-load-more {
	display: grid;
	justify-items: center;
	gap: 10px;
	margin-top: 28px;
}

.ws-private-load-more__button {
	min-width: 190px;
	min-height: 46px;
	padding: 0 22px;
	border: 1px solid var(--ws-private-blue);
	border-radius: 8px;
	background: #fff;
	color: var(--ws-private-blue);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.ws-private-load-more__button:hover,
.ws-private-load-more__button:focus-visible {
	background: var(--ws-private-blue);
	color: #fff;
}

.ws-private-load-more__button:focus-visible {
	outline: 3px solid rgba(8, 117, 193, .24);
	outline-offset: 3px;
}

.ws-private-load-more__button:disabled {
	cursor: wait;
	opacity: .65;
}

.ws-private-load-more__status {
	min-height: 20px;
	margin: 0;
	color: var(--ws-private-muted);
	font-size: 12px;
}

.ws-private-custom-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
	align-items: end;
	gap: 48px;
	padding: clamp(46px, 6vw, 68px) 0 24px;
	border-top: 1px solid var(--ws-private-line);
	scroll-margin-top: 100px;
}

.ws-private-custom-intro p {
	max-width: 690px;
	margin-top: 16px;
}

.ws-private-selection {
	display: grid;
	gap: 5px;
	padding: 18px 20px;
	border-left: 3px solid var(--ws-private-green);
	background: #f2faf7;
}

.ws-private-selection span {
	color: var(--ws-private-green);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ws-private-selection strong {
	font-size: 14px;
	font-weight: 600;
}

.ws-private-selection a {
	justify-self: start;
	color: var(--ws-private-blue);
	font-size: 11px;
	text-decoration: underline;
}

.ws-private-empty {
	padding: 28px 0;
	border-top: 1px solid var(--ws-private-line);
	border-bottom: 1px solid var(--ws-private-line);
	color: var(--ws-private-muted);
}

/*
 * Existing Elementor form sections.
 *
 * Keep Elementor's field names, IDs, validation and submit actions authoritative.
 * These rules only remove the retired visual shell and align the three legacy
 * form widgets with the lightweight Private Tour design above.
 */
body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) {
	background: transparent !important;
	margin: 0 !important;
	font-family: "WS Private DM Sans", sans-serif;
}

body.ws-tcd-private-active .elementor-element-aa20c96 {
	padding: 0 40px 34px !important;
}

body.ws-tcd-private-active .elementor-element-df3785a {
	width: auto !important;
	padding: 0 40px 42px !important;
}

body.ws-tcd-private-active .elementor-element-e3f84bb {
	padding: 0 40px clamp(70px, 7vw, 96px) !important;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) > .elementor-container,
body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) > .e-con-inner {
	width: min(1192px, calc(100% - 48px));
	max-width: 1192px !important;
	margin-inline: auto;
	padding-inline: 0 !important;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) .elementor-widget-container,
body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) .elementor-form {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* The new section intro already supplies this identity and explanation. */
body.ws-tcd-private-active :is(
	.elementor-element-67e1661,
	.elementor-element-4a175fd,
	.elementor-element-47b1fed,
	.elementor-element-420f2e9
) {
	display: none !important;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) :is(.elementor-container, .elementor-column, .elementor-widget-wrap, .e-con, .e-con-inner) {
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) :is(h2, h3, h4, label, .elementor-field-label) {
	font-family: inherit !important;
}

body.ws-tcd-private-active :is(.form1, .form2, .form3) .elementor-form-fields-wrapper {
	margin-inline: -10px;
}

body.ws-tcd-private-active :is(.form1, .form2, .form3) .elementor-field-group {
	margin-bottom: 18px !important;
	padding-inline: 10px !important;
}

/* Restore persistent labels for text controls instead of relying on placeholders. */
body.ws-tcd-private-active :is(.form1, .form3) :is(
	.elementor-field-type-text,
	.elementor-field-type-email,
	.elementor-field-type-select,
	.elementor-field-type-textarea
) > .elementor-field-label.elementor-screen-only {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 0 7px !important;
	padding: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	white-space: normal !important;
	color: var(--ws-private-ink) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

body.ws-tcd-private-active :is(.form1, .form2, .form3) .elementor-field-type-html {
	color: var(--ws-private-ink) !important;
	font-size: 19px !important;
	font-weight: 500 !important;
	letter-spacing: -.015em;
	line-height: 1.35 !important;
}

body.ws-tcd-private-active .form1 .elementor-field-type-html:not(:first-child) {
	margin-top: 8px !important;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) .elementor-field {
	min-height: 48px;
	border: 1px solid #cdd9df !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ws-private-ink) !important;
	font-size: 15px !important;
	font-family: inherit !important;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) :is(input.elementor-field, select.elementor-field, textarea.elementor-field) {
	padding-inline: 14px !important;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) textarea.elementor-field {
	min-height: 132px;
	padding-block: 12px !important;
	resize: vertical;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) .elementor-field::placeholder {
	color: #879097;
	opacity: 1;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) :is(input.elementor-field, select.elementor-field, textarea.elementor-field):focus {
	border-color: var(--ws-private-blue) !important;
	outline: 3px solid rgba(8, 117, 193, .14) !important;
	outline-offset: 0 !important;
}

body.ws-tcd-private-active :is(.form1, .form2, .form3) .elementor-field-type-checkbox .elementor-field-subgroup {
	width: 100%;
}

body.ws-tcd-private-active :is(.form1, .form2, .form3) .elementor-field-option {
	display: flex !important;
	align-items: flex-start;
	gap: 8px;
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
	flex: 1 1 auto !important;
	flex-basis: auto !important;
	min-height: 31px;
	margin: 0 !important;
	padding: 4px 0;
}

body.ws-tcd-private-active :is(.form1, .form2, .form3) .elementor-field-option input[type="checkbox"] {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 2px 0 0;
	accent-color: var(--ws-private-blue);
}

body.ws-tcd-private-active :is(.form1, .form2, .form3) .elementor-field-option label {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	color: var(--ws-private-ink) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	white-space: normal !important;
	word-break: keep-all !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
	text-wrap: pretty;
}

body.ws-tcd-private-active :is(.form1, .form2, .form3) .elementor-field-option input[type="checkbox"]:focus-visible {
	outline: 3px solid rgba(8, 117, 193, .22);
	outline-offset: 2px;
}

body.ws-tcd-private-active .crown-icon {
	width: 13px !important;
	height: auto !important;
	margin-left: 2px;
	opacity: .62;
	vertical-align: -1px;
}

/* The legacy map column is empty on this page; let destinations use the full measure. */
body.ws-tcd-private-active .elementor-element-df3785a .elementor-element-2e4dc90 {
	width: 100% !important;
}

body.ws-tcd-private-active .elementor-element-df3785a .elementor-element-f18937a {
	display: none !important;
}

body.ws-tcd-private-active .form2 .elementor-form-fields-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 54px;
	row-gap: 0;
	margin-inline: 0;
}

body.ws-tcd-private-active .form2 .elementor-field-group {
	width: auto !important;
	padding-inline: 0 !important;
}

body.ws-tcd-private-active .form2 .elementor-field-group-field_0833e27 {
	grid-column: 1 / -1;
	grid-row: 1;
	margin-bottom: 22px !important;
	font-size: 26px !important;
}

body.ws-tcd-private-active .form2 .elementor-field-group-field_f79456b {
	grid-column: 1 / -1;
	grid-row: 2;
}

body.ws-tcd-private-active .form2 .elementor-field-group-field_17c3dfa {
	grid-column: 1 / -1;
	grid-row: 3;
}

body.ws-tcd-private-active .form2 .elementor-field-group-field_29e974e { grid-column: 1; grid-row: 4; }
body.ws-tcd-private-active .form2 .elementor-field-group-field_62dd560 { grid-column: 1; grid-row: 5; }
body.ws-tcd-private-active .form2 .elementor-field-group-field_551090a { grid-column: 2; grid-row: 4; }
body.ws-tcd-private-active .form2 .elementor-field-group-field_e402805 { grid-column: 2; grid-row: 5; }
body.ws-tcd-private-active .form2 .elementor-field-group-field_176f5de { grid-column: 1; grid-row: 6; }
body.ws-tcd-private-active .form2 .elementor-field-group-field_698b2e1 { grid-column: 1; grid-row: 7; }
body.ws-tcd-private-active .form2 .elementor-field-group-field_7e62438 { grid-column: 2; grid-row: 6; }
body.ws-tcd-private-active .form2 .elementor-field-group-field_c9479a0 { grid-column: 2; grid-row: 7; }
body.ws-tcd-private-active .form2 .elementor-field-group-field_2d8e8b2 { grid-column: 1 / -1; grid-row: 8; }
body.ws-tcd-private-active .form2 .elementor-field-group-field_effc07a { grid-column: 1 / -1; grid-row: 9; }

body.ws-tcd-private-active .form2 :is(
	.elementor-field-group-field_f79456b,
	.elementor-field-group-field_29e974e,
	.elementor-field-group-field_551090a,
	.elementor-field-group-field_176f5de,
	.elementor-field-group-field_7e62438,
	.elementor-field-group-field_2d8e8b2
) {
	margin-top: 10px !important;
	padding-top: 22px !important;
	border-top: 1px solid var(--ws-private-line);
}

body.ws-tcd-private-active .form2 .elementor-field-group-field_17c3dfa .elementor-field-subgroup,
body.ws-tcd-private-active .form2 .elementor-field-group-field_effc07a .elementor-field-subgroup {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 22px;
}

body.ws-tcd-private-active .form2 :is(
	.elementor-field-group-field_62dd560,
	.elementor-field-group-field_e402805,
	.elementor-field-group-field_698b2e1,
	.elementor-field-group-field_c9479a0
) .elementor-field-subgroup {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 18px;
}

body.ws-tcd-private-active .form3 .elementor-form-fields-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 54px;
	row-gap: 0;
	margin-inline: 0;
}

body.ws-tcd-private-active .form3 .elementor-field-group {
	width: auto !important;
	padding-inline: 0 !important;
}

body.ws-tcd-private-active .form3 .elementor-field-group-field_d2bd800 { grid-column: 1; grid-row: 1; }
body.ws-tcd-private-active .form3 .elementor-field-group-field_411497f { grid-column: 1; grid-row: 2; }
body.ws-tcd-private-active .form3 .elementor-field-group-field_db88c3f { grid-column: 2; grid-row: 1; }
body.ws-tcd-private-active .form3 .elementor-field-group-field_d06b846 { grid-column: 2; grid-row: 2; }
body.ws-tcd-private-active .form3 .elementor-field-group-field_c638fbb { grid-column: 1 / -1; grid-row: 3; }
body.ws-tcd-private-active .form3 .elementor-field-group-field_2da92d5 { grid-column: 1 / -1; grid-row: 4; margin-top: 14px !important; }
body.ws-tcd-private-active .form3 .elementor-field-group-field_284aa18 { grid-column: 1 / -1; grid-row: 5; }
body.ws-tcd-private-active .form3 .elementor-field-group-field_dc1dbae { grid-column: 1 / -1; grid-row: 6; }
body.ws-tcd-private-active .form3 .e-form__buttons { grid-column: 1 / -1; grid-row: 7; }

body.ws-tcd-private-active .form3 :is(
	.elementor-field-group-field_411497f,
	.elementor-field-group-field_d06b846
) .elementor-field-subgroup {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 18px;
}

body.ws-tcd-private-active .form3 .elementor-field-group-field_411497f .elementor-field-subgroup {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.ws-tcd-private-active .hide-submit .e-form__buttons {
	display: none !important;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) .elementor-button {
	min-height: 48px;
	min-width: 250px;
	padding: 0 24px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--ws-private-blue) !important;
	box-shadow: none !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	font-family: inherit !important;
}

body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) .elementor-button:hover,
body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) .elementor-button:focus-visible {
	background: var(--ws-private-blue-dark) !important;
	outline: 3px solid rgba(8, 117, 193, .24) !important;
	outline-offset: 3px;
}

@media (max-width: 900px) {
	.ws-private-hero,
	.ws-private-section-heading,
	.ws-private-custom-intro {
		grid-template-columns: 1fr;
	}

	.ws-private-hero {
		gap: 34px;
	}

	.ws-private-section-heading,
	.ws-private-custom-intro {
		gap: 18px;
	}

	body.ws-tcd-private-active .form2 .elementor-form-fields-wrapper,
	body.ws-tcd-private-active .form3 .elementor-form-fields-wrapper {
		grid-template-columns: 1fr;
		column-gap: 0;
	}

	body.ws-tcd-private-active .form2 .elementor-field-group,
	body.ws-tcd-private-active .form3 .elementor-field-group {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
}

@media (max-width: 600px) {
	.ws-private-page,
	body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) > .elementor-container,
	body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) > .e-con-inner {
		width: min(100% - 36px, 1192px);
	}

	body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) {
		padding-inline: 18px !important;
	}

	.ws-private-hero {
		padding-top: 38px;
	}

	.ws-private-hero h1 {
		font-size: clamp(36px, 11vw, 46px);
	}

	.ws-private-paths a {
		grid-template-columns: 1fr auto;
	}

	body.ws-tcd-private-active :is(.form1, .form2, .form3) .elementor-form-fields-wrapper {
		margin-inline: 0;
	}

	body.ws-tcd-private-active :is(.form1, .form2, .form3) .elementor-field-group {
		width: 100% !important;
		padding-inline: 0 !important;
	}

	body.ws-tcd-private-active .form2 :is(
		.elementor-field-group-field_17c3dfa,
		.elementor-field-group-field_62dd560,
		.elementor-field-group-field_e402805,
		.elementor-field-group-field_698b2e1,
		.elementor-field-group-field_c9479a0,
		.elementor-field-group-field_effc07a
	) .elementor-field-subgroup,
	body.ws-tcd-private-active .form3 :is(
		.elementor-field-group-field_411497f,
		.elementor-field-group-field_d06b846
	) .elementor-field-subgroup {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 14px;
	}

	body.ws-tcd-private-active :is(.elementor-element-aa20c96, .elementor-element-df3785a, .elementor-element-e3f84bb) .elementor-button {
		width: 100%;
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ws-private-page * {
		scroll-behavior: auto !important;
	}
}
