/*
|--------------------------------------------------------------------------
| CLG Frontend Components
|--------------------------------------------------------------------------
*/


/*
|--------------------------------------------------------------------------
| Shared Widget Typography
|--------------------------------------------------------------------------
*/

.clg-widget-eyebrow {
	margin-bottom: 14px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;

	letter-spacing: 0.18em;

	text-transform: uppercase;

	color: var(--clg-gold);
}


.clg-widget-heading {
	max-width: 720px;

	margin:
		0 0 40px;

	font-family:
		"Playfair Display",
		Georgia,
		serif;

	font-size:
		clamp(
			32px,
			3.2vw,
			50px
		);

	font-weight: 500;
	line-height: 1.06;

	color: var(--clg-text);
}


/*
|--------------------------------------------------------------------------
| Expedition Highlights
|--------------------------------------------------------------------------
*/

.elementor-widget-clg_expedition_highlights {
	width: 100% !important;
	max-width: 100% !important;

	--container-widget-width: 100%;
	--container-widget-flex-grow: 1;
}


.elementor-widget-clg_expedition_highlights > .elementor-widget-container {
	width: 100%;
	max-width: 100%;
}


.clg-expedition-highlights-widget,
.clg-highlights-grid {
	width: 100%;
	max-width: 100%;
}

.clg-highlights-grid {
	display: grid;

	grid-template-columns:
		repeat(
			var(--clg-highlight-columns, 2),
			minmax(0, 1fr)
		);

	gap: 24px;
}


.clg-highlight-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	gap: 14px;

	min-height: 120px;

	padding:
		22px 0;

	border-top:
		1px solid
		var(--clg-border);
}


.clg-highlight-number {
	min-width: 34px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 11px;
	font-weight: 600;

	letter-spacing: 0.12em;

	color:
		var(--clg-gold);
}


.clg-highlight-number {
	min-width: 0;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 11px;
	font-weight: 600;

	letter-spacing: 0.14em;

	color:
		var(--clg-gold);
}


@media (max-width: 1199px) {

	.clg-highlights-grid {
		grid-template-columns:
			repeat(
				min(
					var(--clg-highlight-columns, 2),
					2
				),
				minmax(0, 1fr)
			);
	}
}


@media (max-width: 767px) {

	.clg-widget-heading {
		margin-bottom: 28px;
	}


	.clg-highlights-grid {
		grid-template-columns:
			1fr;
	}


	.clg-highlight-item {
		min-height: 0;

		padding:
			18px 0;
	}


	.clg-highlight-text {
		font-size: 16px;
	}
}

/*
|--------------------------------------------------------------------------
| Expedition Itinerary
|--------------------------------------------------------------------------
*/


.elementor-widget-clg_expedition_itinerary {
	width: 100% !important;
	max-width: 100% !important;

	--container-widget-width: 100%;
	--container-widget-flex-grow: 1;
}


.elementor-widget-clg_expedition_itinerary > .elementor-widget-container {
	width: 100%;
	max-width: 100%;
}


.clg-expedition-itinerary-widget,
.clg-itinerary-list {
	width: 100%;
	max-width: 100%;
}

.clg-itinerary-list {
	border-top: 1px solid var(--clg-border);
}


.clg-itinerary-item {
	border-bottom: 1px solid var(--clg-border);
}


.clg-itinerary-summary {
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr) 32px;
	align-items: center;

	gap: 20px;

	padding: 26px 0;

	cursor: pointer;

	list-style: none;
}


.clg-itinerary-summary::-webkit-details-marker {
	display: none;
}


.clg-itinerary-number {
	font-family: Inter, Arial, sans-serif;

	font-size: 11px;
	font-weight: 600;

	letter-spacing: 0.14em;

	color: var(--clg-gold);
}


.clg-itinerary-title {
	font-family:
		"Playfair Display",
		Georgia,
		serif;

	font-size: 26px;
	line-height: 1.15;

	color: var(--clg-text);
}


.clg-itinerary-toggle {
	font-size: 24px;

	color: var(--clg-gold);

	text-align: right;

	transition:
		transform var(--clg-motion-fast)
		var(--clg-ease);
}


.clg-itinerary-item[open]
.clg-itinerary-toggle {
	transform: rotate(45deg);
}


.clg-itinerary-content {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(280px, 0.7fr);

	gap: 48px;

	padding:
		0 0 34px 120px;
}


.clg-itinerary-location {
	margin-bottom: 12px;

	font-family: Inter, Arial, sans-serif;

	font-size: 12px;
	font-weight: 600;

	letter-spacing: 0.12em;

	text-transform: uppercase;

	color: var(--clg-gold);
}


.clg-itinerary-description {
	max-width: 680px;

	font-size: 17px;
	line-height: 1.6;

	color: var(--clg-muted);
}


.clg-itinerary-meta {
	display: flex;
	flex-wrap: wrap;

	gap: 12px 28px;

	margin-top: 22px;

	font-size: 13px;
	line-height: 1.5;

	color: var(--clg-muted);
}


.clg-itinerary-meta strong {
	color: var(--clg-text);
}


.clg-itinerary-image img {
	display: block;

	width: 100%;
	height: 100%;

	max-height: 340px;

	object-fit: cover;

	border-radius: var(--clg-radius);
}


/*
|--------------------------------------------------------------------------
| Expedition Gallery
|--------------------------------------------------------------------------
*/

.elementor-widget-clg_expedition_gallery {
	width: 100% !important;
	max-width: 100% !important;

	--container-widget-width: 100%;
	--container-widget-flex-grow: 1;
}

.elementor-widget-clg_expedition_gallery > .elementor-widget-container {
	width: 100%;
	max-width: 100%;
}

.clg-expedition-gallery-widget,
.clg-expedition-gallery-grid {
	width: 100%;
	max-width: 100%;
}

.clg-expedition-gallery-grid {
	display: grid;

	grid-template-columns:
		repeat(
			var(--clg-gallery-columns, 3),
			minmax(0, 1fr)
		);

	gap: 20px;
}


.clg-expedition-gallery-item {
	margin: 0;

	overflow: hidden;

	border-radius: var(--clg-radius);
}


.clg-expedition-gallery-item img {
	display: block;

	width: 100%;
	aspect-ratio: 4 / 3;

	object-fit: cover;

	transition:
		transform 600ms
		var(--clg-ease);
}


.clg-expedition-gallery-item:hover img {
	transform: scale(1.03);
}

.clg-expedition-gallery-link {
	display: block;
	width: 100%;
	height: 100%;
	cursor: zoom-in;
}

.clg-expedition-gallery-link img {
	display: block;
	width: 100%;
}

/*
|--------------------------------------------------------------------------
| Expedition Inclusions
|--------------------------------------------------------------------------
*/

.elementor-widget-clg_expedition_inclusions {
	width: 100% !important;
	max-width: 100% !important;

	--container-widget-width: 100%;
	--container-widget-flex-grow: 1;
}

.elementor-widget-clg_expedition_inclusions > .elementor-widget-container {
	width: 100%;
	max-width: 100%;
}

.clg-expedition-inclusions-widget,
.clg-inclusions-grid {
	width: 100%;
	max-width: 100%;
}

.clg-inclusions-grid {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 72px;
}


.clg-inclusions-column {
	padding-top: 28px;

	border-top:
		1px solid var(--clg-border);
}


.clg-inclusions-heading {
	display: flex;

	align-items: center;

	gap: 12px;

	margin:
		0 0 24px;

	font-family:
		"Playfair Display",
		Georgia,
		serif;

	font-size: 28px;
	font-weight: 500;

	color: var(--clg-text);
}


.clg-inclusions-symbol {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: 28px;
	height: 28px;

	font-family: Inter, Arial, sans-serif;

	font-size: 18px;

	color: var(--clg-gold);

	border:
		1px solid var(--clg-border);

	border-radius: 50%;
}


.clg-inclusions-list {
	list-style: none;

	padding: 0;
	margin: 0;
}


.clg-inclusions-list li {
	position: relative;

	padding:
		13px 0 13px 22px;

	border-bottom:
		1px solid var(--clg-border);

	font-size: 16px;
	line-height: 1.5;

	color: var(--clg-muted);
}


.clg-inclusions-list li::before {
	content: '';

	position: absolute;

	left: 0;
	top: 21px;

	width: 5px;
	height: 5px;

	background:
		var(--clg-gold);

	border-radius: 50%;
}


/*
|--------------------------------------------------------------------------
| Responsive Expedition Widgets
|--------------------------------------------------------------------------
*/

@media (max-width: 1199px) {

	.clg-expedition-gallery-grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}


	.clg-itinerary-content {
		grid-template-columns: 1fr;

		padding-left: 120px;
	}


	.clg-itinerary-image {
		max-width: 640px;
	}
}


@media (max-width: 767px) {

	.clg-itinerary-summary {
		grid-template-columns:
			70px minmax(0, 1fr) 26px;

		gap: 10px;

		padding:
			20px 0;
	}


	.clg-itinerary-title {
		font-size: 21px;
	}


	.clg-itinerary-content {
		padding:
			0 0 26px;

		gap: 26px;
	}


	.clg-expedition-gallery-grid {
		grid-template-columns: 1fr;

		gap: 14px;
	}


	.clg-inclusions-grid {
		grid-template-columns: 1fr;

		gap: 40px;
	}
}

/*
|--------------------------------------------------------------------------
| Expedition Visa
|--------------------------------------------------------------------------
*/

.elementor-widget-clg_expedition_visa {
	width: 100% !important;
	max-width: 100% !important;

	--container-widget-width: 100%;
	--container-widget-flex-grow: 1;
}


.clg-expedition-visa-widget {
	width: 100%;

	padding: 24px 0;

	border-top:
		1px solid
		var(--clg-border);
}


.clg-visa-label {
	margin-bottom: 8px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;

	letter-spacing: 0.16em;

	text-transform: uppercase;

	color: var(--clg-gold);
}


.clg-visa-value {
	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;

	color: var(--clg-text);
}

/* =========================================================
   CLG Enquiry Form
   ========================================================= */

.clg-enquiry-form {
	width: 100%;
}


/* ---------------------------------------------------------
   Fields
   --------------------------------------------------------- */

.clg-enquiry-form .elementor-field-group {
	margin-bottom: 22px;
}


.clg-enquiry-form .elementor-field-label {
	margin-bottom: 8px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;

	letter-spacing: 0.14em;
	text-transform: uppercase;

	color: var(--clg-muted);
}


.clg-enquiry-form
.elementor-field:not(
	[type="checkbox"]
):not(
	[type="radio"]
) {
	min-height: 52px;

	padding:
		12px 14px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;

	color: var(--clg-text);

	background:
		rgba(244, 240, 232, 0.025);

	border:
		1px solid
		var(--clg-border);

	border-radius:
		var(--clg-radius);

	box-shadow: none;

	transition:
		border-color var(--clg-motion-fast) var(--clg-ease),
		background-color var(--clg-motion-fast) var(--clg-ease),
		box-shadow var(--clg-motion-fast) var(--clg-ease);
}


/* Textarea */

.clg-enquiry-form textarea.elementor-field {
	min-height: 150px;

	resize: vertical;
}


/* Placeholder */

.clg-enquiry-form
.elementor-field::placeholder {
	color:
		rgba(216, 202, 189, 0.48);

	opacity: 1;
}


/* Hover */

.clg-enquiry-form
.elementor-field:not(
	[type="checkbox"]
):not(
	[type="radio"]
):hover {
	border-color:
		var(--clg-border-strong);
}


/* Focus */

.clg-enquiry-form
.elementor-field:not(
	[type="checkbox"]
):not(
	[type="radio"]
):focus {
	outline: none;

	background:
		rgba(244, 240, 232, 0.045);

	border-color:
		var(--clg-gold);

	box-shadow:
		0 0 0 2px
		rgba(198, 163, 106, 0.14);
}


/* ---------------------------------------------------------
   Submit Button
   --------------------------------------------------------- */

.clg-enquiry-form
.elementor-button[type="submit"] {
	min-height: 52px;

	padding:
		14px 22px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;

	background:
		var(--clg-gold);

	color:
		var(--clg-bg);

	border:
		1px solid
		var(--clg-gold);

	border-radius:
		var(--clg-radius);

	box-shadow: none;

	transition:
		background-color var(--clg-motion-fast) var(--clg-ease),
		border-color var(--clg-motion-fast) var(--clg-ease),
		transform var(--clg-motion-fast) var(--clg-ease);
}


.clg-enquiry-form
.elementor-button[type="submit"]:hover {
	background:
		var(--clg-gold-soft);

	border-color:
		var(--clg-gold-soft);

	transform:
		translateY(-1px);
}


.clg-enquiry-form
.elementor-button[type="submit"]:focus-visible {
	outline:
		2px solid
		var(--clg-gold-soft);

	outline-offset:
		2px;
}


/* ---------------------------------------------------------
   Messages
   --------------------------------------------------------- */

.clg-enquiry-form
.elementor-message {
	margin-top: 18px;

	padding:
	14px 16px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 14px;
	line-height: 1.5;

	border:
		1px solid
		var(--clg-border);

	border-radius:
		var(--clg-radius);
}


.clg-enquiry-form
.elementor-message-success {
	color:
		var(--clg-text);

	border-color:
		rgba(111, 132, 110, 0.65);

	background:
		rgba(111, 132, 110, 0.12);
}


.clg-enquiry-form
.elementor-message-danger,
.clg-enquiry-form
.elementor-message-error {
	color:
		var(--clg-text);

	border-color:
		rgba(155, 90, 82, 0.72);

	background:
		rgba(155, 90, 82, 0.12);
}


/* ---------------------------------------------------------
   Validation
   --------------------------------------------------------- */

.clg-enquiry-form
.elementor-field.elementor-error {
	border-color:
		var(--clg-error);
}


.clg-enquiry-form
.elementor-help-inline {
	margin-top: 6px;

	font-size: 12px;

	color:
		var(--clg-error);
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 767px) {

	.clg-enquiry-form
	.elementor-field:not(
		[type="checkbox"]
	):not(
		[type="radio"]
	) {
		font-size: 16px;
	}


	.clg-enquiry-form
	.elementor-button[type="submit"] {
		width: 100%;
	}

}

/* =========================================================
   CLG Enquiry Section – Editorial Split
   ========================================================= */

.clg-enquiry-layout {
	display: flex;
	align-items: stretch;
	gap: 32px;
}

.clg-enquiry-left {
	flex: 0 0 62%;
	max-width: 62%;
}

.clg-enquiry-right {
	flex: 0 0 38%;
	max-width: 38%;

	display: flex;
	flex-direction: column;
	gap: 18px;
}


/* ---------------------------------------------------------
   Left panel
   --------------------------------------------------------- */

.clg-enquiry-panel {
	height: 100%;

	padding: 32px;

	background: linear-gradient(
		180deg,
		rgba(13, 26, 26, 0.96) 0%,
		rgba(7, 16, 17, 0.96) 100%
	);

	border: 1px solid var(--clg-border);
	border-radius: var(--clg-radius);
}

.clg-enquiry-panel .clg-eyebrow {
	margin-bottom: 10px;
}

.clg-enquiry-panel h2,
.clg-enquiry-panel .elementor-heading-title {
	margin-bottom: 10px;
}

.clg-enquiry-panel .clg-lead,
.clg-enquiry-panel .elementor-widget-text-editor {
	margin-bottom: 26px;
}


/* ---------------------------------------------------------
   Form spacing / 2-column visual rhythm
   --------------------------------------------------------- */

.clg-enquiry-form-visual .elementor-form-fields-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 18px;
	row-gap: 18px;
}

.clg-enquiry-form-visual .elementor-field-group {
	margin-bottom: 0;
}

.clg-enquiry-form-visual .elementor-field-group-message,
.clg-enquiry-form-visual .elementor-field-group-destinations,
.clg-enquiry-form-visual .elementor-field-group-travel_dates,
.clg-enquiry-form-visual .elementor-field-group-documents,
.clg-enquiry-form-visual .elementor-field-type-upload,
.clg-enquiry-form-visual .elementor-field-type-textarea,
.clg-enquiry-form-visual .elementor-field-group-privacy,
.clg-enquiry-form-visual .elementor-field-type-submit {
	grid-column: 1 / -1;
}


/* ---------------------------------------------------------
   Form fields
   --------------------------------------------------------- */

.clg-enquiry-form .elementor-field-group > label,
.clg-enquiry-form .elementor-field-label {
	margin-bottom: 8px;

	font-family: Inter, Arial, sans-serif;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;

	color: var(--clg-muted);
}

.clg-enquiry-form .elementor-field:not([type="checkbox"]):not([type="radio"]) {
	min-height: 52px;
	padding: 12px 14px;

	font-family: Inter, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: var(--clg-text);

	background: rgba(244, 240, 232, 0.02);
	border: 1px solid var(--clg-border);
	border-radius: 3px;
	box-shadow: none;

	transition:
		border-color .2s ease,
		background-color .2s ease,
		box-shadow .2s ease;
}

.clg-enquiry-form textarea.elementor-field {
	min-height: 140px;
	resize: vertical;
}

.clg-enquiry-form .elementor-field::placeholder {
	color: rgba(216, 202, 189, 0.45);
	opacity: 1;
}

.clg-enquiry-form .elementor-field:hover {
	border-color: rgba(216, 202, 189, 0.34);
}

.clg-enquiry-form .elementor-field:focus {
	outline: none;
	border-color: var(--clg-gold);
	background: rgba(244, 240, 232, 0.045);
	box-shadow: 0 0 0 2px rgba(198, 163, 106, 0.12);
}


/* ---------------------------------------------------------
   Submit
   --------------------------------------------------------- */

.clg-enquiry-form .elementor-button[type="submit"] {
	min-height: 50px;
	padding: 14px 22px;

	font-family: Inter, Arial, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;

	background: var(--clg-gold);
	color: var(--clg-bg);

	border: 1px solid var(--clg-gold);
	border-radius: 3px;
	box-shadow: none;

	transition:
		background-color .2s ease,
		border-color .2s ease,
		transform .2s ease;
}

.clg-enquiry-form .elementor-button[type="submit"]:hover {
	background: var(--clg-gold-soft);
	border-color: var(--clg-gold-soft);
	transform: translateY(-1px);
}


/* ---------------------------------------------------------
   Right side cards
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   Enquiry info cards
   --------------------------------------------------------- */

.clg-enquiry-info-card {
	display: flex;
	flex-direction: row;
	align-items: center;

	flex: 0 0 auto;

	width: 100%;
	height: auto;
	min-height: 112px;

	gap: 18px;

	padding: 18px 20px;

	background: linear-gradient(
		180deg,
		rgba(13, 26, 26, 0.95) 0%,
		rgba(8, 17, 18, 0.95) 100%
	);

	border: 1px solid var(--clg-border);
	border-radius: var(--clg-radius);

	transition:
		border-color var(--clg-motion-fast) var(--clg-ease),
		background-color var(--clg-motion-fast) var(--clg-ease),
		transform var(--clg-motion-fast) var(--clg-ease);
}


.clg-enquiry-info-card:hover {
	border-color: rgba(198, 163, 106, 0.55);

	background: rgba(13, 26, 26, 1);

	transform: translateY(-1px);
}


/* Icon */

.clg-info-icon {
	flex: 0 0 52px;

	width: 52px;
	height: 52px;

	display: flex;
	align-items: center;
	justify-content: center;

	color: var(--clg-gold);
}


.clg-info-icon .elementor-icon {
	font-size: 27px;

	color: var(--clg-gold);

	fill: var(--clg-gold);
}


/* Text */

.clg-info-text {
	flex: 1 1 auto;

	min-width: 0;

	display: flex;
	flex-direction: column;

	gap: 3px;
}


.clg-info-title {
	margin: 0;

	font-family:
		"Playfair Display",
		Georgia,
		serif;

	font-size: 21px;
	font-weight: 500;
	line-height: 1.15;

	color: var(--clg-text);
}


.clg-info-description {
	margin: 0;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 13px;
	line-height: 1.4;

	color: var(--clg-muted);
}


.clg-info-detail {
	margin: 1px 0 0;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;

	color: var(--clg-text);
}


/* Arrow */

.clg-info-arrow {
	flex: 0 0 28px;

	width: 28px;

	display: flex;
	align-items: center;
	justify-content: flex-end;

	color: var(--clg-muted);

	transition:
		transform var(--clg-motion-fast) var(--clg-ease),
		color var(--clg-motion-fast) var(--clg-ease);
}


.clg-enquiry-info-card:hover
.clg-info-arrow {
	color: var(--clg-gold);

	transform: translateX(3px);
}


/* ---------------------------------------------------------
   Quote card
   --------------------------------------------------------- */

.clg-enquiry-quote-card {
	position: relative;
	overflow: hidden;

	min-height: 240px;
	padding: 28px;

	display: flex;
	flex-direction: column;
	justify-content: flex-end;

	background-size: cover;
	background-position: center center;
	border: 1px solid var(--clg-border);
	border-radius: 3px;
}

.clg-enquiry-quote-card::before {
	content: "";
	position: absolute;
	inset: 0;

	background: linear-gradient(
		180deg,
		rgba(7, 16, 17, 0.18) 0%,
		rgba(7, 16, 17, 0.78) 100%
	);
}

.clg-enquiry-quote-card > * {
	position: relative;
	z-index: 1;
}

.clg-enquiry-quote-card .clg-quote {
	font-family: Playfair Display, Georgia, serif;
	font-size: 24px;
	line-height: 1.2;
	color: var(--clg-text);
	margin: 0 0 10px;
}

.clg-enquiry-quote-card .clg-caption {
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--clg-muted);
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1024px) {
	.clg-enquiry-layout {
		flex-direction: column;
	}

	.clg-enquiry-left,
	.clg-enquiry-right {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	.clg-enquiry-panel {
		padding: 24px;
	}

	.clg-enquiry-form-visual .elementor-form-fields-wrapper {
		grid-template-columns: 1fr;
	}

	.clg-enquiry-form .elementor-button[type="submit"] {
		width: 100%;
	}
}

/* =========================================================
   Global Header
   ========================================================= */

.clg-site-header {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;

	min-height: 82px;

	background: rgba(7, 16, 17, 0.72);

	border-bottom: 1px solid rgba(216, 202, 189, 0.10);

	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);

	z-index: 1000;

	transition:
		min-height var(--clg-motion-fast) var(--clg-ease),
		background-color var(--clg-motion-fast) var(--clg-ease),
		border-color var(--clg-motion-fast) var(--clg-ease);
}


.clg-header-inner {
	min-height: 82px;

	display: flex;
	align-items: center;

	transition:
		min-height var(--clg-motion-fast) var(--clg-ease);
}

.clg-site-header .elementor-nav-menu--main .elementor-item {
	position: relative;

	padding-top: 12px;
	padding-bottom: 12px;

	font-family: Inter, Arial, sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;

	color: var(--clg-muted);

	transition:
		color var(--clg-motion-fast) var(--clg-ease);
}


.clg-site-header .elementor-nav-menu--main .elementor-item:hover,
.clg-site-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: var(--clg-text);
}


.clg-site-header .elementor-nav-menu--main .elementor-item::after {
	content: '';

	position: absolute;

	left: 50%;
	right: 50%;
	bottom: 4px;

	height: 1px;

	background: var(--clg-gold);

	transition:
		left var(--clg-motion-fast) var(--clg-ease),
		right var(--clg-motion-fast) var(--clg-ease);
}


.clg-site-header .elementor-nav-menu--main .elementor-item:hover::after,
.clg-site-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after {
	left: 10px;
	right: 10px;
}


/* =========================================================
   Header CTA – compact override
   ========================================================= */

.clg-site-header .clg-header-cta {
	flex: 0 0 auto;
	align-self: center;
}


.clg-site-header .clg-header-cta .elementor-button,
.clg-site-header .clg-header-cta a.elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;

	height: 42px !important;
	min-height: 42px !important;

	padding: 0 18px !important;

	font-size: 14px !important;
	line-height: 1 !important;

	border-width: 1px !important;

	box-sizing: border-box !important;
}

/* =========================================================
   Global Footer
   ========================================================= */

.clg-site-footer {
	width: 100%;
	background: var(--clg-bg);
}

.clg-footer-cta {
	position: relative;
	overflow: hidden;

	display: flex;
	align-items: center;

	min-height: 380px;

	background-size: cover;
	background-position: center center;
}

.clg-footer-cta::before {
	content: "";

	position: absolute;
	inset: 0;

	background: linear-gradient(
		90deg,
		rgba(7, 16, 17, 0.92) 0%,
		rgba(7, 16, 17, 0.72) 48%,
		rgba(7, 16, 17, 0.25) 100%
	);
}

.clg-footer-cta > * {
	position: relative;
	z-index: 1;
}

.clg-footer-main {
	background: var(--clg-surface);
}

.clg-footer-main a {
	color: var(--clg-muted);
	text-decoration: none;

	transition:
		color var(--clg-motion-fast) var(--clg-ease);
}

.clg-footer-main a:hover {
	color: var(--clg-gold);
}

.clg-footer-bottom {
	border-top: 1px solid var(--clg-border);
	background: var(--clg-surface);
}

@media (max-width: 1024px) {
	.clg-footer-main-inner {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.clg-footer-main-inner {
		grid-template-columns: 1fr;
	}

	.clg-footer-bottom-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
}

/* =========================================================
   PROFESSIONAL SERVICES
   Elementor Widgets
   ========================================================= */


/* ---------------------------------------------------------
   Services Provided
   --------------------------------------------------------- */

.elementor-widget-clg_service_provided {
	width: 100% !important;
	max-width: 100% !important;

	--container-widget-width: 100%;
	--container-widget-flex-grow: 1;
}


.elementor-widget-clg_service_provided > .elementor-widget-container,
.clg-service-provided-widget,
.clg-service-provided-grid {
	width: 100%;
	max-width: 100%;
}


.clg-service-provided-grid {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	border-top:
		1px solid var(--clg-border);

	border-left:
		1px solid var(--clg-border);
}


.clg-service-provided-item {
	position: relative;

	display: flex;
	flex-direction: column;
	align-items: flex-start;

	min-height: 172px;

	padding: 26px 26px 30px;

	border-right:
		1px solid var(--clg-border);

	border-bottom:
		1px solid var(--clg-border);

	background:
		rgba(13, 26, 26, 0.25);

	transition:
		background-color var(--clg-motion-fast) var(--clg-ease),
		border-color var(--clg-motion-fast) var(--clg-ease);
}


.clg-service-provided-item:hover {
	background:
		rgba(13, 26, 26, 0.62);

	border-color:
		rgba(198, 163, 106, 0.34);
}


.clg-service-provided-number {
	margin-bottom: 30px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 11px;
	font-weight: 600;
	line-height: 1;

	letter-spacing: .15em;

	color: var(--clg-gold);
}


.clg-service-provided-title {
	max-width: 280px;

	font-family:
		"Playfair Display",
		Georgia,
		serif;

	font-size: 22px;
	font-weight: 500;
	line-height: 1.22;

	color: var(--clg-text);
}



/* ---------------------------------------------------------
   Key Capabilities
   --------------------------------------------------------- */

.elementor-widget-clg_service_capabilities {
	width: 100% !important;
	max-width: 100% !important;

	--container-widget-width: 100%;
	--container-widget-flex-grow: 1;
}


.elementor-widget-clg_service_capabilities > .elementor-widget-container,
.clg-service-capabilities-widget,
.clg-service-capabilities-grid {
	width: 100%;
	max-width: 100%;
}


.clg-service-capabilities-grid {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	border-top:
		1px solid var(--clg-border);
}


.clg-service-capability {
	position: relative;

	display: flex;
	align-items: center;

	gap: 18px;

	min-height: 76px;

	padding:
		18px
		22px
		18px
		0;

	border-bottom:
		1px solid var(--clg-border);
}


.clg-service-capability:nth-child(odd) {
	padding-right: 34px;

	border-right:
		1px solid var(--clg-border);
}


.clg-service-capability:nth-child(even) {
	padding-left: 34px;
}


.clg-service-capability-mark {
	flex: 0 0 8px;

	width: 8px;
	height: 8px;

	border:
		1px solid var(--clg-gold);

	transform:
		rotate(45deg);
}


.clg-service-capability-title {
	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 15px;
	font-weight: 500;
	line-height: 1.45;

	color: var(--clg-text);
}



/* ---------------------------------------------------------
   Typical Project Types
   --------------------------------------------------------- */

.elementor-widget-clg_service_project_types {
	width: 100% !important;
	max-width: 100% !important;

	--container-widget-width: 100%;
	--container-widget-flex-grow: 1;
}


.elementor-widget-clg_service_project_types > .elementor-widget-container,
.clg-service-project-types-widget,
.clg-service-project-types-list {
	width: 100%;
	max-width: 100%;
}


.clg-service-project-types-list {
	display: flex;
	flex-wrap: wrap;

	gap: 10px;
}


.clg-service-project-type {
	display: inline-flex;
	align-items: center;

	min-height: 42px;

	padding:
		10px
		16px;

	border:
		1px solid var(--clg-border);

	border-radius:
		var(--clg-radius);

	background:
		rgba(13, 26, 26, 0.3);

	transition:
		border-color var(--clg-motion-fast) var(--clg-ease),
		background-color var(--clg-motion-fast) var(--clg-ease);
}


.clg-service-project-type:hover {
	border-color:
		rgba(198, 163, 106, 0.48);

	background:
		rgba(13, 26, 26, 0.72);
}


.clg-service-project-type-title {
	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;

	color:
		var(--clg-muted);
}



/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1024px) {

	.clg-service-provided-grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

}


@media (max-width: 767px) {

	.clg-service-provided-grid {
		grid-template-columns: 1fr;
	}


	.clg-service-provided-item {
		min-height: 140px;
	}


	.clg-service-capabilities-grid {
		grid-template-columns: 1fr;
	}


	.clg-service-capability,
	.clg-service-capability:nth-child(odd),
	.clg-service-capability:nth-child(even) {
		padding:
			18px
			0;

		border-right: 0;
	}


	.clg-service-project-types-list {
		gap: 8px;
	}

}

/* =========================================================
   Service Process
   ========================================================= */

.elementor-widget-clg_service_process {
	width: 100% !important;
	max-width: 100% !important;

	--container-widget-width: 100%;
	--container-widget-flex-grow: 1;
}


.elementor-widget-clg_service_process > .elementor-widget-container,
.clg-service-process-widget,
.clg-service-process-list {
	width: 100%;
	max-width: 100%;
}


.clg-service-process-list {
	border-top: 1px solid var(--clg-border);
}


.clg-service-process-step {
	margin: 0;

	border-bottom:
		1px solid var(--clg-border);
}


.clg-service-process-summary {
	display: grid;

	grid-template-columns:
		60px
		minmax(0, 1fr)
		32px;

	align-items: center;

	gap: 22px;

	min-height: 92px;

	padding:
		20px
		0;

	cursor: pointer;

	list-style: none;
}


.clg-service-process-summary::-webkit-details-marker {
	display: none;
}


.clg-service-process-number {
	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 11px;
	font-weight: 600;

	letter-spacing: .15em;

	color:
		var(--clg-gold);
}


.clg-service-process-title {
	font-family:
		"Playfair Display",
		Georgia,
		serif;

	font-size: 25px;
	font-weight: 500;
	line-height: 1.15;

	color:
		var(--clg-text);
}


.clg-service-process-toggle {
	position: relative;

	display: block;

	width: 18px;
	height: 18px;
}


.clg-service-process-toggle::before,
.clg-service-process-toggle::after {
	content: "";

	position: absolute;

	top: 50%;
	left: 50%;

	width: 14px;
	height: 1px;

	background:
		var(--clg-muted);

	transform:
		translate(-50%, -50%);

	transition:
		transform var(--clg-motion-fast) var(--clg-ease),
		background-color var(--clg-motion-fast) var(--clg-ease);
}


.clg-service-process-toggle::after {
	transform:
		translate(-50%, -50%)
		rotate(90deg);
}


.clg-service-process-step[open]
	.clg-service-process-toggle::after {

	transform:
		translate(-50%, -50%)
		rotate(0deg);
}


.clg-service-process-step[open]
	.clg-service-process-toggle::before,
.clg-service-process-step[open]
	.clg-service-process-toggle::after {

	background:
		var(--clg-gold);
}


.clg-service-process-content {
	padding:
		0
		54px
		30px
		82px;
}


.clg-service-process-content p {
	max-width: 760px;

	margin: 0;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 15px;
	line-height: 1.7;

	color:
		var(--clg-muted);
}


@media (max-width: 767px) {

	.clg-service-process-summary {
		grid-template-columns:
			38px
			minmax(0, 1fr)
			24px;

		gap: 12px;

		min-height: 76px;
	}


	.clg-service-process-title {
		font-size: 21px;
	}


	.clg-service-process-content {
		padding:
			0
			36px
			24px
			50px;
	}

}

/* =========================================================
   Professional Enquiry – Select Arrow
   ========================================================= */

.clg-enquiry-form-visual
.elementor-field-group-project_type
.elementor-select-wrapper
.select-caret-down-wrapper {
	inset-inline-end: 20px !important;
}

/* =========================================================
   CLG Content Cards
   ========================================================= */

.clg-content-card {
	display: flex;
	flex-direction: column;

	width: 100%;
	height: 100%;

	background: var(--clg-surface);

	border:
		1px solid
		var(--clg-border);

	border-radius:
		var(--clg-radius-card);

	overflow: hidden;
}


.clg-content-card__image-link {
	display: block;

	overflow: hidden;

	text-decoration: none;
}


.clg-content-card__image {
	position: relative;

	width: 100%;
	aspect-ratio: 16 / 10;

	overflow: hidden;

	background:
		var(--clg-surface-2);
}


.clg-content-card__image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transform: scale(1);

	transition:
		transform
		var(--clg-motion-medium)
		var(--clg-ease);
}


.clg-content-card:hover
.clg-content-card__image img {

	transform: scale(1.03);
}


.clg-content-card__image-placeholder {
	width: 100%;
	height: 100%;

	background:
		linear-gradient(
			135deg,
			var(--clg-surface),
			var(--clg-surface-2)
		);
}


.clg-content-card__body {
	display: flex;
	flex-direction: column;

	flex: 1;

	padding:
		26px
		26px
		28px;
}


.clg-content-card__eyebrow {
	margin-bottom: 12px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 11px;
	font-weight: 600;

	line-height: 1.2;

	letter-spacing: .18em;

	text-transform: uppercase;

	color:
		var(--clg-gold);
}


.clg-content-card__title {
	margin:
		0
		0
		14px;
}


.clg-content-card__title a {
	color:
		inherit;

	text-decoration: none;

	font: inherit;

	transition:
		color
		var(--clg-motion-fast)
		var(--clg-ease);
}


.clg-content-card__title a:hover {
	color:
		var(--clg-gold-soft);
}


.clg-content-card__meta {
	display: flex;
	flex-wrap: wrap;

	gap:
		8px
		16px;

	margin-bottom: 14px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 12px;
	line-height: 1.4;

	letter-spacing: .04em;

	color:
		var(--clg-muted);
}


.clg-content-card__meta span:not(:last-child)::after {
	content: "·";

	margin-left: 16px;

	color:
		var(--clg-gold);
}


.clg-content-card__excerpt {
	margin:
		0
		0
		24px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 15px;
	line-height: 1.65;

	color:
		var(--clg-muted);
}


.clg-content-card__link {
	display: inline-flex;
	align-items: center;

	gap: 9px;

	width: max-content;

	margin-top: auto;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 13px;
	font-weight: 600;

	letter-spacing: .04em;

	color:
		var(--clg-gold);

	text-decoration: none;
}


.clg-content-card__arrow {
	display: inline-block;

	transition:
		transform
		var(--clg-motion-fast)
		var(--clg-ease);
}


.clg-content-card__link:hover
.clg-content-card__arrow {

	transform:
		translateX(4px);
}


.clg-content-card__link:focus-visible {
	outline:
		2px solid
		var(--clg-gold-soft);

	outline-offset:
		4px;
}


/* Service cards slightly more restrained */
.clg-content-card--clg_service
.clg-content-card__image {

	aspect-ratio: 16 / 10;
}


/* Team cards */
.clg-content-card--clg_team
.clg-content-card__image {

	aspect-ratio:
		4 / 5;
}


@media (max-width: 767px) {

	.clg-content-card__body {
		padding:
			22px
			20px
			24px;
	}


	.clg-content-card__title {
		font-size: 26px;
	}

}

/* =========================================================
   CLG Content Grids
   ========================================================= */

.elementor-widget-clg_expedition_grid,
.elementor-widget-clg_service_grid {
	width: 100%;
	max-width: 100%;
}


.clg-content-grid {
	--clg-grid-columns: 3;

	display: grid;

	grid-template-columns:
		repeat(
			var(--clg-grid-columns),
			minmax(0, 1fr)
		);

	align-items: stretch;

	gap: 28px;

	width: 100%;
}


.clg-content-grid .clg-content-card {
	width: 100%;
	min-width: 0;
}


@media (max-width: 767px) {

	.clg-content-grid {
		grid-template-columns:
			repeat(
				var(--clg-grid-columns, 1),
				minmax(0, 1fr)
			);
	}

}

/* =========================================================
   CLG Grid Section Header
   ========================================================= */

.clg-grid-header {
	max-width: 760px;
	margin-bottom: 48px;
}


.clg-grid-header__eyebrow {
	margin-bottom: 14px;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 11px;
	font-weight: 600;

	line-height: 1.2;

	letter-spacing: .18em;
	text-transform: uppercase;

	color:
		var(--clg-gold);
}


.clg-grid-header__heading {
	margin:
		0
		0
		16px;

	font-family:
		"Playfair Display",
		Georgia,
		serif;

	font-size:
		clamp(
			36px,
			4vw,
			56px
		);

	font-weight: 500;

	line-height: 1.05;

	color:
		var(--clg-text);
}


.clg-grid-header__intro {
	max-width: 680px;

	margin: 0;

	font-family:
		Inter,
		Arial,
		sans-serif;

	font-size: 17px;
	line-height: 1.65;

	color:
		var(--clg-muted);
}


@media (max-width: 767px) {

	.clg-grid-header {
		margin-bottom: 36px;
	}


	.clg-grid-header__heading {
		font-size: 34px;
	}


	.clg-grid-header__intro {
		font-size: 16px;
	}

}

.clg-service-coverage__list {
	display: grid;
	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 0;

	margin:
		32px
		0
		0;

	padding: 0;

	list-style: none;

	border-top:
		1px solid
		var(--clg-border);
}


.clg-service-coverage__item {
	display: flex;
	align-items: center;

	gap: 14px;

	min-height: 64px;

	padding:
		16px
		18px;

	border-bottom:
		1px solid
		var(--clg-border);
}


.clg-service-coverage__item:nth-child(odd) {
	border-right:
		1px solid
		var(--clg-border);
}


.clg-service-coverage__marker {
	flex:
		0
		0
		5px;

	width: 5px;
	height: 5px;

	border-radius: 50%;

	background:
		var(--clg-gold);
}


@media (max-width: 767px) {

	.clg-service-coverage__list {
		grid-template-columns: 1fr;
	}


	.clg-service-coverage__item:nth-child(odd) {
		border-right: 0;
	}

}
/* =========================================================
   CLG Overlay Cards
   Expedition / Service / Destination
   ========================================================= */

.clg-expedition-grid .clg-content-card,
.clg-service-grid .clg-content-card,
.clg-destination-grid .clg-content-card {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--clg-border);
	background: var(--clg-surface);
	min-height: 320px;

	/*
	 * NEU: Layout-Variablen (Standard = "Inline").
	 * Das Elementor-Control "Card Content Layout" überschreibt
	 * diese Werte pro Gerät direkt auf .clg-content-card__body.
	 */
	--clg-card-cols: minmax(0, 1fr) auto;
	--clg-card-areas:
		"title title"
		"excerpt excerpt"
		"meta meta"
		"badge link";
	--clg-card-justify: start;
	--clg-card-link-justify: end;
	--clg-card-text-align: left;
	--clg-card-meta-justify: flex-start;

	/* NEU: Abstand des Links zum rechten Rand (per Elementor änderbar) */
	--clg-card-link-offset: 6px;
}

/* optional: slightly larger cards on desktop */
@media (min-width: 1200px) {
	.clg-expedition-grid .clg-content-card,
	.clg-service-grid .clg-content-card,
	.clg-destination-grid .clg-content-card {
		min-height: 360px;
	}
}

.clg-expedition-grid .clg-content-card__image-link,
.clg-service-grid .clg-content-card__image-link,
.clg-destination-grid .clg-content-card__image-link {
	display: block;
	width: 100%;
	height: 100%;
}

.clg-expedition-grid .clg-content-card__image,
.clg-service-grid .clg-content-card__image,
.clg-destination-grid .clg-content-card__image {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
}

.clg-expedition-grid .clg-content-card__image img,
.clg-service-grid .clg-content-card__image img,
.clg-destination-grid .clg-content-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}

/* bottom gradient overlay */
.clg-expedition-grid .clg-content-card__image::after,
.clg-service-grid .clg-content-card__image::after,
.clg-destination-grid .clg-content-card__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			to top,
			rgba(7, 16, 17, 0.92) 0%,
			rgba(7, 16, 17, 0.87) 24%,
			rgba(7, 16, 17, 0.82) 38%,
			rgba(7, 16, 17, 0.06) 68%,
			rgba(7, 16, 17, 0.00) 100%
		);
	z-index: 1;
	pointer-events: none;
}

/* body – Layout kommt komplett aus den Variablen */
.clg-expedition-grid .clg-content-card__body,
.clg-service-grid .clg-content-card__body,
.clg-destination-grid .clg-content-card__body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;

	padding: 22px 22px 18px;

	display: grid;
	grid-template-columns: var(--clg-card-cols);
	grid-template-areas: var(--clg-card-areas);

	row-gap: 8px;
	column-gap: 18px;

	align-items: end;
	text-align: var(--clg-card-text-align);
	background: none;
}

/* Grid-Kinder dürfen schmaler werden als ihr längstes Wort */
.clg-expedition-grid .clg-content-card__body > *,
.clg-service-grid .clg-content-card__body > *,
.clg-destination-grid .clg-content-card__body > * {
	min-width: 0;
}

/* eyebrow */
.clg-expedition-grid .clg-content-card__eyebrow,
.clg-service-grid .clg-content-card__eyebrow,
.clg-destination-grid .clg-content-card__eyebrow {
	grid-area: badge;

	/*
	 * Block statt Flex: Die Box wächst mit dem Text mit
	 * (egal welche Schriftgröße) und der Text bricht
	 * innerhalb der Box um, statt herauszuragen.
	 */
	display: block;
	justify-self: var(--clg-card-justify);
	align-self: center;

	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;

	padding: .6em .9em;

	margin: 0;

	background: rgba(0, 0, 0, 0.48);
	border: 1px solid rgba(244, 240, 232, 0.12);
	backdrop-filter: blur(3px);

	color: var(--clg-text);
	font-size: 11px;
	line-height: 1.3;
	letter-spacing: .12em;
	text-transform: uppercase;

	/* notfalls auch lange Einzelwörter umbrechen */
	overflow-wrap: anywhere;

	border-radius: 2px;
	opacity: 1;
}

/* title */
.clg-expedition-grid .clg-content-card__title,
.clg-service-grid .clg-content-card__title,
.clg-destination-grid .clg-content-card__title {
	grid-area: title;
	margin: 0;
	color: var(--clg-text);
	overflow-wrap: anywhere;
	-webkit-hyphens: auto;
	hyphens: auto;	
}


.clg-expedition-grid .clg-content-card__title a,
.clg-service-grid .clg-content-card__title a,
.clg-destination-grid .clg-content-card__title a {
	color: inherit;
	text-decoration: none;
	font: inherit;
}

/* excerpt */
.clg-expedition-grid .clg-content-card__excerpt,
.clg-service-grid .clg-content-card__excerpt,
.clg-destination-grid .clg-content-card__excerpt {
	grid-area: excerpt;
	justify-self: var(--clg-card-justify);
	margin: 0;
	color: var(--clg-muted);
	font-size: 15px;
	line-height: 1.45;
	max-width: 34ch;
	overflow-wrap: break-word;	
}

/* meta row */
.clg-expedition-grid .clg-content-card__meta,
.clg-service-grid .clg-content-card__meta,
.clg-destination-grid .clg-content-card__meta {
	grid-area: meta;

	display: flex;
	flex-wrap: wrap;
	justify-content: var(--clg-card-meta-justify);
	gap: 10px 18px;

	margin-top: 2px;

	color: var(--clg-muted);
	font-size: 13px;
	line-height: 1.3;
}

.clg-expedition-grid .clg-content-card__meta span,
.clg-service-grid .clg-content-card__meta span,
.clg-destination-grid .clg-content-card__meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.clg-content-card__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	padding-left: 0;
}


.clg-content-card__meta-item::before {
	content: "";

	display: block;
	flex: 0 0 14px;

	width: 14px;
	height: 14px;

	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;

	opacity: .9;
}

/* First meta item = location / region */
.clg-content-card__meta-item--1::before {
	background-image:
		url("icons/location.svg");
}


/* Expedition second meta = duration */
.clg-expedition-grid
.clg-content-card__meta-item--2::before {
	background-image:
		url("icons/clock.svg");
}


/* Destination second meta = related journeys */
.clg-destination-grid
.clg-content-card__meta-item--2::before {
	background-image:
		url("icons/route.svg");
}

/* CTA */
.clg-expedition-grid .clg-content-card__link,
.clg-service-grid .clg-content-card__link,
.clg-destination-grid .clg-content-card__link {
	grid-area: link;

	display: inline-flex;
	align-items: center;
	justify-self: var(--clg-card-link-justify);
	align-self: center;

	gap: 8px;
	margin: 0;
	margin-right: var(--clg-card-link-offset);

	color: var(--clg-text);
	text-decoration: none;

	font-size: 14px;
	line-height: 1.2;
	white-space: nowrap;
}

.clg-expedition-grid .clg-content-card__link:hover,
.clg-service-grid .clg-content-card__link:hover,
.clg-destination-grid .clg-content-card__link:hover {
	color: var(--clg-gold);
}

.clg-expedition-grid .clg-content-card__arrow,
.clg-service-grid .clg-content-card__arrow,
.clg-destination-grid .clg-content-card__arrow {
	transition: transform .2s ease;
}

.clg-expedition-grid .clg-content-card__link:hover .clg-content-card__arrow,
.clg-service-grid .clg-content-card__link:hover .clg-content-card__arrow,
.clg-destination-grid .clg-content-card__link:hover .clg-content-card__arrow {
	transform: translateX(3px);
}

/* hover */
.clg-expedition-grid .clg-content-card img,
.clg-service-grid .clg-content-card img,
.clg-destination-grid .clg-content-card img {
	transition: transform .45s ease;
}

.clg-expedition-grid .clg-content-card:hover img,
.clg-service-grid .clg-content-card:hover img,
.clg-destination-grid .clg-content-card:hover img {
	transform: scale(1.03);
}

/* =========================================================
   DESTINATION CARD OVERRIDES
   (nur noch Optik – KEINE grid-template-areas / justify-self mehr)
   ========================================================= */

.clg-destination-grid .clg-content-card__body {
	column-gap: 24px;
	row-gap: 9px;
}

.clg-destination-grid .clg-content-card__excerpt {
	margin: 0 0 6px;
}

.clg-destination-grid .clg-content-card__meta {
	align-self: center;
	margin-top: 8px;
}

/* Destination badge with pin icon */
.clg-destination-grid .clg-content-card__eyebrow {
	margin: 8px 0 0;
	padding: .65em 1em;

	background: rgba(0, 0, 0, .68);

	font-weight: 600;

	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

/* Pin icon before badge text */
.clg-destination-grid .clg-content-card__eyebrow::before {
	content: "";

	/* Icon sitzt im Textfluss und skaliert mit der Schriftgröße */
	display: inline-block;
	vertical-align: -0.15em;

	width: 1.2em;
	height: 1.2em;
	margin-right: .6em;

	background-image: url("icons/location.svg");

	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* Destination link - gold color */
.clg-destination-grid .clg-content-card__link {
	margin-top: 8px;
	color: var(--clg-gold);
}

.clg-destination-grid .clg-content-card__link:hover {
	color: var(--clg-gold-soft);
}

/* =========================================================
   MOBILE
   (nur noch Größen/Abstände – das Layout steuert Elementor)
   ========================================================= */

@media (max-width: 767px) {

	.clg-expedition-grid .clg-content-card,
	.clg-service-grid .clg-content-card,
	.clg-destination-grid .clg-content-card {
		min-height: 280px;
	}

	.clg-expedition-grid .clg-content-card__body,
	.clg-service-grid .clg-content-card__body,
	.clg-destination-grid .clg-content-card__body {
		padding: 18px 18px 16px;
		column-gap: 12px;
	}

	.clg-expedition-grid .clg-content-card__excerpt,
	.clg-service-grid .clg-content-card__excerpt,
	.clg-destination-grid .clg-content-card__excerpt {
		font-size: 14px;
	}
}

/* =========================================================
   CLG Dynamic Image
   ========================================================= */

.clg-dynamic-image {
	display: block;
	width: 100%;
}

.clg-dynamic-image img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}












/* =========================================================
   CLG Editorial Tabs
   ========================================================= */

.clg-editorial-tabs {
	width: 100%;
}


.clg-editorial-tabs__section-eyebrow {
	margin: 0 0 12px;

	color: var(--clg-gold);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .22em;
	text-transform: uppercase;
}


/* ---------------------------------------------------------
   Main layout
   --------------------------------------------------------- */

.clg-editorial-tabs__main {
	display: flex;
	align-items: stretch;

	gap: 42px;
}


.clg-editorial-tabs__content {
	display: flex;
	flex-direction: column;

	width: 38%;
	min-width: 0;
}


.clg-editorial-tabs__media {
	position: relative;

	width: 62%;
	min-width: 0;
	min-height: 470px;

	overflow: hidden;
}


/* ---------------------------------------------------------
   Content panels
   --------------------------------------------------------- */

.clg-editorial-tabs__panel {
	flex: 1;

	opacity: 0;
	transform: translateY(10px);

	transition:
		opacity 380ms var(--clg-ease),
		transform 520ms var(--clg-ease);
}

.clg-editorial-tabs__panel.is-active {
	opacity: 1;
	transform: translateY(0);
}

.clg-editorial-tabs__panel[hidden] {
	display: none;
}


.clg-editorial-tabs__eyebrow {
	margin: 0 0 10px;

	color: var(--clg-gold);

	font-size: 10px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .18em;
	text-transform: uppercase;
}


.clg-editorial-tabs__heading {
	margin: 0 0 18px;

	color: var(--clg-text);

	font-size: clamp(
		38px,
		4vw,
		58px
	);

	font-weight: 500;
	line-height: 1.02;
}


.clg-editorial-tabs__text {
	color: var(--clg-muted);

	font-size: 15px;
	line-height: 1.65;
}


.clg-editorial-tabs__text p {
	margin-top: 0;
}


.clg-editorial-tabs__text p:last-child {
	margin-bottom: 0;
}


/* ---------------------------------------------------------
   Navigation
   --------------------------------------------------------- */

.clg-editorial-tabs__nav {
	display: grid;
	grid-template-columns:
		repeat(
			var(--clg-editorial-tab-count, 4),
			minmax(0, 1fr)
		);

	width: 100%;

	margin-top: 32px;
}


.clg-editorial-tabs__tab {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-width: 0;
	min-height: 38px;

	padding: 14px 12px 0;

	border: 0 !important;
	outline: 0;
	box-shadow: none !important;

	background: transparent;

	color: var(--clg-muted);

	font: inherit;
	font-size: 10px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .22em;
	text-transform: uppercase;

	cursor: pointer;

	-webkit-appearance: none;
	appearance: none;

	transition:
		color var(--clg-motion-fast)
		var(--clg-ease);
}

.clg-editorial-tabs__tab:hover,
.clg-editorial-tabs__tab:focus,
.clg-editorial-tabs__tab:active {
	border: 0 !important;
	outline: 0;
	box-shadow: none !important;

	background-color: transparent !important;
	background-image: none !important;
}



.clg-editorial-tabs__tab:not(:last-child)::after {
	content: "";

	position: absolute;

	right: 0;
	top: 11px;

	width: 1px;
	height: 14px;

	background: var(--clg-border);
}


/*
 * Small active rectangle / line above label.
 */

.clg-editorial-tabs__tab::before {
	content: "";

	position: absolute;

	left: 0;
	right: 0;
	top: 0;

	width: 100%;
	height: 2px;

	background: var(--clg-gold);

	transform: scaleX(0);
	transform-origin: center;

	opacity: 0;

	transition:
		transform 320ms var(--clg-ease),
		opacity 220ms var(--clg-ease);
}


.clg-editorial-tabs__tab.is-active {
	color: var(--clg-text);
}


.clg-editorial-tabs__tab.is-active::before {
	transform: scaleX(1);
	opacity: 1;
}


.clg-editorial-tabs__tab:focus-visible {
	outline: 1px solid var(--clg-gold);
	outline-offset: 3px;
	box-shadow: none !important;
}


/* ---------------------------------------------------------
   Media
   --------------------------------------------------------- */

.clg-editorial-tabs__media-panel {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;

	opacity: 0;
	transform: scale(1.018);

	transition:
		opacity 520ms var(--clg-ease),
		transform 850ms var(--clg-ease);

	pointer-events: none;
}

.clg-editorial-tabs__media-panel.is-active {
	opacity: 1;
	transform: scale(1);

	pointer-events: auto;
}

.clg-editorial-tabs__media-panel[hidden] {
	display: none;
}


.clg-editorial-tabs__image {
	position: relative;

	width: 100%;
	height: 100%;

	overflow: hidden;

	background: var(--clg-surface);
}


.clg-editorial-tabs__image img {
	display: block;

	width: 100%;
	height: 470px;

	object-fit: cover;
	object-position: center;

	transition:
		transform var(--clg-motion-slow)
		var(--clg-ease);
}


.clg-editorial-tabs:hover
.clg-editorial-tabs__image img {
	transform: scale(1.01);
}


/* ---------------------------------------------------------
   Caption
   --------------------------------------------------------- */

.clg-editorial-tabs__caption {
	position: absolute;

	right: 14px;
	bottom: 12px;

	z-index: 2;

	padding: 5px 7px;

	background:
		rgba(7, 16, 17, .56);

	color: var(--clg-muted);

	font-size: 10px;
	line-height: 1.3;

	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}


/* ---------------------------------------------------------
   Empty Elementor state
   --------------------------------------------------------- */

.clg-editorial-tabs__empty {
	padding: 20px;

	border:
		1px dashed
		var(--clg-border-strong);

	color: var(--clg-muted);
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 1024px) {

.clg-editorial-tabs__main {
	display: grid;

	grid-template-columns: 1fr;
	grid-template-rows: auto auto auto;

	gap: 0;
}


/*
 * Make panel + navigation direct layout participants
 * of .clg-editorial-tabs__main.
 */
.clg-editorial-tabs__content {
	display: contents;
}


/*
 * Text first.
 */
.clg-editorial-tabs__panel {
	order: 1;

	width: 100%;
}


/*
 * Image second.
 */
.clg-editorial-tabs__media {
	order: 2;

	width: 100% !important;

	margin-top: 30px;
}


/*
 * Tabs last.
 */
.clg-editorial-tabs__nav {
	order: 3;

	width: 100%;

	margin-top: 20px;
}

.clg-editorial-tabs__nav {
	display: grid;

	grid-template-columns:
		repeat(
			var(--clg-editorial-tab-count, 4),
			minmax(0, 1fr)
		);

	width: 100%;
}


.clg-editorial-tabs__tab {
	width: 100%;
	min-width: 0;

	padding:
		12px
		8px
		0;

	justify-content: center;

	font-size: 9px;
	letter-spacing: .14em;

	white-space: nowrap;
}

	.clg-editorial-tabs__media {
		min-height: 420px;
	}


	.clg-editorial-tabs__image img {
		height: 420px;
	}


	.clg-editorial-tabs__tab {
		padding-left: 13px;
		padding-right: 13px;
	}

	.clg-editorial-tabs__tab::before {
		left: 10%;
		right: 10%;
		width: auto;
	}	

}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {



	.clg-editorial-tabs__heading {
		font-size: 38px;
	}


	.clg-editorial-tabs__nav {
		display: grid;

		grid-template-columns:
			repeat(
				var(--clg-editorial-tab-count, 4),
				minmax(0, 1fr)
			);

		width: 100%;

		margin-top: 16px;

		row-gap: 0;
		column-gap: 0;
	}

	.clg-editorial-tabs__media {
		margin-top: 24px;
		min-height: 320px;
	}


	.clg-editorial-tabs__tab {
		display: flex;

		width: 100%;
		min-width: 0;

		min-height: 34px;

		padding:
			11px
			4px
			0;

		justify-content: center;

		font-size: 8px;
		line-height: 1;
		letter-spacing: .08em;

		white-space: nowrap;
	}

	.clg-editorial-tabs__image img {
		height: 320px;
	}

	.clg-editorial-tabs__tab:not(:last-child)::after {
		top: 11px;

		height: 11px;

		opacity: .65;
	}

	.clg-editorial-tabs__tab::before {
		left: 18%;
		right: 18%;
		width: auto;
	}	

}

/* =========================================================
   CLG Destination Gallery
   ========================================================= */

.clg-destination-gallery {
	width: 100%;
}


/* ---------------------------------------------------------
   Heading
   --------------------------------------------------------- */

.clg-destination-gallery__eyebrow {
	margin: 0 0 10px;

	color: var(--clg-gold);

	font-size: 10px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .2em;
	text-transform: uppercase;
}


.clg-destination-gallery__heading {
	margin: 0 0 30px;

	color: var(--clg-text);
}


/* ---------------------------------------------------------
   Base Grid
   --------------------------------------------------------- */

.clg-destination-gallery__grid {
	display: grid;

	gap: 10px;
}


.clg-destination-gallery__item {
	position: relative;

	min-width: 0;
	min-height: var(
		--clg-destination-gallery-height,
		280px
	);

	margin: 0;

	overflow: hidden;

	background: var(--clg-surface);
}


.clg-destination-gallery__link {
	position: absolute;
	inset: 0;

	display: block;

	width: 100%;
	height: 100%;

	overflow: hidden;
}


.clg-destination-gallery__image {
	display: block;

	width: 100% !important;
	height: 100% !important;

	object-fit: cover;

	transform: scale(1);

	transition:
		transform 800ms var(--clg-ease);
}


.clg-destination-gallery__item:hover
.clg-destination-gallery__image {
	transform: scale(1.025);
}


/* ---------------------------------------------------------
   Overlay
   --------------------------------------------------------- */

.clg-destination-gallery__overlay {
	position: absolute;
	inset: 0;

	pointer-events: none;

	background:
		linear-gradient(
			to top,
			rgba(7, 16, 17, .52) 0%,
			rgba(7, 16, 17, .10) 35%,
			rgba(7, 16, 17, 0) 65%
		);

	opacity: .6;

	transition:
		opacity 350ms var(--clg-ease);
}


.clg-destination-gallery__item:hover
.clg-destination-gallery__overlay {
	opacity: 1;
}


/* ---------------------------------------------------------
   Caption
   --------------------------------------------------------- */

.clg-destination-gallery__caption {
	position: absolute;

	right: 12px;
	bottom: 10px;

	z-index: 2;

	max-width: calc(100% - 24px);

	padding: 5px 7px;

	background:
		rgba(7, 16, 17, .58);

	color: var(--clg-muted);

	font-size: 10px;
	line-height: 1.3;

	text-align: right;

	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}


/* =========================================================
   Regular Grid
   ========================================================= */

.clg-destination-gallery--grid
.clg-destination-gallery__grid {
	grid-template-columns:
		repeat(
			var(
				--clg-destination-gallery-columns,
				3
			),
			minmax(0, 1fr)
		);
}


/* =========================================================
   Editorial Mosaic
   ========================================================= */

.clg-destination-gallery--mosaic
.clg-destination-gallery__grid {
	grid-template-columns:
		repeat(
			12,
			minmax(0, 1fr)
		);

	grid-auto-rows:
		var(
			--clg-destination-gallery-height,
			280px
		);
}


/*
 * First image:
 * large cinematic anchor.
 */
.clg-destination-gallery--mosaic
.clg-destination-gallery__item:nth-child(6n + 1) {
	grid-column:
		span 7;

	grid-row:
		span 2;
}


/*
 * Second image.
 */
.clg-destination-gallery--mosaic
.clg-destination-gallery__item:nth-child(6n + 2) {
	grid-column:
		span 5;

	grid-row:
		span 1;
}


/*
 * Third image.
 */
.clg-destination-gallery--mosaic
.clg-destination-gallery__item:nth-child(6n + 3) {
	grid-column:
		span 5;

	grid-row:
		span 1;
}


/*
 * Following images become a calmer
 * three-column editorial strip.
 */
.clg-destination-gallery--mosaic
.clg-destination-gallery__item:nth-child(6n + 4),
.clg-destination-gallery--mosaic
.clg-destination-gallery__item:nth-child(6n + 5),
.clg-destination-gallery--mosaic
.clg-destination-gallery__item:nth-child(6n + 6) {
	grid-column:
		span 4;

	grid-row:
		span 1;
}


/* ---------------------------------------------------------
   Elementor empty state
   --------------------------------------------------------- */

.clg-destination-gallery__empty {
	padding: 20px;

	border:
		1px dashed
		var(--clg-border-strong);

	color: var(--clg-muted);
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {

	.clg-destination-gallery--mosaic
	.clg-destination-gallery__grid {
		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);

		grid-auto-rows:
			var(
				--clg-destination-gallery-height,
				240px
			);
	}


	.clg-destination-gallery--mosaic
	.clg-destination-gallery__item:nth-child(n) {
		grid-column:
			span 1;

		grid-row:
			span 1;
	}


	.clg-destination-gallery--mosaic
	.clg-destination-gallery__item:first-child {
		grid-column:
			1 / -1;

		grid-row:
			span 2;
	}

}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

	.clg-destination-gallery--mosaic
	.clg-destination-gallery__grid {
		grid-template-columns:
			1fr;

		grid-auto-rows:
			auto;
	}


	.clg-destination-gallery--mosaic
	.clg-destination-gallery__item:nth-child(n) {
		grid-column:
			auto;

		grid-row:
			auto;

		min-height:
			var(
				--clg-destination-gallery-height,
				240px
			);
	}


	.clg-destination-gallery--grid
	.clg-destination-gallery__grid {
		grid-template-columns:
			1fr;
	}

}

/* =========================================================
   CLG Team Card
   ========================================================= */

.clg-team-card {
	--clg-team-image-width: 43%;

	display: flex;
	flex-direction: column;

	width: 100%;
	height: 100%;

	overflow: hidden;

	border: 1px solid var(--clg-border-strong);
	border-radius: var(--clg-radius-card);

	background: var(--clg-surface);
}


/* ---------------------------------------------------------
   Main card area
   --------------------------------------------------------- */

.clg-team-card__main {
	display: grid;

	grid-template-columns:
		minmax(0, var(--clg-team-image-width))
		minmax(0, 1fr);

	flex: 1;

	min-width: 0;
}


.clg-team-card__portrait {
	position: relative;

	min-width: 0;

	overflow: hidden;

	background: var(--clg-surface-2);
}

.clg-team-card__portrait-image {
	display: block;

	width: 100%;
	height: 100%;

	position: absolute;
	inset: 0;

	object-fit: cover;
	object-position: center center;

	transform: scale(1);

	transition:
		transform 800ms var(--clg-ease);
}

/*
 * Desktop uses the portrait image.
 */
.clg-team-card__portrait-image--desktop {
	display: block;
}


/*
 * Responsive landscape image is hidden
 * on desktop.
 */
.clg-team-card__portrait-image--responsive {
	display: none;
}

.clg-team-card:hover
.clg-team-card__portrait-image {
	transform: scale(1.025);
}


.clg-team-card__portrait::after {
	content: "";

	position: absolute;
	inset: 0;

	pointer-events: none;

	background:
		linear-gradient(
			to right,
			rgba(7,16,17,0) 58%,
			rgba(7,16,17,.18) 100%
		);
}


.clg-team-card__portrait-placeholder {
	width: 100%;
	height: 100%;
	min-height: inherit;

	background:
		linear-gradient(
			135deg,
			var(--clg-surface-2),
			var(--clg-surface)
		);
}



/* ---------------------------------------------------------
   Content
   --------------------------------------------------------- */

.clg-team-card__content {
	display: flex;
	flex-direction: column;

	min-width: 0;

	padding: 26px 24px 24px;
}


.clg-team-card__name {
	margin: 0;

	color: var(--clg-text);

	line-height: 1.08;
}


.clg-team-card__role {
	margin-top: 5px;

	color: var(--clg-gold);

	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}


.clg-team-card__bio {
	margin: 20px 0 0;

	color: var(--clg-muted);

	font-size: 13px;
	line-height: 1.6;

	font-style: italic;
}


/* ---------------------------------------------------------
   Expertise
   --------------------------------------------------------- */

.clg-team-card__expertise {
	display: flex;
	flex-direction: column;

	gap: 8px;

	margin-top: auto;
	padding-top: 24px;
}


.clg-team-card__expertise-item {
	display: grid;

	grid-template-columns:
		18px
		minmax(0, 1fr);

	align-items: start;

	gap: 8px;

	color: var(--clg-muted);

	font-size: 12px;
	line-height: 1.45;
}


.clg-team-card__expertise-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 18px;
	min-height: 18px;

	color: var(--clg-gold);

	font-size: 14px;
}


.clg-team-card__expertise-icon svg {
	display: block;

	width: 14px;
	height: 14px;

	fill: currentColor;
}


/* ---------------------------------------------------------
   Footer
   --------------------------------------------------------- */

.clg-team-card__footer {
	padding: 16px 18px 14px;

	border-top: 1px solid var(--clg-border);

	background:
		rgba(7,16,17,.18);
}


/* ---------------------------------------------------------
   Facts
   --------------------------------------------------------- */

.clg-team-card__facts {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	gap: 12px 16px;
}


.clg-team-card__fact {
	display: flex;
	align-items: flex-start;

	gap: 8px;

	min-width: 0;

	color: var(--clg-muted);

	font-size: 11px;
	line-height: 1.35;
}


.clg-team-card__fact-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 auto;

	color: var(--clg-gold);

	font-size: 16px;
}


.clg-team-card__fact-icon svg {
	display: block;

	width: 16px;
	height: 16px;

	fill: currentColor;
}


.clg-team-card__fact span:last-child {
	min-width: 0;
}


/* ---------------------------------------------------------
   Contact / CTA
   --------------------------------------------------------- */

.clg-team-card__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 16px;

	margin-top: 16px;
	padding-top: 14px;

	border-top: 1px solid var(--clg-border);
}


.clg-team-card__socials {
	display: flex;
	align-items: center;

	gap: 12px;
}


.clg-team-card__social {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	color: var(--clg-text);

	font-size: 16px;

	text-decoration: none;

	transition:
		color var(--clg-motion-fast) ease,
		transform var(--clg-motion-fast) ease;
}


.clg-team-card__social:hover {
	color: var(--clg-gold);

	transform: translateY(-1px);
}


.clg-team-card__social svg {
	display: block;

	width: 16px;
	height: 16px;

	fill: currentColor;
}


.clg-team-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 12px;

	min-width: 138px;

	padding: 9px 16px;

	border: 1px solid var(--clg-gold);
	border-radius: var(--clg-radius);

	background: transparent;

	color: var(--clg-text);

	font-size: 11px;
	line-height: 1.2;

	text-decoration: none;

	transition:
		background-color var(--clg-motion-fast) ease,
		color var(--clg-motion-fast) ease,
		border-color var(--clg-motion-fast) ease;
}


.clg-team-card__cta:hover {
	background: var(--clg-gold);

	color: var(--clg-bg);
}


.clg-team-card__cta-arrow {
	transition:
		transform var(--clg-motion-fast) ease;
}


.clg-team-card__cta:hover
.clg-team-card__cta-arrow {
	transform: translateX(3px);
}


/* =========================================================
   Team Grid - Balanced Desktop Layout
   ========================================================= */

@media (min-width: 1025px) {

	.clg-team-layout-balanced
	.clg-team-grid {
		display: grid;

		grid-template-columns:
			repeat(6, minmax(0, 1fr));
	}


	/*
	 * Standard full row:
	 * 3 cards.
	 */
	.clg-team-layout-balanced
	.clg-team-grid
	> .clg-team-card {
		grid-column: span 2;
	}


	/*
	 * Two cards remaining:
	 * make both wider, resulting in 3 + 2.
	 *
	 * 5 items:
	 * 1 1 | 2 2 | 3 3
	 * 4 4 4 | 5 5 5
	 */
	.clg-team-layout-balanced
	.clg-team-grid
	> .clg-team-card:nth-last-child(2):nth-child(3n + 1) {
		grid-column: span 3;
	}


	.clg-team-layout-balanced
	.clg-team-grid
	> .clg-team-card:last-child:nth-child(3n + 2) {
		grid-column: span 3;
	}


	/*
	 * One card remaining:
	 * center it and make it wider.
	 */
	.clg-team-layout-balanced
	.clg-team-grid
	> .clg-team-card:last-child:nth-child(3n + 1) {
		grid-column:
			2 / span 4;
	}

}


/* =========================================================
   Team Card - Tablet
   ========================================================= */

@media (max-width: 1024px) {

	.clg-team-layout-balanced
	.clg-team-grid {
		grid-template-columns: 1fr;
	}


	.clg-team-layout-balanced
	.clg-team-grid
	> .clg-team-card {
		grid-column: auto;
	}


	.clg-team-card__main {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;

		flex: 0 0 auto;

		align-content: start;
	}


	/*
	 * True 16:9 image area.
	 */
	.clg-team-card__portrait {
		position: relative;

		width: 100%;
		min-height: 0;

		aspect-ratio: 16 / 9;

		overflow: hidden;

		align-self: start;
	}


	/*
	 * Hide desktop portrait.
	 */
	.clg-team-card__portrait-image--desktop {
		display: none;
	}


	/*
	 * Show landscape image.
	 */
	.clg-team-card__portrait-image--responsive {
		display: block;

		position: absolute;
		inset: 0;

		width: 100%;
		height: 100%;

		object-fit: cover;
		object-position: center center;
	}


	.clg-team-card__portrait::after {
		background:
			linear-gradient(
				to bottom,
				rgba(7,16,17,0) 65%,
				rgba(7,16,17,.16) 100%
			);
	}


	.clg-team-card__facts {
		grid-template-columns:
			repeat(3, minmax(0, 1fr));
	}


	.clg-team-card__expertise {
		margin-top: 0;
	}

}


/* =========================================================
   Team Card - Mobile
   ========================================================= */

@media (max-width: 767px) {

	/*
	 * Explicitly keep 16:9 on mobile.
	 */
	.clg-team-card__portrait {
		width: 100%;
		min-height: 0;

		aspect-ratio: 16 / 9;
	}

	.clg-team-card {
		height: auto;
	}

	.clg-team-card__main {
		flex: none;
	}

	.clg-team-card__content {
		padding: 24px 22px 26px;
	}


	.clg-team-card__expertise {
		margin-top: 0;
	}


	.clg-team-card__footer {
		padding: 16px 22px;
	}


	.clg-team-card__actions {
		align-items: stretch;

		flex-wrap: wrap;
	}


	.clg-team-card__socials {
		flex: 1;
	}


	.clg-team-card__cta {
		flex: 1;

		min-width: 150px;
	}

}

@media (max-width: 1024px) {

	.clg-team-card {
		height: auto;
		min-height: 0;
	}


	.clg-team-card__main {
		height: auto;
		min-height: 0;

		grid-template-columns: 1fr;
		grid-template-rows: auto auto;

		flex: none;
	}


	.clg-team-card__portrait {
		width: 100%;
		height: auto;
		min-height: 0;

		aspect-ratio: 16 / 9;
	}


	.clg-team-card__content {
		height: auto;
		min-height: 0;
	}

}

@media (max-width: 1024px) {

	.clg-team-card__portrait {
		min-height: 0 !important;
		height: auto;
		aspect-ratio: 16 / 9;
	}

}

/* =========================================================
   Visually hidden – für Screenreader & Crawler lesbar
   ========================================================= */

.clg-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}