/* ==========================================================================
   LCLX – Lake Como Luxury Experiences
   One stylesheet for the whole site. Every rule hangs off an lclx- class set
   in Elementor (Advanced → CSS Classes). Colours come from Elementor Global
   Colors via CSS variables; the hex after each var() is only a fallback.

   Contents
   00  Tokens
   01  Layout helpers (section gutters, fades)
   02  Type (display headings, serif accent, gradient, label, reveal)
   03  Buttons (outline pill, aqua pill, round)
   04  Cards
   -- Section styles are appended below as each section is built --
   ========================================================================== */


/* 00  Tokens
   -------------------------------------------------------------------------- */
:root {
	--lclx-aqua:        var(--e-global-color-accent, #00D1C8);
	--lclx-white:       var(--e-global-color-primary, #FFFFFF);
	--lclx-body:        var(--e-global-color-text, rgba(255, 255, 255, .72));
	--lclx-muted:       var(--e-global-color-secondary, #999999);
	--lclx-muted-2:     var(--e-global-color-lclxmute2, #777777);
	--lclx-black:       var(--e-global-color-lclxblack, #000000);
	--lclx-near:        var(--e-global-color-lclxnear, #0A0A0A);
	--lclx-near-2:      var(--e-global-color-lclxnear2, #0D0D0D);
	--lclx-charcoal:    var(--e-global-color-lclxchar, #141414);
	--lclx-charcoal-2:  var(--e-global-color-lclxchar2, #1C1C1C);
	--lclx-card:        var(--e-global-color-lclxcard, #1A1A1A);
	--lclx-card-2:      var(--e-global-color-lclxcard2, #1F1F1F);
	--lclx-border:      var(--e-global-color-lclxbord, #333333);
	--lclx-border-soft: var(--e-global-color-lclxbord2, #262626);

	--lclx-serif: "Arapey", Georgia, serif;
	--lclx-sans:  "Urbanist", system-ui, sans-serif;

	--lclx-gutter: clamp(20px, 4vw, 56px);
	--lclx-ease:   cubic-bezier(.7, 0, .2, 1);
	--lclx-ease-out: cubic-bezier(.2, .7, .2, 1);
}


/* 01  Layout helpers
   -------------------------------------------------------------------------- */

/* Top-level section container: side gutters that match the design. */
.e-con.lclx-section {
	--padding-left: var(--lclx-gutter);
	--padding-right: var(--lclx-gutter);
}

/* Slot = a container holding one Template widget (shared sections). Block
   layout, because as a flex column Chrome sized the boat panels template at
   ~4px on phones and the next section overlapped it. */
.e-con.lclx-slot,
.e-con.lclx-book-slot { display: block; }


/* 02  Type
   -------------------------------------------------------------------------- */

/* Display headings: <em> inside the title becomes the Arapey italic accent,
   e.g. "<em>The</em> Fleet". */
.elementor-widget.lclx-h .elementor-heading-title em,
.elementor-widget.lclx-serif .elementor-heading-title,
.lclx-serif.elementor-widget-text-editor {
	font-family: var(--lclx-serif);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.02em;
}

/* White to 50% white gradient, clipped to the text. */
.elementor-widget.lclx-grad .elementor-heading-title {
	background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, .5) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Section label: thin aqua line + small spaced capitals ("ABOUT US", "OUR BOATS").
   Same line and spacing everywhere on the site. */
.elementor-widget.lclx-label .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-family: var(--lclx-sans);
	font-size: 11.5px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--lclx-white);
}
.elementor-widget.lclx-label .elementor-heading-title::before {
	content: "";
	flex: none;
	width: 32px;
	height: 1px;
	border-radius: 0;
	background: var(--lclx-aqua);
}

/* Scroll-lit paragraph: lclx.js splits it into its lines (.lclx-line) and
   lights each line left to right in turn while scrolling. Without JS the
   text simply shows in full. */
.lclx-reveal .elementor-widget-container,
.lclx-reveal.elementor-widget-text-editor {
	color: var(--lclx-white);
}
.lclx-reveal p.is-split .lclx-line {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
	background: linear-gradient(90deg, #FFFFFF 0 50%, rgba(255, 255, 255, .22) 50% 100%);
	background-size: 200% 100%;
	background-position: 100% 0;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}


/* 03  Buttons (Elementor Button widget)
   lclx-btn         outline pill: #1A1A1A fill, white border → aqua on hover
   lclx-btn-aqua    aqua pill → white on hover (add together with lclx-btn)
   Add an arrow icon "after" the text in the widget; it turns 45° on hover.
   -------------------------------------------------------------------------- */
.elementor-widget.lclx-btn .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	padding: 0 26px;
	border-radius: 30px;
	border: 1.5px solid var(--lclx-white);
	background: var(--lclx-card);
	color: var(--lclx-white);
	fill: var(--lclx-white);
	font-family: var(--lclx-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	transition: background .45s, border-color .45s, color .45s, fill .45s;
}
.elementor-widget.lclx-btn .elementor-button:hover,
.elementor-widget.lclx-btn .elementor-button:focus-visible {
	background: var(--lclx-aqua);
	border-color: var(--lclx-aqua);
	color: #000000;
	fill: #000000;
}
.elementor-widget.lclx-btn .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.elementor-widget.lclx-btn .elementor-button-icon {
	display: inline-flex;
	transition: transform .5s var(--lclx-ease);
}
.elementor-widget.lclx-btn .elementor-button:hover .elementor-button-icon {
	transform: rotate(45deg);
}

.elementor-widget.lclx-btn-aqua .elementor-button {
	background: var(--lclx-aqua);
	border-color: var(--lclx-aqua);
	color: #000000;
	fill: #000000;
}
.elementor-widget.lclx-btn-aqua .elementor-button:hover,
.elementor-widget.lclx-btn-aqua .elementor-button:focus-visible {
	background: #FFFFFF;
	border-color: #FFFFFF;
	color: #000000;
}

/* Round arrow button (Icon widget, framed view). */
.elementor-widget.lclx-round .elementor-icon {
	width: 48px;
	height: 48px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1.5px solid var(--lclx-white);
	background: transparent;
	color: var(--lclx-white);
	fill: var(--lclx-white);
	font-size: 16px;
	transition: background .4s, color .4s, border-color .4s, fill .4s;
}
.elementor-widget.lclx-round .elementor-icon:hover {
	background: var(--lclx-aqua);
	border-color: var(--lclx-aqua);
	color: #000000;
	fill: #000000;
}


/* 04  Cards (container)
   -------------------------------------------------------------------------- */
.e-con.lclx-card {
	background: linear-gradient(218deg, var(--lclx-charcoal) 34%, var(--lclx-card-2) 69%);
	border: 1px solid var(--lclx-border);
	border-radius: 16px;
}
.e-con.lclx-lift {
	transition: transform .6s var(--lclx-ease-out), border-color .5s;
}
.e-con.lclx-lift:hover {
	transform: translateY(-6px);
	border-color: #4D4D4D;
}


/* ==========================================================================
   Section styles (appended per section)
   ========================================================================== */


/* 05  Shared icon fix
   The line icons (lclx-arrow / chevron / burger / close SVGs from the Media
   Library) are drawn with strokes. Elementor colours SVG icons with `fill`,
   so paths are forced back to stroke-only and coloured with `color`.
   -------------------------------------------------------------------------- */
.lclx-header svg path,
.lclx-btn svg path,
.lclx-ar svg path,
.lclx-round svg path {
	fill: none;
	stroke: currentColor;
}
.elementor-widget.lclx-ar .elementor-icon {
	font-size: 13px;
	color: inherit;
}
.elementor-widget.lclx-ar .elementor-icon svg {
	width: 1em;
	height: 1em;
}
.elementor-widget.lclx-btn .elementor-button-icon svg {
	width: 14px;
	height: 14px;
}


/* 10  Header (Theme Builder → LCLX Header)
   Position: Fixed (Advanced tab). Transparent over the hero; lclx.js adds
   .lclx-scrolled after 60px of scroll for the dark blurred bar.
   -------------------------------------------------------------------------- */
.e-con.lclx-header {
	transition: background-color .5s, padding .5s, box-shadow .5s, -webkit-backdrop-filter .5s, backdrop-filter .5s;
}
body.admin-bar .e-con.lclx-header { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .e-con.lclx-header { top: 46px; }
}
body .e-con.lclx-header.lclx-scrolled {
	--padding-top: 14px;
	--padding-bottom: 14px;
	background-color: rgba(10, 10, 10, .78);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06);
}
.lclx-header > .e-con.lclx-logo,
.lclx-header > .e-con.lclx-header-cta {
	width: auto;
	flex: 0 0 auto;
}

/* Logo (Image widget, width set per device in the widget) */
.elementor-widget.lclx-logo-img {
	text-align: left;
}
.elementor-widget.lclx-logo-img img {
	display: block;
	height: auto;
}

/* Nav link look (menu titles + phone): 75% white, aqua underline grows from the centre */
.elementor-widget.lclx-nl .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 14px;
	line-height: 1;
	margin: 0;
}
.elementor-widget.lclx-nl .elementor-heading-title a {
	position: relative;
	display: inline-block;
	padding: 8px 0;
	color: rgba(255, 255, 255, .75);
	transition: color .4s;
}
.elementor-widget.lclx-nl .elementor-heading-title a:hover {
	color: var(--lclx-white);
}
.elementor-widget.lclx-nl .elementor-heading-title a::after,
.lclx-menu .e-n-menu:not([data-layout=dropdown]) .e-n-menu-title::after {
	content: "";
	position: absolute;
	left: 50%;
	right: 50%;
	bottom: 0;
	height: 1px;
	background: var(--lclx-aqua);
	transition: left .5s var(--lclx-ease), right .5s var(--lclx-ease);
}
.elementor-widget.lclx-nl .elementor-heading-title a:hover::after,
.lclx-menu .e-n-menu:not([data-layout=dropdown]) .e-n-menu-title:hover::after {
	left: 0;
	right: 0;
}

/* Book a tour pill, header size */
.elementor-widget.lclx-btn-sm .elementor-button {
	height: 44px;
	padding: 0 22px;
	font-size: 14px;
}

/* Menu widget (Elementor Pro "Menu") */
.lclx-menu {
	--n-menu-title-color-normal: rgba(255, 255, 255, .75);
	--n-menu-title-color-hover: #FFFFFF;
	--n-menu-title-color-active: #FFFFFF;
	--n-menu-title-font-size: 13px;
	--n-menu-title-line-height: 1;
	--n-menu-title-padding: 8px 0;
	--n-menu-icon-gap: 6px;
	--n-menu-dropdown-indicator-size: 10px;
	--n-menu-title-distance-from-content: 18px;
	--n-menu-title-transition: .4s;
	--n-menu-toggle-icon-size: 18px;
}
.lclx-menu .e-n-menu-title {
	position: relative;
	font-family: var(--lclx-sans);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.lclx-menu .e-n-menu-title-text {
	transition: color .4s;
}
.lclx-menu .e-n-menu-dropdown-icon {
	color: inherit;
	padding: 0;
	background: none;
	border: 0;
}
.lclx-menu .e-n-menu-title .e-n-menu-dropdown-icon span svg {
	transition: transform .4s;
}
.lclx-menu .e-n-menu-title:hover .e-n-menu-dropdown-icon span svg,
.lclx-menu .e-n-menu-dropdown-icon[aria-expanded=true] span svg {
	transform: rotate(180deg);
}
.lclx-menu .e-n-menu-title .e-n-menu-dropdown-icon,
.lclx-menu .e-n-menu-title:not(:hover) .e-n-menu-dropdown-icon {
	color: rgba(255, 255, 255, .75);
}
.lclx-menu .e-n-menu-title:hover .e-n-menu-dropdown-icon {
	color: #FFFFFF;
}

/* "Book a tour" menu item: only shown inside the collapsed (tablet/mobile) menu */
.lclx-menu .e-n-menu:not([data-layout=dropdown]) .e-n-menu-item:has(#lclx-mm-book) {
	display: none;
}

/* Dropdown panel */
.lclx-menu .e-n-menu-content > .e-con.lclx-dd {
	--padding-top: 10px;
	--padding-right: 10px;
	--padding-bottom: 10px;
	--padding-left: 10px;
	min-width: 270px;
	border-radius: 16px;
	background: rgba(14, 14, 14, .96);
	border: 1px solid var(--lclx-border);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.lclx-menu .e-n-menu-content > .e-con.lclx-dd-tours {
	min-width: 340px;
}
.lclx-menu .e-n-menu:not([data-layout=dropdown]) .e-n-menu-content > .e-con.lclx-dd.e-active {
	animation: lclx-dd-in .45s var(--lclx-ease-out) both;
}
@keyframes lclx-dd-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: none; }
}
.lclx-dd .elementor-widget-heading .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: inherit;
	margin: 0;
}

/* Dropdown item: dot + title (+ grey subline) */
.e-con.lclx-dd-i {
	--padding-top: 11px;
	--padding-right: 14px;
	--padding-bottom: 11px;
	--padding-left: 32px;
	position: relative;
	border-radius: 10px;
	color: rgba(255, 255, 255, .8);
	transition: background-color .3s, color .3s;
}
.e-con.lclx-dd-i::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-radius: 50%;
	background: #444444;
	transition: background-color .3s, box-shadow .3s;
}
.e-con.lclx-dd-i:hover {
	background-color: var(--lclx-card);
	color: var(--lclx-white);
}
.e-con.lclx-dd-i:hover::before {
	background: var(--lclx-aqua);
	box-shadow: 0 0 8px var(--lclx-aqua);
}
/* Item titles in caps (e.g. LUXURY WOODEN BOAT); the grey subline stays sentence case */
.elementor-widget.lclx-dd-t .elementor-heading-title {
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.elementor-widget.lclx-dd-s .elementor-heading-title { font-size: 12px; color: #888888; }

/* Custom tour (Tours dropdown): an outline button, aqua on hover like the site pills */
.e-con.lclx-dd-i.lclx-dd-btn {
	--padding-top: 12px;
	--padding-right: 16px;
	--padding-bottom: 12px;
	--padding-left: 16px;
	align-items: center;
	text-align: center;
	margin: 8px 4px 2px;
	border-radius: 14px;
	border: 1.5px solid var(--lclx-white);
	background-color: var(--lclx-card);
	color: var(--lclx-white);
	transition: background-color .45s, border-color .45s, color .45s;
}
.e-con.lclx-dd-i.lclx-dd-btn::before {
	display: none;
}
.e-con.lclx-dd-i.lclx-dd-btn:hover {
	background-color: var(--lclx-aqua);
	border-color: var(--lclx-aqua);
	color: #000000;
}
.e-con.lclx-dd-btn .elementor-widget.lclx-dd-s .elementor-heading-title {
	color: rgba(255, 255, 255, .6);
	transition: color .45s;
}
.e-con.lclx-dd-btn:hover .elementor-widget.lclx-dd-s .elementor-heading-title {
	color: rgba(0, 0, 0, .7);
}

/* "View the whole fleet" / "All private tours" row */
.e-con.lclx-dd-all {
	--padding-top: 12px;
	--padding-right: 14px;
	--padding-bottom: 6px;
	--padding-left: 14px;
	margin-top: 6px;
	border-top: 1px solid var(--lclx-border-soft);
	color: var(--lclx-aqua);
	transition: color .3s;
}
.e-con.lclx-dd-all:hover { color: var(--lclx-white); }
.e-con.lclx-dd-all--top {
	--padding-top: 6px;
	margin: 0 0 8px;
	border-top: 0;
}
.elementor-widget.lclx-dd-all-t .elementor-heading-title { font-size: 13.5px; }
.lclx-dd-all > .elementor-widget,
.lclx-dd-i > .elementor-widget {
	width: auto;
}

/* Tours: 4 × 2 grid of duration tiles (1–8 hours and custom) */
.e-con.lclx-dd-hgrid {
	--padding-left: 4px;
	--padding-right: 4px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
}
.e-con.lclx-dd-h {
	--padding-top: 12px;
	--padding-bottom: 12px;
	width: auto;
	border-radius: 10px;
	border: 1px solid var(--lclx-border-soft);
	color: var(--lclx-white);
	transition: background-color .3s, border-color .3s, color .3s;
}
.e-con.lclx-dd-h:hover {
	background-color: var(--lclx-aqua);
	border-color: var(--lclx-aqua);
	color: #000000;
}
.elementor-widget.lclx-dd-h-n .elementor-heading-title {
	font-size: 24px;
	font-weight: 300;
	line-height: 1;
}
.elementor-widget.lclx-dd-h-u .elementor-heading-title {
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #888888;
	transition: color .3s;
}
.e-con.lclx-dd-h:hover .elementor-widget.lclx-dd-h-u .elementor-heading-title { color: #000000; }

/* Laptop: tighter nav */
@media (max-width: 1366px) {
	.lclx-header .e-con.lclx-header-cta { --gap: 16px; }
}

/* Tablet landscape: drop the phone number, keep the pill */
@media (max-width: 1200px) {
	.lclx-header .lclx-phone { display: none; }
}

/* Tablet and below: Elementor collapses the menu (breakpoint set to Tablet).
   Round burger on the right; the menu opens as a dark panel with accordions. */
@media (max-width: 1024px) {
	.lclx-header > .lclx-menu {
		--n-menu-toggle-align: flex-end;
		flex: 0 0 auto;
		width: auto;
	}
	.lclx-header > .e-con.lclx-header-cta {
		margin-left: auto;
	}
	.lclx-menu .e-n-menu-toggle {
		width: 48px;
		height: 48px;
		border-radius: 50%;
		border: 1.5px solid var(--lclx-white);
		color: var(--lclx-white);
		transition: background-color .4s, border-color .4s, color .4s;
	}
	.lclx-menu .e-n-menu-toggle:hover,
	.lclx-menu .e-n-menu-toggle[aria-expanded=true] {
		background-color: var(--lclx-aqua);
		border-color: var(--lclx-aqua);
		color: #000000;
	}
	.lclx-menu .e-n-menu-toggle svg path { stroke: currentColor; }

	/* Centre the burger / close icon inside the circle */
	.lclx-menu.elementor-widget-n-menu .e-n-menu-toggle {
		align-items: center;
		justify-content: center;
		padding: 0;
	}
	.lclx-menu.elementor-widget-n-menu .e-n-menu-toggle span.e-open,
	.lclx-menu.elementor-widget-n-menu .e-n-menu-toggle span.e-close {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.lclx-menu.elementor-widget-n-menu .e-n-menu-toggle span svg {
		width: 18px;
		height: 18px;
	}
}
.lclx-menu .e-n-menu[data-layout=dropdown] .e-n-menu-wrapper {
	margin-top: 14px;
	padding: 8px;
	max-height: calc(100vh - 120px);
	overflow-y: auto;
	border-radius: 16px;
	background: rgba(12, 12, 12, .97);
	border: 1px solid var(--lclx-border);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}
.lclx-menu.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-title {
	background-color: transparent;
	justify-content: space-between;
	--n-menu-title-padding: 16px 14px;
	font-size: 14px;
	letter-spacing: .08em;
	border-bottom: 1px solid var(--lclx-border-soft);
}
.lclx-menu .e-n-menu[data-layout=dropdown] {
	--n-menu-title-space-between: 0px;
	--n-menu-title-normal-color-dropdown: #FFFFFF;
	--n-menu-title-active-color-dropdown: var(--lclx-aqua);
}
.lclx-menu .e-n-menu[data-layout=dropdown] .e-n-menu-dropdown-icon {
	padding: 6px;
}
.lclx-menu .e-n-menu[data-layout=dropdown] .e-n-menu-content {
	width: 100%;
}
.lclx-menu .e-n-menu[data-layout=dropdown] .e-n-menu-content > .e-con.lclx-dd {
	--width: 100%;
	--padding-top: 6px;
	--padding-bottom: 10px;
	min-width: 0;
	width: 100%;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
.lclx-menu.elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item:has(#lclx-mm-book) .e-n-menu-title {
	--n-menu-title-padding: 0 22px;
	--n-menu-title-normal-color-dropdown: #000000;
	justify-content: center;
	height: 50px;
	margin: 14px 6px 6px;
	border: 0;
	border-radius: 30px;
	background: var(--lclx-aqua);
}
.lclx-menu .e-n-menu[data-layout=dropdown] .e-n-menu-item:has(#lclx-mm-book) .e-n-menu-title-text {
	color: #000000;
}

/* Mobile: the Book pill moves into the menu panel */
@media (max-width: 767px) {
	.lclx-header .lclx-book { display: none; }
}


/* 20  Footer (Theme Builder → LCLX Footer)
   Fades in from black (no border line), 50 / 20 / 30 columns (Grid
   container), bottom bar, huge faded LAKE COMO wordmark.
   -------------------------------------------------------------------------- */
.e-con.lclx-footer {
	overflow: hidden;
	background:
		linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 240px),
		linear-gradient(218deg, var(--lclx-near) 34%, var(--lclx-charcoal) 69%);
}


.lclx-ft-grid > .e-con.lclx-ft-brand { padding-right: 40px; }
.elementor.elementor .e-con > .elementor-widget.lclx-ft-text { max-width: 440px; }
.elementor-widget.lclx-ft-text {
	font-family: var(--lclx-sans);
	font-size: 15px;
	line-height: 1.75;
	color: var(--lclx-body);
}
.elementor-widget.lclx-ft-text p { margin: 0; }
.elementor-widget.lclx-ft-cta { margin-top: 4px; }

/* Column headings ("Explore", "Contact") */
.elementor-widget.lclx-ft-h .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--lclx-white);
	margin: 0;
}

/* Shared Icon List look: 75% white, white on hover */
.lclx-ft-links,
.lclx-ft-contact,
.lclx-ft-legal {
	--e-icon-list-icon-size: 16px;
}
.elementor-widget.lclx-ft-links .elementor-icon-list-text,
.elementor-widget.lclx-ft-contact .elementor-icon-list-text {
	font-family: var(--lclx-sans);
	font-size: 15px;
	line-height: 1.4;
	padding: 0;
	color: rgba(255, 255, 255, .75);
	transition: color .4s;
	overflow-wrap: anywhere;
}
.elementor-widget.lclx-ft-links .elementor-icon-list-item:hover .elementor-icon-list-text,
.elementor-widget.lclx-ft-contact .elementor-icon-list-item:hover .elementor-icon-list-text {
	color: var(--lclx-white);
}

/* Explore: plain links with the aqua underline */
.elementor-widget.lclx-ft-links .elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
.elementor-widget.lclx-ft-links .elementor-icon-list-icon { display: none; }
.elementor-widget.lclx-ft-links .elementor-icon-list-text {
	position: relative;
	display: inline-block;
	padding: 4px 0;
}
.elementor-widget.lclx-ft-links .elementor-icon-list-text::after {
	content: "";
	opacity: 0;
	position: absolute;
	left: 50%;
	right: 50%;
	bottom: 0;
	height: 1px;
	background: var(--lclx-aqua);
	transition: left .5s var(--lclx-ease), right .5s var(--lclx-ease);
}
.elementor-widget.lclx-ft-links .elementor-icon-list-item:hover .elementor-icon-list-text::after {
	left: 0;
	opacity: 1;
	right: 0;
}

/* Contact: aqua line icons in a #333 circle that fills aqua on hover */
.elementor-widget.lclx-ft-contact .elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.elementor-widget.lclx-ft-contact .elementor-icon-list-item > a,
.elementor-widget.lclx-ft-contact .elementor-icon-list-item {
	display: flex;
	align-items: center;
	gap: 12px;
}
.elementor-widget.lclx-ft-contact .elementor-icon-list-icon {
	flex: none;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border-radius: 50%;
	border: 1px solid var(--lclx-border);
	color: var(--lclx-aqua);
	transition: background-color .4s, border-color .4s, color .4s;
}
.elementor-widget.lclx-ft-contact .elementor-icon-list-icon svg {
	width: 16px;
	height: 16px;
}
.elementor-widget.lclx-ft-contact .elementor-icon-list-icon svg * {
	fill: none;
	stroke: currentColor;
}
.elementor-widget.lclx-ft-contact .elementor-icon-list-item:hover .elementor-icon-list-icon {
	background-color: var(--lclx-aqua);
	border-color: var(--lclx-aqua);
	color: #000000;
}

/* Bottom bar */
.e-con.lclx-ft-bar {
	--padding-top: 22px;
	--padding-bottom: 22px;
	margin-top: 64px;
	border-top: 1px solid var(--lclx-border);
}
.elementor-widget.lclx-ft-legal .elementor-icon-list-items {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 0;
}
.elementor-widget.lclx-ft-legal .elementor-icon-list-items.elementor-inline-items {
	margin-left: 0;
	margin-right: 0;
}
.elementor-widget.lclx-ft-legal .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
	margin: 0;
	padding: 0;
}
.elementor-widget.lclx-ft-legal .elementor-icon-list-item::after { display: none; }
.elementor-widget.lclx-ft-legal .elementor-icon-list-icon { display: none; }
.elementor-widget.lclx-ft-legal .elementor-icon-list-text,
.elementor-widget.lclx-ft-copy .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 13px;
	line-height: 1.5;
	padding: 0;
	color: var(--lclx-muted);
	margin: 0;
	transition: color .4s;
}
.elementor-widget.lclx-ft-legal .elementor-icon-list-item:hover .elementor-icon-list-text {
	color: var(--lclx-white);
}

/* Huge faded wordmark */
.lclx-footer > .elementor-widget.lclx-ft-word { width: 100%; }
.elementor-widget.lclx-ft-word .elementor-heading-title {
	padding-top: 10px;
	text-align: center;
	font-family: var(--lclx-sans);
	font-size: clamp(40px, 15vw, 236px);
	font-weight: 500;
	line-height: .82;
	letter-spacing: -0.03em;
	white-space: nowrap;
	background: linear-gradient(180deg, rgba(255, 255, 255, .22) 0%, rgba(255, 255, 255, .02) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	user-select: none;
}

/* Tablet: brand block on top, Explore + Contact side by side */
@media (max-width: 1024px) {
	.lclx-ft-grid > .e-con.lclx-ft-brand {
		grid-column: 1 / -1;
		padding-right: 0;
	}
}

/* Mobile: one column, everything centred; Explore links in two columns */
@media (max-width: 767px) {
	.lclx-ft-grid > .e-con.lclx-ft-brand,
	.lclx-ft-grid > .e-con.lclx-ft-col {
		align-items: center;
		text-align: center;
	}
	.lclx-ft-brand .elementor-widget.lclx-logo-img { text-align: center; }
	.lclx-ft-brand .elementor-widget.lclx-logo-img img { margin: 0 auto; }
	.elementor-widget.lclx-ft-text { margin: 0 auto; }

	.lclx-ft-col > .elementor-widget.lclx-ft-links { width: 100%; }
	.elementor-widget.lclx-ft-links .elementor-icon-list-items {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-items: center;
		gap: 6px 24px;
	}

	.elementor-widget.lclx-ft-contact .elementor-icon-list-items { align-items: center; }
	.elementor-widget.lclx-ft-contact .elementor-icon-list-item,
	.elementor-widget.lclx-ft-contact .elementor-icon-list-item > a { justify-content: center; }

	.e-con.lclx-ft-bar {
		flex-direction: column;
		align-items: center;
		text-align: center;
		margin-top: 48px;
	}
	.elementor-widget.lclx-ft-legal .elementor-icon-list-items { justify-content: center; }
}


/* 30  Legal pages (Terms of Use, Terms of Service, Cancellation, Privacy)
   One container per page; the policy text is a single Text Editor widget
   (lclx-legal-body) so it can be edited like any other text.
   -------------------------------------------------------------------------- */
/* Same charcoal gradient as the footer, faded to black at the top (under the
   header) and at the bottom (into the footer) so there are no hard edges. */
.e-con.lclx-legal {
	background:
		radial-gradient(60% 420px at 78% 0%, rgba(0, 209, 200, .07), rgba(0, 209, 200, 0) 70%),
		linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 360px, rgba(0, 0, 0, 0) calc(100% - 360px), #000000 100%),
		linear-gradient(218deg, var(--lclx-near) 34%, var(--lclx-charcoal) 69%);
}
.lclx-legal > .e-con.lclx-legal-in {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
}
.elementor-widget.lclx-legal-title { margin: 18px 0 14px; }
.elementor-widget.lclx-legal-meta .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 14px;
	line-height: 1.5;
	color: var(--lclx-muted);
	margin: 0;
}
.elementor-widget.lclx-legal-pdf { margin-top: 24px; }
.elementor-widget.lclx-legal-body {
	width: 100%;
	margin-top: 48px;
	padding-top: 40px;
	border-top: 1px solid var(--lclx-border);
	font-family: var(--lclx-sans);
	font-size: 15.5px;
	line-height: 1.75;
	color: var(--lclx-body);
}
.lclx-legal-body h2 {
	margin: 52px 0 18px;
	font-family: var(--lclx-sans);
	font-size: clamp(20px, 1.8vw, 24px);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--lclx-white);
}
.lclx-legal-body h2:first-child { margin-top: 0; }
.lclx-legal-body p,
.lclx-legal-body li { margin: 0 0 14px; }
.lclx-legal-body ul { margin: 0 0 18px; padding-left: 22px; }
.lclx-legal-body li::marker { color: var(--lclx-aqua); }
.lclx-legal-body strong { color: var(--lclx-white); font-weight: 600; }
.lclx-legal-body a {
	color: var(--lclx-aqua);
	text-decoration: underline;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}
.lclx-legal-body a:hover { color: var(--lclx-white); }

/* Numbered clauses: number hangs in the margin, levels indent */
.lclx-legal-body p[class^="lclx-lvl-"] { position: relative; }
.lclx-legal-body .lclx-lvl-1 { padding-left: 52px; }
.lclx-legal-body .lclx-lvl-2 { padding-left: 104px; }
.lclx-legal-body .lclx-lvl-3 { padding-left: 148px; }
.lclx-legal-body .lclx-num {
	position: absolute;
	left: 0;
	color: var(--lclx-muted);
	font-variant-numeric: tabular-nums;
}
.lclx-legal-body .lclx-lvl-2 .lclx-num { left: 52px; }
.lclx-legal-body .lclx-lvl-3 .lclx-num { left: 104px; }
.lclx-legal-body .lclx-end {
	margin-top: 48px;
	text-align: center;
	font-size: 12px;
	letter-spacing: .14em;
	color: var(--lclx-muted-2);
}

/* Tables */
.lclx-legal-body .lclx-table-wrap {
	margin: 8px 0 28px;
	overflow-x: auto;
	border: 1px solid var(--lclx-border);
	border-radius: 16px;
	-webkit-overflow-scrolling: touch;
}
.lclx-legal-body .lclx-table {
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.6;
}
.lclx-legal-body .lclx-table th,
.lclx-legal-body .lclx-table td {
	padding: 14px 16px;
	text-align: left;
	vertical-align: top;
	/* !important only because Aixor's aixor-unit-test.css forces
	   light table borders with !important on every table cell */
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 1px solid var(--lclx-border-soft) !important;
	border-left: 1px solid var(--lclx-border-soft) !important;
}
.lclx-legal-body .lclx-table th:first-child,
.lclx-legal-body .lclx-table td:first-child { border-left: 0 !important; }
.lclx-legal-body .lclx-table tr:last-child td { border-bottom: 0 !important; }
.lclx-legal-body ul { list-style: disc; }
.lclx-legal-body .lclx-table tr:last-child td { border-bottom: 0; }
.lclx-legal-body .lclx-table th {
	background: var(--lclx-card);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lclx-white);
}
.lclx-legal-body .lclx-table--2 td:first-child { width: 34%; }
.lclx-legal-body .lclx-table--cookies { min-width: 760px; font-size: 13.5px; }
.lclx-legal-body .lclx-table--cookies td:nth-child(3) { width: 42%; }
.lclx-legal-body .lclx-table code {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 12.5px;
	color: var(--lclx-white);
	background: none;
	padding: 0;
	overflow-wrap: anywhere;
}
.lclx-legal-body .lclx-table ul { margin: 0; padding-left: 18px; }
.lclx-legal-body .lclx-table li { margin: 0 0 6px; }
.lclx-legal-body .lclx-table p { margin: 8px 0 0; }

@media (max-width: 767px) {
	.elementor-widget.lclx-legal-body { font-size: 15px; margin-top: 36px; padding-top: 32px; }
	.lclx-legal-body .lclx-lvl-1 { padding-left: 42px; }
	.lclx-legal-body .lclx-lvl-2 { padding-left: 66px; }
	.lclx-legal-body .lclx-lvl-3 { padding-left: 84px; }
	.lclx-legal-body .lclx-lvl-2 .lclx-num { left: 24px; }
	.lclx-legal-body .lclx-lvl-3 .lclx-num { left: 42px; }
	.lclx-legal-body .lclx-num { font-size: 13px; }
}


/* 40  Home: Hero
   Full-screen container. Background = poster image now, self-hosted video
   later (Container → Style → Background → Video). The vignette, bottom fade
   and soft aqua glow sit in ::after so they stay over image or video.
   -------------------------------------------------------------------------- */
.e-con.lclx-hero {
	position: relative;
	min-height: clamp(640px, 100vh, 1200px);
	overflow: hidden;
	isolation: isolate;
}
.e-con.lclx-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(40% 32% at 72% 28%, rgba(0, 209, 200, .12), rgba(0, 209, 200, 0) 70%),
		radial-gradient(70% 60% at 50% 48%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .6) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 22%, rgba(0, 0, 0, 0) 72%, #000000 100%);
}
.lclx-hero > .e-con,
.lclx-hero > .elementor-element {
	position: relative;
	z-index: 1;
}
.lclx-hero > .e-con.lclx-hero-in {
	width: 100%;
	max-width: 1100px;
	text-align: center;
}

/* Headline: "The Home of" in Arapey italic, "Luxury Boats" in light Urbanist italic */
.elementor-widget.lclx-hero-title .elementor-heading-title .lclx-it {
	font-style: italic;
}
/* Elementor caps widgets with .elementor.elementor .e-con > .elementor-widget { max-width:100% } */
.elementor.elementor .e-con > .elementor-widget.lclx-hero-sub { max-width: 620px; }
.elementor-widget.lclx-hero-sub {
	font-family: var(--lclx-sans);
	font-size: clamp(17px, 1.4vw, 20px);
	line-height: 1.65;
	color: var(--lclx-body);
}
.elementor-widget.lclx-hero-sub p { margin: 0; }
.lclx-hero-in > .e-con.lclx-hero-ctas { margin-top: 10px; }

/* Scroll cue: mouse outline with an aqua dot that drops */
.lclx-hero > .e-con.lclx-cue {
	position: absolute;
	left: 50%;
	bottom: 36px;
	width: auto;
	transform: translateX(-50%);
	padding-top: 48px;
}
.lclx-hero > .e-con.lclx-cue::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 38px;
	margin-left: -12px;
	border-radius: 12px;
	border: 1.5px solid rgba(255, 255, 255, .4);
	box-sizing: border-box;
}
.lclx-hero > .e-con.lclx-cue::after {
	content: "";
	position: absolute;
	top: 8px;
	left: 50%;
	width: 3px;
	height: 7px;
	margin-left: -1.5px;
	border-radius: 2px;
	background: var(--lclx-aqua);
	animation: lclx-cue 2.2s ease-in-out infinite;
}
@keyframes lclx-cue {
	0%   { transform: translateY(0); opacity: 0; }
	30%  { opacity: 1; }
	100% { transform: translateY(18px); opacity: 0; }
}
.elementor-widget.lclx-cue-t .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 11px;
	line-height: 1;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--lclx-muted);
	margin: 0;
}

/* Google rating card, bottom right */
.lclx-hero > .e-con.lclx-hero-rating {
	--padding-top: 14px;
	--padding-right: 20px;
	--padding-bottom: 14px;
	--padding-left: 20px;
	position: absolute;
	right: var(--lclx-gutter);
	bottom: 32px;
	width: auto;
	transition: border-color .4s;
}
.lclx-hero > .e-con.lclx-hero-rating:hover { border-color: var(--lclx-aqua); }
.elementor-widget.lclx-star .elementor-icon {
	font-size: 22px;
	color: var(--lclx-aqua);
	fill: var(--lclx-aqua);
}
.elementor-widget.lclx-star .elementor-icon svg {
	width: 22px;
	height: 22px;
	fill: var(--lclx-aqua);
}
.elementor-widget.lclx-rating-1 .elementor-heading-title,
.elementor-widget.lclx-rating-2 .elementor-heading-title {
	font-family: var(--lclx-sans);
	line-height: 1.35;
	margin: 0;
	text-align: left;
}
.elementor-widget.lclx-rating-1 .elementor-heading-title { font-size: 15px; font-weight: 500; color: var(--lclx-white); }
.elementor-widget.lclx-rating-2 .elementor-heading-title { font-size: 12.5px; color: var(--lclx-muted); }

@media (max-width: 767px) {
	.lclx-hero > .e-con.lclx-cue { bottom: 28px; }
}
@media (min-width: 2400px) {
	.lclx-hero > .e-con.lclx-hero-rating { right: calc((100vw - 1360px) / 2); }
}


/* 41  Home: About us
   Black into charcoal #1C1C1C, so it melts into the Fleet header.
   -------------------------------------------------------------------------- */
.e-con.lclx-about {
	background: linear-gradient(180deg, #000000 0%, #000000 30%, var(--lclx-charcoal-2) 100%);
}
.lclx-about > .e-con.lclx-about-in {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
}
/* Span-level gradient for one line of a heading: <span class="lclx-g"> */
.elementor-heading-title .lclx-g {
	background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, .5) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.elementor-widget.lclx-about-title .elementor-heading-title em { color: var(--lclx-white); }
.elementor-widget.lclx-about-tag .elementor-heading-title {
	font-size: clamp(22px, 2vw, 28px);
	line-height: 1.3;
	color: var(--lclx-white);
	margin: 0;
}
.elementor.elementor .e-con > .elementor-widget.lclx-about-text { max-width: 900px; }
.elementor-widget.lclx-about-text {
	margin-top: 18px;
	font-family: var(--lclx-sans);
	font-size: clamp(24px, 2.6vw, 38px);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: -0.02em;
}
.elementor-widget.lclx-about-text p { margin: 0; }
.elementor-widget.lclx-about-cta { margin-top: 18px; }
/* Thin aqua line dropping into the Fleet */
.lclx-about > .e-con.lclx-about-line {
	align-items: center;
	padding-top: 60px;
}
.lclx-about > .e-con.lclx-about-line::after {
	content: "";
	display: block;
	width: 1px;
	height: 100px;
	background: linear-gradient(180deg, rgba(0, 209, 200, 0) 0%, var(--lclx-aqua) 100%);
}


/* 42  Home: The Fleet (locked design)
   Four panels in one row, 25vw wide, height 25vw × 1480/1090. Hover: the
   panel grows (2.3), the others shrink (0.75) and dim; portrait photo
   cross-fades to the wide photo; text slides from the bottom to the middle.
   Photos = the two "shot" containers' backgrounds (Style → Background).
   -------------------------------------------------------------------------- */
.e-con.lclx-fleet {
	background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-charcoal) 460px), var(--lclx-charcoal);
}
.lclx-fleet > .e-con.lclx-fleet-head {
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
	text-align: center;
}
.elementor.elementor .e-con > .elementor-widget.lclx-fleet-intro { max-width: 560px; }
.elementor-widget.lclx-fleet-intro {
	font-family: var(--lclx-sans);
	font-size: 16px;
	line-height: 1.7;
	color: var(--lclx-body);
}
.elementor-widget.lclx-fleet-intro p { margin: 0; }

.lclx-fleet > .e-con.lclx-cats {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0;
	width: 100%;
	height: calc(25vw * 1480 / 1090);
}
.lclx-cats > .e-con.lclx-cat {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	position: relative;
	display: block;
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	height: 100%;
	overflow: hidden;
	color: var(--lclx-white);
	isolation: isolate;
	transition: flex-grow 1s var(--lclx-ease);
}
.lclx-cats > .e-con.lclx-cat + .e-con.lclx-cat { border-left: 1px solid rgba(255, 255, 255, .10); }

/* Photo layer (two stacked "shot" containers) */
.lclx-cat > .e-con.lclx-cat-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: #0B0B0B;
	transition: transform 2s cubic-bezier(.2, 0, .1, 1), filter 1s;
}
.lclx-cat-bg > .e-con.lclx-shot {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transition: opacity 1s var(--lclx-ease);
}
.lclx-cat-bg > .e-con.lclx-shot-wide { opacity: 0; }

/* Shade + extra 28% dark on hover */
.lclx-cats > .e-con.lclx-cat::before,
.lclx-cats > .e-con.lclx-cat::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	border: 0;
	mix-blend-mode: normal;
	width: auto;
	height: auto;
	top: 0;
	left: 0;
	display: block;
}
.lclx-cats > .e-con.lclx-cat::before {
	opacity: 1;
	background: linear-gradient(180deg, rgba(0, 0, 0, .45) 0%, rgba(0, 0, 0, .18) 30%, rgba(0, 0, 0, .25) 55%, rgba(0, 0, 0, .88) 100%);
}
.lclx-cats > .e-con.lclx-cat::after {
	background: rgba(0, 0, 0, .28);
	opacity: 0;
	transition: opacity .9s;
}

/* Top row: number + guests */
.lclx-cat > .e-con.lclx-cat-meta {
	position: absolute;
	top: 22px;
	left: 22px;
	right: 22px;
	width: auto;
	z-index: 2;
	transition: opacity .8s;
}
.elementor-widget.lclx-cat-meta-t .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 11.5px;
	line-height: 1.3;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #CCCCCC;
	margin: 0;
}

/* Text block: grid rows 1fr auto 0fr → 1fr auto 1fr moves it to the middle */
.lclx-cat > .e-con.lclx-cat-body {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: grid;
	grid-template-rows: 1fr auto 0fr;
	justify-items: center;
	width: auto;
	text-align: center;
	--padding-top: 0px;
	--padding-right: 20px;
	--padding-bottom: 34px;
	--padding-left: 20px;
	transition: grid-template-rows 1s var(--lclx-ease), padding 1s var(--lclx-ease), opacity .8s;
}
.lclx-cat-body > .e-con.lclx-cat-sp { min-height: 0; width: 100%; }
.lclx-cat-body > .e-con.lclx-cat-inner { width: 100%; align-items: center; }

.elementor-widget.lclx-cat-eyebrow .elementor-heading-title {
	font-family: var(--lclx-serif);
	font-style: italic;
	font-size: 24px;
	line-height: 1.2;
	color: #E6E6E6;
	margin: 0 0 8px;
}
.elementor-widget.lclx-cat-title .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: clamp(22px, 2.1vw, 32px);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: .16em;
	color: var(--lclx-white);
	margin: 0;
	transition: letter-spacing 1s var(--lclx-ease);
}
.elementor-widget.lclx-cat-title .elementor-heading-title::after {
	content: "";
	display: block;
	width: 0;
	height: 1px;
	margin: 16px auto 0;
	background: var(--lclx-aqua);
	transition: width .9s .15s var(--lclx-ease);
}
.elementor-widget.lclx-cat-more {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	font-family: var(--lclx-sans);
	font-size: 14px;
	line-height: 1.7;
	color: #E6E6E6;
	transition: max-height .9s var(--lclx-ease), opacity .6s .25s;
}
.elementor.elementor .e-con > .elementor-widget.lclx-cat-more { max-width: 300px; }
.elementor-widget.lclx-cat-more p { margin: 12px auto 0; }

/* "Discover" button (not a link itself: the whole panel is the link) */
.lclx-cat-inner > .e-con.lclx-cat-btn {
	position: relative;
	width: auto;
	height: 48px;
	margin-top: 26px;
	--padding-left: 32px;
	--padding-right: 32px;
	border: 1px solid rgba(255, 255, 255, .5);
	color: var(--lclx-white);
	overflow: hidden;
	isolation: isolate;
	transition: color .55s var(--lclx-ease), border-color .55s;
}
.lclx-cat-inner > .e-con.lclx-cat-btn::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	display: block;
	width: auto;
	height: auto;
	top: 0;
	left: 0;
	border: 0;
	opacity: 1;
	background: #FFFFFF;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .6s var(--lclx-ease);
}
.lclx-cat-inner > .e-con.lclx-cat-btn::after {
	content: "";
	position: absolute;
	inset: 3px;
	border: 1px solid rgba(255, 255, 255, .16);
	pointer-events: none;
	transition: inset .55s var(--lclx-ease), opacity .55s;
}
.elementor-widget.lclx-cat-btn-t .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 11.5px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: inherit;
	margin: 0;
}
.lclx-cat-btn .elementor-widget.lclx-ar { transition: transform .55s var(--lclx-ease); }

/* Desktop hover behaviour */
@media (min-width: 1201px) and (hover: hover) {
	.lclx-fleet > .e-con.lclx-cats:hover > .e-con.lclx-cat { flex-grow: .75; }
	.lclx-fleet > .e-con.lclx-cats > .e-con.lclx-cat:hover { flex-grow: 2.3; }
	.lclx-cat:hover > .e-con.lclx-cat-bg { transform: scale(1.04); }
	.lclx-cat.lclx-cat--nozoom:hover > .e-con.lclx-cat-bg { transform: none; }
	.lclx-cats:hover > .lclx-cat:not(:hover) > .e-con.lclx-cat-bg { filter: saturate(.4) brightness(.5); }
	.lclx-cat:hover .lclx-cat-bg > .e-con.lclx-shot-wide { opacity: 1; }
	.lclx-cat:hover .lclx-cat-bg > .e-con.lclx-shot-portrait { opacity: 0; }
	.lclx-cats > .e-con.lclx-cat:hover::after { opacity: 1; }
	.lclx-cat:hover > .e-con.lclx-cat-body { grid-template-rows: 1fr auto 1fr; --padding-bottom: 0px; }
	.lclx-cats:hover > .lclx-cat:not(:hover) > .e-con.lclx-cat-body,
	.lclx-cats:hover > .lclx-cat:not(:hover) > .e-con.lclx-cat-meta { opacity: 0; }
	.lclx-cat:hover .elementor-widget.lclx-cat-title .elementor-heading-title { letter-spacing: .24em; }
	.lclx-cat:hover .elementor-widget.lclx-cat-title .elementor-heading-title::after { width: 72px; }
	.lclx-cat:hover .elementor-widget.lclx-cat-more { max-height: 160px; opacity: 1; }
	.lclx-cat:hover .lclx-cat-inner > .e-con.lclx-cat-btn { color: #000000; border-color: var(--lclx-aqua); }
	.lclx-cat:hover .lclx-cat-inner > .e-con.lclx-cat-btn::before { background: rgba(0, 209, 200, .85); transform: scaleX(1); transform-origin: left center; }
	.lclx-cat:hover .lclx-cat-inner > .e-con.lclx-cat-btn::after { inset: -1px; opacity: 0; }
	.lclx-cat:hover .lclx-cat-btn .elementor-widget.lclx-ar { transform: translateX(6px); }
}

/* Tablet landscape and below: no hover needed, text in the middle, description shown */
@media (max-width: 1200px) {
	.lclx-fleet > .e-con.lclx-cats {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		height: auto;
	}
	.lclx-cats > .e-con.lclx-cat {
		height: auto;
		aspect-ratio: 1090 / 1480;
		transition: none;
	}
	.lclx-cats > .e-con.lclx-cat + .e-con.lclx-cat { border-left: 0; }
	.lclx-cats > .e-con.lclx-cat:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, .10); }
	.lclx-cats > .e-con.lclx-cat:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .10); }
	.lclx-cat > .e-con.lclx-cat-body { grid-template-rows: 1fr auto 1fr; --padding-bottom: 0px; }
	.elementor-widget.lclx-cat-title .elementor-heading-title::after { width: 72px; }
	.elementor-widget.lclx-cat-more { max-height: 140px; opacity: 1; }
}
/* Bright photo (white hull): darken a touch so the text reads; the hover dimming still wins */
.lclx-cat.lclx-cat--bright > .e-con.lclx-cat-bg { filter: brightness(.78); }
/* Odd panel count (five boats): the last panel spans the row and shows its wide photo */
@media (min-width: 768px) and (max-width: 1200px) {
	.lclx-cats > .e-con.lclx-cat:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		aspect-ratio: 16 / 9;
		border-left: 0;
	}
	.lclx-cat:last-child:nth-child(odd) .lclx-cat-bg > .e-con.lclx-shot-wide { opacity: 1; }
	.lclx-cat:last-child:nth-child(odd) .lclx-cat-bg > .e-con.lclx-shot-portrait { opacity: 0; }
}
@media (max-width: 767px) {
	.lclx-fleet > .e-con.lclx-cats { grid-template-columns: minmax(0, 1fr); }
	.lclx-cats > .e-con.lclx-cat:nth-child(even) { border-left: 0; }
	.lclx-cats > .e-con.lclx-cat + .e-con.lclx-cat { border-top: 1px solid rgba(255, 255, 255, .10); }
	.elementor-widget.lclx-cat-title .elementor-heading-title { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
	.lclx-cats > .e-con.lclx-cat,
	.lclx-cat > .e-con.lclx-cat-bg { transition: none; }
}


/* 43  Home: Villages marquee (Heading widgets in a track; list is doubled for a seamless loop)
   -------------------------------------------------------------------------- */
.e-con.lclx-marquee {
	--padding-top: 34px;
	--padding-bottom: 34px;
	overflow: hidden;
	background: linear-gradient(180deg, #050505 0%, #000000 100%);
}
.lclx-marquee > .e-con.lclx-marquee-track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 44px;
	width: max-content;
	animation: lclx-marquee 80s linear infinite;
}
.lclx-marquee:hover > .e-con.lclx-marquee-track { animation-play-state: paused; }
@keyframes lclx-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(calc(-50% - 22px)); }
}
.lclx-marquee-track > .elementor-widget { width: auto; flex: none; }
.elementor-widget.lclx-mq .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 44px;
	white-space: nowrap;
	font-family: var(--lclx-sans);
	font-size: clamp(36px, 3.9vw, 56px);
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--lclx-white);
	margin: 0;
}
.elementor-widget.lclx-mq:nth-child(even) .elementor-heading-title {
	font-family: var(--lclx-serif);
	font-style: italic;
	font-weight: 400;
	color: rgba(255, 255, 255, .45);
}
.elementor-widget.lclx-mq .elementor-heading-title::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--lclx-aqua);
}


/* 44  Home: "Every route, shaped around you."
   -------------------------------------------------------------------------- */
.e-con.lclx-route {
	position: relative;
	min-height: 820px;
	overflow: hidden;
	isolation: isolate;
}
.e-con.lclx-route::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, .55) 24%, rgba(0, 0, 0, .4) 50%, rgba(10, 10, 10, .6) 74%, #0A0A0A 100%),
		radial-gradient(60% 50% at 50% 50%, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0) 75%);
}
.lclx-route > .elementor-element,
.lclx-route > .e-con { position: relative; z-index: 1; }
.lclx-route > .e-con.lclx-route-rule {
	width: 100%;
	max-width: 1100px;
	height: 1px;
	min-height: 1px;
	background: linear-gradient(90deg, rgba(0, 209, 200, 0) 0%, var(--lclx-aqua) 50%, rgba(0, 209, 200, 0) 100%);
}
@media (max-width: 767px) {
	.e-con.lclx-route { min-height: 520px; }
}


/* 45  Home: Tour durations (Nested Tabs) + lake map
   -------------------------------------------------------------------------- */
.e-con.lclx-tours {
	background:
		linear-gradient(180deg, #0A0A0A 0%, rgba(10, 10, 10, 0) 320px),
		linear-gradient(0deg, #000000 0%, rgba(0, 0, 0, 0) 360px),
		linear-gradient(218deg, var(--lclx-near) 34%, var(--lclx-charcoal) 69%);
}
.lclx-tours > .e-con.lclx-tours-in {
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
}
.lclx-tours-in > .e-con.lclx-tours-left { flex: 1 1 520px; min-width: 0; }
.lclx-tours-in > .e-con.lclx-tours-right { flex: 1 1 460px; min-width: 0; }
.elementor.elementor .e-con > .elementor-widget.lclx-tours-intro { max-width: 520px; }
.elementor-widget.lclx-tours-intro {
	margin: -6px 0 6px;
	font-family: var(--lclx-sans);
	font-size: 17px;
	line-height: 1.75;
	color: rgba(255, 255, 255, .7);
}
.elementor-widget.lclx-tours-intro p { margin: 0; }
.elementor-widget.lclx-h .elementor-heading-title .lclx-g + em,
.elementor-widget.lclx-tours-title .elementor-heading-title em { color: var(--lclx-white); }

/* Tab titles: big numbers, aqua underline on the active one */
.lclx-dur-tabs { width: 100%; }
.lclx-dur-tabs .e-n-tabs {
	--n-tabs-title-gap: 0px;
	--n-tabs-gap: 28px;
	/* Set one level below the widget so these beat Elementor's per-widget defaults */
	--n-tabs-title-background-color: transparent;
	--n-tabs-title-background-color-hover: transparent;
	--n-tabs-title-background-color-active: transparent;
	--n-tabs-title-color: #666666;
	--n-tabs-title-color-hover: #BBBBBB;
	--n-tabs-title-color-active: #FFFFFF;
	--n-tabs-title-border-color: transparent;
	--n-tabs-title-border-width: 0px;
	--n-tabs-title-padding-top: 6px;
	--n-tabs-title-padding-bottom: 14px;
	--n-tabs-title-padding-left: 0px;
	--n-tabs-title-padding-right: 0px;
	--n-tabs-border-width: 0px;
}
.lclx-dur-tabs .e-n-tabs-heading {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	border-bottom: 1px solid var(--lclx-border);
	overflow-x: auto;
	scrollbar-width: none;
}
.lclx-dur-tabs .e-n-tabs-heading::-webkit-scrollbar { display: none; }
.lclx-dur-tabs.elementor-widget-n-tabs .e-n-tab-title {
	flex: 1 1 64px;
	min-width: 56px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	padding: 6px 0 14px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #666666;
	box-shadow: none;
	transition: color .4s, box-shadow .5s;
}
.lclx-dur-tabs.elementor-widget-n-tabs .e-n-tab-title:hover { color: #BBBBBB; background: transparent; }
.lclx-dur-tabs.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] {
	color: var(--lclx-white);
	background: transparent;
	box-shadow: inset 0 -2px 0 var(--lclx-aqua);
}
.lclx-dur-tabs .e-n-tab-title-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	font-family: var(--lclx-sans);
	font-size: 48px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.03em;
	color: inherit;
}
.lclx-dur-tabs .e-n-tab-title-text small {
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.lclx-dur-tabs .e-n-tabs-content > .e-con {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	min-height: 340px;
	border: 0;
	background: transparent;
}

/* Tab content */
.elementor-widget.lclx-dur-name .elementor-heading-title {
	font-family: var(--lclx-serif);
	font-style: italic;
	font-size: 34px;
	line-height: 1.15;
	color: var(--lclx-white);
	margin: 0;
}
.elementor.elementor .e-con > .elementor-widget.lclx-dur-line,
.elementor.elementor .e-con > .elementor-widget.lclx-dur-note { max-width: 480px; }
.elementor-widget.lclx-dur-line { font-family: var(--lclx-sans); font-size: 16px; line-height: 1.75; color: var(--lclx-body); }
.elementor-widget.lclx-dur-note { margin-top: 4px; font-family: var(--lclx-sans); font-size: 13.5px; line-height: 1.65; color: var(--lclx-muted); }
.elementor-widget.lclx-dur-line p,
.elementor-widget.lclx-dur-note p { margin: 0; }
.elementor-widget.lclx-dur-label .elementor-heading-title {
	margin: 8px 0 0;
	font-family: var(--lclx-sans);
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lclx-muted);
}

/* Chips (Icon List, inline). lclx-chips = outline chips; lclx-chips--info = filled with aqua icons */
.elementor-widget.lclx-chips .elementor-icon-list-items {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}
.elementor-widget.lclx-chips .elementor-icon-list-items.elementor-inline-items { margin: 0; }
.elementor-widget.lclx-chips .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item,
.elementor-widget.lclx-chips .elementor-icon-list-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 9px 16px;
	border-radius: 30px;
	border: 1px solid var(--lclx-border);
}
.elementor-widget.lclx-chips .elementor-icon-list-item::after { display: none; }
.elementor-widget.lclx-chips .elementor-icon-list-text {
	padding: 0;
	font-family: var(--lclx-sans);
	font-size: 13.5px;
	line-height: 1.2;
	color: rgba(255, 255, 255, .8);
}
.elementor-widget.lclx-chips--info .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item,
.elementor-widget.lclx-chips--info .elementor-icon-list-item {
	padding: 9px 14px;
	background: var(--lclx-card);
}
.elementor-widget.lclx-chips--info .elementor-icon-list-text { font-size: 13px; color: var(--lclx-white); }
.elementor-widget.lclx-chips .elementor-icon-list-icon { padding: 0; color: var(--lclx-aqua); }
.elementor-widget.lclx-chips .elementor-icon-list-icon svg {
	width: 14px;
	height: 14px;
}
.elementor-widget.lclx-chips .elementor-icon-list-icon svg * { fill: none; stroke: var(--lclx-aqua); }

.lclx-dur-ctas { margin-top: 10px; }
.elementor-widget.lclx-to-custom .elementor-heading-title a {
	position: relative;
	display: inline-block;
	padding: 8px 0;
	font-family: var(--lclx-sans);
	font-size: 15px;
	color: var(--lclx-white);
}

/* Map card */
.elementor-widget.lclx-map-w { width: 100%; max-width: 600px; }
.lclx-map {
	position: relative;
	width: 100%;
	padding: 26px 22px 18px;
	overflow: hidden;
	border-radius: 16px;
	border: 1px solid var(--lclx-border);
	background: #0B0B0B;
	font-family: var(--lclx-sans);
}
.lclx-map-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	padding: 0 6px;
}
.lclx-map-name { display: flex; flex-direction: column; gap: 6px; }
.lclx-map-label {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--lclx-white);
}
.lclx-map-label::before {
	content: "";
	width: 32px;
	height: 1px;
	background: var(--lclx-aqua);
}
.lclx-map-title { font-family: var(--lclx-serif); font-style: italic; font-size: 28px; line-height: 1.1; color: var(--lclx-white); }
.lclx-map-count { text-align: right; }
.lclx-map-num { font-size: 44px; font-weight: 300; line-height: 1; letter-spacing: -0.03em; color: var(--lclx-white); }
.lclx-map-unit { margin-top: 6px; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--lclx-aqua); }
.lclx-map-svg { display: block; width: 100%; height: auto; margin-top: 6px; overflow: visible; }
.lclx-map .lclx-lake-band { fill: none; stroke: rgba(255, 255, 255, .08); stroke-width: 16px; stroke-linecap: round; stroke-linejoin: round; }
.lclx-map .lclx-lake-line { fill: none; stroke: rgba(255, 255, 255, .22); stroke-width: 1px; stroke-linecap: round; stroke-linejoin: round; }
.lclx-map .lclx-arm {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 100 200;
	stroke-dashoffset: 100;
	transition: stroke-dashoffset 1.3s cubic-bezier(.2, .7, .2, 1);
}
.lclx-map .lclx-arm-glow { stroke: rgba(0, 209, 200, .22); stroke-width: 16px; }
.lclx-map .lclx-arm-line { stroke: var(--lclx-aqua); stroke-width: 2.6px; }
/* Tours never go down the Lecco arm: its villages stay on the map as names only */
.lclx-map .lclx-arm[data-arm="east"] { display: none; }
.lclx-map .lclx-pl { cursor: pointer; outline: none; }
.lclx-map .lclx-hit { fill: transparent; }
.lclx-map .lclx-mk { fill: #4A4A4A; transition: fill .4s; }
.lclx-map .lclx-pl text {
	fill: #555555;
	font-family: var(--lclx-sans);
	font-size: 8.5px;
	font-weight: 500;
	letter-spacing: 1.4px;
	transition: fill .4s;
}
.lclx-map .lclx-pl.is-lit .lclx-mk { fill: var(--lclx-aqua); filter: drop-shadow(0 0 3px rgba(0, 209, 200, .6)); }
.lclx-map .lclx-pl.is-lit text { fill: #FFFFFF; }
.lclx-map .lclx-pl:hover text,
.lclx-map .lclx-pl:focus-visible text { fill: var(--lclx-aqua); }
.lclx-map .lclx-tip { opacity: 0; pointer-events: none; overflow: visible; transition: opacity .25s; }
.lclx-map .lclx-tip.is-on { opacity: 1; }
.lclx-map .lclx-tipc {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 10px 12px 11px;
	border-radius: 10px;
	border: 1px solid var(--lclx-border);
	background: rgba(14, 14, 14, .96);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .5);
	font-family: var(--lclx-sans);
}
.lclx-map .lclx-tipt { font-size: 8px; letter-spacing: .2em; text-transform: uppercase; color: var(--lclx-aqua); }
.lclx-map .lclx-tipn { font-family: var(--lclx-serif); font-style: italic; font-size: 15px; line-height: 1.1; color: #FFFFFF; }
.lclx-map .lclx-tipd { font-size: 9.5px; line-height: 1.45; color: #AAAAAA; }
.lclx-map .lclx-north { fill: none; stroke: rgba(255, 255, 255, .35); stroke-width: 1px; }
.lclx-map .lclx-north path { fill: var(--lclx-aqua); stroke: none; }
.lclx-map .lclx-north text { fill: #999999; stroke: none; font-size: 9px; letter-spacing: 1.5px; font-family: var(--lclx-sans); text-anchor: middle; }
.lclx-map-legend {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 22px;
	padding-top: 6px;
	font-size: 13px;
	color: rgba(255, 255, 255, .7);
}
.lclx-map-legend span { display: inline-flex; align-items: center; gap: 8px; }
.lclx-map-legend i { display: inline-block; flex: none; }
.lclx-lg-on { width: 8px; height: 8px; border-radius: 50%; background: var(--lclx-aqua); box-shadow: 0 0 8px var(--lclx-aqua); }
.lclx-lg-off { width: 8px; height: 8px; border-radius: 50%; background: #4A4A4A; }
.lclx-lg-hotel { width: 7px; height: 7px; transform: rotate(45deg); border: 1.5px solid #888888; }
.lclx-map-hint { padding-top: 8px; text-align: center; font-size: 12px; color: var(--lclx-muted-2); }
.elementor.elementor .e-con > .elementor-widget.lclx-map-note { max-width: 440px; }
.elementor-widget.lclx-map-note { font-family: var(--lclx-sans); font-size: 13px; line-height: 1.6; color: var(--lclx-muted-2); }
.elementor-widget.lclx-map-note p { margin: 0; }

@media (max-width: 1024px) {
	.lclx-tours-in > .e-con.lclx-tours-left,
	.lclx-tours-in > .e-con.lclx-tours-right { flex-basis: 100%; }
	.lclx-map-hint { display: none; }
}
@media (max-width: 767px) {
	.lclx-dur-tabs .e-n-tab-title-text { font-size: 38px; }
	.lclx-dur-tabs.elementor-widget-n-tabs .e-n-tabs-heading > .e-n-tab-title {
		flex: 0 0 auto;
		width: auto;
		min-width: 64px;
		padding-right: 18px;
	}
	.lclx-map { padding: 20px 12px 14px; }
	/* viewBox is cropped to 420 wide on phones (lclx.js): 10.8 units ≈ 9px on screen */
	.lclx-map .lclx-pl text { font-size: 10.8px; letter-spacing: .9px; }
	.lclx-map .lclx-pl:not(.is-lit) text { opacity: 0; }
	.lclx-map[data-tour="8"] .lclx-pl text,
	.lclx-map[data-tour="custom"] .lclx-pl text { opacity: 1; }
	.lclx-map[data-tour="8"] .lclx-pl--hotel text,
	.lclx-map[data-tour="custom"] .lclx-pl--hotel text { opacity: 0; }
}


/* 46  Home: Services bento (Grid container, 4 columns, 300px rows)
   -------------------------------------------------------------------------- */
.e-con.lclx-services { background: #000000; }
.lclx-services > .e-con.lclx-services-in { width: 100%; max-width: 1360px; margin: 0 auto; }
.elementor.elementor .e-con > .elementor-widget.lclx-services-intro { max-width: 620px; }
.elementor-widget.lclx-services-intro { font-family: var(--lclx-sans); font-size: 17px; line-height: 1.75; color: rgba(255, 255, 255, .7); }
.elementor-widget.lclx-services-intro p { margin: 0; }
.lclx-services-in > .e-con.lclx-occ {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 300px;
	gap: 16px;
	width: 100%;
}
.lclx-occ > .e-con.lclx-ot {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: auto;
	height: auto;
	overflow: hidden;
	isolation: isolate;
	border-radius: 16px;
	border: 1px solid var(--lclx-border-soft);
	color: var(--lclx-white);
}
.lclx-occ > .e-con.lclx-ot--big { grid-column: span 2; grid-row: span 2; }
.lclx-occ > .e-con.lclx-ot--wide { grid-column: span 2; }
.lclx-ot > .e-con.lclx-ot-bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	transition: transform 1.4s cubic-bezier(.2, .7, .2, 1);
}
.lclx-occ > .e-con.lclx-ot::before {
	content: "";
	position: absolute;
	inset: 0;
	top: 0;
	left: 0;
	width: auto;
	height: auto;
	display: block;
	border: 0;
	opacity: 1;
	mix-blend-mode: normal;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, .45) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .25) 55%, rgba(0, 0, 0, .85) 100%);
	transition: background .8s;
}
.lclx-occ > .e-con.lclx-ot:hover::before {
	background: linear-gradient(180deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .25) 35%, rgba(0, 0, 0, .55) 60%, rgba(0, 0, 0, .92) 100%);
}
.lclx-occ > .e-con.lclx-ot:hover > .e-con.lclx-ot-bg { transform: scale(1.06); }
.lclx-ot > .e-con.lclx-ot-top { --padding-top: 22px; --padding-right: 22px; --padding-left: 22px; }
.elementor-widget.lclx-ot-no .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 13px;
	letter-spacing: .2em;
	color: rgba(255, 255, 255, .7);
	margin: 0;
}
.elementor-widget.lclx-ot-go .elementor-icon {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, .5);
	color: var(--lclx-white);
	font-size: 14px;
	transition: background-color .45s, border-color .45s, color .45s;
}
.elementor-widget.lclx-ot-go .elementor-icon svg { width: 14px; height: 14px; transition: transform .5s var(--lclx-ease); }
.elementor-widget.lclx-ot-go svg path { fill: none; stroke: currentColor; }
.lclx-ot:hover .elementor-widget.lclx-ot-go .elementor-icon { background-color: var(--lclx-aqua); border-color: var(--lclx-aqua); color: #000000; }
.lclx-ot:hover .elementor-widget.lclx-ot-go .elementor-icon svg { transform: rotate(45deg); }
.lclx-ot > .e-con.lclx-ot-body { --padding-right: 24px; --padding-bottom: 24px; --padding-left: 24px; }
.elementor-widget.lclx-ot-eyebrow .elementor-heading-title {
	font-family: var(--lclx-serif);
	font-style: italic;
	font-size: 17px;
	line-height: 1.3;
	color: rgba(255, 255, 255, .75);
	margin: 0;
}
.elementor-widget.lclx-ot-title .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: clamp(30px, 2.6vw, 40px);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--lclx-white);
	margin: 0;
}
.lclx-ot--big .elementor-widget.lclx-ot-title .elementor-heading-title { font-size: clamp(44px, 4.6vw, 72px); }
/* Tags slide up on hover (grid-template-rows 0fr → 1fr) */
.lclx-ot-body > .e-con.lclx-ot-more {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .7s cubic-bezier(.2, .7, .2, 1);
}
.lclx-ot:hover .lclx-ot-body > .e-con.lclx-ot-more { grid-template-rows: 1fr; }
.lclx-ot-more > .elementor-widget { min-height: 0; overflow: hidden; }
.elementor-widget.lclx-ot-tags .elementor-icon-list-items {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding-top: 14px;
}
.elementor-widget.lclx-ot-tags .elementor-icon-list-items.elementor-inline-items { margin: 0; }
.elementor-widget.lclx-ot-tags .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item,
.elementor-widget.lclx-ot-tags .elementor-icon-list-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	margin: 0;
	padding: 8px 16px;
	border-radius: 30px;
	border: 1px solid rgba(255, 255, 255, .22);
	background: rgba(0, 0, 0, .45);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.elementor-widget.lclx-ot-tags .elementor-icon-list-item::after,
.elementor-widget.lclx-ot-tags .elementor-icon-list-icon { display: none; }
.elementor-widget.lclx-ot-tags .elementor-icon-list-text {
	padding: 0;
	text-align: center;
	font-family: var(--lclx-sans);
	font-size: 13px;
	line-height: 1.2;
	color: var(--lclx-white);
}
.lclx-ot--big .elementor-widget.lclx-ot-tags .elementor-icon-list-text { font-size: 14px; }

/* Tablet and phone: no hover, so no tag pills; just the headline and the occasion (tile is the link) */
@media (max-width: 1024px) {
	.lclx-services-in > .e-con.lclx-occ { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lclx-ot-body > .e-con.lclx-ot-more { display: none; }
}
@media (max-width: 767px) {
	.lclx-services-in > .e-con.lclx-occ { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 360px; }
	.lclx-occ > .e-con.lclx-ot--big,
	.lclx-occ > .e-con.lclx-ot--wide { grid-column: auto; grid-row: auto; }
}


/* 47  Home: Reviews (Aixor testimonial widget, restyled; endless strip that pauses on hover)
   -------------------------------------------------------------------------- */
.e-con.lclx-reviews { overflow: hidden; background: linear-gradient(180deg, #000000 0%, #000000 20%, var(--lclx-near-2) 100%); }
.lclx-reviews > .e-con.lclx-reviews-head { width: 100%; max-width: 1360px; margin: 0 auto; }
.elementor-widget.lclx-rv-big .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 64px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--lclx-white);
	margin: 0;
}
.elementor-widget.lclx-rv-stars .elementor-star-rating { color: #333333; font-size: 16px; }
.elementor-widget.lclx-rv-stars .elementor-star-rating i::before { color: var(--lclx-aqua); }
.elementor-widget.lclx-rv-from .elementor-heading-title { font-family: var(--lclx-sans); font-size: 14px; color: var(--lclx-muted); margin: 0; }
.lclx-reviews .testimonial-sec { padding: 0; }
.lclx-reviews .testimonial-lists-wrap { cursor: auto; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%); }
.lclx-reviews .testimonial-lists-wrap .hover_mouse { display: none; }
/* The strip is a horizontal scroller moved by lclx.js (drift, arrows, drag, swipe) */
.lclx-reviews .testimonial-lists-wrap {
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	cursor: grab;
}
.lclx-reviews .testimonial-lists-wrap::-webkit-scrollbar { display: none; }
.lclx-reviews .testimonial-lists-wrap.is-dragging { cursor: grabbing; user-select: none; }
.lclx-reviews .testimonial-lists-wrap .testimonial-lists {
	gap: 0;
	width: max-content;
	animation: none;
	transform: none;
}
/* Arrow buttons either side of "All reviews on Google" */
.elementor-widget.lclx-rv-prev .elementor-icon svg,
.elementor-widget.lclx-rv-next .elementor-icon svg { width: 16px; height: 16px; }
.elementor-widget.lclx-rv-prev .elementor-icon,
.elementor-widget.lclx-rv-next .elementor-icon { cursor: pointer; }
@media (max-width: 767px) {
	.lclx-reviews .testimonial-lists-wrap {
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 20px;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
	}
	.lclx-reviews .testimonial-box {
		width: min(300px, 78vw);
		height: 400px;
		scroll-snap-align: start;
	}
}
.lclx-reviews .testimonial-box {
	flex: none;
	width: 320px;
	height: 420px;
	margin-right: 16px;
	padding: 26px;
	border-radius: 16px;
	border: 1px solid #1F1F1F;
	background: linear-gradient(180deg, #1F1F1F 0%, #000000 35%, #000000 65%, #1F1F1F 100%);
	transition: border-color .5s;
}
.lclx-reviews .testimonial-box:hover { border-color: var(--lclx-aqua); }
.lclx-reviews .testimonial-box .testimonial-rating { gap: 3px; margin: 0; padding: 0; list-style: none; font-size: 15px; }
.lclx-reviews .testimonial-box .testimonial-rating li i:before { color: var(--lclx-aqua); }
.lclx-reviews .testimonial-box .testimonial-content p {
	margin: 34px 0 0;
	font-family: var(--lclx-sans);
	font-size: 21px;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: -0.01em;
	color: var(--lclx-white);
}
.lclx-reviews .testimonial-box .testimonial-author { gap: 12px; }
.lclx-reviews .testimonial-box .testimonial-author img { width: 38px; height: 38px; }
.lclx-reviews .testimonial-box .testimonial-author .content { display: flex; flex-direction: column; gap: 2px; }
.lclx-reviews .testimonial-box .testimonial-author .name { font-family: var(--lclx-serif); font-style: italic; font-size: 16px; line-height: 1.2; color: var(--lclx-white); }
.lclx-reviews .testimonial-box .testimonial-author .designation { font-family: var(--lclx-sans); font-style: normal; font-size: 12.5px; line-height: 1.3; color: var(--lclx-muted); }
@media (prefers-reduced-motion: reduce) {
	.lclx-marquee > .e-con.lclx-marquee-track { animation: none; }
}


/* 48  Booking section (saved template "LCLX Booking", reused on every page)
   -------------------------------------------------------------------------- */
.e-con.lclx-book {
	background: radial-gradient(50% 45% at 50% 45%, rgba(0, 209, 200, .07), rgba(0, 209, 200, 0) 70%), var(--lclx-near-2);
}
.lclx-book > .e-con.lclx-book-in { width: 100%; max-width: 1360px; margin: 0 auto; }
/* Form centred and wider; "Prefer to talk?" strip directly underneath, same width */
.lclx-book-in > .e-con.lclx-book-main,
.lclx-book-in > .e-con.lclx-talk {
	width: 100%;
	max-width: 880px;
}
.elementor.elementor .e-con > .elementor-widget.lclx-book-intro { max-width: 460px; }
.elementor-widget.lclx-book-intro { font-family: var(--lclx-sans); font-size: 18px; line-height: 1.7; color: var(--lclx-body); }
.elementor-widget.lclx-book-intro p { margin: 0; }
.lclx-book-in > .e-con.lclx-talk {
	--padding-top: 22px;
	--padding-right: 32px;
	--padding-bottom: 22px;
	--padding-left: 32px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: center;
}
.lclx-talk .elementor-widget.lclx-talk-links .elementor-icon-list-items { justify-content: center; }
.lclx-talk > .elementor-widget { width: auto; }
.elementor-widget.lclx-talk-h .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lclx-muted);
}
.elementor-widget.lclx-talk-links .elementor-icon-list-items,
.elementor-widget.lclx-talk-links .elementor-icon-list-items.elementor-inline-items {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 36px;
	margin: 0;
}
.elementor-widget.lclx-talk-links .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin: 0; padding: 0; }
.elementor-widget.lclx-talk-links .elementor-icon-list-item::after { display: none; }
.elementor-widget.lclx-talk-links .elementor-icon-list-icon { display: none; }
.elementor-widget.lclx-talk-links .elementor-icon-list-text {
	position: relative;
	display: inline-block;
	padding: 4px 0;
	font-family: var(--lclx-sans);
	font-size: 15px;
	color: var(--lclx-white);
	overflow-wrap: anywhere;
}
.elementor-widget.lclx-talk-links .elementor-icon-list-text::after {
	content: "";
	position: absolute;
	left: 50%;
	right: 50%;
	bottom: 0;
	height: 1px;
	opacity: 0;
	background: var(--lclx-aqua);
	transition: left .5s var(--lclx-ease), right .5s var(--lclx-ease), opacity .3s;
}
.elementor-widget.lclx-talk-links .elementor-icon-list-item:hover .elementor-icon-list-text::after { left: 0; right: 0; opacity: 1; }

/* The form card */
.elementor-widget.lclx-book-form {
	width: 100%;
	overflow: hidden;
	border-radius: 20px;
	border: 1px solid var(--lclx-border);
	background: linear-gradient(218deg, var(--lclx-charcoal) 34%, var(--lclx-card-2) 69%);
}
.lclx-book-form .elementor-form { padding: clamp(24px, 4vw, 40px); font-family: var(--lclx-sans); }
.lclx-book-form .elementor-form-fields-wrapper { row-gap: 22px; }
.lclx-book-form .e-form__step { width: 100%; }
.lclx-book-form .elementor-field-type-html { color: var(--lclx-white); }
.lclx-book-form .lclx-step-title { margin: 0 0 6px; font-size: 24px; font-weight: 500; letter-spacing: -0.01em; color: var(--lclx-white); }
.lclx-book-form .elementor-field-label,
.lclx-book-form .elementor-field-group > label {
	margin-bottom: 12px;
	font-size: 15px;
	font-weight: 500;
	color: var(--lclx-white);
}
/* Text, date, select, textarea */
.lclx-book-form .elementor-field-textual,
.lclx-book-form .elementor-field-group .elementor-select-wrapper select {
	min-height: 52px;
	padding: 0 16px;
	border-radius: 12px;
	border: 1px solid var(--lclx-border);
	background: var(--lclx-card);
	font-family: var(--lclx-sans);
	font-size: 15px;
	color: var(--lclx-white);
	color-scheme: dark;
	transition: border-color .3s;
}
.lclx-book-form textarea.elementor-field-textual { padding: 14px 16px; min-height: 96px; }
.lclx-book-form .elementor-field-textual:focus,
.lclx-book-form select:focus { border-color: var(--lclx-aqua); outline: none; box-shadow: none; }
.lclx-book-form .elementor-select-wrapper::before { color: var(--lclx-muted); }
.lclx-book-form select option { background: var(--lclx-card); color: var(--lclx-white); }
/* Radio chips */
.lclx-book-form :is(.elementor-field-type-radio, .elementor-field-type-checkbox) .elementor-field-subgroup { display: flex; flex-wrap: wrap; gap: 8px; }
.lclx-book-form :is(.elementor-field-type-radio, .elementor-field-type-checkbox) .elementor-field-option { margin: 0; padding: 0; }
.lclx-book-form :is(.elementor-field-type-radio, .elementor-field-type-checkbox) :is(input[type="radio"], input[type="checkbox"]) { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lclx-book-form :is(.elementor-field-type-radio, .elementor-field-type-checkbox) .elementor-field-option label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	margin: 0;
	padding: 0 20px;
	border-radius: 30px;
	border: 1px solid var(--lclx-border);
	background: var(--lclx-card);
	font-size: 14px;
	color: rgba(255, 255, 255, .75);
	cursor: pointer;
	transition: background-color .35s, color .35s, border-color .35s, transform .35s;
}
.lclx-book-form :is(.elementor-field-type-radio, .elementor-field-type-checkbox) .elementor-field-option label:hover { border-color: var(--lclx-aqua); color: var(--lclx-white); transform: translateY(-1px); }
.lclx-book-form :is(.elementor-field-type-radio, .elementor-field-type-checkbox) input:checked + label { background: var(--lclx-aqua); border-color: var(--lclx-aqua); color: #000000; font-weight: 600; }
.lclx-book-form :is(.elementor-field-type-radio, .elementor-field-type-checkbox) input:focus-visible + label { outline: 2px solid var(--lclx-aqua); outline-offset: 2px; }
/* Guests stepper (added by lclx.js) */
.lclx-book-form .lclx-stepper { display: inline-flex; align-items: center; gap: 14px; }
.lclx-book-form .lclx-stepper input { width: 64px; min-height: 44px; padding: 0; text-align: center; -moz-appearance: textfield; }
.lclx-book-form .lclx-stepper input::-webkit-inner-spin-button,
.lclx-book-form .lclx-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.lclx-book-form .lclx-stp {
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 50%;
	border: 1.5px solid var(--lclx-white);
	background: transparent;
	font-size: 20px;
	line-height: 1;
	color: var(--lclx-white);
	cursor: pointer;
	transition: background-color .35s, border-color .35s, color .35s;
}
.lclx-book-form .lclx-stp:hover { background: var(--lclx-aqua); border-color: var(--lclx-aqua); color: #000000; }
/* Conditional notes (HTML fields bignote / comonote) */
.lclx-book-form .elementor-field-group-bignote,
.lclx-book-form .elementor-field-group-comonote,
.lclx-book-form .elementor-field-group-experience_other,
.lclx-book-form .elementor-field-group-pickup_other,
.lclx-book-form .elementor-field-group-dropoff_other,
.lclx-book-form .elementor-field-group-return_date,
.lclx-book-form .elementor-field-group-return_time { display: none; }
.lclx-book-form .elementor-field-group-bignote.is-on,
.lclx-book-form .elementor-field-group-comonote.is-on { display: block; }
.lclx-book-form .elementor-field-group-experience_other.is-on,
.lclx-book-form .elementor-field-group-pickup_other.is-on,
.lclx-book-form .elementor-field-group-dropoff_other.is-on,
.lclx-book-form .elementor-field-group-return_date.is-on,
.lclx-book-form .elementor-field-group-return_time.is-on { display: flex; }
/* A short hint under a field (transfer form: flight number) */
.lclx-book-form .elementor-field-group-flightnote { margin-top: -6px; }
.lclx-book-form .lclx-field-hint { margin: 0; font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .55); }
/* Date and time side by side: same label and field heights */
.lclx-book-form .elementor-field-group { align-content: flex-start; align-items: flex-start; }
.lclx-book-form input.elementor-field-textual,
.lclx-book-form .elementor-select-wrapper select { height: 52px; line-height: 50px; margin: 0; } /* Aixor gives selects a 30px bottom margin */
.lclx-book-form input[type="date"].elementor-field-textual { line-height: normal; }
.lclx-book-form .lclx-note {
	padding: 14px 18px;
	border-radius: 12px;
	border: 1px solid rgba(0, 209, 200, .35);
	background: rgba(0, 209, 200, .08);
	font-size: 14px;
	line-height: 1.6;
	color: var(--lclx-white);
}
/* Consent */
.lclx-book-form .elementor-field-type-acceptance { padding-top: 16px; border-top: 1px solid var(--lclx-border); }
.lclx-book-form .elementor-field-type-acceptance label { font-size: 15px; color: rgba(255, 255, 255, .8); }
.lclx-book-form .elementor-field-type-acceptance a { color: var(--lclx-aqua); }
.lclx-book-form .elementor-field-type-acceptance input { accent-color: var(--lclx-aqua); width: 18px; height: 18px; }
/* Step progress (4 small bars) */
/* Step indicator (selectors carry .elementor-widget to beat Elementor's site-wide form font sizes): four labelled segments (Experience · Date & guests · Meeting point · Your details).
   The labels are each Step field's Label in the form settings. */
.elementor-widget.lclx-book-form .e-form__indicators {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 30px;
	padding: 0;
}
.elementor-widget.lclx-book-form .e-form__indicators__indicator__separator { display: none; }
.elementor-widget.lclx-book-form .e-form__indicators__indicator {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	padding: 0;
}
.elementor-widget.lclx-book-form .e-form__indicators__indicator::before {
	content: "";
	width: 100%;
	height: 3px;
	border-radius: 2px;
	background: var(--lclx-border);
	transition: background-color .5s;
}
.elementor-widget.lclx-book-form .e-form__indicators__indicator--state-active::before,
.elementor-widget.lclx-book-form .e-form__indicators__indicator--state-completed::before { background: var(--lclx-aqua); }
.elementor-widget.lclx-book-form .e-form__indicators__indicator__label {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: 9px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .14em;
	white-space: nowrap;
	text-transform: uppercase;
	color: var(--lclx-muted-2);
	transition: color .4s;
}
.elementor-widget.lclx-book-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__label { color: rgba(255, 255, 255, .7); }
.elementor-widget.lclx-book-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__label { color: rgba(255, 255, 255, .5); }
/* Narrower screens: the four bars show progress; only the current step's name is written */
@media (max-width: 1200px) {
	.elementor-widget.lclx-book-form .e-form__indicators__indicator:not(.e-form__indicators__indicator--state-active) .e-form__indicators__indicator__label { visibility: hidden; }
	.elementor-widget.lclx-book-form .e-form__indicators__indicator:last-child { align-items: flex-end; }
}
@media (max-width: 767px) {
	.elementor-widget.lclx-book-form .e-form__indicators { gap: 6px; }
	/* Phones: the four bars show progress; only the current step's name is written */
	.elementor-widget.lclx-book-form .e-form__indicators__indicator__label { font-size: 9px; letter-spacing: .14em; white-space: nowrap; text-align: left; }
	.elementor-widget.lclx-book-form .e-form__indicators__indicator:not(.e-form__indicators__indicator--state-active) .e-form__indicators__indicator__label { visibility: hidden; }
	.elementor-widget.lclx-book-form .e-form__indicators__indicator:last-child { align-items: flex-end; }
}
/* Buttons: Back (dark) + Next/Send (aqua), full-width bar */
.lclx-book-form .e-form__buttons,
.lclx-book-form .elementor-field-type-submit { gap: 0; margin-top: 8px; }
.lclx-book-form .elementor-button {
	min-height: 56px;
	border-radius: 30px;
	font-family: var(--lclx-sans);
	font-size: 15px;
	font-weight: 600;
	color: #000000;
	background: var(--lclx-aqua);
	transition: background-color .35s, color .35s;
}
.lclx-book-form .elementor-button:hover { background: #FFFFFF; color: #000000; }
.lclx-book-form .e-form__buttons__wrapper__button-previous {
	background: var(--lclx-card);
	border: 1px solid var(--lclx-border);
	color: var(--lclx-white);
	font-weight: 400;
}
.lclx-book-form .e-form__buttons__wrapper__button-previous:hover { background: #262626; color: var(--lclx-white); }
.lclx-book-form .elementor-message { margin-top: 18px; font-size: 16px; color: var(--lclx-white); }
.lclx-book-form .elementor-message.elementor-message-success::before { color: var(--lclx-aqua); }
.lclx-book-form .elementor-error .elementor-field-textual { border-color: #E5484D; }

@media (max-width: 767px) {
	.lclx-book-form :is(.elementor-field-type-radio, .elementor-field-type-checkbox) .elementor-field-option label { height: 40px; padding: 0 16px; font-size: 13.5px; }
}


/* 49  Home: "Planning something bigger?" (unique experiences)
   -------------------------------------------------------------------------- */
.e-con.lclx-unique {
	position: relative;
	min-height: 760px;
	overflow: hidden;
	isolation: isolate;
}
.e-con.lclx-unique::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, var(--lclx-near-2) 0%, rgba(0, 0, 0, .55) 26%, rgba(0, 0, 0, .45) 52%, rgba(0, 0, 0, .65) 76%, #000000 100%),
		radial-gradient(55% 50% at 50% 50%, rgba(0, 0, 0, .4), rgba(0, 0, 0, 0) 75%);
}
.lclx-unique > .e-con { position: relative; z-index: 1; }
.lclx-unique > .e-con.lclx-unique-in { width: 100%; max-width: 1300px; margin: 0 auto; }
@media (min-width: 768px) {
	.elementor-widget.lclx-one-line .elementor-heading-title { white-space: nowrap; }
}
.elementor.elementor .e-con > .elementor-widget.lclx-unique-text { max-width: 860px; }
.elementor-widget.lclx-unique-text { font-family: var(--lclx-sans); font-size: 18px; line-height: 1.75; color: rgba(255, 255, 255, .78); }
.elementor-widget.lclx-unique-text p { margin: 0; }
.elementor-widget.lclx-unique-cta { margin-top: 6px; }
.elementor.elementor .e-con > .elementor-widget.lclx-rv-title { max-width: 820px; }
.lclx-reviews-head .e-con { width: auto; flex: 0 0 auto; }
/* Aixor's widget shows a rating image; draw five aqua stars instead and hide the empty image */
.lclx-reviews .testimonial-box > img { display: none; }
.lclx-reviews .testimonial-box::before {
	content: "\2605\2605\2605\2605\2605";
	font-size: 15px;
	letter-spacing: 3px;
	line-height: 1;
	color: var(--lclx-aqua);
}
.lclx-book-form .elementor-field-type-html,
.lclx-book-form .elementor-field-type-html:focus,
.lclx-book-form .e-form__step:focus { outline: none; }
.lclx-book-form .elementor-field-group-guests > label { width: 100%; }
/* Keep ← [All reviews on Google] → on one line on phones */
.lclx-reviews .e-con:has(> .lclx-rv-prev) { flex-wrap: nowrap; }
@media (max-width: 767px) {
	.lclx-reviews .e-con:has(> .lclx-rv-prev) { --gap: 10px; gap: 10px; }
	.elementor-widget.lclx-rv-prev .elementor-icon,
	.elementor-widget.lclx-rv-next .elementor-icon { width: 44px; height: 44px; }
	.lclx-reviews .e-con:has(> .lclx-rv-prev) .elementor-widget.lclx-btn .elementor-button { padding: 0 18px; font-size: 14px; }
}

/* Phones: the contact strip stacks */
@media (max-width: 767px) {
	.lclx-book-in > .e-con.lclx-talk { --padding-left: 22px; --padding-right: 22px; }
	.elementor-widget.lclx-talk-links .elementor-icon-list-items,
	.elementor-widget.lclx-talk-links .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: center; }
}


/* Booking header band: photo fading in from the reviews and out into the form */
.e-con.lclx-book-head {
	position: relative;
	min-height: 680px;
	overflow: hidden;
	isolation: isolate;
}
.e-con.lclx-book-head::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, var(--lclx-near-2) 0%, var(--lclx-near-2) 14%, rgba(13, 13, 13, .35) 40%, rgba(13, 13, 13, .35) 62%, var(--lclx-near-2) 88%, var(--lclx-near-2) 100%),
		radial-gradient(60% 50% at 50% 55%, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0) 75%);
}
.lclx-book-head > .elementor-element { position: relative; z-index: 1; }
.lclx-book-head > .elementor-widget.lclx-book-intro { margin: 0 auto; }
.lclx-book-head > .elementor-widget.lclx-book-intro p { color: rgba(255, 255, 255, .8); }
@media (max-width: 767px) {
	.e-con.lclx-book-head { min-height: 460px; padding-top: 120px; padding-bottom: 36px; }
}

/* Each step's content sits in the middle of the form card; the step bar stays on top */
.elementor-widget.lclx-book-form { display: flex; flex-direction: column; }
.lclx-book-form .elementor-form { flex: 1 1 auto; display: flex; flex-direction: column; }
.lclx-book-form .elementor-form > .elementor-form-fields-wrapper { flex: 1 1 auto; align-content: center; }

/* Pick-up / drop-off suggestions (built by lclx.js under the text field) */
.lclx-book-form .elementor-field-group-pickup,
.lclx-book-form .elementor-field-group-dropoff { position: relative; }
.lclx-book-form .lclx-ac {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 20;
	margin: 6px 0 0;
	padding: 6px;
	list-style: none;
	border-radius: 12px;
	border: 1px solid var(--lclx-border);
	background: rgba(14, 14, 14, .98);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .5);
}
.lclx-book-form .lclx-ac[hidden] { display: none; }
.lclx-book-form .lclx-ac li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 10px 12px;
	border-radius: 8px;
	cursor: pointer;
	font-family: var(--lclx-sans);
	color: rgba(255, 255, 255, .85);
	transition: background-color .2s, color .2s;
}
.lclx-book-form .lclx-ac li:hover,
.lclx-book-form .lclx-ac li.is-active { background: var(--lclx-card); color: var(--lclx-white); }
.lclx-book-form .lclx-ac-name { font-size: 15px; }
.lclx-book-form .lclx-ac-type { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--lclx-muted-2); }
.lclx-book-form .lclx-ac li.is-active .lclx-ac-type,
.lclx-book-form .lclx-ac li:hover .lclx-ac-type { color: var(--lclx-aqua); }
.lclx-book-form .elementor-field-group-pickup .elementor-field-textual,
.lclx-book-form .elementor-field-group-dropoff .elementor-field-textual { color-scheme: dark; }


/* 50  Inner page hero (Fleet and later pages): shorter than the home hero,
   light shading so the photo shows, title block sits at the bottom where the
   shade deepens into black
   -------------------------------------------------------------------------- */
.e-con.lclx-page-hero {
	position: relative;
	min-height: clamp(520px, 78vh, 860px);
	overflow: hidden;
	isolation: isolate;
}
.e-con.lclx-page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(80% 70% at 50% 40%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .3) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, 0) 26%, rgba(0, 0, 0, 0) 48%, rgba(0, 0, 0, .55) 78%, #000000 100%);
}
.lclx-page-hero > .elementor-element { position: relative; z-index: 1; }
.lclx-page-hero > .elementor-widget.lclx-hero-sub { margin: 0 auto; }
@media (max-width: 767px) {
	.e-con.lclx-page-hero { min-height: 460px; }
}

/* Statement section on inner pages reuses the About styles, smaller and tighter */
.e-con.lclx-about.lclx-statement { background: linear-gradient(180deg, #000000 0%, #000000 25%, var(--lclx-charcoal-2) 100%); }
.elementor.elementor .lclx-statement .e-con > .elementor-widget.lclx-about-text { max-width: 760px; }
.lclx-statement .elementor-widget.lclx-about-text {
	margin-top: 0;
	font-size: clamp(18px, 1.6vw, 25px);
	line-height: 1.5;
	letter-spacing: -0.01em;
}
.lclx-statement > .e-con.lclx-about-line { padding-top: 36px; }
.lclx-statement > .e-con.lclx-about-line::after { height: 64px; }


/* 51  Tour durations, small version (Fleet page): eight tiles linking to the tour pages
   -------------------------------------------------------------------------- */
.e-con.lclx-tours-mini {
	background: linear-gradient(180deg, var(--lclx-charcoal) 0%, var(--lclx-near-2) 100%);
}
.lclx-tours-mini > .e-con.lclx-dur-tiles {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	max-width: 1100px;
	margin-top: 10px;
}
.lclx-dur-tiles > .e-con.lclx-dur-tile {
	--padding-top: 24px;
	--padding-bottom: 22px;
	width: auto;
	border-radius: 14px;
	border: 1px solid var(--lclx-border-soft);
	background: rgba(255, 255, 255, .02);
	color: var(--lclx-white);
	transition: background-color .35s, border-color .35s, color .35s, transform .35s;
}
.lclx-dur-tiles > .e-con.lclx-dur-tile:hover {
	background: var(--lclx-aqua);
	border-color: var(--lclx-aqua);
	color: #000000;
	transform: translateY(-2px);
}
.elementor-widget.lclx-dur-tile-n .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 44px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.03em;
	color: inherit;
	margin: 0;
}
.elementor-widget.lclx-dur-tile-u .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 10px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #888888;
	margin: 0;
	transition: color .35s;
}
.lclx-dur-tile:hover .elementor-widget.lclx-dur-tile-u .elementor-heading-title { color: #000000; }
.lclx-tours-mini > .elementor-widget.lclx-btn { margin-top: 14px; }
@media (max-width: 767px) {
	.lclx-tours-mini > .e-con.lclx-dur-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
	.elementor-widget.lclx-dur-tile-n .elementor-heading-title { font-size: 34px; }
}


/* 52  Partners strip (top of the footer template): names / logos drift past,
   pause on hover. Each name is listed twice for a seamless loop. To use logos,
   replace a name with an Image widget that also carries the class lclx-partner.
   -------------------------------------------------------------------------- */
.e-con.lclx-partners {
	flex-wrap: nowrap; /* with wrap, the wide track pushed the label off-centre on phones */
	overflow: hidden;
	background: #000000;
}
.lclx-partners > .e-con.lclx-partners-track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 80px;
	width: max-content;
	animation: lclx-partners 45s linear infinite;
	-webkit-mask-image: none;
}
.e-con.lclx-partners { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%); }
.lclx-partners:hover > .e-con.lclx-partners-track { animation-play-state: paused; }
@keyframes lclx-partners {
	from { transform: translateX(0); }
	to   { transform: translateX(calc(-50% - 40px)); }
}
.lclx-partners-track > .elementor-widget { width: auto; flex: none; }
/* The label gets a thin line on both sides */
.lclx-partners > .elementor-widget.lclx-label .elementor-heading-title { color: rgba(255, 255, 255, .7); }
.lclx-partners > .elementor-widget.lclx-label .elementor-heading-title::after {
	content: "";
	flex: none;
	width: 32px;
	height: 1px;
	margin-left: -.32em; /* the letter spacing after the last letter */
	background: var(--lclx-aqua);
}
.elementor-widget.lclx-partner .elementor-heading-title {
	position: relative;
	font-family: var(--lclx-serif);
	font-style: italic;
	font-size: clamp(20px, 1.8vw, 26px);
	line-height: 1;
	letter-spacing: .01em;
	white-space: nowrap;
	color: rgba(255, 255, 255, .5);
	margin: 0;
	transition: color .4s;
}
/* small aqua dot between names */
.elementor-widget.lclx-partner .elementor-heading-title::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -42px;
	width: 4px;
	height: 4px;
	margin-top: -2px;
	border-radius: 50%;
	background: var(--lclx-aqua);
	opacity: .6;
}
.elementor-widget.lclx-partner .elementor-heading-title:hover { color: var(--lclx-white); }
.elementor-widget.lclx-partner img {
	display: block;
	height: 44px;
	width: auto;
	opacity: .55;
	filter: grayscale(1) brightness(1.8);
	transition: opacity .4s, filter .4s;
}
.elementor-widget.lclx-partner img:hover { opacity: 1; filter: none; }
@media (prefers-reduced-motion: reduce) {
	.lclx-partners > .e-con.lclx-partners-track { animation: none; }
}






/* 53  Fleet page: boat cards
   The gallery (Image Carousel widget, add photos in Content → Images) has its
   own side of the card and is never covered. The text column on the other side
   is frosted: its background photo (Style → Background, same boat) is blurred
   and darkened by the column's ::before layer. Two cards per row from 2200px (set in the Cards grid),
   one wide card per row below that with the column side alternating, column
   under the photo on phones. The section fades in from the intro above, like the home fleet.
   -------------------------------------------------------------------------- */
.e-con.lclx-fleet-grid {
	background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-charcoal) 460px), var(--lclx-charcoal);
}
.lclx-fleet-grid > .e-con.lclx-fcards {
	width: 100%;
	max-width: 2200px;
	margin: 0 auto;
	grid-template-rows: none;
	grid-auto-rows: auto;
}
.lclx-fcards > .e-con.lclx-fcard {
	--lclx-panel: 44%;
	position: relative;
	justify-content: flex-end;
	min-height: clamp(440px, 28vw, 620px);
	border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: #161616;
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .9);
	overflow: hidden;
	isolation: isolate;
	transition: border-color .8s;
}
.lclx-fcards > .e-con.lclx-fcard:hover { border-color: rgba(0, 209, 200, .3); }

/* Gallery: its own side of the card */
.lclx-fcard > .e-con.lclx-fcard-media {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: auto;
	z-index: 0;
	width: calc(100% - var(--lclx-panel));
	height: auto;
	overflow: hidden;
}
.elementor.elementor .lclx-fcard-media > .elementor-widget.lclx-fcard-gal {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
}
.elementor-widget.lclx-fcard-gal .elementor-widget-container,
.elementor-widget.lclx-fcard-gal .elementor-image-carousel-wrapper,
.elementor-widget.lclx-fcard-gal .swiper-wrapper,
.elementor-widget.lclx-fcard-gal .swiper-slide,
.elementor-widget.lclx-fcard-gal .swiper-slide-inner { height: 100%; }
.elementor-widget.lclx-fcard-gal .elementor-image-carousel-wrapper { overflow: hidden; }
.elementor-widget.lclx-fcard-gal .swiper-slide-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.6s var(--lclx-ease-out);
}
.lclx-fcard:hover .elementor-widget.lclx-fcard-gal .swiper-slide-image { transform: scale(1.035); }

/* Guests label over the photo, with a soft shade behind it */
.lclx-fcard > .e-con.lclx-fcard-media::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: auto;
	width: auto;
	height: 140px;
	display: block;
	border: 0;
	opacity: 1;
	mix-blend-mode: normal;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, 0) 100%);
}
.lclx-fcard-media > .e-con.lclx-fcard-meta {
	position: absolute;
	top: 26px;
	left: 28px;
	right: 28px;
	width: auto;
	z-index: 3;
	pointer-events: none;
}
.lclx-fcard-meta .elementor-widget.lclx-cat-meta-t .elementor-heading-title::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 10px 1px 0;
	border-radius: 50%;
	background: var(--lclx-aqua);
	vertical-align: middle;
}

/* Gallery arrows and progress dashes: bottom corner on the photo side */
.elementor-widget.lclx-fcard-gal .elementor-swiper-button {
	top: auto;
	bottom: 28px;
	transform: none;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .6);
	background: rgba(0, 0, 0, .3);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: var(--lclx-white);
	fill: var(--lclx-white);
	font-size: 14px;
	transition: background .4s, border-color .4s, color .4s, fill .4s;
}
.elementor-widget.lclx-fcard-gal .elementor-swiper-button svg { width: 14px; height: 14px; }
.elementor-widget.lclx-fcard-gal .elementor-swiper-button:hover {
	background: var(--lclx-aqua);
	border-color: var(--lclx-aqua);
	color: #000000;
	fill: #000000;
}
.elementor-widget.lclx-fcard-gal .elementor-swiper-button-prev { left: 28px; right: auto; }
.elementor-widget.lclx-fcard-gal .elementor-swiper-button-next { left: 80px; right: auto; }
.elementor-widget.lclx-fcard-gal .swiper-pagination.swiper-pagination-bullets {
	left: 28px;
	right: auto;
	bottom: 92px;
	width: auto;
	display: flex;
	gap: 6px;
	line-height: 0;
}
.elementor-widget.lclx-fcard-gal .swiper-pagination .swiper-pagination-bullet {
	width: 22px;
	height: 2px;
	margin: 0;
	border-radius: 0;
	background: var(--lclx-white);
	opacity: .45;
	transition: opacity .4s, background .4s;
}
.elementor-widget.lclx-fcard-gal .swiper-pagination .swiper-pagination-bullet-active {
	background: var(--lclx-aqua);
	opacity: 1;
}

/* Text column: full height, frosted. The photo is the container's own
   background (set in Elementor); ::before blurs and darkens it. */
.lclx-fcard > .e-con.lclx-fcard-body {
	position: relative;
	z-index: 1;
	isolation: isolate;
	flex: 0 0 var(--lclx-panel);
	width: var(--lclx-panel);
	min-width: 0;
	align-self: stretch;
	margin: 0;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	background-color: #1C1C1C;
	border-left: 1px solid rgba(255, 255, 255, .08);
	overflow: hidden;
}
.lclx-fcard > .e-con.lclx-fcard-body::before {
	content: "";
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	display: block;
	border: 0;
	opacity: 1;
	mix-blend-mode: normal;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(80% 50% at 100% 0%, rgba(0, 209, 200, .10) 0%, rgba(0, 209, 200, 0) 70%),
		rgba(20, 20, 20, .74);
	-webkit-backdrop-filter: blur(34px) saturate(130%);
	backdrop-filter: blur(34px) saturate(130%);
}

.lclx-fcard-body .elementor-widget.lclx-cat-eyebrow .elementor-heading-title { color: var(--lclx-aqua); font-size: 22px; }
.lclx-fcard .elementor-widget.lclx-cat-title .elementor-heading-title { font-size: clamp(22px, 1.9vw, 34px); }
.lclx-fcard .elementor-widget.lclx-cat-title .elementor-heading-title::after { width: 56px; margin: 18px 0 0; transition: width .9s var(--lclx-ease); }
.lclx-fcard:hover .elementor-widget.lclx-cat-title .elementor-heading-title::after { width: 110px; }
.lclx-fcard .elementor-widget.lclx-cat-title a { color: inherit; }
.elementor.elementor .e-con > .elementor-widget.lclx-fcard-text { max-width: 400px; }
.elementor-widget.lclx-fcard-text {
	font-family: var(--lclx-sans);
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .8);
}
.elementor-widget.lclx-fcard-text p { margin: 0; }

/* Specs (two-column grid of label + value) and the Riva models list */
.lclx-fcard-body > .e-con.lclx-fcard-specs,
.lclx-fcard-body > .e-con.lclx-fcard-models {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 28px;
	width: 100%;
	max-width: 460px;
	margin-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, .12);
}
.lclx-fcard-specs > .e-con.lclx-fcard-spec,
.lclx-fcard-models > .e-con.lclx-fcard-model {
	--padding-top: 13px;
	--padding-bottom: 13px;
	--padding-left: 0px;
	--padding-right: 0px;
	width: auto;
	gap: 4px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.elementor-widget.lclx-fcard-spec-l .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 10.5px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
	margin: 0;
}
.elementor-widget.lclx-fcard-spec-v .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 14.5px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--lclx-white);
	margin: 0;
}
.elementor-widget.lclx-fcard-model-n .elementor-heading-title {
	font-family: var(--lclx-serif);
	font-style: italic;
	font-size: 21px;
	line-height: 1.15;
	color: var(--lclx-white);
	margin: 0;
}
.lclx-fcard-body > .elementor-widget.lclx-fcard-models-l { margin-top: 24px; }
.lclx-fcard-body > .elementor-widget.lclx-fcard-models-l + .e-con.lclx-fcard-models { margin-top: 10px; }

/* Discover (Button widget): same square button as the home panels */
.elementor-widget.lclx-fcard-btn .elementor-button {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	height: 48px;
	padding: 0 32px;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 0;
	background: transparent;
	color: var(--lclx-white);
	fill: var(--lclx-white);
	font-family: var(--lclx-sans);
	font-size: 11.5px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .3em;
	text-transform: uppercase;
	transition: color .55s var(--lclx-ease), border-color .55s;
}
.elementor-widget.lclx-fcard-btn .elementor-button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: #FFFFFF;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .6s var(--lclx-ease);
}
.elementor-widget.lclx-fcard-btn .elementor-button::after {
	content: "";
	position: absolute;
	inset: 3px;
	border: 1px solid rgba(255, 255, 255, .16);
	pointer-events: none;
	transition: inset .55s var(--lclx-ease), opacity .55s;
}
.elementor-widget.lclx-fcard-btn .elementor-button:hover,
.elementor-widget.lclx-fcard-btn .elementor-button:focus-visible {
	color: #000000;
	fill: #000000;
	border-color: #FFFFFF;
}
.elementor-widget.lclx-fcard-btn .elementor-button:hover::before,
.elementor-widget.lclx-fcard-btn .elementor-button:focus-visible::before { transform: scaleX(1); transform-origin: left center; }
.elementor-widget.lclx-fcard-btn .elementor-button:hover::after { inset: -1px; opacity: 0; }
.elementor-widget.lclx-fcard-btn .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 12px; }
.elementor-widget.lclx-fcard-btn .elementor-button-icon { display: inline-flex; transition: transform .55s var(--lclx-ease); }
.elementor-widget.lclx-fcard-btn .elementor-button:hover .elementor-button-icon { transform: translateX(6px); }
.elementor-widget.lclx-fcard-btn .elementor-button-icon svg { width: 12px; height: 12px; }
.lclx-fcard-btn svg path { fill: none; stroke: currentColor; }


/* Two per row: an odd last card takes the whole row */
@media (min-width: 2200px) {
	.lclx-fcards > .e-con.lclx-fcard:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* One card per row: taller, text column side alternates */
@media (max-width: 2199px) {
	.lclx-fleet-grid > .e-con.lclx-fcards { grid-template-columns: minmax(0, 1fr); max-width: 1800px; }
	.lclx-fcards > .e-con.lclx-fcard { --lclx-panel: 42%; min-height: clamp(460px, 40vw, 640px); }
}
@media (min-width: 768px) and (max-width: 2199px) {
	.lclx-fcards > .e-con.lclx-fcard:nth-child(even) { flex-direction: row-reverse; }
	.lclx-fcards > .e-con.lclx-fcard:nth-child(even) > .e-con.lclx-fcard-media { left: auto; right: 0; }
	.lclx-fcards > .e-con.lclx-fcard:nth-child(even) > .e-con.lclx-fcard-body { border-left: 0; border-right: 1px solid rgba(255, 255, 255, .08); }
	.lclx-fcards > .e-con.lclx-fcard:nth-child(even) > .e-con.lclx-fcard-body::before {
		background:
			radial-gradient(80% 50% at 0% 0%, rgba(0, 209, 200, .10) 0%, rgba(0, 209, 200, 0) 70%),
			rgba(20, 20, 20, .74);
	}
	.lclx-fcard:nth-child(even) .lclx-fcard-media > .e-con.lclx-fcard-meta { left: auto; right: 28px; text-align: right; }
	.lclx-fcard:nth-child(even) .elementor-widget.lclx-fcard-gal .elementor-swiper-button-prev { left: auto; right: 80px; }
	.lclx-fcard:nth-child(even) .elementor-widget.lclx-fcard-gal .elementor-swiper-button-next { left: auto; right: 28px; }
	.lclx-fcard:nth-child(even) .elementor-widget.lclx-fcard-gal .swiper-pagination.swiper-pagination-bullets { left: auto; right: 28px; }
	.lclx-fcard:nth-child(even) .lclx-fcard-meta > .elementor-widget { margin-left: auto; }
}
@media (max-width: 1024px) {
	.lclx-fcards > .e-con.lclx-fcard { --lclx-panel: 50%; }
}

/* Phones: photo on top, frosted text column underneath */
@media (max-width: 767px) {
	.lclx-fcards > .e-con.lclx-fcard { min-height: 0; border-radius: 18px; }
	.lclx-fcard > .e-con.lclx-fcard-media { bottom: auto; right: 0; width: auto; height: 260px; }
	.lclx-fcard > .e-con.lclx-fcard-body {
		flex: 0 0 auto;
		width: auto;
		margin: 260px 0 0;
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .08);
	}
	.lclx-fcard-media > .e-con.lclx-fcard-meta { top: 20px; left: 18px; right: 18px; }
	.elementor-widget.lclx-fcard-gal .elementor-swiper-button { width: 38px; height: 38px; top: 12px; bottom: auto; }
	.elementor-widget.lclx-fcard-gal .elementor-swiper-button-prev { left: auto; right: 58px; }
	.elementor-widget.lclx-fcard-gal .elementor-swiper-button-next { left: auto; right: 14px; }
	.elementor-widget.lclx-fcard-gal .swiper-pagination.swiper-pagination-bullets { left: 18px; top: 46px; bottom: auto; gap: 4px; }
	.elementor-widget.lclx-fcard-gal .swiper-pagination .swiper-pagination-bullet { width: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.lclx-fcard:hover .elementor-widget.lclx-fcard-gal .swiper-slide-image { transform: none; }
}


/* 54  Individual boat pages (Luxury Wooden Boat first; same layout for every boat)
   Hero → story → spec sheet → gallery → booking → explore the fleet → tour durations.
   Backgrounds run black → charcoal → #0D0D0D into the booking band and back,
   so the sections flow into each other.
   -------------------------------------------------------------------------- */

/* Hero: a spec sheet. Dark panel on the left (label, the boat's name very large,
   a short line, three specs with icons, buttons); the boat photo on the right
   (Style → Background of "Photo") with a short note in the top corner and a
   measured line under the hull. Phones: photo on top, name over its lower edge,
   the three specs side by side.
   The measured line is placed from the photo's proportions: --lclx-ar is the
   photo's width ÷ height, --lclx-bow / --lclx-stern the boat's ends and
   --lclx-dimy the line's height, all in % of the photo (set per boat below).
   It stays on the hull because the photo always fills the height of its box. */
.e-con.lclx-bhero {
	--lclx-bh: clamp(640px, min(100svh, 50vw), 1200px);
	height: var(--lclx-bh);
	min-height: 0;
	overflow: hidden;
	isolation: isolate;
	background: #000000;
}
.lclx-bhero > .e-con.lclx-bhero-panel {
	position: relative;
	z-index: 2;
	flex: 0 0 34%;
	width: 34%;
	overflow: visible;
	background: #000000;
}
.lclx-bhero > .e-con.lclx-bhero-photo {
	--lclx-ar: 1.7769;
	--lclx-bx: 50;
	--lclx-by: 50;
	--lclx-bow: 16.5;
	--lclx-stern: 82.5;
	--lclx-dimy: 80;
	--lclx-u: max(1cqh, 1cqw / var(--lclx-ar));
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	container-type: size;
	overflow: hidden;
	isolation: isolate;
}
.lclx-bhero > .e-con.lclx-bhero-photo::before {
	content: "";
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	display: block;
	border: 0;
	opacity: 1;
	mix-blend-mode: normal;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(38% 34% at 100% 12%, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 24%, rgba(0, 0, 0, 0) var(--lclx-fade, 76%), rgba(0, 0, 0, .55) calc(var(--lclx-fade, 76%) + (100% - var(--lclx-fade, 76%)) * .58), #000000 100%);
}

/* Per boat: the hero photo's measurements (see above) */
.lclx-bhero--colombo > .e-con.lclx-bhero-photo { --lclx-ar: 1.5; --lclx-bx: 20; --lclx-bow: 12.3; --lclx-stern: 82; --lclx-dimy: 67; }
.lclx-bhero--venetian > .e-con.lclx-bhero-photo { --lclx-ar: 1.5; --lclx-bow: 28.6; --lclx-stern: 71; --lclx-dimy: 70; }

/* The name, very large, running over the edge of the panel onto the photo */
.elementor.elementor .lclx-bhero-panel > .elementor-widget.lclx-bhero-name { width: max-content; max-width: none; margin: 18px 0 0; }
.elementor-widget.lclx-bhero-name .elementor-heading-title {
	font-family: var(--lclx-serif);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(100px, 12.4vw, 250px);
	line-height: .86;
	letter-spacing: -0.035em;
	white-space: nowrap;
	color: var(--lclx-white);
	text-shadow: 0 10px 50px rgba(0, 0, 0, .3);
	margin: 0;
}

/* Thin line + short line of copy */
.elementor.elementor .lclx-bhero-panel > .elementor-widget.lclx-bhero-tag { max-width: 360px; margin-top: clamp(22px, 3vh, 34px); }
.elementor-widget.lclx-bhero-tag::before {
	content: "";
	display: block;
	width: 56px;
	height: 1px;
	margin-bottom: 18px;
	background: var(--lclx-aqua);
}
.elementor-widget.lclx-bhero-tag p {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: clamp(16px, 1.2vw, 19px);
	font-weight: 300;
	line-height: 1.5;
	color: rgba(255, 255, 255, .86);
}

/* Three specs with line icons, hairlines between */
.lclx-bhero-panel > .e-con.lclx-bhero-specs { width: 100%; max-width: 360px; margin-top: clamp(22px, 3.4vh, 40px); }
.lclx-bhero-specs > .e-con.lclx-bhero-spec {
	--padding-top: 13px;
	--padding-bottom: 13px;
	border-top: 1px solid rgba(255, 255, 255, .1);
}
.lclx-bhero-specs > .e-con.lclx-bhero-spec:last-child { border-bottom: 1px solid rgba(255, 255, 255, .1); }
.lclx-bhero-spec > .elementor-widget.lclx-bhero-ic { width: auto; flex: none; }
.elementor-widget.lclx-bhero-ic .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .22);
	font-size: 14px;
	color: var(--lclx-aqua);
	fill: var(--lclx-aqua);
}
.elementor-widget.lclx-bhero-ic .elementor-icon svg { width: 14px; height: 14px; fill: var(--lclx-aqua); }
.elementor-widget.lclx-bhero-spec-t .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 14.5px;
	font-weight: 400;
	line-height: 1.35;
	color: var(--lclx-white);
	margin: 0;
}
.elementor-widget.lclx-bhero-spec-t .elementor-heading-title span {
	display: block;
	margin-bottom: 3px;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: #8C8C8C;
}
.lclx-bhero-panel > .e-con.lclx-bhero-ctas { width: auto; margin-top: clamp(22px, 3.4vh, 38px); }

/* Photo side: note in the top corner, measured line under the hull */
.elementor.elementor .lclx-bhero-photo > .elementor-widget.lclx-bhero-corner { position: absolute; top: 128px; right: clamp(22px, 3vw, 56px); width: auto; max-width: none; }
.elementor-widget.lclx-bhero-corner .elementor-heading-title {
	font-family: var(--lclx-sans);
	font-size: 10.5px;
	font-weight: 500;
	line-height: 2.1;
	letter-spacing: .34em;
	text-align: right;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .85);
	text-shadow: 0 1px 10px rgba(0, 0, 0, .45);
	margin: 0;
}
.elementor.elementor .lclx-bhero-photo > .elementor-widget.lclx-bhero-dim {
	position: absolute;
	top: calc(var(--lclx-by) * 1cqh + (var(--lclx-dimy) - var(--lclx-by)) * var(--lclx-u));
	left: calc(var(--lclx-bx) * 1cqw + (var(--lclx-bow) - var(--lclx-bx)) * var(--lclx-ar) * var(--lclx-u));
	width: calc((var(--lclx-stern) - var(--lclx-bow)) * var(--lclx-ar) * var(--lclx-u));
	max-width: none;
	margin: 0;
}
.elementor-widget.lclx-bhero-dim::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -5px;
	height: 11px;
	border-left: 1px solid rgba(255, 255, 255, .75);
	border-right: 1px solid rgba(255, 255, 255, .75);
	background: linear-gradient(rgba(255, 255, 255, .75), rgba(255, 255, 255, .75)) center / 100% 1px no-repeat;
}
.elementor-widget.lclx-bhero-dim .elementor-heading-title {
	padding-top: 14px;
	font-family: var(--lclx-sans);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .04em;
	text-align: center;
	color: var(--lclx-white);
	text-shadow: 0 1px 10px rgba(0, 0, 0, .5);
	margin: 0;
}
.elementor-widget.lclx-bhero-dim .elementor-heading-title span {
	display: block;
	margin-top: 3px;
	font-size: 9.5px;
	font-weight: 500;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .7);
}

/* Small laptops: smaller copy so everything fits the height */
@media (max-width: 1366px) and (min-width: 1025px) {
	.lclx-bhero > .e-con.lclx-bhero-panel { --padding-top: 112px; }
	.lclx-bhero-specs > .e-con.lclx-bhero-spec { --padding-top: 8px; --padding-bottom: 8px; }
	.elementor-widget.lclx-bhero-name .elementor-heading-title { font-size: clamp(100px, 10.6vw, 150px); }
	.lclx-bhero-panel > .e-con.lclx-bhero-ctas { --gap: 10px; gap: 10px; }
}

/* Tablets and phones: photo on top, name over its lower edge, specs side by side */
@media (max-width: 1024px) {
	.e-con.lclx-bhero { height: auto; }
	.lclx-bhero > .e-con.lclx-bhero-panel { flex: 0 0 auto; width: 100%; align-items: center; text-align: center; background: #000000; }
	.lclx-bhero > .e-con.lclx-bhero-photo { flex: 0 0 auto; width: 100%; height: clamp(300px, 78vw, 640px); }
	.lclx-bhero > .e-con.lclx-bhero-photo::before { background: linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, 0) 32%, rgba(0, 0, 0, 0) var(--lclx-fade-m, 62%), #000000 100%); }
	.elementor.elementor .lclx-bhero-panel > .elementor-widget.lclx-bhero-name { order: -1; margin: -0.5em auto 18px; }
	.elementor-widget.lclx-bhero-name .elementor-heading-title { font-size: clamp(84px, 24vw, 200px); }
	.elementor.elementor .lclx-bhero-panel > .elementor-widget.lclx-bhero-tag { margin-inline: auto; }
	.elementor-widget.lclx-bhero-tag::before { display: none; }
	.lclx-bhero-panel > .e-con.lclx-bhero-specs { flex-direction: row; max-width: 560px; margin-inline: auto; }
	.lclx-bhero-specs > .e-con.lclx-bhero-spec {
		flex: 1 1 0;
		flex-direction: column;
		align-items: center;
		gap: 10px;
		--padding-top: 16px;
		--padding-bottom: 16px;
		border-top: 1px solid rgba(255, 255, 255, .1);
		border-bottom: 1px solid rgba(255, 255, 255, .1);
	}
	.lclx-bhero-specs > .e-con.lclx-bhero-spec + .e-con.lclx-bhero-spec { border-left: 1px solid rgba(255, 255, 255, .1); }
	.elementor-widget.lclx-bhero-spec-t .elementor-heading-title { text-align: center; }
	.lclx-bhero-panel > .e-con.lclx-bhero-ctas { justify-content: center; }
	.elementor.elementor .lclx-bhero-photo > .elementor-widget.lclx-bhero-corner { display: none; }
}
@media (max-width: 767px) {
	.elementor-widget.lclx-bhero-dim .elementor-heading-title { padding-top: 10px; font-size: 12px; }
	.elementor-widget.lclx-bhero-dim .elementor-heading-title span { font-size: 8.5px; letter-spacing: .24em; }
	.elementor-widget.lclx-bhero-spec-t .elementor-heading-title { font-size: 13px; }
	.elementor-widget.lclx-bhero-spec-t .elementor-heading-title span { font-size: 9px; letter-spacing: .2em; }
	.elementor-widget.lclx-bhero-ic .elementor-icon { width: 34px; height: 34px; }
	.lclx-bhero-panel > .e-con.lclx-bhero-ctas { width: 100%; }
}

/* Shared section heading size on boat pages */
.elementor-widget.lclx-boat-h2 .elementor-heading-title { margin: 0; }

/* Story: photo + write-up */
.e-con.lclx-boat-story { background: linear-gradient(180deg, #000000 0%, var(--lclx-charcoal-2) 100%); }
.lclx-boat-story > .e-con.lclx-boat-story-in {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
}
.lclx-boat-story-in > .elementor-widget.lclx-boat-story-img { flex: 0 0 44%; width: 44%; }
.elementor-widget.lclx-boat-story-img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 22px;
}
/* nowrap: with wrap, iPhone Safari gave the column no height and set its label,
   heading and copy side by side */
.lclx-boat-story-in > .e-con.lclx-boat-story-text { flex: 1 1 0; min-width: 0; flex-wrap: nowrap; }
.lclx-boat-story-text > .elementor-widget.lclx-boat-h2 { margin-top: 18px; }
.elementor.elementor .e-con > .elementor-widget.lclx-boat-copy { max-width: 560px; }
.elementor-widget.lclx-boat-copy {
	margin-top: 26px;
	font-family: var(--lclx-sans);
	font-size: 16.5px;
	line-height: 1.75;
	color: var(--lclx-body);
}
.elementor-widget.lclx-boat-copy p { margin: 0 0 16px; }
.elementor-widget.lclx-boat-copy p:last-child { margin-bottom: 0; }
@media (max-width: 880px) {
	.lclx-boat-story-in > .elementor-widget.lclx-boat-story-img { flex: 0 0 auto; width: 100%; }
	.lclx-boat-story-in > .e-con.lclx-boat-story-text { flex: 0 0 auto; width: 100%; align-items: center; text-align: center; }
	.elementor.elementor .e-con > .elementor-widget.lclx-boat-copy { margin-inline: auto; }
	.elementor-widget.lclx-boat-story-img img { aspect-ratio: 4 / 3; }
}

/* Spec sheet: label, heading and the build year very large (filled with a photo,
   set in the year's Advanced → Background) on the left; the details as a table on
   the right; four features with icons along the bottom. */
.e-con.lclx-boat-specs { background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-charcoal) 100%); }
.lclx-boat-specs > .e-con.lclx-sheet {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(36px, 6vw, 110px);
	align-items: end;
	width: 100%;
	max-width: 1240px;
}
.lclx-sheet > .e-con { width: auto; }
.lclx-sheet-l > .elementor-widget.lclx-boat-h2 { margin-top: 18px; }
.elementor.elementor .lclx-sheet-l > .elementor-widget.lclx-sheet-year {
	width: max-content;
	max-width: 100%;
	margin-top: clamp(26px, 3vw, 44px);
	-webkit-background-clip: text;
	background-clip: text;
}
.elementor-widget.lclx-sheet-year .elementor-heading-title {
	font-family: var(--lclx-serif);
	font-style: normal;
	font-weight: 400;
	font-size: clamp(120px, 15vw, 240px);
	line-height: .8;
	letter-spacing: -0.045em;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, .12);
	margin: 0;
	padding-bottom: .06em;
}
.elementor-widget.lclx-sheet-cap .elementor-heading-title {
	margin: 14px 0 0;
	font-family: var(--lclx-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: #8C8C8C;
}
.lclx-sheet-r > .elementor-widget.lclx-sheet-g:not(:first-child) { margin-top: 34px; }
.elementor-widget.lclx-sheet-g .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 6px;
	font-family: var(--lclx-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--lclx-aqua);
}
.elementor-widget.lclx-sheet-g .elementor-heading-title::after { content: ""; flex: 1 1 auto; height: 1px; background: rgba(255, 255, 255, .14); }
.lclx-sheet-r > .e-con.lclx-sheet-row {
	--padding-top: 15px;
	--padding-bottom: 15px;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.lclx-sheet-row > .elementor-widget { width: auto; }
.elementor-widget.lclx-sheet-k .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: 15px;
	font-weight: 300;
	color: rgba(255, 255, 255, .62);
}
.elementor-widget.lclx-sheet-v .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: clamp(17px, 1.4vw, 21px);
	font-weight: 400;
	letter-spacing: -0.01em;
	text-align: right;
	color: var(--lclx-white);
}
.lclx-boat-specs > .e-con.lclx-sheet-feats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
	max-width: 1240px;
	gap: 0;
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	margin-top: clamp(30px, 4vw, 60px);
	border-top: 1px solid rgba(255, 255, 255, .1);
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.lclx-sheet-feats > .e-con.lclx-sheet-feat {
	--padding-top: 24px;
	--padding-bottom: 24px;
	width: auto;
}
.lclx-sheet-feats > .e-con.lclx-sheet-feat + .e-con.lclx-sheet-feat { border-left: 1px solid rgba(255, 255, 255, .1); }
.lclx-sheet-feat > .elementor-widget { width: auto; }
.elementor-widget.lclx-sheet-ic .elementor-icon { font-size: 18px; color: var(--lclx-aqua); fill: var(--lclx-aqua); }
.elementor-widget.lclx-sheet-ic .elementor-icon svg { width: 18px; height: 18px; fill: var(--lclx-aqua); }
.elementor-widget.lclx-sheet-ft .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: 10.5px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .28em;
	text-align: center;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .85);
}
@media (max-width: 880px) {
	.lclx-boat-specs > .e-con.lclx-sheet { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.lclx-sheet > .e-con.lclx-sheet-l { align-items: center; text-align: center; }
	.elementor.elementor .lclx-sheet-l > .elementor-widget.lclx-sheet-year { margin-inline: auto; }
}
@media (max-width: 767px) {
	.lclx-boat-specs > .e-con.lclx-sheet-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lclx-sheet-feats > .e-con.lclx-sheet-feat + .e-con.lclx-sheet-feat:nth-child(3) { border-left: 0; }
	.lclx-sheet-feats > .e-con.lclx-sheet-feat:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .1); }
	.lclx-sheet-feats > .e-con.lclx-sheet-feat { --padding-top: 20px; --padding-bottom: 20px; --padding-left: 8px; --padding-right: 8px; }
	.elementor-widget.lclx-sheet-ft .elementor-heading-title { font-size: 9.5px; letter-spacing: .2em; }
	.elementor-widget.lclx-sheet-k .elementor-heading-title { font-size: 14px; }
}

/* Gallery: rounded photos, arrows over the photos, dashes underneath */
.e-con.lclx-boat-gallery { background: linear-gradient(180deg, var(--lclx-charcoal) 0%, var(--lclx-near-2) 100%); }
.elementor.elementor .lclx-boat-gallery > .elementor-widget.lclx-boat-gal { width: 100%; max-width: 1600px; margin-top: 10px; }
.elementor-widget.lclx-boat-gal .elementor-image-carousel-wrapper { overflow: hidden; }
.elementor-widget.lclx-boat-gal .swiper-slide-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 18px;
}
.elementor-widget.lclx-boat-gal--portrait .swiper-slide-image { aspect-ratio: 4 / 5; }
.elementor-widget.lclx-boat-gal .elementor-swiper-button {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .6);
	background: rgba(0, 0, 0, .35);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: var(--lclx-white);
	fill: var(--lclx-white);
	font-size: 15px;
	transition: background .4s, border-color .4s, color .4s;
}
.elementor-widget.lclx-boat-gal .elementor-swiper-button:hover { background: var(--lclx-aqua); border-color: var(--lclx-aqua); color: #000000; fill: #000000; }
.elementor-widget.lclx-boat-gal .elementor-swiper-button-prev { left: 18px; }
.elementor-widget.lclx-boat-gal .elementor-swiper-button-next { right: 18px; }
.elementor-widget.lclx-boat-gal .swiper-pagination-bullet {
	width: 22px;
	height: 2px;
	border-radius: 0;
	background: var(--lclx-white);
	opacity: .35;
}
.elementor-widget.lclx-boat-gal .swiper-pagination-bullet-active { background: var(--lclx-aqua); opacity: 1; }
@media (max-width: 767px) {
	.elementor-widget.lclx-boat-gal .swiper-pagination-bullet { width: 12px; margin: 0 3px; }
}

/* Booking band on boat pages: less space above and below than on the home page */
.lclx-boat-gallery ~ .lclx-book-slot .e-con.lclx-book-head { min-height: 540px; --padding-top: 120px; }
.lclx-boat-gallery ~ .lclx-book-slot .e-con.lclx-book { --padding-bottom: clamp(28px, 3vw, 48px); }
@media (max-width: 767px) {
	.lclx-boat-gallery ~ .lclx-book-slot .e-con.lclx-book-head { min-height: 400px; --padding-top: 80px; padding-top: 80px; }
}

/* Explore the fleet: photo cards, text at the bottom */
.e-con.lclx-boat-others { background: linear-gradient(180deg, var(--lclx-near-2) 0%, var(--lclx-charcoal) 100%); }
.lclx-boat-others > .e-con.lclx-ocards {
	width: 100%;
	max-width: 1600px;
	margin-top: 10px;
	grid-template-rows: none;
	grid-auto-rows: auto;
}
.lclx-ocards > .e-con.lclx-ocard {
	--padding-top: 26px;
	--padding-bottom: 28px;
	--padding-left: 28px;
	--padding-right: 28px;
	position: relative;
	min-height: clamp(360px, 30vw, 500px);
	border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, .08);
	overflow: hidden;
	isolation: isolate;
	color: var(--lclx-white);
	transition: border-color .6s, transform .6s var(--lclx-ease-out);
}
.lclx-ocards > .e-con.lclx-ocard::before {
	content: "";
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	display: block;
	border: 0;
	opacity: 1;
	mix-blend-mode: normal;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, .45) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .2) 55%, rgba(0, 0, 0, .85) 100%);
}
.lclx-ocards > .e-con.lclx-ocard:hover { border-color: rgba(0, 209, 200, .4); transform: translateY(-4px); }
.lclx-ocard > .elementor-widget.lclx-ocard-meta { position: absolute; top: 24px; left: 28px; width: auto; }
.lclx-ocard .elementor-widget.lclx-cat-title .elementor-heading-title { font-size: clamp(22px, 1.8vw, 30px); }
.lclx-ocard .elementor-widget.lclx-cat-title .elementor-heading-title::after { width: 56px; margin: 16px 0 0; transition: width .9s var(--lclx-ease); }
.lclx-ocard:hover .elementor-widget.lclx-cat-title .elementor-heading-title::after { width: 110px; }
.elementor-widget.lclx-ocard-link .elementor-heading-title {
	display: inline-flex;
	gap: 10px;
	margin: 18px 0 0;
	font-family: var(--lclx-sans);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--lclx-white);
}
.lclx-ocard-ar { color: var(--lclx-aqua); transition: transform .55s var(--lclx-ease); }
.lclx-ocard:hover .lclx-ocard-ar { transform: translateX(6px); }
.lclx-boat-others > .elementor-widget.lclx-btn { margin-top: 10px; }
@media (max-width: 767px) {
	.lclx-ocards > .e-con.lclx-ocard { min-height: 300px; }
}

/* Tour durations as the last section before the footer: ends in black */
.e-con.lclx-tours-mini.lclx-tours-end { background: linear-gradient(180deg, var(--lclx-charcoal) 0%, #000000 100%); }
@media (prefers-reduced-motion: reduce) {
	.lclx-ocards > .e-con.lclx-ocard { transition: none; }
}


/* 55  Tour durations with a photo behind (Fleet + boat pages)
   The photo is the section's own background (Style → Background); this layer
   darkens it and fades it into the sections above and below. Tiles get a
   little frost so they read over the photo.
   -------------------------------------------------------------------------- */
.e-con.lclx-tours-mini.lclx-tours-photo { position: relative; isolation: isolate; }
.e-con.lclx-tours-mini.lclx-tours-photo::before {
	content: "";
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	display: block;
	border: 0;
	opacity: 1;
	mix-blend-mode: normal;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(60% 55% at 50% 55%, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .55) 100%),
		linear-gradient(180deg, var(--lclx-charcoal) 0%, var(--lclx-charcoal) 7%, rgba(20, 20, 20, .84) 18%, rgba(20, 20, 20, .58) 32%, rgba(0, 0, 0, .35) 55%, rgba(13, 13, 13, .85) 85%, var(--lclx-near-2) 100%);
}
.e-con.lclx-tours-mini.lclx-tours-end.lclx-tours-photo::before {
	background:
		radial-gradient(60% 55% at 50% 55%, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .55) 100%),
		linear-gradient(180deg, var(--lclx-charcoal) 0%, var(--lclx-charcoal) 7%, rgba(20, 20, 20, .84) 18%, rgba(20, 20, 20, .58) 32%, rgba(0, 0, 0, .35) 55%, rgba(0, 0, 0, .85) 85%, #000000 100%);
}
.lclx-tours-photo > .e-con.lclx-dur-tiles > .e-con.lclx-dur-tile {
	background: rgba(10, 10, 10, .42);
	border-color: rgba(255, 255, 255, .16);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.lclx-tours-photo .elementor-widget.lclx-tours-intro { text-shadow: 0 1px 12px rgba(0, 0, 0, .6); }
.lclx-tours-photo > .e-con.lclx-dur-tiles > .e-con.lclx-dur-tile:hover {
	background: var(--lclx-aqua);
	border-color: var(--lclx-aqua);
}


/* 56  Riva pages: the collection (/fleet/riva/) and one page per boat
   Boat pages use the §54 layout. Hero photos are measured as in §54;
   --lclx-fade / --lclx-fade-m start the bottom fade lower (desktop / tablets
   and phones) where the boat sits low in its photo.
   -------------------------------------------------------------------------- */
.lclx-bhero--ariston > .e-con.lclx-bhero-photo { --lclx-ar: 1.4997; --lclx-bx: 55; --lclx-bow: 25.5; --lclx-stern: 80; --lclx-dimy: 85; --lclx-fade: 84%; --lclx-fade-m: 80%; }
.lclx-bhero--tritone > .e-con.lclx-bhero-photo { --lclx-ar: 2; --lclx-bow: 26.8; --lclx-stern: 73.6; --lclx-dimy: 84; --lclx-fade: 86%; --lclx-fade-m: 82%; }
.lclx-bhero--aquariva > .e-con.lclx-bhero-photo { --lclx-ar: 1.6954; --lclx-bow: 13.4; --lclx-stern: 85.9; --lclx-dimy: 66; }
.lclx-bhero--vaporina > .e-con.lclx-bhero-photo { --lclx-ar: 1.7792; --lclx-bow: 16.7; --lclx-stern: 81.8; --lclx-dimy: 60.5; }
.lclx-bhero--aquarama > .e-con.lclx-bhero-photo { --lclx-ar: 1.9234; --lclx-bx: 43; --lclx-bow: 17.9; --lclx-stern: 68; --lclx-dimy: 90; --lclx-fade: 86%; --lclx-fade-m: 82%; }

/* Collection: the four boats, photo + text, sides alternating */
.e-con.lclx-rmodels { background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-charcoal) 100%); }
.lclx-rmodels > .e-con.lclx-rmodel-list { width: 100%; max-width: 1240px; margin-top: clamp(28px, 4vw, 60px); }
.lclx-rmodel-list > .e-con.lclx-rmodel { --padding-top: clamp(28px, 3.4vw, 52px); --padding-bottom: clamp(28px, 3.4vw, 52px); }
.lclx-rmodel-list > .e-con.lclx-rmodel + .e-con.lclx-rmodel { border-top: 1px solid rgba(255, 255, 255, .08); }
.lclx-rmodel-list > .e-con.lclx-rmodel:nth-child(even) { flex-direction: row-reverse; }
.lclx-rmodel > .elementor-widget.lclx-rmodel-img { flex: 0 0 54%; width: 54%; }
.elementor-widget.lclx-rmodel-img a { display: block; overflow: hidden; border-radius: 22px; }
.elementor-widget.lclx-rmodel-img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 22px;
	transition: transform 1.2s var(--lclx-ease-out);
}
.elementor-widget.lclx-rmodel-img a:hover img { transform: scale(1.035); }
.lclx-rmodel > .e-con.lclx-rmodel-text { flex: 1 1 0; min-width: 0; flex-wrap: nowrap; }
.lclx-rmodel-text > .elementor-widget.lclx-rmodel-name { margin-top: 14px; }
.elementor-widget.lclx-rmodel-name .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-serif);
	font-size: clamp(54px, 5.6vw, 92px);
	font-weight: 400;
	line-height: .95;
	letter-spacing: -0.03em;
	color: var(--lclx-white);
}
.elementor-widget.lclx-rmodel-name .elementor-heading-title a { color: inherit; }
.elementor-widget.lclx-rmodel-copy { margin-top: 18px; }
.lclx-rmodel-text > .e-con.lclx-rmodel-specs {
	width: 100%;
	max-width: 520px;
	margin-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.lclx-rmodel-specs > .e-con.lclx-rmodel-spec { flex: 1 1 0; min-width: 0; --padding-top: 16px; --padding-bottom: 16px; --padding-left: 16px; --padding-right: 8px; }
.lclx-rmodel-specs > .e-con.lclx-rmodel-spec:first-child { --padding-left: 0px; }
.lclx-rmodel-specs > .e-con.lclx-rmodel-spec + .e-con.lclx-rmodel-spec { border-left: 1px solid rgba(255, 255, 255, .1); }
.lclx-rmodel-spec > .elementor-widget { width: auto; }
.elementor-widget.lclx-rmodel-k .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: 9.5px;
	font-weight: 500;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: #8C8C8C;
}
.elementor-widget.lclx-rmodel-v .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: clamp(15px, 1.2vw, 18px);
	font-weight: 400;
	color: var(--lclx-white);
}
.lclx-rmodel-text > .e-con.lclx-rmodel-ctas { width: auto; margin-top: 28px; }
@media (max-width: 880px) {
	.lclx-rmodel-list > .e-con.lclx-rmodel,
	.lclx-rmodel-list > .e-con.lclx-rmodel:nth-child(even) { flex-direction: column; --gap: 26px; gap: 26px; }
	.lclx-rmodel > .elementor-widget.lclx-rmodel-img { flex: 0 0 auto; width: 100%; }
	.lclx-rmodel > .e-con.lclx-rmodel-text { flex: 0 0 auto; width: 100%; align-items: center; text-align: center; }
	.elementor.elementor .e-con > .elementor-widget.lclx-rmodel-copy { margin-inline: auto; }
	.lclx-rmodel-text > .e-con.lclx-rmodel-specs { margin-inline: auto; }
	.lclx-rmodel-specs > .e-con.lclx-rmodel-spec,
	.lclx-rmodel-specs > .e-con.lclx-rmodel-spec:first-child { align-items: center; --padding-left: 6px; --padding-right: 6px; }
	.lclx-rmodel-text > .e-con.lclx-rmodel-ctas { justify-content: center; }
}
@media (max-width: 767px) {
	.elementor-widget.lclx-rmodel-k .elementor-heading-title { font-size: 8.5px; letter-spacing: .2em; }
	.elementor-widget.lclx-rmodel-v .elementor-heading-title { font-size: 14px; }
	.lclx-rmodel-text > .e-con.lclx-rmodel-ctas { width: 100%; }
}

/* Collection: side-by-side table (a grid of Heading widgets, first column =
   labels, first row = the boats) and what every Riva tour includes. Phones
   scroll the table sideways with the labels pinned. */
.e-con.lclx-boat-specs.lclx-rcompare { background: linear-gradient(180deg, var(--lclx-charcoal) 0%, var(--lclx-near-2) 100%); }
.lclx-rcompare > .e-con.lclx-rcmp-wrap {
	display: block;
	width: 100%;
	max-width: 1240px;
	margin-top: clamp(28px, 4vw, 56px);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.lclx-rcmp-wrap::-webkit-scrollbar { display: none; }
.lclx-rcmp-wrap > .e-con.lclx-rcmp {
	grid-template-columns: minmax(130px, 1.1fr) repeat(4, minmax(0, 1fr));
	min-width: 640px;
}
.lclx-rcmp > .elementor-widget.lclx-rcmp-c {
	display: flex;
	align-items: center;
	width: auto;
	margin: 0;
	padding: 16px 14px;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.lclx-rcmp > .elementor-widget.lclx-rcmp-k { padding-left: 0; }
.lclx-rcmp > .elementor-widget.lclx-rcmp-h { align-items: flex-end; }
.lclx-rcmp > .elementor-widget.lclx-rcmp-h,
.lclx-rcmp > .elementor-widget.lclx-rcmp-corner { border-bottom-color: rgba(255, 255, 255, .22); padding-bottom: 20px; }
.lclx-rcmp .elementor-widget.lclx-rcmp-c .elementor-heading-title { margin: 0; font-family: var(--lclx-sans); }
.elementor-widget.lclx-rcmp-h .elementor-heading-title {
	font-family: var(--lclx-serif);
	font-size: clamp(26px, 2.4vw, 38px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--lclx-white);
}
.elementor-widget.lclx-rcmp-h .elementor-heading-title a { color: inherit; transition: color .4s; }
.elementor-widget.lclx-rcmp-h .elementor-heading-title a:hover { color: var(--lclx-aqua); }
.elementor-widget.lclx-rcmp-k .elementor-heading-title {
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: #8C8C8C;
}
.elementor-widget.lclx-rcmp-v .elementor-heading-title {
	font-size: clamp(14px, 1.15vw, 17px);
	font-weight: 400;
	line-height: 1.4;
	color: var(--lclx-white);
}
.lclx-rcompare > .e-con.lclx-sheet-feats { margin-top: clamp(36px, 5vw, 72px); }
@media (max-width: 767px) {
	.lclx-rcmp > .elementor-widget.lclx-rcmp-c { padding: 13px 10px; }
	.lclx-rcmp > .elementor-widget.lclx-rcmp-k,
	.lclx-rcmp > .elementor-widget.lclx-rcmp-corner { position: sticky; left: 0; z-index: 1; background: var(--lclx-charcoal); }
	/* the right edge fades out, so the table reads as one to swipe */
	.lclx-rcompare > .e-con.lclx-rcmp-wrap {
		-webkit-mask-image: linear-gradient(90deg, #000 0%, #000 82%, rgba(0, 0, 0, .25) 100%);
		mask-image: linear-gradient(90deg, #000 0%, #000 82%, rgba(0, 0, 0, .25) 100%);
	}
	.lclx-rcmp-wrap > .e-con.lclx-rcmp { grid-template-columns: 112px repeat(4, minmax(118px, 1fr)); min-width: 584px; }
	.elementor-widget.lclx-rcmp-k .elementor-heading-title { font-size: 9px; letter-spacing: .18em; }
	.elementor-widget.lclx-rcmp-h .elementor-heading-title { font-size: 26px; }
}

/* Booking band after the table: same tighter spacing as on boat pages */
.lclx-rcompare ~ .lclx-book-slot .e-con.lclx-book-head { min-height: 540px; --padding-top: 120px; }
.lclx-rcompare ~ .lclx-book-slot .e-con.lclx-book { --padding-bottom: clamp(28px, 3vw, 48px); }
@media (max-width: 767px) {
	.lclx-rcompare ~ .lclx-book-slot .e-con.lclx-book-head { min-height: 400px; --padding-top: 80px; padding-top: 80px; }
}
@media (prefers-reduced-motion: reduce) {
	.elementor-widget.lclx-rmodel-img img { transition: none; }
}


/* 57  Tours: the Tours page (/tours/) and one page per duration (/tours/N-hour/)
   Tour page: hero (boat-page spec sheet, no measured line) → the tour (write-up,
   stops, lake map fixed on this tour) → highlights → on every tour → design your
   own (#custom) → booking → tour durations → explore the fleet.
   -------------------------------------------------------------------------- */
.lclx-bhero--tour > .e-con.lclx-bhero-photo { --lclx-fade: 82%; --lclx-fade-m: 70%; }
.lclx-bhero--classic > .e-con.lclx-bhero-photo { --lclx-fade: 82%; --lclx-fade-m: 70%; }

/* The tour: text on the left, the lake map on the right; stacked on tablets */
.e-con.lclx-tour-ov { background: linear-gradient(180deg, #000000 0%, var(--lclx-charcoal-2) 100%); }
.lclx-tour-ov > .e-con.lclx-tour-ov-in { width: 100%; max-width: 1360px; }
.lclx-tour-ov-in > .e-con.lclx-tour-ov-text,
.lclx-tour-ov-in > .e-con.lclx-tour-ov-map { flex: 1 1 0; min-width: 0; }
.elementor-widget.lclx-tour-sub .elementor-heading-title {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: 11.5px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--lclx-white);
}
.elementor-widget.lclx-tour-sub .elementor-heading-title span { font-size: 10px; letter-spacing: .24em; color: var(--lclx-aqua); }
.lclx-tour-ov-text > .elementor-widget.lclx-tour-sub { margin-top: clamp(14px, 2vw, 26px); }
.elementor.elementor .lclx-tour-ov-text > .e-con.lclx-tour-stops { width: 100%; max-width: 560px; margin-top: 14px; border-top: 1px solid rgba(255, 255, 255, .1); }
.lclx-tour-stops > .e-con.lclx-tour-stop {
	--padding-top: 15px;
	--padding-bottom: 15px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.lclx-tour-stop > .elementor-widget { width: auto; }
.elementor-widget.lclx-tour-stop-n .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: clamp(15px, 1.2vw, 17px);
	font-weight: 400;
	line-height: 1.4;
	color: var(--lclx-white);
}
.elementor-widget.lclx-tour-stop-t .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-align: right;
	white-space: nowrap;
	color: var(--lclx-aqua);
}
.elementor.elementor .e-con > .elementor-widget.lclx-tour-note { max-width: 560px; }
.elementor-widget.lclx-tour-note { margin-top: 22px; font-family: var(--lclx-sans); font-size: 13px; line-height: 1.7; color: var(--lclx-muted-2); }
.elementor-widget.lclx-tour-note p { margin: 0; }
.lclx-tour-ov-map > .elementor-widget.lclx-map-w { max-width: 520px; margin: 0 auto; }
/* Desktop: the map is taller than the text, so the text stays in view beside it */
@media (min-width: 1025px) {
	.lclx-tour-ov > .e-con.lclx-tour-ov-in { --align-items: flex-start; align-items: flex-start; }
	.lclx-tour-ov-in > .e-con.lclx-tour-ov-text { position: sticky; top: 130px; }
}

/* Highlights: two columns of places, one line each */
.e-con.lclx-tour-hl { background: var(--lclx-charcoal-2); }
.lclx-tour-hl > .e-con.lclx-hl-cols { width: 100%; max-width: 1100px; margin-top: 6px; }
.lclx-hl-cols > .e-con.lclx-hl-col { flex: 1 1 0; min-width: 0; }

/* Along the way (Highlights): a swiping carousel, three photos at a time
   (two on tablets, one on phones), caption on a soft fade at the bottom */
.elementor.elementor .lclx-tour-hl > .elementor-widget.lclx-gal { width: 100%; max-width: 1100px; min-width: 0; margin-top: 6px; }
.elementor-widget.lclx-gal .elementor-image-carousel-wrapper { overflow: hidden; padding-bottom: 44px; }
.elementor-widget.lclx-gal .swiper-slide-inner {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, .07);
	overflow: hidden;
	isolation: isolate;
}
.elementor-widget.lclx-gal .swiper-slide-inner .swiper-slide-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s var(--lclx-ease-out);
}
.elementor-widget.lclx-gal .swiper-slide:hover .swiper-slide-image { transform: scale(1.04); }
.elementor-widget.lclx-gal .swiper-slide-inner::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .45) 78%, rgba(0, 0, 0, .8) 100%);
}
.elementor.elementor .elementor-widget.lclx-gal .elementor-image-carousel-caption {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 14px;
	z-index: 2;
	margin: 0;
	padding: 0;
	text-align: left;
	font-family: var(--lclx-serif);
	font-style: italic;
	font-size: clamp(15px, 1.2vw, 19px);
	font-weight: 400;
	line-height: 1.25;
	color: var(--lclx-white);
}
.elementor-widget.lclx-gal .elementor-swiper-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .22);
	background: rgba(10, 10, 10, .5);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: var(--lclx-white);
	font-size: 16px;
	transition: background .4s, border-color .4s;
}
.elementor-widget.lclx-gal .elementor-swiper-button svg { width: 16px; height: 16px; fill: currentColor; }
.elementor-widget.lclx-gal .elementor-swiper-button-prev { left: 12px; }
.elementor-widget.lclx-gal .elementor-swiper-button-next { right: 12px; }
.elementor-widget.lclx-gal .elementor-swiper-button:hover { background: var(--lclx-aqua); border-color: var(--lclx-aqua); color: #000000; }
.elementor-widget.lclx-gal .swiper-pagination-bullet { width: 7px; height: 7px; opacity: 1; background: rgba(255, 255, 255, .3); transition: background .4s, width .4s; }
.elementor-widget.lclx-gal .swiper-pagination-bullet-active { width: 22px; border-radius: 4px; background: var(--lclx-aqua); }
@media (max-width: 767px) {
	.elementor-widget.lclx-gal .swiper-slide-inner { border-radius: 12px; }
	.elementor.elementor .elementor-widget.lclx-gal .elementor-image-carousel-caption { left: 14px; bottom: 12px; font-size: 16px; }
	.elementor-widget.lclx-gal .elementor-swiper-button { width: 38px; height: 38px; margin-top: -19px; }
}
@media (prefers-reduced-motion: reduce) {
	.elementor-widget.lclx-gal .swiper-slide-inner .swiper-slide-image { transition: none; }
}
.lclx-hl-col > .elementor-widget.lclx-tour-sub { margin-bottom: 8px; }
.lclx-hl-col > .e-con.lclx-hl-i {
	--padding-top: 16px;
	--padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.elementor-widget.lclx-hl-n .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-serif);
	font-style: italic;
	font-size: clamp(20px, 1.7vw, 25px);
	font-weight: 400;
	line-height: 1.15;
	color: var(--lclx-white);
}
.elementor-widget.lclx-hl-d .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-sans);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	color: rgba(255, 255, 255, .62);
}
.lclx-tour-hl > .elementor-widget.lclx-map-note { margin-top: 8px; }

/* On every tour: the boat pages' feature row */
.e-con.lclx-boat-specs.lclx-tour-incl { background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-charcoal) 100%); }
.lclx-tour-incl > .e-con.lclx-sheet-feats { margin-top: 22px; }

/* Design your own tour: photo + text card */
.e-con.lclx-tour-custom { background: linear-gradient(180deg, var(--lclx-charcoal) 0%, var(--lclx-near-2) 100%); }
.lclx-tour-custom > .e-con.lclx-tc {
	width: 100%;
	max-width: 1360px;
	border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, .08);
	overflow: hidden;
	background: #0D0D0D;
}
.lclx-tc > .e-con.lclx-tc-photo { flex: 0 0 44%; width: 44%; min-height: clamp(460px, 40vw, 640px); }
.lclx-tc > .e-con.lclx-tc-text { flex: 1 1 0; min-width: 0; }
.lclx-tc-text > .elementor-widget.lclx-tc-chips { margin-top: 6px; }
.lclx-tc-text > .e-con.lclx-tc-ctas { margin-top: 30px; }
.lclx-tour-custom ~ .lclx-book-slot .e-con.lclx-book-head { min-height: 540px; --padding-top: 120px; }
.lclx-tour-custom ~ .lclx-book-slot .e-con.lclx-book { --padding-bottom: clamp(28px, 3vw, 48px); }
@media (max-width: 1024px) {
	.lclx-tc > .e-con.lclx-tc-photo { flex: 0 0 auto; width: 100%; min-height: clamp(280px, 60vw, 460px); }
}
@media (max-width: 767px) {
	.lclx-tour-custom ~ .lclx-book-slot .e-con.lclx-book-head { min-height: 400px; --padding-top: 80px; padding-top: 80px; }
	.lclx-tc-text > .e-con.lclx-tc-ctas > .elementor-widget { width: 100%; }
	.lclx-tc-text > .e-con.lclx-tc-ctas .elementor-button { width: 100%; justify-content: center; }
}

/* The current tour's tile in "Tour durations" */
.lclx-dur-tiles > .e-con.lclx-dur-tile.lclx-dur-tile--on { border-color: var(--lclx-aqua); }
.lclx-dur-tile--on .elementor-widget.lclx-dur-tile-n .elementor-heading-title { color: var(--lclx-aqua); }
.lclx-dur-tiles > .e-con.lclx-dur-tile.lclx-dur-tile--on:hover .elementor-widget.lclx-dur-tile-n .elementor-heading-title { color: #000000; }

/* The Tours page. Backgrounds run as one: statement (black → #1C1C1C) → cards
   (#1C1C1C → #141414) → on every tour (#141414) → design your own (→ #0D0D0D)
   → booking (#0D0D0D) → explore the fleet (#0D0D0D → #141414, panels on black)
   → our services (black). */
.e-con.lclx-tour-cards { background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-charcoal) 100%); }
.lclx-tour-cards + .e-con.lclx-boat-specs.lclx-tour-incl { background: var(--lclx-charcoal); }
.lclx-tour-cards > .elementor-widget.lclx-tour-note { margin: 4px auto 0; max-width: 640px; }

/* Tour cards: photo on top, dark at the bottom where the text sits */
.lclx-tour-cards > .e-con.lclx-tcards {
	width: 100%;
	max-width: 1360px;
	margin-top: 6px;
	grid-template-rows: none;
	grid-auto-rows: auto;
}
.lclx-tcards > .e-con.lclx-tcard {
	--padding-top: 22px;
	--padding-bottom: 22px;
	--padding-left: 24px;
	--padding-right: 24px;
	position: relative;
	min-height: clamp(260px, 19vw, 340px);
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, .07);
	overflow: hidden;
	isolation: isolate;
	color: var(--lclx-white);
	transition: border-color .6s, transform .6s var(--lclx-ease-out);
}
.lclx-tcards > .e-con.lclx-tcard::before {
	content: "";
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	display: block;
	border: 0;
	opacity: 1;
	mix-blend-mode: normal;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 34%, rgba(0, 0, 0, .55) 58%, rgba(0, 0, 0, .9) 82%, #000000 100%);
}
.lclx-tcards > .e-con.lclx-tcard:hover { border-color: rgba(0, 209, 200, .4); transform: translateY(-4px); }
.lclx-tcard > .elementor-widget { width: auto; }
.elementor-widget.lclx-tcard-name .elementor-heading-title {
	margin: 0;
	font-family: var(--lclx-serif);
	font-style: italic;
	font-size: clamp(17px, 1.35vw, 21px);
	font-weight: 400;
	line-height: 1.2;
	color: rgba(255, 255, 255, .8);
}
.elementor-widget.lclx-tcard-dur .elementor-heading-title {
	margin: 4px 0 0;
	font-family: var(--lclx-sans);
	font-size: clamp(24px, 2vw, 32px);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--lclx-white);
}
.lclx-tcard > .elementor-widget.lclx-tcard-link .elementor-heading-title { margin-top: 12px; font-size: 10.5px; }
.lclx-tcard:hover .lclx-ocard-ar { transform: translateX(6px); }
@media (max-width: 767px) {
	.lclx-tcards > .e-con.lclx-tcard { min-height: 220px; --padding-left: 16px; --padding-right: 16px; --padding-bottom: 16px; border-radius: 14px; }
	.elementor-widget.lclx-tcard-name .elementor-heading-title { font-size: 15px; }
	.elementor-widget.lclx-tcard-dur .elementor-heading-title { font-size: 22px; }
	.lclx-tcard > .elementor-widget.lclx-tcard-link .elementor-heading-title { letter-spacing: .22em; }
}
@media (prefers-reduced-motion: reduce) {
	.lclx-tcards > .e-con.lclx-tcard { transition: none; }
}

/* Booking into Tour durations: the photo layer starts on the booking band's own
   colour (#0D0D0D) and only then opens up onto the photo; the solid colour sits
   above the vignette so the top edge is not darkened */
.lclx-book-slot + .e-con.lclx-tours-mini.lclx-tours-photo::before {
	background:
		linear-gradient(180deg, var(--lclx-near-2) 0%, var(--lclx-near-2) 9%, rgba(13, 13, 13, .9) 20%, rgba(13, 13, 13, .66) 33%, rgba(0, 0, 0, .3) 55%, rgba(13, 13, 13, .85) 85%, var(--lclx-near-2) 100%),
		radial-gradient(60% 55% at 50% 55%, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .55) 100%);
}
.lclx-book-slot + .e-con.lclx-tours-mini.lclx-tours-end.lclx-tours-photo::before {
	background:
		linear-gradient(180deg, var(--lclx-near-2) 0%, var(--lclx-near-2) 9%, rgba(13, 13, 13, .9) 20%, rgba(13, 13, 13, .66) 33%, rgba(0, 0, 0, .3) 55%, rgba(0, 0, 0, .85) 85%, #000000 100%),
		radial-gradient(60% 55% at 50% 55%, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .55) 100%);
}
/* Tour durations (ending in black) into Explore the fleet: black into black */
.lclx-tours-photo + .e-con.lclx-fleet.lclx-tours-fleet { background: #000000; }

/* Explore the fleet on the Tours page: the home hover panels, fading from the
   booking band above; the panels end in black, straight into our services */
.e-con.lclx-fleet.lclx-tours-fleet { background: linear-gradient(180deg, var(--lclx-near-2) 0%, var(--lclx-charcoal) 100%); }
.lclx-tours-fleet > .e-con.lclx-fleet-head { width: 100%; max-width: 1360px; }
.e-con.lclx-tours-fleet-slot {
	--padding-bottom: clamp(24px, 3vw, 48px);
	padding-bottom: clamp(24px, 3vw, 48px);
	background: #000000;
}
.lclx-tours-fleet-slot .e-con.lclx-fleet.lclx-fleet--panels { background: transparent; }
.lclx-tours-fleet-slot .lclx-cats > .e-con.lclx-cat::before {
	background: linear-gradient(180deg, rgba(0, 0, 0, .45) 0%, rgba(0, 0, 0, .18) 30%, rgba(0, 0, 0, .25) 55%, rgba(0, 0, 0, .85) 84%, #000000 100%);
}

/* Explore the fleet with all five boats: five across on desktop; on tablets two
   per row with the last one across the row */
@media (min-width: 1201px) {
	.lclx-boat-others > .e-con.lclx-ocards:has(> .e-con.lclx-ocard:nth-child(5):last-child) { --e-con-grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1200px) {
	.lclx-boat-others > .e-con.lclx-ocards > .e-con.lclx-ocard:nth-child(5):last-child { grid-column: 1 / -1; min-height: clamp(300px, 36vw, 420px); }
}



/* 58  Transfers: /transfers/, /transfers/boat-transfers/, /transfers/vehicle-transfers/
   One colour run per page so every section blends into the next:
   main     statement (#000 → #1C1C1C) → choose (#1C1C1C → #141414) → every transfer
            (#141414) → weddings card (#141414 → #0D0D0D) → booking → tour durations
   boat/car hero → story (#000 → #1C1C1C) → (vehicles, #1C1C1C) → every transfer
            (#1C1C1C → #141414) → where (#141414) → other card (#141414 → #0D0D0D) → booking
   -------------------------------------------------------------------------- */
.lclx-bhero--transfer > .e-con.lclx-bhero-photo { --lclx-fade: 82%; --lclx-fade-m: 70%; }
/* "Water taxi" and "Chauffeur" are longer than the boat names: a little smaller on phones */
@media (max-width: 767px) {
	.lclx-bhero--transfer .elementor-widget.lclx-bhero-name .elementor-heading-title { font-size: clamp(60px, 18vw, 140px); }
}

/* Choose your transfer: two tall photo cards */
.e-con.lclx-tour-cards.lclx-tr-choose { background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-charcoal) 100%); }
.lclx-tour-cards > .e-con.lclx-tcards.lclx-tcards--two { max-width: 1100px; }
.lclx-tcards--two > .e-con.lclx-tcard { min-height: clamp(360px, 34vw, 520px); --padding-left: clamp(24px, 3vw, 40px); --padding-right: clamp(24px, 3vw, 40px); --padding-bottom: clamp(24px, 3vw, 36px); }
.lclx-tcards--two .elementor-widget.lclx-tcard-dur .elementor-heading-title { font-size: clamp(30px, 3vw, 44px); }
.lclx-tcard > .elementor-widget.lclx-tr-card-d .elementor-heading-title {
	margin: 8px 0 0;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.5;
	color: rgba(255, 255, 255, .78);
}
.lclx-tr-choose + .e-con.lclx-boat-specs.lclx-tour-incl { background: var(--lclx-charcoal); }

/* Sub pages: the vehicles, every transfer, where */
.e-con.lclx-tr-veh { background: var(--lclx-charcoal-2); }
.lclx-tr-veh > .e-con.lclx-veh-row { width: 100%; max-width: 900px; }
.lclx-veh-row > .e-con.lclx-veh { flex: 1 1 0; min-width: 0; border-radius: 18px; }
.elementor-widget.lclx-veh-n .elementor-heading-title {
	margin: 10px 0 22px;
	font-family: var(--lclx-serif);
	font-style: italic;
	font-size: clamp(26px, 2.4vw, 34px);
	font-weight: 400;
	line-height: 1.1;
	color: var(--lclx-white);
}
.lclx-veh > .e-con.lclx-veh-spec { padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, .08); }
.lclx-veh-spec > .elementor-widget { width: auto; }
.elementor-widget.lclx-veh-ic .elementor-icon { font-size: 16px; color: var(--lclx-aqua); }
.elementor-widget.lclx-veh-ic .elementor-icon svg { width: 16px; height: 16px; fill: var(--lclx-aqua); }
.elementor-widget.lclx-veh-t .elementor-heading-title { margin: 0; font-size: 15px; font-weight: 300; color: rgba(255, 255, 255, .85); }
.lclx-tr-veh + .e-con.lclx-boat-specs.lclx-tour-incl { background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-charcoal) 100%); }

.e-con.lclx-tr-places { background: var(--lclx-charcoal); }
.elementor.elementor .lclx-tr-places > .elementor-widget.lclx-tr-chips { width: 100%; max-width: 860px; }
.elementor-widget.lclx-tr-chips .elementor-icon-list-items.elementor-inline-items { justify-content: center; }
.lclx-tr-places > .elementor-widget.lclx-tour-note { max-width: 640px; margin: 0 auto; }

/* The cards before the booking form keep the tour pages' run into it */
.e-con.lclx-tour-custom.lclx-tr-events,
.e-con.lclx-tour-custom.lclx-tr-other { background: linear-gradient(180deg, var(--lclx-charcoal) 0%, var(--lclx-near-2) 100%); }

/* Transfer galleries sit on the page's flat charcoal, between "where" and the card */
.e-con.lclx-boat-gallery.lclx-tr-gal { background: var(--lclx-charcoal); }


/* 59  Experiences (/experiences/, the menu's Experiences)
   Colour run: full-screen intro → statement (#000 → #1C1C1C) → experience cards
   (#1C1C1C → #141414) → your wish is our command (photo, from #141414 to #1C1C1C)
   → our team (#1C1C1C → #141414) → Laurel (#141414 → #0D0D0D) → booking
   -------------------------------------------------------------------------- */
/* A deeper shade behind the title: the photo is busy where the text sits */
.e-con.lclx-page-hero.lclx-xp-hero::after {
	background:
		radial-gradient(80% 70% at 50% 40%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .3) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, .08) 22%, rgba(0, 0, 0, .3) 42%, rgba(0, 0, 0, .62) 66%, rgba(0, 0, 0, .82) 86%, #000000 100%);
}
.elementor-widget.lclx-xp-h1 .elementor-heading-title { line-height: .98; }
.lclx-xp-hero > .e-con.lclx-xp-ctas { margin-top: 10px; }

/* The experiences: six photo cards, three across. Kept calm: one even shade over
   every photo, the name and one line at the bottom, a small arrow top right */
.lclx-tour-cards > .e-con.lclx-tcards.lclx-tcards--three { max-width: 1360px; }
.lclx-tcards--three > .e-con.lclx-tcard { min-height: clamp(320px, 26vw, 420px); --padding-left: clamp(24px, 2.6vw, 36px); --padding-right: clamp(24px, 2.6vw, 36px); --padding-bottom: clamp(24px, 2.6vw, 34px); }
.lclx-tour-cards > .e-con.lclx-tcards.lclx-xp-cards { max-width: 1240px; }
.lclx-xp-cards > .e-con.lclx-tcard { border: 0; border-radius: 20px; }
.lclx-xp-cards > .e-con.lclx-tcard::before {
	background: linear-gradient(180deg, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, .12) 38%, rgba(0, 0, 0, .5) 64%, rgba(0, 0, 0, .86) 100%);
}
.lclx-xp-cards > .e-con.lclx-tcard::after {
	content: "\2197";
	position: absolute;
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .35);
	background: rgba(0, 0, 0, .2);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	font-size: 16px;
	line-height: 1;
	color: var(--lclx-white);
	transition: background-color .4s, border-color .4s, color .4s;
}
.lclx-xp-cards > .e-con.lclx-tcard:hover { transform: translateY(-4px); }
.lclx-xp-cards > .e-con.lclx-tcard:hover::after { background: var(--lclx-aqua); border-color: var(--lclx-aqua); color: #000000; }
.lclx-xp-cards .elementor-widget.lclx-tr-card-d .elementor-heading-title { margin-top: 6px; font-size: 14px; letter-spacing: .02em; color: rgba(255, 255, 255, .8); }
.lclx-tcards--three .elementor-widget.lclx-tcard-dur .elementor-heading-title { font-family: var(--lclx-serif); font-style: italic; font-weight: 400; font-size: clamp(30px, 2.6vw, 40px); letter-spacing: -0.01em; }
@media (max-width: 767px) {
	.lclx-tcards--three > .e-con.lclx-tcard { min-height: 260px; }
}

/* Your wish is our command: the villa photo behind, faded into the sections around it */
.e-con.lclx-xp-wish { position: relative; isolation: isolate; overflow: hidden; }
.e-con.lclx-xp-wish::before {
	content: "";
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	display: block;
	border: 0;
	opacity: 1;
	mix-blend-mode: normal;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(180deg, var(--lclx-charcoal) 0%, rgba(20, 20, 20, .82) 16%, rgba(0, 0, 0, .5) 40%, rgba(0, 0, 0, .55) 62%, rgba(28, 28, 28, .9) 86%, var(--lclx-charcoal-2) 100%),
		radial-gradient(70% 60% at 50% 45%, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .5) 100%);
}
.elementor-widget.lclx-xp-wish-h .elementor-heading-title { color: var(--lclx-white); text-shadow: 0 2px 24px rgba(0, 0, 0, .45); }
.elementor.elementor .lclx-xp-wish > .elementor-widget.lclx-xp-wish-t { max-width: 680px; }
.elementor-widget.lclx-xp-wish-t p { margin: 0; font-size: clamp(16px, 1.25vw, 19px); font-weight: 300; line-height: 1.7; color: rgba(255, 255, 255, .88); text-shadow: 0 1px 14px rgba(0, 0, 0, .6); }
.lclx-xp-wish > .e-con.lclx-xp-steps { width: 100%; max-width: 1100px; margin: 18px 0 8px; }
.lclx-xp-steps > .e-con.lclx-xp-step {
	flex: 1 1 0;
	min-width: 0;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, .14);
	background: rgba(10, 10, 10, .45);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.lclx-xp-step > .elementor-widget { width: 100%; }
.elementor-widget.lclx-xp-step-n .elementor-heading-title { font-size: 11px; letter-spacing: .24em; color: var(--lclx-aqua); }
.elementor-widget.lclx-xp-step-h .elementor-heading-title { margin: 14px 0 10px; font-family: var(--lclx-serif); font-style: italic; font-size: clamp(26px, 2.2vw, 34px); font-weight: 400; line-height: 1.1; color: var(--lclx-white); }
.elementor-widget.lclx-xp-step-t .elementor-heading-title { margin: 0; font-size: 15px; font-weight: 300; line-height: 1.6; color: rgba(255, 255, 255, .78); }

/* Our team: eight roles */
.e-con.lclx-xp-team { background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-charcoal) 100%); }
.elementor.elementor .lclx-xp-team > .elementor-widget.lclx-xp-team-t { max-width: 680px; }
.elementor-widget.lclx-xp-team-t p { margin: 0; font-size: 16px; font-weight: 300; line-height: 1.7; color: rgba(255, 255, 255, .78); }
.lclx-xp-team > .e-con.lclx-xp-roles { width: 100%; max-width: 1100px; margin-top: 10px; grid-template-rows: none; grid-auto-rows: auto; }
.lclx-xp-roles > .e-con.lclx-xp-role {
	--padding-top: clamp(24px, 2.6vw, 36px);
	--padding-bottom: clamp(24px, 2.6vw, 36px);
	--padding-left: 14px;
	--padding-right: 14px;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(218deg, var(--lclx-charcoal) 34%, var(--lclx-card-2) 69%);
	transition: border-color .5s, transform .5s var(--lclx-ease-out);
}
.lclx-xp-roles > .e-con.lclx-xp-role:hover { border-color: rgba(0, 209, 200, .4); transform: translateY(-3px); }
.lclx-xp-role > .elementor-widget { width: auto; }
.elementor-widget.lclx-xp-role-t .elementor-heading-title { margin: 0; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; line-height: 1.5; color: rgba(255, 255, 255, .85); }

/* Laurel */
.e-con.lclx-tour-custom.lclx-xp-laurel { background: linear-gradient(180deg, var(--lclx-charcoal) 0%, var(--lclx-near-2) 100%); }
.lclx-tc-text > .elementor-widget.lclx-xp-lead { margin-top: 14px; }
.elementor-widget.lclx-xp-lead .elementor-heading-title { margin: 0; font-family: var(--lclx-serif); font-style: italic; font-size: clamp(19px, 1.5vw, 23px); font-weight: 400; line-height: 1.4; color: rgba(255, 255, 255, .9); }
@media (prefers-reduced-motion: reduce) {
	.lclx-xp-roles > .e-con.lclx-xp-role { transition: none; }
}


/* 60  Contact (/contact/)
   Colour run: intro → form and details (#000 → #141414) → map (#141414 → #000)
   → reviews (#000 → #0D0D0D) → explore cards (#0D0D0D → #000) → our services
   -------------------------------------------------------------------------- */
.e-con.lclx-page-hero.lclx-ct-hero::after {
	background:
		radial-gradient(80% 70% at 50% 40%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .3) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, .08) 22%, rgba(0, 0, 0, .3) 42%, rgba(0, 0, 0, .62) 66%, rgba(0, 0, 0, .82) 86%, #000000 100%);
}
.lclx-ct-hero > .e-con.lclx-xp-ctas { margin-top: 10px; }

/* Form on the left, the ways to reach us on the right */
.e-con.lclx-ct { background: linear-gradient(180deg, #000000 0%, var(--lclx-charcoal) 100%); }
.lclx-ct > .e-con.lclx-ct-in { width: 100%; max-width: 1240px; }
.lclx-ct-in > .e-con.lclx-ct-main { flex: 1 1 0; min-width: 0; }
.lclx-ct-in > .e-con.lclx-ct-side { flex: 0 0 380px; position: sticky; top: 110px; }
.lclx-ct-main > .elementor-widget { width: 100%; }
.lclx-ct-main > .elementor-widget.lclx-boat-copy { max-width: 620px; }
.lclx-ct-main > .elementor-widget.lclx-ct-form { margin-top: 10px; }
.lclx-ct-form .elementor-field-type-submit { margin-top: 6px; }
@media (max-width: 1024px) {
	.lclx-ct-in > .e-con.lclx-ct-main,
	.lclx-ct-in > .e-con.lclx-ct-side { flex: 0 0 auto; width: 100%; position: static; }
}

.lclx-ct-side > .e-con.lclx-ct-way {
	--padding-top: 22px;
	--padding-bottom: 22px;
	--padding-left: 24px;
	--padding-right: 24px;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(218deg, var(--lclx-charcoal) 34%, var(--lclx-card-2) 69%);
	transition: border-color .5s;
}
.lclx-ct-side > .e-con.lclx-ct-way:hover { border-color: rgba(0, 209, 200, .4); }
.lclx-ct-way > .elementor-widget { width: 100%; }
.elementor-widget.lclx-ct-way-h .elementor-heading-title { margin: 0; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--lclx-aqua); }
.elementor-widget.lclx-ct-links .elementor-icon-list-items { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.elementor-widget.lclx-ct-links .elementor-icon-list-item { margin: 0; padding: 0; }
.elementor-widget.lclx-ct-links .elementor-icon-list-item::after { display: none; }
.elementor-widget.lclx-ct-links .elementor-icon-list-icon { width: 18px; margin-right: 12px; }
.elementor-widget.lclx-ct-links .elementor-icon-list-icon i { color: var(--lclx-aqua); font-size: 16px; }
.elementor-widget.lclx-ct-links .elementor-icon-list-icon svg { fill: var(--lclx-aqua); width: 16px; height: 16px; }
.elementor-widget.lclx-ct-links .elementor-icon-list-text {
	font-family: var(--lclx-sans);
	font-size: 16px;
	line-height: 1.5;
	color: var(--lclx-white);
	overflow-wrap: anywhere;
	transition: color .3s;
}
.elementor-widget.lclx-ct-links a:hover .elementor-icon-list-text { color: var(--lclx-aqua); }
.elementor-widget.lclx-ct-addr p { margin: 0; font-size: 16px; font-weight: 300; line-height: 1.6; color: rgba(255, 255, 255, .85); }
.lclx-ct-side > .elementor-widget.lclx-ct-note { margin-top: 6px; }
.elementor-widget.lclx-ct-note .elementor-heading-title { margin: 0; font-family: var(--lclx-serif); font-style: italic; font-size: 18px; font-weight: 400; line-height: 1.45; color: rgba(255, 255, 255, .7); }

/* Where to find us: the map in the site's dark tones */
.e-con.lclx-ct-map { background: linear-gradient(180deg, var(--lclx-charcoal) 0%, #000000 100%); }
.elementor.elementor .lclx-ct-map > .elementor-widget.lclx-ct-map-t { max-width: 680px; }
.elementor-widget.lclx-ct-map-t p { margin: 0; font-size: 16px; font-weight: 300; line-height: 1.7; color: rgba(255, 255, 255, .78); }
.elementor.elementor .lclx-ct-map > .elementor-widget.lclx-ct-gmap { width: 100%; max-width: 1240px; margin-top: 10px; }
.elementor-widget.lclx-ct-gmap .elementor-custom-embed { overflow: hidden; border-radius: 20px; border: 1px solid rgba(255, 255, 255, .08); line-height: 0; }
.elementor-widget.lclx-ct-gmap iframe { display: block; filter: grayscale(1) invert(.9) contrast(.88) brightness(.95); }

/* Explore: four calm photo cards (the Experiences cards' look) */
.e-con.lclx-tour-cards.lclx-ct-explore { background: linear-gradient(180deg, var(--lclx-near-2) 0%, #000000 100%); }
.lclx-ct-cards > .e-con.lclx-tcard { min-height: clamp(300px, 22vw, 380px); }
.lclx-ct-cards .elementor-widget.lclx-tcard-dur .elementor-heading-title { font-size: clamp(28px, 2.2vw, 36px); }
@media (max-width: 767px) {
	.lclx-ct-cards > .e-con.lclx-tcard { min-height: 240px; }
}
@media (max-width: 420px) {
	.lclx-ct-way .elementor-widget.lclx-ct-links .elementor-icon-list-text { font-size: 14px; }
}


/* 61  Boat rental (/fleet/boat-rental/ and its two boats)
   Colour run: intro → statement → boat cards (#1C1C1C → #141414) → on board every
   boat (#141414) → good to know (#141414 → #1C1C1C) → prefer a captain (→ #0D0D0D)
   → rental booking → our services
   -------------------------------------------------------------------------- */
.e-con.lclx-page-hero.lclx-rent-hero::after {
	background:
		radial-gradient(80% 70% at 50% 40%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .3) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, .12) 22%, rgba(0, 0, 0, .34) 42%, rgba(0, 0, 0, .62) 66%, rgba(0, 0, 0, .82) 86%, #000000 100%);
}
.lclx-rent-hero > .e-con.lclx-xp-ctas { margin-top: 10px; }
.lclx-tour-cards > .e-con.lclx-tcards.lclx-rent-cards { max-width: 1100px; }
.lclx-rent-cards .elementor-widget.lclx-tcard-name .elementor-heading-title { color: var(--lclx-aqua); }

/* Good to know: six answers as calm cards */
.e-con.lclx-rent-faq { background: linear-gradient(180deg, var(--lclx-charcoal) 0%, var(--lclx-charcoal-2) 100%); }
.lclx-rent-faq > .e-con.lclx-rent-qs { width: 100%; max-width: 1100px; margin-top: 6px; grid-template-rows: none; grid-auto-rows: auto; }
.lclx-rent-qs > .e-con.lclx-rent-q {
	--padding-top: clamp(22px, 2.4vw, 32px);
	--padding-bottom: clamp(22px, 2.4vw, 32px);
	--padding-left: clamp(22px, 2.4vw, 30px);
	--padding-right: clamp(22px, 2.4vw, 30px);
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(218deg, var(--lclx-charcoal) 34%, var(--lclx-card-2) 69%);
	transition: border-color .5s;
}
.lclx-rent-qs > .e-con.lclx-rent-q:hover { border-color: rgba(0, 209, 200, .4); }
.lclx-rent-q > .elementor-widget { width: 100%; }
.elementor-widget.lclx-rent-q-h .elementor-heading-title { margin: 0; font-family: var(--lclx-serif); font-style: italic; font-size: clamp(24px, 2vw, 30px); font-weight: 400; line-height: 1.15; color: var(--lclx-white); }
.elementor-widget.lclx-rent-q-t .elementor-heading-title { margin: 0; font-family: var(--lclx-sans); font-size: 15px; font-weight: 300; line-height: 1.65; color: rgba(255, 255, 255, .78); }

/* Prefer a captain? and the Fleet page's boat rental card */
.e-con.lclx-tour-custom.lclx-rent-captain { background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-near-2) 100%); }
.e-con.lclx-tour-custom.lclx-fleet-rent { background: var(--lclx-charcoal); }
@media (prefers-reduced-motion: reduce) {
	.lclx-rent-qs > .e-con.lclx-rent-q { transition: none; }
}


/* 62  Experiences hub (/experiences/) and cooking classes (/experiences/cooking-classes/)
   Hub: intro → statement → three experience cards → planning something bigger →
   our services. Cooking: intro → the class → every class → four menus (#141414)
   #141414) → good to know (§61 cards) → gallery → cooking booking → our services
   -------------------------------------------------------------------------- */
.e-con.lclx-page-hero.lclx-xhub-hero::after,
.e-con.lclx-page-hero.lclx-cook-hero::after {
	background:
		radial-gradient(80% 70% at 50% 40%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .3) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, .12) 22%, rgba(0, 0, 0, .36) 42%, rgba(0, 0, 0, .64) 66%, rgba(0, 0, 0, .84) 86%, #000000 100%);
}
.lclx-xhub-hero > .e-con.lclx-xp-ctas,
.lclx-cook-hero > .e-con.lclx-xp-ctas { margin-top: 10px; }
.lclx-xhub-cards .elementor-widget.lclx-tcard-name .elementor-heading-title { color: var(--lclx-aqua); }
.lclx-tour-cards > .e-con.lclx-tcards.lclx-xhub-cards { max-width: 1360px; }
.lclx-xhub-cards > .e-con.lclx-tcard { min-height: clamp(380px, 32vw, 560px); }
@media (max-width: 1024px) {
	.lclx-xhub-cards > .e-con.lclx-tcard { min-height: clamp(300px, 52vw, 440px); }
}

/* The four menus: photo on top, the dishes underneath */
.e-con.lclx-cook-menus { background: var(--lclx-charcoal); }
.lclx-cook-menus > .e-con.lclx-cook-cards { width: 100%; max-width: 1240px; margin-top: 6px; grid-template-rows: none; grid-auto-rows: auto; }
.lclx-cook-cards > .e-con.lclx-cook-card {
	overflow: hidden;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(218deg, var(--lclx-charcoal) 34%, var(--lclx-card-2) 69%);
	transition: border-color .5s, transform .5s var(--lclx-ease-out);
}
.lclx-cook-cards > .e-con.lclx-cook-card:hover { border-color: rgba(0, 209, 200, .4); transform: translateY(-3px); }
.lclx-cook-card > .elementor-widget.lclx-cook-img { width: 100%; margin: 0; }
.elementor-widget.lclx-cook-img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; }
.lclx-cook-card > .e-con.lclx-cook-card-t { flex: 1 1 auto; }
.lclx-cook-card-t > .elementor-widget { width: 100%; }
.elementor-widget.lclx-cook-n .elementor-heading-title { margin: 0; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--lclx-aqua); }
.elementor-widget.lclx-cook-h .elementor-heading-title { margin: 0 0 4px; font-family: var(--lclx-serif); font-style: italic; font-size: clamp(24px, 1.9vw, 30px); font-weight: 400; line-height: 1.15; color: var(--lclx-white); }
.elementor-widget.lclx-cook-dishes ul { margin: 0; padding-left: 18px; }
.elementor-widget.lclx-cook-dishes li { margin: 0 0 6px; font-family: var(--lclx-sans); font-size: 14.5px; font-weight: 300; line-height: 1.55; color: rgba(255, 255, 255, .78); }
.elementor-widget.lclx-cook-dishes li::marker { color: var(--lclx-aqua); }
.lclx-cook-menus > .elementor-widget.lclx-btn { margin-top: 8px; }
@media (prefers-reduced-motion: reduce) {
	.lclx-cook-cards > .e-con.lclx-cook-card { transition: none; }
}


/* 63  Proposals (/services/proposals/)
   Colour run: split hero → statement → watch (#1C1C1C → #141414) → how it works
   (#141414) → keeping the secret (#141414 → #0D0D0D) → add-ons (#0D0D0D → #141414)
   → choose your boat → gallery → quotes → booking
   Films are self-hosted Video widgets (class lclx-film), shown 9:16 with the
   cover as Image Overlay; lclx.js pauses the others when one plays.
   -------------------------------------------------------------------------- */
.elementor-widget.lclx-film { width: 100%; }
.lclx-film .elementor-wrapper {
	position: relative;
	aspect-ratio: 9 / 16;
	overflow: hidden;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, .1);
	background: #000000;
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .8);
}
.lclx-film .elementor-wrapper video { display: block; width: 100%; height: 100%; object-fit: cover; background: #000000; }
.lclx-film .elementor-custom-embed-image-overlay { background-size: cover; background-position: center; cursor: pointer; }
.lclx-film .elementor-custom-embed-image-overlay::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .45) 100%);
	pointer-events: none;
}
.lclx-film .elementor-custom-embed-play {
	z-index: 1;
	width: 72px;
	height: 72px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .6);
	background: rgba(0, 0, 0, .25);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: background-color .4s, border-color .4s;
}
.lclx-film .elementor-custom-embed-play i { font-size: 26px; color: var(--lclx-white); text-shadow: none; opacity: 1; margin-left: 4px; }
.lclx-film .elementor-custom-embed-play svg { width: 26px; height: 26px; fill: var(--lclx-white); filter: none; opacity: 1; margin-left: 4px; }
.lclx-film .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play { background: var(--lclx-aqua); border-color: var(--lclx-aqua); }
.lclx-film .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play i { color: #000000; }
.lclx-film .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play svg { fill: #000000; }
.lclx-prop-watch-in > .elementor-widget.lclx-film--main { flex: 0 0 auto; width: 420px; max-width: 100%; }
.lclx-prop-watch > .e-con.lclx-prop-films4 { width: 100%; max-width: 1240px; grid-template-rows: none; grid-auto-rows: auto; }
@media (max-width: 767px) {
	.lclx-prop-watch-in > .elementor-widget.lclx-film--main { width: 100%; max-width: 380px; }
	.lclx-prop-watch > .e-con.lclx-prop-films4 { max-width: 380px; }
}
@media (prefers-reduced-motion: reduce) {
	.lclx-film .elementor-custom-embed-play { transition: none; }
}

.e-con.lclx-prop-watch { background: linear-gradient(180deg, var(--lclx-charcoal-2) 0%, var(--lclx-charcoal) 100%); }
.lclx-prop-watch > .e-con.lclx-prop-watch-in { width: 100%; max-width: 1240px; }
.lclx-prop-watch-in > .e-con.lclx-prop-watch-t { flex: 1 1 0; min-width: 0; }
.lclx-prop-watch-t > .elementor-widget { width: 100%; }
.lclx-prop-watch-t > .elementor-widget.lclx-boat-copy { max-width: 560px; }
@media (max-width: 1024px) {
	.lclx-prop-watch-in > .e-con.lclx-prop-watch-t { flex: 0 0 auto; width: 100%; }
}

/* How it works: four step cards (the Services page's step look) */
.e-con.lclx-prop-how { background: var(--lclx-charcoal); }
.lclx-prop-how > .e-con.lclx-prop-steps { width: 100%; max-width: 1240px; margin: 6px 0 8px; grid-template-rows: none; grid-auto-rows: auto; }
.lclx-prop-steps > .e-con.lclx-prop-step {
	--padding-top: clamp(24px, 2.6vw, 36px);
	--padding-bottom: clamp(24px, 2.6vw, 36px);
	--padding-left: clamp(22px, 2.4vw, 32px);
	--padding-right: clamp(22px, 2.4vw, 32px);
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, .1);
	background: linear-gradient(218deg, var(--lclx-charcoal-2) 34%, var(--lclx-card-2) 69%);
}
.lclx-prop-step > .elementor-widget { width: 100%; }

/* Keeping the secret */
.e-con.lclx-tour-custom.lclx-prop-secret { background: linear-gradient(180deg, var(--lclx-charcoal) 0%, var(--lclx-near-2) 100%); }

/* Make it yours: eight add-ons */
.e-con.lclx-prop-addons { background: linear-gradient(180deg, var(--lclx-near-2) 0%, var(--lclx-charcoal) 100%); }
.elementor.elementor .lclx-prop-addons > .elementor-widget.lclx-xp-team-t { max-width: 680px; }
.lclx-prop-addons > .e-con.lclx-prop-addon-grid { width: 100%; max-width: 1240px; margin-top: 10px; grid-template-rows: none; grid-auto-rows: auto; }
.lclx-prop-addon-grid > .e-con.lclx-prop-addon {
	--padding-top: clamp(22px, 2.4vw, 30px);
	--padding-bottom: clamp(22px, 2.4vw, 30px);
	--padding-left: clamp(20px, 2.2vw, 28px);
	--padding-right: clamp(20px, 2.2vw, 28px);
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(218deg, var(--lclx-charcoal) 34%, var(--lclx-card-2) 69%);
	transition: border-color .5s, transform .5s var(--lclx-ease-out);
}
.lclx-prop-addon-grid > .e-con.lclx-prop-addon:hover { border-color: rgba(0, 209, 200, .4); transform: translateY(-3px); }
.lclx-prop-addon > .elementor-widget { width: 100%; }
.lclx-prop-addon > .elementor-widget.lclx-sheet-ic { width: auto; }
.elementor-widget.lclx-prop-addon-h .elementor-heading-title { margin: 4px 0 0; font-family: var(--lclx-serif); font-style: italic; font-size: clamp(24px, 1.9vw, 28px); font-weight: 400; line-height: 1.15; color: var(--lclx-white); }
.elementor-widget.lclx-prop-addon-t .elementor-heading-title { margin: 0; font-size: 14.5px; font-weight: 300; line-height: 1.6; color: rgba(255, 255, 255, .75); }

/* From our guests */
.e-con.lclx-prop-quotes { background: var(--lclx-near-2); }
.lclx-prop-quotes > .e-con.lclx-prop-quote-grid { width: 100%; max-width: 1240px; grid-template-rows: none; grid-auto-rows: auto; }
.lclx-prop-quote-grid > .e-con.lclx-prop-quote {
	--padding-top: clamp(26px, 2.8vw, 40px);
	--padding-bottom: clamp(26px, 2.8vw, 40px);
	--padding-left: clamp(24px, 2.6vw, 36px);
	--padding-right: clamp(24px, 2.6vw, 36px);
	justify-content: space-between;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(218deg, var(--lclx-charcoal) 34%, var(--lclx-card-2) 69%);
}
.lclx-prop-quote > .elementor-widget { width: 100%; }
.elementor-widget.lclx-prop-quote-t .elementor-heading-title { margin: 0; font-family: var(--lclx-serif); font-style: italic; font-size: clamp(21px, 1.7vw, 26px); font-weight: 400; line-height: 1.35; color: var(--lclx-white); }
.elementor-widget.lclx-prop-quote-n .elementor-heading-title { margin: 0; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--lclx-aqua); }
.elementor-widget.lclx-prop-quote-n .elementor-heading-title span { margin-left: 8px; color: var(--lclx-muted); }
@media (prefers-reduced-motion: reduce) {
	.lclx-prop-addon-grid > .e-con.lclx-prop-addon { transition: none; }
}
