/* ==========================================================================
   UDDFEL SUITE — GLOBAL SVG ICON COLOR SYSTEM 1.0
   Shared standard for all inline SVGs, Flaticon icons, and uploaded graphics.
   ========================================================================== */

.uddfel-icon-svg {
	display: inline-block;
	vertical-align: middle;
	color: inherit;
	flex-shrink: 0;
	line-height: 1;
	box-sizing: content-box;
}

.uddfel-icon-svg:not([width]):not([height]) {
	width: 1em;
	height: 1em;
}

.uddfel-icon-svg:not([fill="none"]) {
	fill: currentColor;
}

/* Ensure normalized child shapes inherit currentColor and transition smoothly */
.uddfel-icon-svg path,
.uddfel-icon-svg circle,
.uddfel-icon-svg rect,
.uddfel-icon-svg polygon,
.uddfel-icon-svg polyline,
.uddfel-icon-svg ellipse,
.uddfel-icon-svg line {
	transition: fill 0.2s ease, stroke 0.2s ease;
}

/* Fallback for wrapper color inheritance */
.uddfel-offcanvas-trigger__icon .uddfel-icon-svg,
.uddfel-offcanvas-close__icon .uddfel-icon-svg,
.uddfel-button__icon .uddfel-icon-svg,
.uddfel-dynamic-btn__icon .uddfel-icon-svg,
.uddfel-nav__toggle-icon .uddfel-icon-svg,
.uddfel-nav__arrow-icon .uddfel-icon-svg {
	color: inherit;
}

.uddfel-cta-card,
.uddfel-feature-card {
	box-sizing: border-box;
	min-width: 0;
	overflow-wrap: anywhere;
	text-decoration: none;
	transition-property: background-color, border-color, box-shadow, color, transform;
	transition-duration: .2s;
	transition-timing-function: ease;
}

.uddfel-cta-card *,
.uddfel-cta-card *::before,
.uddfel-cta-card *::after,
.uddfel-feature-card *,
.uddfel-feature-card *::before,
.uddfel-feature-card *::after {
	box-sizing: border-box;
}

.uddfel-cta-card {
	--uddfel-cta-gap: 1rem;
	--uddfel-cta-image-gap: var(--uddfel-cta-gap);
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--uddfel-cta-gap);
	padding: 1.5rem;
	border-radius: .75rem;
	background: #f5f5f5;
	color: #222;
}

.uddfel-cta-card>*,
.uddfel-feature-card>* {
	position: relative;
	z-index: 1;
}

.uddfel-cta-card--full-link {
	display: flex;
	color: inherit;
}

.uddfel-cta-card--full-link:hover,
.uddfel-cta-card--full-link:focus {
	color: inherit;
	text-decoration: none;
}

.uddfel-cta-card__content,
.uddfel-feature-card__content {
	min-width: 0;
}

.uddfel-cta-card__content>*,
.uddfel-feature-card__content>* {
	margin-top: 0;
}

.uddfel-cta-card__content> :last-child,
.uddfel-feature-card__content> :last-child {
	margin-bottom: 0;
}

.uddfel-cta-card--layout-image-left,
.uddfel-cta-card--layout-image-right {
	align-items: stretch;
	gap: var(--uddfel-cta-image-gap);
}

.uddfel-cta-card--layout-image-left {
	flex-direction: row;
}

.uddfel-cta-card--layout-image-right {
	flex-direction: row-reverse;
}

.uddfel-cta-card--valign-middle {
	justify-content: center;
}

.uddfel-cta-card--valign-bottom {
	justify-content: flex-end;
}

.uddfel-cta-card--layout-image-left.uddfel-cta-card--valign-top,
.uddfel-cta-card--layout-image-right.uddfel-cta-card--valign-top {
	align-items: flex-start;
}

.uddfel-cta-card--layout-image-left.uddfel-cta-card--valign-middle,
.uddfel-cta-card--layout-image-right.uddfel-cta-card--valign-middle {
	align-items: center;
}

.uddfel-cta-card--layout-image-left.uddfel-cta-card--valign-bottom,
.uddfel-cta-card--layout-image-right.uddfel-cta-card--valign-bottom {
	align-items: flex-end;
}

.uddfel-cta-card--layout-image-background {
	justify-content: flex-end;
	background: #222;
	color: #fff;
}

.uddfel-cta-card__image {
	display: block;
	flex: 0 0 auto;
	min-width: 0;
	overflow: hidden;
}

.uddfel-cta-card--layout-image-top .uddfel-cta-card__image {
	margin-bottom: var(--uddfel-cta-image-gap);
}

.uddfel-cta-card--layout-image-background .uddfel-cta-card__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: inherit;
}

.uddfel-cta-card__image img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center center;
	border-radius: inherit;
}

.uddfel-cta-card--layout-image-background .uddfel-cta-card__image img {
	width: 100%;
	height: 100%;
}

.uddfel-cta-card__media-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .42);
	transition-property: background-color, opacity;
	transition-duration: .2s;
}

.uddfel-cta-card__eyebrow,
.uddfel-feature-card__eyebrow {
	display: inline-block;
	margin: 0 0 .5rem;
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.3;
}

.uddfel-cta-card__title,
.uddfel-feature-card__title {
	margin: 0 0 .75rem;
	color: inherit;
	font-size: 1.75rem;
	line-height: 1.2;
}

.uddfel-feature-card__title {
	font-size: 1.25rem;
}

.uddfel-cta-card__description,
.uddfel-feature-card__description {
	margin: 0 0 1rem;
	color: inherit;
	line-height: 1.6;
}

.uddfel-cta-card__actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.uddfel-cta-card .uddfel-cta-card__button,
.uddfel-feature-card__link {
	align-items: center;
	justify-content: center;
	max-width: 100%;
	text-decoration: none;
	line-height: 1.4;
	transition-property: background-color, border-color, box-shadow, color, transform;
	transition-duration: .2s;
	transition-timing-function: ease;
}

.uddfel-cta-card .uddfel-cta-card__button {
	display: inline-flex;
	padding: .75rem 1.25rem;
	border-radius: .375rem;
	background: #222;
	color: #fff;
}

.uddfel-cta-card__button:hover,
.uddfel-feature-card__link:hover {
	text-decoration: none;
}

.uddfel-cta-card__button:focus-visible,
.uddfel-feature-card__link:focus-visible,
.uddfel-cta-card--full-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.uddfel-feature-card {
	--uddfel-feature-gap: 1rem;
	display: flex;
	flex-direction: column;
	gap: var(--uddfel-feature-gap);
	padding: 1.5rem;
	border-radius: .75rem;
	background: #fff;
	color: #222;
}

.uddfel-feature-card--media-left,
.uddfel-feature-card--media-right {
	align-items: flex-start;
	gap: var(--uddfel-feature-gap);
}

.uddfel-feature-card--media-left {
	flex-direction: row;
}

.uddfel-feature-card--media-right {
	flex-direction: row-reverse;
}

.uddfel-feature-card--valign-center {
	align-items: center;
}

.uddfel-feature-card--valign-bottom {
	align-items: flex-end;
}

.uddfel-feature-card__media {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: .75rem;
	background: #f1f5f9;
	color: #222;
	transition-property: background-color, border-color, box-shadow, color, transform;
	transition-duration: .2s;
	transition-timing-function: ease;
	transform: translate(var(--uddfel-feature-icon-x, 0px), var(--uddfel-feature-icon-y, 0px)) rotate(var(--uddfel-feature-icon-rotate, 0deg)) scale(var(--uddfel-feature-icon-scale, 1));
}

.uddfel-feature-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	line-height: 1;
}

.uddfel-feature-card__icon svg {
	display: block;
	width: 1em;
	height: 1em;
}

.uddfel-feature-card__icon svg.e-font-icon-svg {
	fill: currentColor;
}

.uddfel-feature-card__image,
.uddfel-feature-card__image img {
	display: block;
	max-width: 100%;
}

.uddfel-feature-card__image img {
	width: 3.5rem;
	height: 3.5rem;
	object-fit: cover;
}

.uddfel-feature-card__link {
	display: inline-flex;
	margin-top: .25rem;
	color: #222;
	font-weight: 700;
}

.uddfel-cta-card__sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 767px) {

	.uddfel-cta-card--stack-mobile.uddfel-cta-card--layout-image-left,
	.uddfel-cta-card--stack-mobile.uddfel-cta-card--layout-image-right,
	.uddfel-feature-card--stack-mobile.uddfel-feature-card--media-left,
	.uddfel-feature-card--stack-mobile.uddfel-feature-card--media-right {
		flex-direction: column;
		align-items: stretch;
	}

	.uddfel-cta-card--stack-mobile.uddfel-cta-card--mobile-image-first .uddfel-cta-card__image {
		order: -1;
	}

	.uddfel-cta-card--stack-mobile:not(.uddfel-cta-card--mobile-image-first) .uddfel-cta-card__image {
		order: 2;
	}
}

/* Responsive layout parity with Elementor Icon Box. */
@media (max-width: 1024px) {
	.uddfel-feature-card--tablet-media-top {
		flex-direction: column;
		align-items: stretch;
	}

	.uddfel-feature-card--tablet-media-left {
		flex-direction: row;
	}

	.uddfel-feature-card--tablet-media-right {
		flex-direction: row-reverse;
	}

	.uddfel-feature-card--tablet-valign-top {
		align-items: flex-start;
	}

	.uddfel-feature-card--tablet-valign-center {
		align-items: center;
	}

	.uddfel-feature-card--tablet-valign-bottom {
		align-items: flex-end;
	}
}

@media (max-width: 767px) {
	.uddfel-feature-card--mobile-media-top {
		flex-direction: column;
		align-items: stretch;
	}

	.uddfel-feature-card--mobile-media-left {
		flex-direction: row;
	}

	.uddfel-feature-card--mobile-media-right {
		flex-direction: row-reverse;
	}

	.uddfel-feature-card--mobile-valign-top {
		align-items: flex-start;
	}

	.uddfel-feature-card--mobile-valign-center {
		align-items: center;
	}

	.uddfel-feature-card--mobile-valign-bottom {
		align-items: flex-end;
	}

	.uddfel-feature-card--stack-mobile.uddfel-feature-card--media-left,
	.uddfel-feature-card--stack-mobile.uddfel-feature-card--media-right {
		flex-direction: column;
	}

	.uddfel-feature-card--stack-mobile.uddfel-feature-card--mobile-media-left {
		flex-direction: row;
	}

	.uddfel-feature-card--stack-mobile.uddfel-feature-card--mobile-media-right {
		flex-direction: row-reverse;
	}
}

/* ==========================================================================
   UDDFEL ACCORDION & FAQ 2.0
   ========================================================================== */
.uddfel-accordion {
	--uddfel-accordion-gap: 0.75rem;
	--uddfel-acc-active-border: var(--uddfel-color-accent, #8B6823);
	display: flex;
	flex-direction: column;
	gap: var(--uddfel-accordion-gap);
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	color: #222;
	box-sizing: border-box;
}

.uddfel-accordion,
.uddfel-accordion *,
.uddfel-accordion *::before,
.uddfel-accordion *::after {
	box-sizing: border-box;
}

/* Item Base */
.uddfel-accordion__item {
	position: relative;
	overflow: hidden;
	border: 1px solid #d8dee8;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
	transition-property: background-color, border-color, box-shadow, transform;
	transition-duration: 0.25s;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.uddfel-accordion__heading {
	margin: 0;
	padding: 0;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

/* Button Trigger */
.uddfel-accordion__button {
	--uddfel-accordion-header-gap: 0.75rem;
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	width: 100%;
	gap: var(--uddfel-accordion-header-gap);
	padding: 1.125rem 1.5rem;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	pointer-events: auto;
	white-space: normal !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	word-break: normal;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.uddfel-accordion--icon-right .uddfel-accordion__button {
	justify-content: space-between;
}

.uddfel-accordion--icon-left .uddfel-accordion__button {
	justify-content: flex-start;
}

/* Header Content Architecture */
.uddfel-accordion__header-main {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	gap: 0.25rem;
	white-space: normal !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
}

.uddfel-accordion__eyebrow {
	display: inline-block;
	max-width: 100%;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--uddfel-color-accent, #8B6823);
	line-height: 1.25;
	white-space: normal !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	transition: color 0.2s ease;
}

.uddfel-accordion__item.is-active .uddfel-accordion__eyebrow {
	color: var(--uddfel-color-accent, #8B6823);
}

.uddfel-accordion__title-row {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.5rem;
	width: 100%;
	max-width: 100%;
	white-space: normal !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
}

.uddfel-accordion__question {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	font-weight: 700;
	line-height: 1.35;
	color: inherit;
	margin: 0;
	white-space: normal !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	word-break: normal;
	transition: color 0.2s ease;
}

.uddfel-accordion__subtitle {
	display: block;
	width: 100%;
	max-width: 100%;
	font-size: 0.875rem;
	color: #6b7280;
	font-weight: 400;
	line-height: 1.45;
	margin: 0;
	white-space: normal !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	word-break: normal;
	transition: color 0.2s ease;
}

.uddfel-accordion__item.is-active .uddfel-accordion__subtitle {
	color: #374151;
}

/* Item Number / Step Labels */
.uddfel-accordion__number {
	font-feature-settings: 'tnum';
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: var(--uddfel-color-accent, #8B6823);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.uddfel-accordion__number--inline {
	margin-right: 0.35rem;
}

.uddfel-accordion__number--leading {
	font-size: 1.25rem;
	min-width: 2.25rem;
	height: 2.25rem;
	padding: 0 0.5rem;
	border-radius: 0.5rem;
	background: rgba(139, 104, 35, 0.08);
	line-height: 1;
}

.uddfel-accordion__item.is-active .uddfel-accordion__number--leading {
	background: var(--uddfel-color-accent, #8B6823);
	color: #ffffff;
}

.uddfel-accordion__number--badge {
	font-size: 0.75rem;
	padding: 0.25rem 0.625rem;
	border-radius: 999px;
	background: rgba(139, 104, 35, 0.1);
	color: var(--uddfel-color-accent, #8B6823);
	font-weight: 600;
	letter-spacing: 0.04em;
}

.uddfel-accordion__item.is-active .uddfel-accordion__number--badge {
	background: var(--uddfel-color-accent, #8B6823);
	color: #ffffff;
}

/* Item Badge */
.uddfel-accordion__meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	width: 100%;
	min-width: 0;
	margin-bottom: 0.25rem;
}

.uddfel-accordion__meta-row .uddfel-accordion__eyebrow {
	flex: 0 1 auto;
	min-width: 0;
}

.uddfel-accordion__meta-row .uddfel-accordion__badge {
	margin: 0;
	margin-left: auto;
}

.uddfel-accordion__sub-badge-row {
	display: flex;
	align-items: center;
	margin-top: 0.35rem;
}

.uddfel-accordion__sub-badge-row .uddfel-accordion__badge {
	margin: 0;
}

.uddfel-accordion__badge {
	font-size: 0.75rem;
	padding: 0.25rem 0.65rem;
	border-radius: 999px;
	background: rgba(139, 104, 35, 0.12);
	color: var(--uddfel-color-accent, #8B6823);
	font-weight: 600;
	margin-left: auto;
	margin-right: 0.5rem;
	white-space: nowrap;
	line-height: 1.3;
	flex-shrink: 0;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.uddfel-accordion__badge--meta {
	margin: 0 0 0 auto;
}

.uddfel-accordion__badge--inline {
	margin-left: auto;
	margin-right: 0.5rem;
}

.uddfel-accordion__item.is-active .uddfel-accordion__badge {
	background: var(--uddfel-color-accent, #8B6823);
	color: #ffffff;
}

/* Version: Normal (Clean Title & Content Only - Hides all metadata) */
.uddfel-accordion--version-normal .uddfel-accordion__eyebrow,
.uddfel-accordion--version-normal .uddfel-accordion__subtitle,
.uddfel-accordion--version-normal .uddfel-accordion__badge,
.uddfel-accordion--no-badges .uddfel-accordion__badge {
	display: none !important;
}

/* Mobile Responsiveness for Accordion Button & Badges */
@media (max-width: 767px) {
	.uddfel-accordion__button {
		align-items: flex-start;
		padding: 1rem 1.125rem;
		white-space: normal !important;
	}

	.uddfel-accordion__header-main {
		min-width: 0;
		max-width: calc(100% - 2.5rem);
		white-space: normal !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
	}

	.uddfel-accordion__title-row {
		white-space: normal !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
	}

	.uddfel-accordion__question {
		white-space: normal !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		word-break: normal;
	}

	.uddfel-accordion__subtitle {
		white-space: normal !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		word-break: normal;
	}

	.uddfel-accordion__toggle-icon {
		margin-top: 0.25rem;
		flex-shrink: 0;
	}

	.uddfel-accordion--hide-badge-mobile .uddfel-accordion__badge,
	.uddfel-accordion--badge-mobile-hide .uddfel-accordion__badge {
		display: none !important;
	}

	/* If badge is set to inline_right on desktop, gracefully float into top meta position on mobile */
	.uddfel-accordion--badge-pos-inline_right.uddfel-accordion--badge-mobile-meta_row .uddfel-accordion__badge--inline {
		order: -1;
		margin-left: 0;
		margin-bottom: 0.35rem;
		align-self: flex-start;
	}
}

/* Icons */
.uddfel-accordion__toggle-icon,
.uddfel-accordion__item-icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition-property: background-color, border-color, color, transform;
	transition-duration: 0.25s;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.uddfel-accordion__toggle-icon {
	position: relative;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: #f1f5f9;
	color: #111827;
	font-size: 0.875rem;
	flex-shrink: 0;
}

.uddfel-accordion__open-icon,
.uddfel-accordion__closed-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.uddfel-accordion__open-icon {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: scale(0.85);
}

.uddfel-accordion__toggle-icon svg,
.uddfel-accordion__item-icon svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* Built-in SVG Icon Glyphs */
.uddfel-acc-icon-svg {
	display: block;
	width: 1em;
	height: 1em;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	fill: none;
}

/* Rotate Animation */
.uddfel-accordion--toggle-rotate .uddfel-accordion__toggle-icon {
	transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s ease, color 0.2s ease;
}

.uddfel-accordion--toggle-rotate .uddfel-accordion__item.is-active .uddfel-accordion__toggle-icon {
	transform: rotate(180deg);
}

.uddfel-accordion--toggle-rotate.uddfel-accordion--icon-style-plus_minus .uddfel-accordion__item.is-active .uddfel-accordion__toggle-icon {
	transform: rotate(45deg);
}

/* Crossfade Swap Animation */
.uddfel-accordion--toggle-swap .uddfel-accordion__item.is-active .uddfel-accordion__open-icon {
	opacity: 1;
	transform: scale(1);
}

.uddfel-accordion--toggle-swap .uddfel-accordion__item.is-active .uddfel-accordion__closed-icon {
	opacity: 0;
	transform: scale(0.85);
}

.uddfel-accordion__item.is-active .uddfel-accordion__toggle-icon {
	background: #111827;
	color: #fff;
}

/* Content Panel */
.uddfel-accordion__panel {
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition-property: height, opacity;
	transition-duration: 0.28s;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.uddfel-accordion__item.is-active .uddfel-accordion__panel {
	opacity: 1;
}

.uddfel-accordion__panel[hidden] {
	display: none;
}

.uddfel-accordion__panel-inner {
	padding: 0 1.5rem 1.5rem;
	background: transparent;
	color: inherit;
}

.uddfel-accordion__answer {
	color: inherit;
	line-height: 1.7;
	font-size: 0.95rem;
}

.uddfel-accordion__answer> :first-child {
	margin-top: 0;
}

.uddfel-accordion__answer> :last-child {
	margin-bottom: 0;
}

/* CTA Button */
.uddfel-accordion__cta-wrap {
	margin-top: 1.25rem;
	display: flex;
}

.uddfel-accordion__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 0.5rem;
	transition: all 0.2s ease;
	cursor: pointer;
}

.uddfel-accordion__cta--solid {
	background-color: var(--uddfel-color-accent, #8B6823);
	color: #ffffff;
	border: 1px solid transparent;
}

.uddfel-accordion__cta--solid:hover {
	background-color: #6F4D09;
	color: #ffffff;
}

.uddfel-accordion__cta--outline {
	background-color: transparent;
	color: var(--uddfel-color-accent, #8B6823);
	border: 1px solid var(--uddfel-color-accent, #8B6823);
}

.uddfel-accordion__cta--outline:hover {
	background-color: var(--uddfel-color-accent, #8B6823);
	color: #ffffff;
}

.uddfel-accordion__cta--link {
	background: transparent;
	color: var(--uddfel-color-accent, #8B6823);
	padding: 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
}

.uddfel-accordion__cta--link:hover {
	opacity: 0.8;
}

/* Accessibility Focus */
.uddfel-accordion__button:focus-visible {
	outline: 2px solid var(--uddfel-color-accent, #8B6823);
	outline-offset: -3px;
	border-radius: inherit;
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {

	.uddfel-accordion__panel,
	.uddfel-accordion__toggle-icon,
	.uddfel-accordion__open-icon,
	.uddfel-accordion__closed-icon {
		transition-duration: 0s !important;
	}
}

/* ==========================================================================
   LAYOUT ARCHETYPES
   ========================================================================== */

/* 1. CLASSIC */
.uddfel-accordion--layout-classic .uddfel-accordion__item {
	border: 1px solid #e2e8f0;
	background: #ffffff;
}

.uddfel-accordion--layout-classic .uddfel-accordion__item.is-active {
	border-color: #cbd5e1;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

/* 2. MINIMAL LINES */
.uddfel-accordion--layout-minimal_lines {
	--uddfel-accordion-gap: 0px;
}

.uddfel-accordion--layout-minimal_lines .uddfel-accordion__item {
	border: none;
	border-bottom: 1px solid #e5e7eb;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.uddfel-accordion--layout-minimal_lines .uddfel-accordion__item:first-child {
	border-top: 1px solid #e5e7eb;
}

.uddfel-accordion--layout-minimal_lines .uddfel-accordion__button {
	padding: 1.25rem 0.25rem;
}

.uddfel-accordion--layout-minimal_lines .uddfel-accordion__panel-inner {
	padding: 0 0.25rem 1.5rem 0.25rem;
}

.uddfel-accordion--layout-minimal_lines .uddfel-accordion__toggle-icon {
	background: transparent;
	color: currentColor;
}

.uddfel-accordion--layout-minimal_lines .uddfel-accordion__item.is-active .uddfel-accordion__toggle-icon {
	background: transparent;
	color: var(--uddfel-color-accent, #8B6823);
}

/* 3. CARD ACCORDION */
.uddfel-accordion--layout-card_accordion {
	--uddfel-accordion-gap: 1.125rem;
}

.uddfel-accordion--layout-card_accordion .uddfel-accordion__item {
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 1rem;
	background: #ffffff;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.uddfel-accordion--layout-card_accordion .uddfel-accordion__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
}

.uddfel-accordion--layout-card_accordion .uddfel-accordion__item.is-active {
	border-color: var(--uddfel-color-accent, #8B6823);
	box-shadow: 0 10px 32px rgba(139, 104, 35, 0.12);
}

/* 4. EDITORIAL */
.uddfel-accordion--layout-editorial .uddfel-accordion__item {
	border: 1px solid #eae6df;
	border-radius: 0.625rem;
	background: #FFFDFC;
}

.uddfel-accordion--layout-editorial .uddfel-accordion__button {
	padding: 1.35rem 1.75rem;
}

.uddfel-accordion--layout-editorial .uddfel-accordion__question {
	font-family: 'Inter Tight', 'Inter', sans-serif;
	font-size: 1.15rem;
	letter-spacing: -0.01em;
}

.uddfel-accordion--layout-editorial .uddfel-accordion__item.is-active {
	border-color: var(--uddfel-color-accent, #8B6823);
	border-left-width: 4px;
	box-shadow: 0 8px 30px rgba(139, 104, 35, 0.08);
}

/* 5. SPLIT PANEL */
.uddfel-accordion--layout-split_panel .uddfel-accordion__item {
	border: 1px solid #e5e7eb;
	background: #ffffff;
	border-radius: 0.875rem;
}

@media (min-width: 768px) {
	.uddfel-accordion--layout-split_panel .uddfel-accordion__panel-inner {
		display: grid;
		grid-template-columns: 1fr;
		border-top: 1px solid #f1f5f9;
		padding: 1.5rem 2rem;
		background: #fafaf9;
	}
}

/* 6. DARK / GLASS */
.uddfel-accordion--layout-dark_glass {
	color: #F5F0E6;
}

.uddfel-accordion--layout-dark_glass .uddfel-accordion__item {
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 1rem;
	background: rgba(24, 24, 22, 0.75);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.40);
	color: #F5F0E6;
}

.uddfel-accordion--layout-dark_glass .uddfel-accordion__button {
	color: #F5F0E6;
}

.uddfel-accordion--layout-dark_glass .uddfel-accordion__question {
	color: #FFFDFC;
}

.uddfel-accordion--layout-dark_glass .uddfel-accordion__subtitle {
	color: rgba(245, 240, 230, 0.65);
}

.uddfel-accordion--layout-dark_glass .uddfel-accordion__answer {
	color: rgba(245, 240, 230, 0.85);
}

.uddfel-accordion--layout-dark_glass .uddfel-accordion__toggle-icon {
	background: rgba(255, 255, 255, 0.08);
	color: var(--uddfel-color-accent, #8B6823);
}

.uddfel-accordion--layout-dark_glass .uddfel-accordion__item:hover {
	border-color: rgba(255, 255, 255, 0.18);
}

.uddfel-accordion--layout-dark_glass .uddfel-accordion__item.is-active {
	border-color: rgba(139, 104, 35, 0.55);
	background: rgba(28, 25, 22, 0.88);
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.50);
}

.uddfel-accordion--layout-dark_glass .uddfel-accordion__item.is-active .uddfel-accordion__toggle-icon {
	background: var(--uddfel-color-accent, #8B6823);
	color: #ffffff;
}

/* ==========================================================================
   GLOBAL DESIGN SYSTEM TOKEN TIE-IN
   ========================================================================== */
.uddfel-accordion--style-global .uddfel-accordion__question {
	color: var(--uddfel-text-heading, #181816);
}

.uddfel-accordion--style-global .uddfel-accordion__answer {
	color: var(--uddfel-text-body, #4B453B);
}

.uddfel-accordion--style-global .uddfel-accordion__eyebrow,
.uddfel-accordion--style-global .uddfel-accordion__number {
	color: var(--uddfel-color-accent, #8B6823);
}

.uddfel-accordion--style-global .uddfel-accordion__item.is-active {
	border-color: var(--uddfel-color-accent, #8B6823);
}

.uddfel-service-grid,
.uddfel-service-grid *,
.uddfel-service-grid *::before,
.uddfel-service-grid *::after {
	box-sizing: border-box;
}

.uddfel-service-grid {
	--uddfel-service-columns: 3;
	--uddfel-service-media-gap: 1rem;
	color: #111827;
}

.uddfel-service-grid__header {
	max-width: 760px;
	margin-right: auto;
	margin-bottom: 2.5rem;
	margin-left: auto;
	text-align: center;
}

.uddfel-service-grid__eyebrow,
.uddfel-service-card__eyebrow,
.uddfel-service-card__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	max-width: 100%;
	margin: 0 0 .75rem;
	line-height: 1.2;
}

.uddfel-service-grid__eyebrow {
	padding: .35rem .75rem;
	border-radius: 999px;
	background: #eef4ff;
	color: #1d4ed8;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.uddfel-service-grid__title {
	margin: 0 0 .85rem;
	color: #0f172a;
	font-size: clamp(1.8rem, 4vw, 3rem);
	line-height: 1.08;
}

.uddfel-service-grid__description {
	margin: 0;
	color: #64748b;
	font-size: 1rem;
	line-height: 1.7;
}

.uddfel-service-grid__cards {
	display: grid;
	grid-template-columns: repeat(var(--uddfel-service-columns, 3), minmax(0, 1fr));
	gap: 1.5rem;
	width: 100%;
	padding: 10px 6px 18px 6px;
	margin: -10px -6px -18px -6px;
}

.uddfel-service-grid--single-card .uddfel-service-grid__cards,
.uddfel-service-grid__cards--single-card {
	display: flex;
	justify-content: center;
}

.uddfel-service-grid--single-card .uddfel-service-card,
.uddfel-service-grid__cards--single-card .uddfel-service-card {
	width: 100%;
	max-width: 520px;
	margin-right: auto;
	margin-left: auto;
}

.uddfel-service-grid--equal-height .uddfel-service-card {
	height: 100%;
}

.uddfel-service-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 1.5rem;
	border: 1px solid #e2e8f0;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 14px 32px rgba(15, 23, 42, .06);
	color: inherit;
	overflow-wrap: anywhere;
	text-decoration: none;
	transition-property: background-color, border-color, box-shadow, color, transform;
	transition-duration: .2s;
	transition-timing-function: ease;
}

.uddfel-service-card:hover,
.uddfel-service-card:focus-visible {
	border-color: rgba(37, 99, 235, .35);
	box-shadow: 0 22px 52px rgba(15, 23, 42, .12);
}

.uddfel-service-card:focus-visible,
.uddfel-service-card__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.uddfel-service-grid--layout-left .uddfel-service-card,
.uddfel-service-grid--layout-right .uddfel-service-card {
	flex-direction: row;
	gap: var(--uddfel-service-media-gap);
}

.uddfel-service-grid--layout-right .uddfel-service-card {
	flex-direction: row-reverse;
}

.uddfel-service-grid--layout-top .uddfel-service-card__media {
	margin-bottom: var(--uddfel-service-media-gap);
}

.uddfel-service-grid--valign-top .uddfel-service-card {
	align-items: flex-start;
}

.uddfel-service-grid--valign-center .uddfel-service-card {
	align-items: center;
}

.uddfel-service-grid--valign-bottom .uddfel-service-card {
	align-items: flex-end;
}

.uddfel-service-card__media {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	background: #eff6ff;
	color: #2563eb;
	transition-property: background-color, border-color, color, opacity, transform;
	transition-duration: .2s;
	transition-timing-function: ease;
}

.uddfel-service-card__media--icon {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 1rem;
}

.uddfel-service-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.35rem;
	line-height: 1;
}

.uddfel-service-card__icon svg {
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	fill: currentColor;
}

.uddfel-service-card__icon i {
	color: currentColor;
}

.uddfel-service-card__media--image {
	width: 100%;
	height: 180px;
	border-radius: .85rem;
	overflow: hidden;
	background: #f1f5f9;
}

.uddfel-service-grid--layout-left .uddfel-service-card__media--image,
.uddfel-service-grid--layout-right .uddfel-service-card__media--image {
	width: 35%;
	height: auto;
	min-height: 160px;
}

.uddfel-service-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition-property: opacity, transform;
	transition-duration: .2s;
	transition-timing-function: ease;
}

.uddfel-service-card:hover .uddfel-service-card__media img {
	transform: scale(1.03);
}

.uddfel-service-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.uddfel-service-card__badge {
	padding: .25rem .6rem;
	border: 1px solid rgba(37, 99, 235, .18);
	border-radius: 999px;
	background: #dbeafe;
	color: #1d4ed8;
	font-size: .72rem;
	font-weight: 700;
}

.uddfel-service-grid--badge-top-right .uddfel-service-card__badge {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 2;
}

.uddfel-service-grid--badge-top-right .uddfel-service-card {
	padding-top: 3rem;
}

.uddfel-service-card__eyebrow {
	color: #2563eb;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.uddfel-service-card__title {
	margin: 0 0 .65rem;
	color: #0f172a;
	font-size: 1.25rem;
	line-height: 1.25;
	transition: color .2s ease;
}

.uddfel-service-card__description {
	margin: 0;
	color: #64748b;
	line-height: 1.65;
}

.uddfel-service-card__description> :first-child {
	margin-top: 0;
}

.uddfel-service-card__description> :last-child {
	margin-bottom: 0;
}

.uddfel-service-card__actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-top: auto;
	padding-top: 1.1rem;
}

.uddfel-service-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .35rem;
	color: #2563eb;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition-property: background-color, border-color, color, transform;
	transition-duration: .2s;
	transition-timing-function: ease;
}

.uddfel-service-card__link:hover,
.uddfel-service-card:hover .uddfel-service-card__link {
	color: #1d4ed8;
}

.uddfel-service-card__link--button {
	padding: .8rem 1rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: #2563eb;
	color: #fff;
}

.uddfel-service-card__link--button:hover,
.uddfel-service-card:hover .uddfel-service-card__link--button {
	background: #1d4ed8;
	color: #fff;
}

.uddfel-service-card--clickable {
	cursor: pointer;
}

@media (max-width: 767px) {
	.uddfel-service-grid__cards {
		grid-template-columns: repeat(var(--uddfel-service-columns, 1), minmax(0, 1fr));
	}

	.uddfel-service-grid--stack-mobile .uddfel-service-card {
		flex-direction: column;
	}

	.uddfel-service-grid--stack-mobile.uddfel-service-grid--mobile-media-first .uddfel-service-card__media {
		order: -1;
	}

	.uddfel-service-grid--layout-left .uddfel-service-card__media--image,
	.uddfel-service-grid--layout-right .uddfel-service-card__media--image {
		width: 100%;
		height: 180px;
	}
}

@media (prefers-reduced-motion: reduce) {

	.uddfel-service-card,
	.uddfel-service-card__media,
	.uddfel-service-card__media img,
	.uddfel-service-card__link {
		transition-duration: 0s;
	}

	.uddfel-service-card:hover .uddfel-service-card__media img {
		transform: none;
	}
}

.uddfel-service-grid--mode-carousel .uddfel-service-grid__carousel {
	--uddfel-service-carousel-gap: 24px;
	position: relative;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.uddfel-service-grid--mode-carousel .uddfel-service-grid__viewport {
	width: 100%;
	padding: 16px 12px 24px 12px;
	margin: -16px -12px -24px -12px;
	box-sizing: border-box;
}

.uddfel-service-grid--mode-carousel .uddfel-service-grid__carousel.is-ready .uddfel-service-grid__viewport {
	overflow: hidden;
}

.uddfel-service-grid--mode-carousel .uddfel-service-grid__track {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--uddfel-service-carousel-gap);
	will-change: transform;
	transition-property: transform;
	transition-duration: 350ms;
	transition-timing-function: ease;
}

.uddfel-service-grid--mode-carousel .uddfel-service-grid__carousel.is-ready .uddfel-service-grid__track {
	flex-wrap: nowrap;
}

.uddfel-service-grid--mode-carousel .uddfel-service-grid__slide {
	flex: 0 0 calc((100% - (var(--uddfel-service-carousel-gap) * 2)) / 3);
	min-width: 0;
}

.uddfel-service-grid--mode-carousel.uddfel-service-grid--equal-height .uddfel-service-grid__slide,
.uddfel-service-grid--mode-carousel.uddfel-service-grid--equal-height .uddfel-service-card {
	height: 100%;
}

.uddfel-service-grid__arrows {
	display: flex;
	align-items: center;
	justify-content: space-between;
	pointer-events: none;
}

.uddfel-service-grid:not(.uddfel-service-grid--arrows-below) .uddfel-service-grid__arrows {
	position: absolute;
	top: calc(50% - 4px);
	right: -1.25rem;
	left: -1.25rem;
	z-index: 4;
	transform: translateY(-50%);
}

.uddfel-service-grid--arrows-below .uddfel-service-grid__arrows {
	justify-content: center;
	gap: .75rem;
	margin-top: 1rem;
}

.uddfel-service-grid__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid rgba(37, 99, 235, .18);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(15, 23, 42, .12);
	color: #2563eb;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	pointer-events: auto;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, opacity .2s ease, transform .2s ease;
}

.uddfel-service-grid__arrow:hover,
.uddfel-service-grid__arrow:focus-visible {
	background: #2563eb;
	border-color: #2563eb;
	color: #fff;
	transform: translateY(-1px);
}

.uddfel-service-grid__arrow:focus-visible,
.uddfel-service-grid__dot:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.uddfel-service-grid__arrow:disabled,
.uddfel-service-grid__arrow[aria-disabled="true"] {
	opacity: .35;
	cursor: not-allowed;
	transform: none;
}

.uddfel-service-grid__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	margin-top: 1.25rem;
}

.uddfel-service-grid__dot {
	display: inline-flex;
	width: .65rem;
	height: .65rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #cbd5e1;
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease, width .2s ease;
}

.uddfel-service-grid__dot:hover,
.uddfel-service-grid__dot:focus-visible,
.uddfel-service-grid__dot.is-active {
	background: #2563eb;
}

.uddfel-service-grid__dot.is-active {
	transform: scale(1.18);
}

@media (max-width: 1024px) {
	.uddfel-service-grid--mode-carousel .uddfel-service-grid__slide {
		flex-basis: calc((100% - var(--uddfel-service-carousel-gap)) / 2);
	}
}

@media (max-width: 767px) {
	.uddfel-service-grid--mode-carousel .uddfel-service-grid__slide {
		flex-basis: 100%;
	}

	.uddfel-service-grid:not(.uddfel-service-grid--arrows-below) .uddfel-service-grid__arrows {
		right: .75rem;
		left: .75rem;
	}
}

@media (prefers-reduced-motion: reduce) {

	.uddfel-service-grid--mode-carousel .uddfel-service-grid__track,
	.uddfel-service-grid__arrow,
	.uddfel-service-grid__dot {
		transition-duration: 0s;
	}
}


/* Uddfel Team Member Grid / Carousel */
.uddfel-team-grid {
	--uddfel-team-columns: 3;
	--uddfel-team-carousel-gap: 24px;
	--uddfel-team-card-radius: 24px;
	--uddfel-team-card-padding: 28px;
	--uddfel-team-card-bg: #fff;
	--uddfel-team-card-border: #dbe5f0;
	--uddfel-team-text: #08213f;
	--uddfel-team-muted: #64748b;
	--uddfel-team-accent: #2563eb;
	color: var(--uddfel-team-text);
}

.uddfel-team-grid *,
.uddfel-team-grid *::before,
.uddfel-team-grid *::after {
	box-sizing: border-box;
}

.uddfel-team-grid__header {
	max-width: 760px;
	margin-inline: auto;
	margin-bottom: 40px;
}

.uddfel-team-grid__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 10px;
	padding: .35rem .75rem;
	border-radius: 999px;
	background: #eff6ff;
	color: var(--uddfel-team-accent);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1;
	text-transform: uppercase;
}

.uddfel-team-grid__title {
	margin: 0;
	color: var(--uddfel-team-text);
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.06;
}

.uddfel-team-grid__description {
	margin: 14px 0 0;
	color: var(--uddfel-team-muted);
	font-size: 1.05rem;
	line-height: 1.65;
}

.uddfel-team-grid__items {
	display: grid;
	grid-template-columns: repeat(var(--uddfel-team-columns, 3), minmax(0, 1fr));
	gap: 24px;
	padding: 10px 6px 18px 6px;
	margin: -10px -6px -18px -6px;
}

.uddfel-team-grid--single-card .uddfel-team-grid__items,
.uddfel-team-grid__items--single-card {
	display: flex;
	justify-content: center;
}

.uddfel-team-grid--single-card .uddfel-team-member,
.uddfel-team-grid__items--single-card .uddfel-team-member {
	width: 100%;
	max-width: 520px;
	margin-right: auto;
	margin-left: auto;
}

.uddfel-team-grid__carousel {
	position: relative;
	--uddfel-team-carousel-offset: 0px;
}

.uddfel-team-grid__viewport {
	overflow: hidden;
	width: 100%;
	padding: 16px 12px 24px 12px;
	margin: -16px -12px -24px -12px;
	box-sizing: border-box;
}

.uddfel-team-grid__track {
	display: flex;
	gap: var(--uddfel-team-carousel-gap);
	will-change: transform;
	transition: transform .35s ease;
}

.uddfel-team-grid__slide {
	flex: 0 0 calc((100% - (var(--uddfel-team-carousel-gap) * 2)) / 3);
	min-width: 0;
}

.uddfel-team-grid--equal-height .uddfel-team-grid__slide,
.uddfel-team-grid--equal-height .uddfel-team-member {
	height: 100%;
}

.uddfel-team-member {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
	padding: var(--uddfel-team-card-padding);
	border: 1px solid var(--uddfel-team-card-border);
	border-radius: var(--uddfel-team-card-radius);
	background: var(--uddfel-team-card-bg);
	box-shadow: 0 18px 45px rgba(15, 23, 42, .04);
	color: var(--uddfel-team-text);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.uddfel-team-member:hover {
	border-color: rgba(37, 99, 235, .28);
	box-shadow: 0 24px 60px rgba(15, 23, 42, .08);
	transform: translateY(-2px);
}

.uddfel-team-member--clickable {
	text-decoration: none;
}

.uddfel-team-member__photo {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 18px;
	background: linear-gradient(135deg, #e0ecff, #f8fafc);
}

.uddfel-team-member__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.uddfel-team-member__photo--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
}

.uddfel-team-member__photo--placeholder span {
	width: 42%;
	aspect-ratio: 1;
	border-radius: 999px;
	background: rgba(37, 99, 235, .16);
	box-shadow: 0 34px 0 18px rgba(37, 99, 235, .1);
}

.uddfel-team-member__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: inherit;
	max-width: 100%;
}

.uddfel-team-member__department,
.uddfel-team-member__name,
.uddfel-team-member__role,
.uddfel-team-member__bio {
	margin-top: 0;
}

.uddfel-team-member__department {
	margin-bottom: 8px;
	color: var(--uddfel-team-accent);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.uddfel-team-member__name {
	margin-bottom: 6px;
	color: var(--uddfel-team-text);
	font-size: 1.35rem;
	line-height: 1.25;
}

.uddfel-team-member__role {
	margin-bottom: 12px;
	color: var(--uddfel-team-accent);
	font-weight: 600;
	line-height: 1.45;
}

.uddfel-team-member__bio {
	margin-bottom: 0;
	color: var(--uddfel-team-muted);
	line-height: 1.65;
}

.uddfel-team-member__bio p:last-child {
	margin-bottom: 0;
}

.uddfel-team-member__contacts,
.uddfel-team-member__socials,
.uddfel-team-member__button-wrap {
	margin-top: 16px;
}

.uddfel-team-member__contacts,
.uddfel-team-member__socials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.uddfel-team-grid--contact-stacked .uddfel-team-member__contacts {
	flex-direction: column;
}

.uddfel-team-member__contact-link,
.uddfel-team-member__social-link,
.uddfel-team-member__button {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.uddfel-team-member__contact-link {
	color: var(--uddfel-team-muted);
	font-size: .95rem;
}

.uddfel-team-member__contact-link:hover,
.uddfel-team-member__contact-link:focus-visible {
	color: var(--uddfel-team-accent);
}

.uddfel-team-member__social-link {
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid #dbe5f0;
	border-radius: 999px;
	background: #f8fafc;
	color: var(--uddfel-team-accent);
	font-size: .82rem;
	font-weight: 700;
	line-height: 1;
}

.uddfel-team-member__social-link:hover,
.uddfel-team-member__social-link:focus-visible {
	background: var(--uddfel-team-accent);
	border-color: var(--uddfel-team-accent);
	color: #fff;
	transform: translateY(-1px);
}

.uddfel-team-member__button-wrap {
	display: inline-flex;
}

.uddfel-team-member__button--button {
	min-height: 2.85rem;
	padding: .85rem 1.2rem;
	border: 1px solid var(--uddfel-team-accent);
	border-radius: 999px;
	background: var(--uddfel-team-accent);
	color: #fff;
	font-weight: 700;
}

.uddfel-team-member__button--button:hover,
.uddfel-team-member__button--button:focus-visible,
.uddfel-team-member:hover .uddfel-team-member__button--button {
	background: #1d4ed8;
	border-color: #1d4ed8;
	color: #fff;
}

.uddfel-team-member__button--text {
	color: var(--uddfel-team-accent);
	font-weight: 700;
}

.uddfel-team-member__button--text:hover,
.uddfel-team-member__button--text:focus-visible,
.uddfel-team-member:hover .uddfel-team-member__button--text {
	color: #1d4ed8;
}

.uddfel-team-member--layout-left,
.uddfel-team-member--layout-right {
	display: grid;
	grid-template-columns: minmax(96px, 34%) minmax(0, 1fr);
	align-items: start;
}

.uddfel-team-member--layout-right {
	grid-template-columns: minmax(0, 1fr) minmax(96px, 34%);
}

.uddfel-team-member--layout-right .uddfel-team-member__photo {
	order: 2;
}

.uddfel-team-member--layout-none .uddfel-team-member__photo {
	display: none;
}

.uddfel-team-member--layout-overlay {
	min-height: 420px;
	justify-content: flex-end;
	overflow: hidden;
	padding: 0;
	background: #0f172a;
	color: #fff;
}

.uddfel-team-member--layout-overlay .uddfel-team-member__photo {
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
}

.uddfel-team-member--layout-overlay .uddfel-team-member__photo::after {
	position: absolute;
	inset: 0;
	content: '';
	background: linear-gradient(180deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .78));
}

.uddfel-team-member--layout-overlay .uddfel-team-member__content {
	position: relative;
	z-index: 1;
	padding: 32px;
}

.uddfel-team-member--layout-overlay .uddfel-team-member__name,
.uddfel-team-member--layout-overlay .uddfel-team-member__bio,
.uddfel-team-member--layout-overlay .uddfel-team-member__contact-link {
	color: #fff;
}

.uddfel-team-member--layout-overlay .uddfel-team-member__role {
	color: #bfdbfe;
}

.uddfel-team-member--layout-overlay .uddfel-team-member__department {
	color: #dbeafe;
}

.uddfel-team-grid--valign-center .uddfel-team-member {
	justify-content: center;
}

.uddfel-team-grid--valign-bottom .uddfel-team-member {
	justify-content: flex-end;
}

.uddfel-team-grid:not(.uddfel-team-grid--arrows-below) .uddfel-team-grid__arrows {
	position: absolute;
	top: calc(50% - 4px);
	right: -22px;
	left: -22px;
	z-index: 3;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	transform: translateY(-50%);
}

.uddfel-team-grid--arrows-below .uddfel-team-grid__arrows {
	position: static;
	justify-content: center;
	gap: .75rem;
	margin-top: 1.25rem;
	transform: none;
}

.uddfel-team-grid__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #dbe5f0;
	border-radius: 999px;
	background: var(--uddfel-team-accent);
	box-shadow: 0 14px 30px rgba(15, 23, 42, .14);
	color: #fff;
	cursor: pointer;
	pointer-events: auto;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, opacity .2s ease, transform .2s ease;
}

.uddfel-team-grid__arrow:hover,
.uddfel-team-grid__arrow:focus-visible {
	background: #1d4ed8;
	border-color: #1d4ed8;
	color: #fff;
	transform: translateY(-1px);
}

.uddfel-team-grid__arrow:focus-visible,
.uddfel-team-grid__dot:focus-visible,
.uddfel-team-member__contact-link:focus-visible,
.uddfel-team-member__social-link:focus-visible,
.uddfel-team-member__button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.uddfel-team-grid__arrow:disabled,
.uddfel-team-grid__arrow[aria-disabled="true"] {
	opacity: .38;
	cursor: not-allowed;
	transform: none;
}

.uddfel-team-grid__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	margin-top: 1.25rem;
}

.uddfel-team-grid__dot {
	display: inline-flex;
	width: .65rem;
	height: .65rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #cbd5e1;
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease, width .2s ease;
}

.uddfel-team-grid__dot:hover,
.uddfel-team-grid__dot:focus-visible,
.uddfel-team-grid__dot.is-active {
	background: var(--uddfel-team-accent);
}

.uddfel-team-grid__dot.is-active {
	transform: scale(1.18);
}

@media (max-width: 1024px) {
	.uddfel-team-grid--mode-carousel .uddfel-team-grid__slide {
		flex-basis: calc((100% - var(--uddfel-team-carousel-gap)) / 2);
	}
}

@media (max-width: 767px) {
	.uddfel-team-grid__items {
		grid-template-columns: 1fr;
	}

	.uddfel-team-grid--mode-carousel .uddfel-team-grid__slide {
		flex-basis: 100%;
	}

	.uddfel-team-grid:not(.uddfel-team-grid--arrows-below) .uddfel-team-grid__arrows {
		right: .75rem;
		left: .75rem;
	}

	.uddfel-team-grid--stack-mobile .uddfel-team-member--layout-left,
	.uddfel-team-grid--stack-mobile .uddfel-team-member--layout-right {
		display: flex;
		grid-template-columns: none;
	}

	.uddfel-team-grid--stack-mobile .uddfel-team-member--layout-right .uddfel-team-member__photo {
		order: 0;
	}
}

@media (prefers-reduced-motion: reduce) {

	.uddfel-team-grid__track,
	.uddfel-team-member,
	.uddfel-team-member__contact-link,
	.uddfel-team-member__social-link,
	.uddfel-team-member__button,
	.uddfel-team-grid__arrow,
	.uddfel-team-grid__dot {
		transition-duration: 0s;
	}
}

/* Uddfel Testimonials Grid / Carousel */
.uddfel-testimonials-grid {
	--uddfel-testimonials-columns: 3;
	--uddfel-testimonials-carousel-gap: 24px;
	--uddfel-testimonials-card-radius: 24px;
	--uddfel-testimonials-card-padding: 30px;
	--uddfel-testimonials-card-bg: #fff;
	--uddfel-testimonials-card-border: #dbe5f0;
	--uddfel-testimonials-text: #08213f;
	--uddfel-testimonials-muted: #64748b;
	--uddfel-testimonials-accent: #2563eb;
	color: var(--uddfel-testimonials-text);
}

.uddfel-testimonials-grid *,
.uddfel-testimonials-grid *::before,
.uddfel-testimonials-grid *::after {
	box-sizing: border-box;
}

.uddfel-testimonials-grid__header {
	max-width: 760px;
	margin-inline: auto;
	margin-bottom: 40px;
}

.uddfel-testimonials-grid__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 10px;
	padding: .35rem .75rem;
	border-radius: 999px;
	background: #eff6ff;
	color: var(--uddfel-testimonials-accent);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1;
	text-transform: uppercase;
}

.uddfel-testimonials-grid__title {
	margin: 0;
	color: var(--uddfel-testimonials-text);
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.06;
}

.uddfel-testimonials-grid__description {
	margin: 14px 0 0;
	color: var(--uddfel-testimonials-muted);
	font-size: 1.05rem;
	line-height: 1.65;
}

.uddfel-testimonials-grid__items {
	display: grid;
	grid-template-columns: repeat(var(--uddfel-testimonials-columns, 3), minmax(0, 1fr));
	gap: 24px;
	padding: 10px 6px 18px 6px;
	margin: -10px -6px -18px -6px;
}

.uddfel-testimonials-grid--single-card .uddfel-testimonials-grid__items,
.uddfel-testimonials-grid__items--single-card {
	display: flex;
	justify-content: center;
}

.uddfel-testimonials-grid--single-card .uddfel-testimonial,
.uddfel-testimonials-grid__items--single-card .uddfel-testimonial {
	width: 100%;
	max-width: 520px;
	margin-right: auto;
	margin-left: auto;
}

.uddfel-testimonials-grid__carousel {
	position: relative;
}

.uddfel-testimonials-grid__viewport {
	overflow: hidden;
	width: 100%;
	padding: 16px 12px 24px 12px;
	margin: -16px -12px -24px -12px;
	box-sizing: border-box;
}

.uddfel-testimonials-grid__track {
	display: flex;
	gap: var(--uddfel-testimonials-carousel-gap);
	will-change: transform;
	transition: transform .35s ease;
}

.uddfel-testimonials-grid__slide {
	flex: 0 0 calc((100% - (var(--uddfel-testimonials-carousel-gap) * 2)) / 3);
	min-width: 0;
}

.uddfel-testimonials-grid--equal-height .uddfel-testimonials-grid__item,
.uddfel-testimonials-grid--equal-height .uddfel-testimonials-grid__slide,
.uddfel-testimonials-grid--equal-height .uddfel-testimonial {
	height: 100%;
}

.uddfel-testimonial {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
	padding: var(--uddfel-testimonials-card-padding);
	border: 1px solid var(--uddfel-testimonials-card-border);
	border-radius: var(--uddfel-testimonials-card-radius);
	background: var(--uddfel-testimonials-card-bg);
	box-shadow: 0 18px 45px rgba(15, 23, 42, .04);
	color: var(--uddfel-testimonials-text);
	transition-property: transform, border-color, box-shadow, background-color;
	transition-duration: .2s;
	transition-timing-function: ease;
}

.uddfel-testimonials-hover-lift .uddfel-testimonial:hover {
	transform: translateY(var(--uddfel-testimonial-card-lift, -6px));
}

.uddfel-testimonials-hover-scale .uddfel-testimonial:hover {
	transform: scale(1.015);
}

.uddfel-testimonial:hover {
	border-color: rgba(37, 99, 235, .28);
	box-shadow: 0 24px 60px rgba(15, 23, 42, .08);
}

.uddfel-testimonial__quote-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: #eff6ff;
	color: var(--uddfel-testimonials-accent);
	font-family: Georgia, serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}

.uddfel-testimonials-quote-top-right .uddfel-testimonial__quote-icon {
	align-self: flex-end;
}

.uddfel-testimonials-quote-inline .uddfel-testimonial__quote-icon,
.uddfel-testimonial__quote-icon--inline {
	margin-bottom: 12px;
}

.uddfel-testimonial__avatar {
	overflow: hidden;
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	border: 2px solid #e0ecff;
	border-radius: 999px;
	background: linear-gradient(135deg, #e0ecff, #f8fafc);
}

.uddfel-testimonials-avatar-rounded .uddfel-testimonial__avatar {
	border-radius: 18px;
}

.uddfel-testimonials-avatar-square .uddfel-testimonial__avatar {
	border-radius: 0;
}

.uddfel-testimonial__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.uddfel-testimonial__avatar--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
}

.uddfel-testimonial__avatar--placeholder span {
	width: 42%;
	aspect-ratio: 1;
	border-radius: 999px;
	background: rgba(37, 99, 235, .16);
	box-shadow: 0 24px 0 12px rgba(37, 99, 235, .1);
}

.uddfel-testimonial__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: inherit;
	max-width: 100%;
}

.uddfel-testimonial__badge {
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: 14px;
	padding: .32rem .68rem;
	border: 1px solid #bfdbfe;
	border-radius: 999px;
	background: #eff6ff;
	color: var(--uddfel-testimonials-accent);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1;
}

.uddfel-testimonial__rating {
	display: flex;
	align-items: center;
	gap: .18rem;
	margin-bottom: 14px;
	line-height: 1;
}

.uddfel-testimonial__star {
	position: relative;
	display: inline-block;
	color: #cbd5e1;
	font-size: 1.05rem;
}

.uddfel-testimonial__star--filled {
	color: #f59e0b;
}

.uddfel-testimonial__star--half {
	color: #cbd5e1;
}

.uddfel-testimonial__star--half::before {
	position: absolute;
	inset: 0 50% 0 0;
	overflow: hidden;
	color: #f59e0b;
	content: '★';
}

.uddfel-testimonial__text {
	margin-bottom: 18px;
	color: var(--uddfel-testimonials-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.uddfel-testimonial__text p:last-child {
	margin-bottom: 0;
}

.uddfel-testimonial__person {
	margin-top: auto;
}

.uddfel-testimonial__name,
.uddfel-testimonial__role {
	margin-top: 0;
}

.uddfel-testimonial__name {
	margin-bottom: 4px;
	color: var(--uddfel-testimonials-text);
	font-size: 1.15rem;
	line-height: 1.25;
}

.uddfel-testimonial__role {
	margin-bottom: 0;
	color: var(--uddfel-testimonials-muted);
	font-size: .95rem;
	line-height: 1.45;
}

.uddfel-testimonial__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	color: var(--uddfel-testimonials-muted);
	font-size: .9rem;
}

.uddfel-testimonial__source {
	color: var(--uddfel-testimonials-accent);
	font-weight: 700;
	text-decoration: none;
}

.uddfel-testimonial__source:hover,
.uddfel-testimonial__source:focus-visible {
	color: #1d4ed8;
}

.uddfel-testimonial__date {
	color: var(--uddfel-testimonials-muted);
}

.uddfel-testimonial__date::before {
	margin-right: 10px;
	color: #cbd5e1;
	content: '•';
}

.uddfel-testimonial--layout-left,
.uddfel-testimonial--layout-right {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	align-items: start;
}

.uddfel-testimonial--layout-right {
	grid-template-columns: minmax(0, 1fr) 72px;
}

.uddfel-testimonial--layout-right .uddfel-testimonial__avatar {
	order: 2;
}

.uddfel-testimonial--layout-quote-first .uddfel-testimonial__text {
	font-size: 1.08rem;
	color: var(--uddfel-testimonials-text);
}

.uddfel-testimonial--layout-compact {
	gap: 10px;
	padding: 22px;
}

.uddfel-testimonial--layout-compact .uddfel-testimonial__text {
	margin-bottom: 12px;
}

.uddfel-testimonials-grid--valign-center .uddfel-testimonial {
	justify-content: center;
}

.uddfel-testimonials-grid--valign-bottom .uddfel-testimonial {
	justify-content: flex-end;
}

.uddfel-testimonials-grid:not(.uddfel-testimonials-grid--arrows-below) .uddfel-testimonials-grid__arrows {
	position: absolute;
	top: calc(50% - 4px);
	right: -22px;
	left: -22px;
	z-index: 3;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	transform: translateY(-50%);
}

.uddfel-testimonials-grid--arrows-below .uddfel-testimonials-grid__arrows {
	position: static;
	justify-content: center;
	gap: .75rem;
	margin-top: 1.25rem;
	transform: none;
}

.uddfel-testimonials-grid__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #dbe5f0;
	border-radius: 999px;
	background: var(--uddfel-testimonials-accent);
	box-shadow: 0 14px 30px rgba(15, 23, 42, .14);
	color: #fff;
	cursor: pointer;
	pointer-events: auto;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, opacity .2s ease, transform .2s ease;
}

.uddfel-testimonials-grid__arrow:hover,
.uddfel-testimonials-grid__arrow:focus-visible {
	background: #1d4ed8;
	border-color: #1d4ed8;
	color: #fff;
	transform: translateY(-1px);
}

.uddfel-testimonials-grid__arrow:focus-visible,
.uddfel-testimonials-grid__dot:focus-visible,
.uddfel-testimonial__source:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.uddfel-testimonials-grid__arrow:disabled,
.uddfel-testimonials-grid__arrow[aria-disabled="true"] {
	opacity: .38;
	cursor: not-allowed;
	transform: none;
}

.uddfel-testimonials-grid__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	margin-top: 1.25rem;
}

.uddfel-testimonials-grid__dot {
	display: inline-flex;
	width: .65rem;
	height: .65rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #cbd5e1;
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease, width .2s ease;
}

.uddfel-testimonials-grid__dot:hover,
.uddfel-testimonials-grid__dot:focus-visible,
.uddfel-testimonials-grid__dot.is-active {
	background: var(--uddfel-testimonials-accent);
}

.uddfel-testimonials-grid__dot.is-active {
	transform: scale(1.18);
}

@media (max-width: 1024px) {
	.uddfel-testimonials-grid--mode-carousel .uddfel-testimonials-grid__slide {
		flex-basis: calc((100% - var(--uddfel-testimonials-carousel-gap)) / 2);
	}
}

@media (max-width: 767px) {
	.uddfel-testimonials-grid__items {
		grid-template-columns: 1fr;
	}

	.uddfel-testimonials-grid--mode-carousel .uddfel-testimonials-grid__slide {
		flex-basis: 100%;
	}

	.uddfel-testimonials-grid:not(.uddfel-testimonials-grid--arrows-below) .uddfel-testimonials-grid__arrows {
		right: .75rem;
		left: .75rem;
	}

	.uddfel-testimonials-grid--stack-mobile .uddfel-testimonial--layout-left,
	.uddfel-testimonials-grid--stack-mobile .uddfel-testimonial--layout-right {
		display: flex;
		grid-template-columns: none;
	}

	.uddfel-testimonials-grid--stack-mobile .uddfel-testimonial--layout-right .uddfel-testimonial__avatar {
		order: 0;
	}
}

@media (prefers-reduced-motion: reduce) {

	.uddfel-testimonials-grid__track,
	.uddfel-testimonial,
	.uddfel-testimonials-grid__arrow,
	.uddfel-testimonials-grid__dot {
		transition-duration: 0s;
	}
}

/* ==========================================================================
   Uddfel Logo / Client Grid & Carousel Widget
   ========================================================================== */

.uddfel-logo-grid {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-logo-grid__header {
	margin-bottom: 2.5rem;
}

.uddfel-logo-grid__eyebrow {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #2563eb;
	margin-bottom: 0.5rem;
}

.uddfel-logo-grid__title {
	font-size: 2rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 0.75rem 0;
	line-height: 1.25;
}

.uddfel-logo-grid__description {
	font-size: 1rem;
	color: #64748b;
	line-height: 1.6;
}

/* Grid Layout */
.uddfel-logo-grid__items {
	display: grid;
	grid-template-columns: repeat(var(--uddfel-logo-columns, 4), minmax(0, 1fr));
	gap: 1.5rem;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-logo-grid__items--single-card {
	display: block;
}

/* Carousel Layout & Shadow Safe Area */
.uddfel-logo-grid__carousel {
	position: relative;
	width: 100%;
}

.uddfel-logo-grid__viewport {
	overflow: hidden;
	width: 100%;
	padding: 16px 12px 24px 12px;
	margin: -16px -12px -24px -12px;
	box-sizing: border-box;
}

.uddfel-logo-grid__track {
	display: flex;
	gap: var(--uddfel-logo-carousel-gap, 24px);
	transition: transform 0.35s ease;
	will-change: transform;
}

.uddfel-logo-grid__slide {
	flex-shrink: 0;
	box-sizing: border-box;
}

/* Logo Card */
.uddfel-logo-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 1.25rem 1rem;
	min-height: 110px;
	width: 100%;
	box-sizing: border-box;
	transition-property: background-color, border-color, box-shadow, transform;
	transition-duration: 0.25s;
	transition-timing-function: ease;
}

.uddfel-logo-grid--equal-height .uddfel-logo-card {
	height: 100%;
}

/* Inner Layout Variations */
.uddfel-logo-card__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.uddfel-logo-grid--layout-logo-name-below .uddfel-logo-card__inner {
	flex-direction: column;
}

.uddfel-logo-grid--layout-logo-text-side .uddfel-logo-card__inner {
	flex-direction: row;
	gap: 1rem;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
}

/* Vertical Alignment */
.uddfel-logo-grid--v-align-top .uddfel-logo-card {
	justify-content: flex-start;
}

.uddfel-logo-grid--v-align-center .uddfel-logo-card {
	justify-content: center;
}

.uddfel-logo-grid--v-align-bottom .uddfel-logo-card {
	justify-content: flex-end;
}

/* Image & Filter Display Modes */
.uddfel-logo-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	transition: opacity 0.25s ease;
}

.uddfel-logo-card__image img {
	max-width: 140px;
	max-height: 60px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	transition: filter 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
}

/* Grayscale Modes */
.uddfel-logo-grid--filter-grayscale .uddfel-logo-card__image img {
	filter: grayscale(100%);
}

.uddfel-logo-grid--filter-grayscale-hover .uddfel-logo-card__image img {
	filter: grayscale(100%);
	opacity: 0.85;
}

.uddfel-logo-grid--filter-grayscale-hover .uddfel-logo-card:hover .uddfel-logo-card__image img,
.uddfel-logo-grid--filter-grayscale-hover .uddfel-logo-card:focus-within .uddfel-logo-card__image img {
	filter: grayscale(0%);
	opacity: 1;
}

/* Opacity Hover Mode */
.uddfel-logo-grid--filter-opacity-hover .uddfel-logo-card__image {
	opacity: 0.6;
}

.uddfel-logo-grid--filter-opacity-hover .uddfel-logo-card:hover .uddfel-logo-card__image,
.uddfel-logo-grid--filter-opacity-hover .uddfel-logo-card:focus-within .uddfel-logo-card__image {
	opacity: 1;
}

/* Hover Elevation / Transform */
.uddfel-logo-hover-lift .uddfel-logo-card:hover,
.uddfel-logo-hover-lift .uddfel-logo-card:focus-within {
	transform: translateY(var(--uddfel-logo-card-lift, -5px));
}

.uddfel-logo-hover-scale .uddfel-logo-card:hover,
.uddfel-logo-hover-scale .uddfel-logo-card:focus-within {
	transform: scale(1.03);
}

/* Link Wrapper for Full-Card Clickable */
.uddfel-logo-card__link-wrapper {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	text-decoration: none;
	display: block;
}

.uddfel-logo-card__link-wrapper:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
	border-radius: inherit;
}

/* Placeholder */
.uddfel-logo-card__placeholder {
	width: 50px;
	height: 50px;
	border-radius: 10px;
	background-color: #f1f5f9;
	color: #475569;
	font-weight: 700;
	font-size: 1.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.05em;
}

/* Name & Subtitle Content */
.uddfel-logo-card__content {
	margin-top: 0.5rem;
}

.uddfel-logo-grid--layout-logo-text-side .uddfel-logo-card__content {
	margin-top: 0;
}

.uddfel-logo-card__name {
	font-size: 0.95rem;
	font-weight: 600;
	color: #1e293b;
	margin: 0;
	line-height: 1.3;
}

.uddfel-logo-card__name a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.uddfel-logo-card__name a:hover,
.uddfel-logo-card__name a:focus-visible {
	color: #2563eb;
	outline: none;
}

.uddfel-logo-card__subtitle {
	font-size: 0.8rem;
	color: #64748b;
	margin-top: 0.15rem;
	line-height: 1.3;
}

/* Navigation Controls */
.uddfel-logo-grid__arrows {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.uddfel-logo-grid--arrows-sides .uddfel-logo-grid__carousel {
	position: relative;
}

.uddfel-logo-grid--arrows-sides .uddfel-logo-grid__arrows {
	position: absolute;
	top: calc(50% - 4px);
	left: 0;
	right: 0;
	width: 100%;
	pointer-events: none;
	transform: translateY(-50%);
	z-index: 4;
	justify-content: space-between;
}

.uddfel-logo-grid--arrows-sides .uddfel-logo-grid__arrow {
	pointer-events: auto;
}

.uddfel-logo-grid--arrows-sides .uddfel-logo-grid__arrow--prev {
	transform: translateX(-50%);
}

.uddfel-logo-grid--arrows-sides .uddfel-logo-grid__arrow--next {
	transform: translateX(50%);
}

.uddfel-logo-grid--arrows-below .uddfel-logo-grid__arrows {
	justify-content: center;
	margin-top: 1rem;
}

.uddfel-logo-grid__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #ffffff;
	color: #334155;
	border: 1px solid #cbd5e1;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.uddfel-logo-grid__arrow:hover,
.uddfel-logo-grid__arrow:focus-visible {
	background-color: #2563eb;
	color: #ffffff;
	border-color: #2563eb;
	outline: none;
}

.uddfel-logo-grid__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1.25rem;
}

.uddfel-logo-grid__dot {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background-color: #cbd5e1;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.uddfel-logo-grid__dot.is-active,
.uddfel-logo-grid__dot:hover,
.uddfel-logo-grid__dot:focus-visible {
	background-color: #2563eb;
	transform: scale(1.2);
	outline: none;
}

/* Single Logo Alignment */
.uddfel-logo-grid--single-card .uddfel-logo-card {
	margin-left: auto;
	margin-right: auto;
	max-width: 320px;
}

/* Responsive Media Queries */
@media (max-width: 1024px) {
	.uddfel-logo-grid__items {
		grid-template-columns: repeat(var(--uddfel-logo-columns, 3), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.uddfel-logo-grid__items {
		grid-template-columns: repeat(var(--uddfel-logo-columns, 2), minmax(0, 1fr));
	}

	.uddfel-logo-grid--arrows-sides .uddfel-logo-grid__arrow--prev {
		transform: translateX(0);
	}

	.uddfel-logo-grid--arrows-sides .uddfel-logo-grid__arrow--next {
		transform: translateX(0);
	}
}

@media (prefers-reduced-motion: reduce) {

	.uddfel-logo-grid__track,
	.uddfel-logo-card,
	.uddfel-logo-card__image img,
	.uddfel-logo-grid__arrow,
	.uddfel-logo-grid__dot {
		transition-duration: 0s !important;
	}
}

/* ==========================================================================
   Uddfel Pricing / Package Cards Widget
   ========================================================================== */

.uddfel-pricing-grid {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-pricing-grid__header {
	margin-bottom: 2.5rem;
}

.uddfel-pricing-grid__eyebrow {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #2563eb;
	margin-bottom: 0.5rem;
}

.uddfel-pricing-grid__title {
	font-size: 2rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 0.75rem 0;
	line-height: 1.25;
}

.uddfel-pricing-grid__description {
	font-size: 1rem;
	color: #64748b;
	line-height: 1.6;
}

/* Grid Layout */
.uddfel-pricing-grid__items {
	display: grid;
	grid-template-columns: repeat(var(--uddfel-pricing-columns, 3), minmax(0, 1fr));
	gap: 1.5rem;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-pricing-grid__items--single-card {
	display: block;
}

/* Carousel Layout & Shadow Safe Area */
.uddfel-pricing-grid__carousel {
	position: relative;
	width: 100%;
}

.uddfel-pricing-grid__viewport {
	overflow: hidden;
	width: 100%;
	padding: 20px 14px 28px 14px;
	margin: -20px -14px -28px -14px;
	box-sizing: border-box;
}

.uddfel-pricing-grid__track {
	display: flex;
	gap: var(--uddfel-pricing-carousel-gap, 24px);
	transition: transform 0.35s ease;
	will-change: transform;
}

.uddfel-pricing-grid__slide {
	flex-shrink: 0;
	box-sizing: border-box;
}

/* Pricing Card */
.uddfel-pricing-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 2rem 1.75rem;
	width: 100%;
	box-sizing: border-box;
	transition-property: background-color, border-color, box-shadow, transform;
	transition-duration: 0.25s;
	transition-timing-function: ease;
}

.uddfel-pricing-grid--equal-height .uddfel-pricing-card {
	height: 100%;
}

/* Featured Card Styling & Effects */
.uddfel-pricing-card--featured {
	border-color: #2563eb;
	box-shadow: 0 12px 30px -5px rgba(37, 99, 235, 0.15);
}

.uddfel-pricing-grid--featured-lift .uddfel-pricing-card--featured {
	transform: translateY(-6px);
}

.uddfel-pricing-grid--featured-glow .uddfel-pricing-card--featured {
	box-shadow: 0 0 25px rgba(37, 99, 235, 0.25);
}

.uddfel-pricing-grid--featured-border .uddfel-pricing-card--featured {
	border-width: 2px;
}

/* Ribbon / Badge */
.uddfel-pricing-card__badge-wrapper {
	position: absolute;
	top: -14px;
	right: 1.5rem;
	z-index: 3;
}

.uddfel-pricing-card__badge {
	display: inline-block;
	padding: 0.3rem 0.85rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background-color: #2563eb;
	color: #ffffff;
	border-radius: 999px;
	box-shadow: 0 4px 10px rgba(37, 99, 235, 0.25);
}

/* Card Header Content */
.uddfel-pricing-card__eyebrow {
	font-size: 0.85rem;
	font-weight: 600;
	color: #2563eb;
	margin-bottom: 0.35rem;
}

.uddfel-pricing-card__name {
	font-size: 1.5rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 0.5rem 0;
	line-height: 1.25;
}

.uddfel-pricing-card__description {
	font-size: 0.925rem;
	color: #64748b;
	margin-bottom: 1.25rem;
	line-height: 1.5;
}

/* Price Box */
.uddfel-pricing-card__price-box {
	display: flex;
	align-items: baseline;
	gap: 0.2rem;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

.uddfel-pricing-card__currency {
	font-size: 1.5rem;
	font-weight: 700;
	color: #0f172a;
	align-self: flex-start;
	line-height: 1;
	margin-top: 0.2rem;
}

.uddfel-pricing-card__price-value {
	font-size: 2.75rem;
	font-weight: 800;
	color: #0f172a;
	line-height: 1;
	letter-spacing: -0.02em;
}

.uddfel-pricing-card__period {
	font-size: 0.9rem;
	font-weight: 500;
	color: #64748b;
	margin-left: 0.15rem;
}

/* Features List */
.uddfel-pricing-card__features {
	list-style: none;
	margin: 0 0 1.75rem 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	flex-grow: 1;
}

.uddfel-pricing-card__feature-item {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-size: 0.925rem;
	color: #334155;
	line-height: 1.45;
	padding-bottom: 0.25rem;
}

.uddfel-pricing-card__features--has-dividers .uddfel-pricing-card__feature-item {
	border-bottom: 1px solid #f1f5f9;
	padding-bottom: 0.65rem;
}

.uddfel-pricing-card__feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #eff6ff;
	color: #2563eb;
	flex-shrink: 0;
	margin-top: 0.1rem;
}

.uddfel-pricing-card__feature-text {
	flex-grow: 1;
}

/* Button & Link Wrapper */
.uddfel-pricing-card__btn-wrapper {
	margin-top: auto;
	width: 100%;
}

.uddfel-pricing-card__btn-wrapper--width-full .uddfel-pricing-card__btn {
	width: 100%;
}

.uddfel-pricing-card__btn-wrapper--width-auto .uddfel-pricing-card__btn {
	display: inline-flex;
}

.uddfel-pricing-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.5rem;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 10px;
	background-color: #2563eb;
	color: #ffffff;
	border: 1px solid #2563eb;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
	box-sizing: border-box;
	text-align: center;
}

.uddfel-pricing-card__btn:hover,
.uddfel-pricing-card__btn:focus-visible {
	background-color: #1d4ed8;
	border-color: #1d4ed8;
	color: #ffffff;
	outline: none;
}

/* Secondary Note */
.uddfel-pricing-card__note {
	font-size: 0.8rem;
	color: #94a3b8;
	text-align: center;
	margin-top: 0.75rem;
	line-height: 1.4;
}

/* Link Wrapper for Full Card Clickable */
.uddfel-pricing-card__link-wrapper {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	text-decoration: none;
	display: block;
}

.uddfel-pricing-card__link-wrapper:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
	border-radius: inherit;
}

/* Hover Elevation / Transform */
.uddfel-pricing-hover-lift .uddfel-pricing-card:hover,
.uddfel-pricing-hover-lift .uddfel-pricing-card:focus-within {
	transform: translateY(var(--uddfel-pricing-card-lift, -6px));
}

.uddfel-pricing-hover-scale .uddfel-pricing-card:hover,
.uddfel-pricing-hover-scale .uddfel-pricing-card:focus-within {
	transform: scale(1.02);
}

/* Navigation Controls */
.uddfel-pricing-grid__arrows {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.uddfel-pricing-grid--arrows-sides .uddfel-pricing-grid__carousel {
	position: relative;
}

.uddfel-pricing-grid--arrows-sides .uddfel-pricing-grid__arrows {
	position: absolute;
	top: calc(50% - 4px);
	left: 0;
	right: 0;
	width: 100%;
	pointer-events: none;
	transform: translateY(-50%);
	z-index: 4;
	justify-content: space-between;
}

.uddfel-pricing-grid--arrows-sides .uddfel-pricing-grid__arrow {
	pointer-events: auto;
}

.uddfel-pricing-grid--arrows-sides .uddfel-pricing-grid__arrow--prev {
	transform: translateX(-50%);
}

.uddfel-pricing-grid--arrows-sides .uddfel-pricing-grid__arrow--next {
	transform: translateX(50%);
}

.uddfel-pricing-grid--arrows-below .uddfel-pricing-grid__arrows {
	justify-content: center;
	margin-top: 1rem;
}

.uddfel-pricing-grid__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #ffffff;
	color: #334155;
	border: 1px solid #cbd5e1;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.uddfel-pricing-grid__arrow:hover,
.uddfel-pricing-grid__arrow:focus-visible {
	background-color: #2563eb;
	color: #ffffff;
	border-color: #2563eb;
	outline: none;
}

.uddfel-pricing-grid__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1.25rem;
}

.uddfel-pricing-grid__dot {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background-color: #cbd5e1;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.uddfel-pricing-grid__dot.is-active,
.uddfel-pricing-grid__dot:hover,
.uddfel-pricing-grid__dot:focus-visible {
	background-color: #2563eb;
	transform: scale(1.2);
	outline: none;
}

/* Single Card Layout */
.uddfel-pricing-grid--single-card .uddfel-pricing-card {
	margin-left: auto;
	margin-right: auto;
	max-width: 450px;
}

/* Responsive Media Queries */
@media (max-width: 1024px) {
	.uddfel-pricing-grid__items {
		grid-template-columns: repeat(var(--uddfel-pricing-columns, 2), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.uddfel-pricing-grid__items {
		grid-template-columns: 1fr;
	}

	.uddfel-pricing-grid--arrows-sides .uddfel-pricing-grid__arrow--prev {
		transform: translateX(0);
	}

	.uddfel-pricing-grid--arrows-sides .uddfel-pricing-grid__arrow--next {
		transform: translateX(0);
	}
}

@media (prefers-reduced-motion: reduce) {

	.uddfel-pricing-grid__track,
	.uddfel-pricing-card,
	.uddfel-pricing-card__btn,
	.uddfel-pricing-grid__arrow,
	.uddfel-pricing-grid__dot {
		transition-duration: 0s !important;
	}
}

/* ==========================================================================
   Uddfel Portfolio / Project Showcase Widget
   ========================================================================== */

.uddfel-portfolio-grid {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-portfolio-grid__header {
	margin-bottom: 2.5rem;
}

.uddfel-portfolio-grid__eyebrow {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #2563eb;
	margin-bottom: 0.5rem;
}

.uddfel-portfolio-grid__title {
	font-size: 2rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 0.75rem 0;
	line-height: 1.25;
}

.uddfel-portfolio-grid__description {
	font-size: 1rem;
	color: #64748b;
	line-height: 1.6;
}

/* Grid Layout */
.uddfel-portfolio-grid__items {
	display: grid;
	grid-template-columns: repeat(var(--uddfel-portfolio-columns, 3), minmax(0, 1fr));
	gap: 1.5rem;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-portfolio-grid__items--single-card {
	display: block;
}

/* Carousel Layout & Shadow Safe Area */
.uddfel-portfolio-grid__carousel {
	position: relative;
	width: 100%;
}

.uddfel-portfolio-grid__viewport {
	overflow: hidden;
	width: 100%;
	padding: 20px 14px 28px 14px;
	margin: -20px -14px -28px -14px;
	box-sizing: border-box;
}

.uddfel-portfolio-grid__track {
	display: flex;
	gap: var(--uddfel-portfolio-carousel-gap, 24px);
	transition: transform 0.35s ease;
	will-change: transform;
}

.uddfel-portfolio-grid__slide {
	flex-shrink: 0;
	box-sizing: border-box;
}

/* Project Card */
.uddfel-portfolio-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	overflow: hidden;
	width: 100%;
	box-sizing: border-box;
	transition-property: background-color, border-color, box-shadow, transform;
	transition-duration: 0.25s;
	transition-timing-function: ease;
}

.uddfel-portfolio-grid--equal-height .uddfel-portfolio-card {
	height: 100%;
}

/* Card Structure Variations */
.uddfel-portfolio-grid--layout-image-top .uddfel-portfolio-card {
	flex-direction: column;
}

.uddfel-portfolio-grid--layout-image-left .uddfel-portfolio-card {
	flex-direction: row;
}

/* Aspect Ratio Rules */
.uddfel-portfolio-card__image {
	position: relative;
	overflow: hidden;
	width: 100%;
	background-color: #f1f5f9;
	flex-shrink: 0;
}

.uddfel-portfolio-grid--layout-image-left .uddfel-portfolio-card__image {
	width: 42%;
}

.uddfel-portfolio-grid--ratio-16-9 .uddfel-portfolio-card__image {
	aspect-ratio: 16 / 9;
}

.uddfel-portfolio-grid--ratio-4-3 .uddfel-portfolio-card__image {
	aspect-ratio: 4 / 3;
}

.uddfel-portfolio-grid--ratio-1-1 .uddfel-portfolio-card__image {
	aspect-ratio: 1 / 1;
}

.uddfel-portfolio-grid--ratio-3-4 .uddfel-portfolio-card__image {
	aspect-ratio: 3 / 4;
}

.uddfel-portfolio-grid--ratio-auto .uddfel-portfolio-card__image {
	aspect-ratio: auto;
}

.uddfel-portfolio-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.uddfel-portfolio-grid--zoom-hover .uddfel-portfolio-card:hover .uddfel-portfolio-card__image img {
	transform: scale(1.05);
}

/* Badge / Ribbon */
.uddfel-portfolio-card__badge {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 3;
	padding: 0.3rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background-color: #2563eb;
	color: #ffffff;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Content Area */
.uddfel-portfolio-card__content {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.uddfel-portfolio-card__meta-top {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 0.4rem;
	font-size: 0.8rem;
	flex-wrap: wrap;
}

.uddfel-portfolio-card__category {
	font-weight: 700;
	color: #2563eb;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.uddfel-portfolio-card__client {
	color: #64748b;
	font-weight: 500;
}

.uddfel-portfolio-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 0.5rem 0;
	line-height: 1.35;
}

.uddfel-portfolio-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.uddfel-portfolio-card__title a:hover,
.uddfel-portfolio-card__title a:focus-visible {
	color: #2563eb;
	outline: none;
}

.uddfel-portfolio-card__description {
	font-size: 0.9rem;
	color: #64748b;
	margin-bottom: 1rem;
	line-height: 1.55;
}

.uddfel-portfolio-card__meta-bottom {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 0.8rem;
	color: #94a3b8;
	margin-bottom: 0.75rem;
	flex-wrap: wrap;
}

/* Tech Tags */
.uddfel-portfolio-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 1.25rem;
}

.uddfel-portfolio-card__tag {
	font-size: 0.75rem;
	font-weight: 600;
	background-color: #f1f5f9;
	color: #475569;
	padding: 0.2rem 0.6rem;
	border-radius: 6px;
}

/* Action Buttons */
.uddfel-portfolio-card__actions {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-top: auto;
	flex-wrap: wrap;
}

.uddfel-portfolio-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.6rem 1.1rem;
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	box-sizing: border-box;
}

.uddfel-portfolio-card__btn--primary {
	background-color: #2563eb;
	color: #ffffff;
	border: 1px solid #2563eb;
}

.uddfel-portfolio-card__btn--primary:hover,
.uddfel-portfolio-card__btn--primary:focus-visible {
	background-color: #1d4ed8;
	border-color: #1d4ed8;
	color: #ffffff;
	outline: none;
}

.uddfel-portfolio-card__btn--secondary {
	background-color: #f8fafc;
	color: #334155;
	border: 1px solid #cbd5e1;
}

.uddfel-portfolio-card__btn--secondary:hover,
.uddfel-portfolio-card__btn--secondary:focus-visible {
	background-color: #e2e8f0;
	color: #0f172a;
	outline: none;
}

/* Featured Card Styling & Effects */
.uddfel-portfolio-card--featured {
	border-color: #2563eb;
}

.uddfel-portfolio-grid--featured-lift .uddfel-portfolio-card--featured {
	transform: translateY(-5px);
}

.uddfel-portfolio-grid--featured-border .uddfel-portfolio-card--featured {
	border-width: 2px;
}

.uddfel-portfolio-grid--featured-accent_bg .uddfel-portfolio-card--featured {
	background-color: #f8fafc;
}

/* Link Wrapper for Full Card Clickable */
.uddfel-portfolio-card__link-wrapper {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	text-decoration: none;
	display: block;
}

.uddfel-portfolio-card__link-wrapper:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
	border-radius: inherit;
}

/* Hover Elevation / Transform */
.uddfel-portfolio-hover-lift .uddfel-portfolio-card:hover,
.uddfel-portfolio-hover-lift .uddfel-portfolio-card:focus-within {
	transform: translateY(var(--uddfel-portfolio-card-lift, -6px));
}

.uddfel-portfolio-hover-scale .uddfel-portfolio-card:hover,
.uddfel-portfolio-hover-scale .uddfel-portfolio-card:focus-within {
	transform: scale(1.02);
}

/* Navigation Controls */
.uddfel-portfolio-grid__arrows {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.uddfel-portfolio-grid--arrows-sides .uddfel-portfolio-grid__carousel {
	position: relative;
}

.uddfel-portfolio-grid--arrows-sides .uddfel-portfolio-grid__arrows {
	position: absolute;
	top: calc(50% - 4px);
	left: 0;
	right: 0;
	width: 100%;
	pointer-events: none;
	transform: translateY(-50%);
	z-index: 4;
	justify-content: space-between;
}

.uddfel-portfolio-grid--arrows-sides .uddfel-portfolio-grid__arrow {
	pointer-events: auto;
}

.uddfel-portfolio-grid--arrows-sides .uddfel-portfolio-grid__arrow--prev {
	transform: translateX(-50%);
}

.uddfel-portfolio-grid--arrows-sides .uddfel-portfolio-grid__arrow--next {
	transform: translateX(50%);
}

.uddfel-portfolio-grid--arrows-below .uddfel-portfolio-grid__arrows {
	justify-content: center;
	margin-top: 1rem;
}

.uddfel-portfolio-grid__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #ffffff;
	color: #334155;
	border: 1px solid #cbd5e1;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.uddfel-portfolio-grid__arrow:hover,
.uddfel-portfolio-grid__arrow:focus-visible {
	background-color: #2563eb;
	color: #ffffff;
	border-color: #2563eb;
	outline: none;
}

.uddfel-portfolio-grid__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1.25rem;
}

.uddfel-portfolio-grid__dot {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background-color: #cbd5e1;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.uddfel-portfolio-grid__dot.is-active,
.uddfel-portfolio-grid__dot:hover,
.uddfel-portfolio-grid__dot:focus-visible {
	background-color: #2563eb;
	transform: scale(1.2);
	outline: none;
}

/* Single Card Layout */
.uddfel-portfolio-grid--single-card .uddfel-portfolio-card {
	margin-left: auto;
	margin-right: auto;
	max-width: 520px;
}

/* Responsive Media Queries */
@media (max-width: 1024px) {
	.uddfel-portfolio-grid__items {
		grid-template-columns: repeat(var(--uddfel-portfolio-columns, 2), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.uddfel-portfolio-grid__items {
		grid-template-columns: 1fr;
	}

	.uddfel-portfolio-grid--layout-image-left .uddfel-portfolio-card {
		flex-direction: column;
	}

	.uddfel-portfolio-grid--layout-image-left .uddfel-portfolio-card__image {
		width: 100%;
	}

	.uddfel-portfolio-grid--arrows-sides .uddfel-portfolio-grid__arrow--prev {
		transform: translateX(0);
	}

	.uddfel-portfolio-grid--arrows-sides .uddfel-portfolio-grid__arrow--next {
		transform: translateX(0);
	}
}

@media (prefers-reduced-motion: reduce) {

	.uddfel-portfolio-grid__track,
	.uddfel-portfolio-card,
	.uddfel-portfolio-card__image img,
	.uddfel-portfolio-card__btn,
	.uddfel-portfolio-grid__arrow,
	.uddfel-portfolio-grid__dot {
		transition-duration: 0s !important;
	}
}

/* ==========================================================================
   Uddfel Dynamic Loop Grid / Carousel Widget
   ========================================================================== */
.uddfel-dynamic-grid {
	box-sizing: border-box;
	width: 100%;
}

.uddfel-dynamic-grid *,
.uddfel-dynamic-grid *::before,
.uddfel-dynamic-grid *::after {
	box-sizing: border-box;
}

/* Header Section */
.uddfel-dynamic-grid__header {
	margin-bottom: 2rem;
}

.uddfel-dynamic-grid__eyebrow {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 700;
	color: #2563eb;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.5rem;
}

.uddfel-dynamic-grid__header-title {
	font-size: 2rem;
	font-weight: 800;
	color: #0f172a;
	margin: 0 0 0.5rem 0;
	line-height: 1.25;
}

.uddfel-dynamic-grid__header-description {
	font-size: 1rem;
	color: #64748b;
	margin: 0;
	line-height: 1.6;
}

/* Grid Layout */
.uddfel-dynamic-grid__items {
	display: grid;
	grid-template-columns: repeat(var(--uddfel-dynamic-columns, 3), minmax(0, 1fr));
	gap: var(--uddfel-dynamic-gap, 1.5rem);
	column-gap: var(--uddfel-grid-column-gap, var(--uddfel-dynamic-gap, 1.5rem));
	row-gap: var(--uddfel-grid-row-gap, var(--uddfel-dynamic-gap, 1.5rem));
	width: 100%;
}

/* Equal Height Grid Items (Phase 3.5 & Dynamic Listings) */
.uddfel-dynamic-grid--equal-height .uddfel-dynamic-grid__items {
	align-items: stretch !important;
}

.uddfel-dynamic-grid--equal-height .uddfel-dynamic-card {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

.uddfel-dynamic-grid--equal-height .uddfel-dynamic-card__content {
	height: 100% !important;
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
}

/* Loop item wrapper between card content and elementor template */
.uddfel-dynamic-grid--equal-height .uddfel-loop-item {
	height: 100% !important;
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
}

/* Elementor template root */
.uddfel-dynamic-grid--equal-height .uddfel-dynamic-card .elementor,
.uddfel-dynamic-grid--equal-height .uddfel-loop-item>.elementor {
	height: 100% !important;
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
}

/* Elementor Parent Container (e-con e-parent) */
.uddfel-dynamic-grid--equal-height .uddfel-dynamic-card .elementor-element.e-con.e-parent,
.uddfel-dynamic-grid--equal-height .uddfel-dynamic-card .elementor-section.elementor-top-section {
	height: 100% !important;
	min-height: 100% !important;
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
}

/* Elementor Boxed Container Inner (.e-con-inner) */
.uddfel-dynamic-grid--equal-height .uddfel-dynamic-card .e-con.e-parent>.e-con-inner {
	height: 100% !important;
	min-height: 100% !important;
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
}

/* Lower body container (holding heading + action link) stretches to fill remaining height */
.uddfel-dynamic-grid--equal-height .uddfel-dynamic-card .e-con.e-parent>.e-con-inner>.e-con:last-child,
.uddfel-dynamic-grid--equal-height .uddfel-dynamic-card .e-con.e-parent>.e-con:last-child,
.uddfel-dynamic-grid--equal-height .uddfel-dynamic-card .e-con-inner>.e-child:last-child {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
}

/* Bottom Action / Footer Baseline Alignment across all cards */
.uddfel-dynamic-grid--align-footer .uddfel-dynamic-card__actions,
.uddfel-dynamic-grid--align-footer .uddfel-dynamic-card .e-con-inner>.e-con:last-child>.elementor-element:last-child,
.uddfel-dynamic-grid--align-footer .uddfel-dynamic-card .e-child:last-child>.elementor-element:last-child,
.uddfel-dynamic-grid--align-footer .uddfel-dynamic-card .e-con:last-child>.elementor-element:last-child,
.uddfel-dynamic-grid--align-footer .uddfel-dynamic-card .elementor-widget-uddfel-dynamic-link:last-child,
.uddfel-dynamic-grid--align-footer .uddfel-dynamic-card .elementor-widget-button:last-child,
.uddfel-dynamic-grid--align-footer .uddfel-card-bottom {
	margin-top: auto !important;
}

/* Carousel Equal Height Stretches */
.uddfel-dynamic-grid--carousel.uddfel-dynamic-grid--equal-height .swiper-wrapper {
	align-items: stretch;
}

.uddfel-dynamic-grid--carousel.uddfel-dynamic-grid--equal-height .swiper-slide {
	height: auto;
	display: flex;
}

.uddfel-dynamic-grid--carousel.uddfel-dynamic-grid--equal-height .uddfel-loop-slide-frame {
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
}

/* Carousel Shadow-Safe Viewport */
.uddfel-dynamic-grid__carousel {
	position: relative;
	width: 100%;
}

.uddfel-dynamic-grid__viewport {
	overflow: hidden;
	width: 100%;
	padding: 20px 14px 28px 14px;
	margin: -20px -14px -28px -14px;
}

.uddfel-dynamic-grid__track {
	display: flex;
	box-sizing: border-box;
}

.uddfel-dynamic-grid__track .uddfel-dynamic-card {
	flex: 0 0 auto;
	box-sizing: border-box;
}

/* Card Foundation */
.uddfel-dynamic-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
	transition: transform var(--uddfel-dynamic-card-transition, 0.3s) var(--uddfel-dynamic-card-easing, ease),
		box-shadow var(--uddfel-dynamic-card-transition, 0.3s) var(--uddfel-dynamic-card-easing, ease),
		background-color var(--uddfel-dynamic-card-transition, 0.3s) var(--uddfel-dynamic-card-easing, ease),
		border-color var(--uddfel-dynamic-card-transition, 0.3s) var(--uddfel-dynamic-card-easing, ease);
}

.uddfel-dynamic-card:hover {
	transform: translateY(var(--uddfel-card-hover-lift, 0px)) scale(var(--uddfel-card-hover-scale, 1));
}

/* Template Fidelity Neutralization (Phase 2 & 3.5) */
.uddfel-dynamic-card.uddfel-dynamic-card--template,
.uddfel-dynamic-card.uddfel-dynamic-card--listing {
	background-color: transparent !important;
	border: none !important;
	border-width: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	overflow: visible;
	padding: 0;
	margin: 0;
	min-height: auto;
}

/* Allow explicit wrapper styling only when deliberately configured with high specificity */
.uddfel-dynamic-card.uddfel-dynamic-card--wrapper-styled[style*="border"],
.uddfel-dynamic-card.uddfel-dynamic-card--wrapper-styled[style*="background"] {
	overflow: visible;
}

.uddfel-dynamic-card__content.uddfel-dynamic-card__content--template,
.uddfel-dynamic-card__content.uddfel-dynamic-card__content--listing {
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	width: 100% !important;
	display: block !important;
	overflow: visible;
}

/* Optional Loop Item Wrapper Styling (Phase 3.5) */
.uddfel-dynamic-card.uddfel-dynamic-card--wrapper-styled {
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	overflow: visible;
	transition: transform var(--uddfel-wrapper-transition, 0.3s) var(--uddfel-wrapper-easing, ease),
		box-shadow var(--uddfel-wrapper-transition, 0.3s) var(--uddfel-wrapper-easing, ease),
		background-color var(--uddfel-wrapper-transition, 0.3s) var(--uddfel-wrapper-easing, ease),
		border-color var(--uddfel-wrapper-transition, 0.3s) var(--uddfel-wrapper-easing, ease);
}

.uddfel-dynamic-card.uddfel-dynamic-card--wrapper-styled:hover {
	transform: translateY(var(--uddfel-wrapper-hover-lift, 0px)) scale(var(--uddfel-wrapper-hover-scale, 1));
}

.uddfel-loop-item {
	width: 100%;
	display: block;
}

/* Clickable Dynamic Cards (Phase 3.5 & Dynamic Listings) */
.uddfel-dynamic-card.uddfel-dynamic-card--clickable {
	cursor: pointer;
	position: relative;
}

.uddfel-dynamic-card.uddfel-dynamic-card--clickable:focus-visible {
	outline: 2px solid var(--uddfel-color-primary, #8B6823);
	outline-offset: 2px;
}

.uddfel-card-overlay-link {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	pointer-events: none;
	/* Allows mouse to hover directly over template container so container hover fires */
	display: block;
	text-decoration: none;
	outline: none;
	border-radius: inherit;
	background: transparent;
	-webkit-tap-highlight-color: transparent;
}

/* Bring inner card content above overlay link so hover and inner elements interact naturally */
.uddfel-dynamic-card__content {
	position: relative;
	z-index: 2;
}

/* Ensure inner interactive elements remain clickable above overlay link and card */
.uddfel-dynamic-card--clickable a:not(.uddfel-card-overlay-link),
.uddfel-dynamic-card--clickable button,
.uddfel-dynamic-card--clickable input,
.uddfel-dynamic-card--clickable select,
.uddfel-dynamic-card--clickable textarea,
.uddfel-dynamic-card--clickable .elementor-button,
.uddfel-dynamic-card--clickable [data-elementor-open-lightbox],
.uddfel-dynamic-card--clickable .uddfel-card-interactive,
.uddfel-dynamic-card--clickable .e-con--interactive,
.uddfel-dynamic-card--clickable .uddfel-dynamic-link {
	position: relative;
	z-index: 10;
	pointer-events: auto;
}

/* Image Top Layout */
.uddfel-dynamic-card--image-top {
	flex-direction: column;
}

/* Image Left Layout */
.uddfel-dynamic-card--image-left {
	flex-direction: row;
	align-items: stretch;
}

.uddfel-dynamic-card--image-left .uddfel-dynamic-card__image-wrap {
	width: 40%;
	flex: 0 0 40%;
}

.uddfel-dynamic-card--image-left .uddfel-dynamic-card__content {
	width: 60%;
	flex: 1 1 60%;
}

/* Minimal Card Layout */
.uddfel-dynamic-card--minimal {
	flex-direction: column;
}

.uddfel-dynamic-card--minimal .uddfel-dynamic-card__image-wrap {
	display: none;
}

/* Card Image Wrap & Ratio */
.uddfel-dynamic-card__image-wrap {
	position: relative;
	overflow: hidden;
	width: 100%;
	background-color: #f1f5f9;
}

.uddfel-dynamic-card__image-wrap--ratio-16-9 {
	aspect-ratio: 16 / 9;
}

.uddfel-dynamic-card__image-wrap--ratio-4-3 {
	aspect-ratio: 4 / 3;
}

.uddfel-dynamic-card__image-wrap--ratio-1-1 {
	aspect-ratio: 1 / 1;
}

.uddfel-dynamic-card__image-wrap--ratio-3-4 {
	aspect-ratio: 3 / 4;
}

.uddfel-dynamic-card__image-wrap--ratio-auto {
	aspect-ratio: auto;
}

.uddfel-dynamic-card__image-wrap a {
	display: block;
	width: 100%;
	height: 100%;
}

.uddfel-dynamic-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s ease, opacity 0.3s ease;
}

.uddfel-dynamic-card__image--contain {
	object-fit: contain;
}

.uddfel-dynamic-card__image--fill {
	object-fit: fill;
}

/* Hover Image Zoom */
.uddfel-dynamic-card--hover-zoom:hover .uddfel-dynamic-card__image {
	transform: scale(1.06);
}

/* Card Content Container */
.uddfel-dynamic-card__content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 1.5rem;
}

/* Meta Top Row (Category, Date, Author) */
.uddfel-dynamic-card__meta-top {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 0.5rem;
	font-size: 0.8rem;
	flex-wrap: wrap;
}

.uddfel-dynamic-card__category {
	font-weight: 700;
	color: #2563eb;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.uddfel-dynamic-card__date,
.uddfel-dynamic-card__author {
	color: #64748b;
	font-weight: 500;
}

/* Card Title */
.uddfel-dynamic-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 0.5rem 0;
	line-height: 1.35;
}

.uddfel-dynamic-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.uddfel-dynamic-card__title a:hover,
.uddfel-dynamic-card__title a:focus-visible {
	color: #2563eb;
	outline: none;
}

/* Excerpt */
.uddfel-dynamic-card__excerpt {
	font-size: 0.9rem;
	color: #64748b;
	margin-bottom: 1rem;
	line-height: 1.55;
}

/* Custom Post Meta Fields Line 1 & Line 2 */
.uddfel-dynamic-card__custom-fields {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-bottom: 1rem;
	font-size: 0.85rem;
}

.uddfel-dynamic-card__custom-field {
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
	color: #475569;
}

.uddfel-dynamic-card__custom-label {
	font-weight: 700;
	color: #0f172a;
}

.uddfel-dynamic-card__custom-val {
	font-weight: 500;
}

/* Action Button Container */
.uddfel-dynamic-card__actions {
	display: flex;
	align-items: center;
	margin-top: auto;
}

.uddfel-dynamic-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.6rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 8px;
	background-color: #2563eb;
	color: #ffffff;
	border: 1px solid #2563eb;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	box-sizing: border-box;
}

.uddfel-dynamic-card__btn:hover,
.uddfel-dynamic-card__btn:focus-visible {
	background-color: #1d4ed8;
	border-color: #1d4ed8;
	color: #ffffff;
	outline: none;
}

/* Hover Lift & Scale Effects (Legacy & Direct) */
.uddfel-dynamic-hover-lift .uddfel-dynamic-card:hover,
.uddfel-dynamic-hover-lift .uddfel-dynamic-card:focus-within {
	transform: translateY(var(--uddfel-card-hover-lift, var(--uddfel-dynamic-card-lift, -6px))) scale(var(--uddfel-card-hover-scale, 1));
}

.uddfel-dynamic-hover-scale .uddfel-dynamic-card:hover,
.uddfel-dynamic-hover-scale .uddfel-dynamic-card:focus-within {
	transform: translateY(var(--uddfel-card-hover-lift, 0px)) scale(var(--uddfel-card-hover-scale, 1.02));
}

/* Navigation Controls (Arrows & Dots) & Container Architecture */
.uddfel-dynamic-grid__stage-shell {
	position: relative;
	width: 100%;
}

.uddfel-dynamic-grid__nav-shell {
	width: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-grid__nav-container {
	width: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-grid__nav-shell--boxed .uddfel-dynamic-grid__nav-container {
	max-width: var(--uddfel-nav-boxed-max-width, 1200px);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-grid__nav-shell--full_width .uddfel-dynamic-grid__nav-container {
	max-width: 100%;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-grid__nav-shell--custom .uddfel-dynamic-grid__nav-container {
	max-width: var(--uddfel-nav-boxed-max-width, 100%);
	width: var(--uddfel-nav-custom-width, 100%);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.uddfel-dynamic-grid__nav-shell--follow_stage .uddfel-dynamic-grid__nav-container {
	width: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-grid--stage-full-bleed .uddfel-dynamic-grid__nav-shell--follow_stage {
	width: var(--uddfel-stage-full-bleed-width, 100vw);
	max-width: var(--uddfel-stage-full-bleed-width, 100vw);
	margin-left: var(--uddfel-stage-full-bleed-margin-left, calc(50% - 50vw));
}

/* Floating Navigation (Middle Sides, Inside Middle, Outside Middle) */
.uddfel-dynamic-grid__nav-shell--floating {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	z-index: 10;
	pointer-events: none;
	width: 100%;
}

.uddfel-dynamic-grid--stage-full-bleed .uddfel-dynamic-grid__nav-shell--floating.uddfel-dynamic-grid__nav-shell--follow_stage {
	width: var(--uddfel-stage-full-bleed-width, 100vw);
	max-width: var(--uddfel-stage-full-bleed-width, 100vw);
	margin-left: var(--uddfel-stage-full-bleed-margin-left, calc(50% - 50vw));
}

.uddfel-dynamic-grid__floating-nav {
	display: flex;
	justify-content: space-between;
	width: 100%;
	pointer-events: none;
}

.uddfel-dynamic-grid__floating-nav .uddfel-dynamic-grid__arrows {
	width: 100%;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

.uddfel-dynamic-grid__floating-nav .uddfel-dynamic-grid__arrow {
	pointer-events: auto;
}

.uddfel-dynamic-grid__arrows {
	display: inline-flex;
	align-items: center;
	gap: var(--uddfel-nav-gap, var(--uddfel-arrows-gap, 0.75rem));
	transform: translate(var(--uddfel-nav-offset-x, 0px), var(--uddfel-nav-offset-y, 0px));
}

.uddfel-dynamic-grid__header-actions {
	display: inline-flex;
	align-items: center;
	gap: 1.25rem;
	flex-shrink: 0;
}

.uddfel-dynamic-grid__top-bar {
	display: flex;
	width: 100%;
	margin-bottom: 1rem;
}

.uddfel-dynamic-grid__bottom-nav {
	display: flex;
	width: 100%;
	margin-top: 1.5rem;
}

/* Pagination Shell & Container Architecture */
.uddfel-dynamic-grid__pagination-shell {
	width: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-grid__pagination-container {
	width: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-grid__pagination-shell--boxed .uddfel-dynamic-grid__pagination-container {
	max-width: var(--uddfel-nav-boxed-max-width, 1200px);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-grid__pagination-shell--full_width .uddfel-dynamic-grid__pagination-container {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-grid--stage-full-bleed .uddfel-dynamic-grid__pagination-shell--follow_stage {
	width: var(--uddfel-stage-full-bleed-width, 100vw);
	max-width: var(--uddfel-stage-full-bleed-width, 100vw);
	margin-left: var(--uddfel-stage-full-bleed-margin-left, calc(50% - 50vw));
}

/* Header Action Layout for Top-Right, Top-Left & Header-Inline Arrows */
.uddfel-dynamic-grid--arrows-header-inline .uddfel-dynamic-grid__header,
.uddfel-dynamic-grid--arrows-top-right .uddfel-dynamic-grid__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: nowrap;
}

@media (max-width: 767px) {

	.uddfel-dynamic-grid--arrows-header-inline .uddfel-dynamic-grid__header,
	.uddfel-dynamic-grid--arrows-top-right .uddfel-dynamic-grid__header {
		flex-wrap: wrap;
	}
}

.uddfel-dynamic-grid--arrows-header-inline .uddfel-dynamic-grid__header-text,
.uddfel-dynamic-grid--arrows-top-right .uddfel-dynamic-grid__header-text {
	flex: 1 1 auto;
	min-width: 0;
}

.uddfel-dynamic-grid--arrows-header-inline .uddfel-dynamic-grid__header-actions,
.uddfel-dynamic-grid--arrows-top-right .uddfel-dynamic-grid__header-actions {
	flex-shrink: 0;
	margin-left: auto;
	justify-content: flex-end;
}

.uddfel-dynamic-grid--arrows-top-right .uddfel-dynamic-grid__top-bar,
.uddfel-dynamic-grid--arrows-above-track-right .uddfel-dynamic-grid__top-bar {
	justify-content: flex-end;
}

.uddfel-dynamic-grid--arrows-top-left .uddfel-dynamic-grid__header {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.uddfel-dynamic-grid--arrows-top-left .uddfel-dynamic-grid__header-text {
	flex: 1 1 auto;
}

.uddfel-dynamic-grid--arrows-top-left .uddfel-dynamic-grid__header-actions,
.uddfel-dynamic-grid--arrows-top-left .uddfel-dynamic-grid__top-bar,
.uddfel-dynamic-grid--arrows-above-track-left .uddfel-dynamic-grid__top-bar {
	justify-content: flex-start;
}

.uddfel-dynamic-grid--arrows-top-center .uddfel-dynamic-grid__header-actions,
.uddfel-dynamic-grid--arrows-top-center .uddfel-dynamic-grid__top-bar {
	justify-content: center;
}

/* Middle Sides / Inside Middle / Outside Middle Floating Arrows */
.uddfel-dynamic-grid--arrows-middle-sides .uddfel-dynamic-grid__carousel,
.uddfel-dynamic-grid--arrows-inside-middle .uddfel-dynamic-grid__carousel,
.uddfel-dynamic-grid--arrows-outside-middle .uddfel-dynamic-grid__carousel,
.uddfel-dynamic-grid--arrows-sides .uddfel-dynamic-grid__carousel {
	position: relative;
}

.uddfel-dynamic-grid--arrows-middle-sides .uddfel-dynamic-grid__arrows,
.uddfel-dynamic-grid--arrows-sides .uddfel-dynamic-grid__arrows {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	width: 100%;
	pointer-events: none;
	transform: translateY(-50%) translate(var(--uddfel-nav-offset-x, 0px), var(--uddfel-nav-offset-y, 0px));
	z-index: 10;
	display: flex;
	justify-content: space-between;
}

.uddfel-dynamic-grid--arrows-middle-sides .uddfel-dynamic-grid__arrow,
.uddfel-dynamic-grid--arrows-sides .uddfel-dynamic-grid__arrow {
	pointer-events: auto;
}

.uddfel-dynamic-grid--arrows-middle-sides .uddfel-dynamic-grid__arrow--prev,
.uddfel-dynamic-grid--arrows-sides .uddfel-dynamic-grid__arrow--prev {
	transform: translateX(-50%);
}

.uddfel-dynamic-grid--arrows-middle-sides .uddfel-dynamic-grid__arrow--next,
.uddfel-dynamic-grid--arrows-sides .uddfel-dynamic-grid__arrow--next {
	transform: translateX(50%);
}

.uddfel-dynamic-grid--arrows-inside-middle .uddfel-dynamic-grid__arrows {
	position: absolute;
	top: 50%;
	left: 1.25rem;
	right: 1.25rem;
	width: calc(100% - 2.5rem);
	pointer-events: none;
	transform: translateY(-50%) translate(var(--uddfel-nav-offset-x, 0px), var(--uddfel-nav-offset-y, 0px));
	z-index: 10;
	display: flex;
	justify-content: space-between;
}

.uddfel-dynamic-grid--arrows-inside-middle .uddfel-dynamic-grid__arrow {
	pointer-events: auto;
}

.uddfel-dynamic-grid--arrows-outside-middle .uddfel-dynamic-grid__arrows {
	position: absolute;
	top: 50%;
	left: -2.5rem;
	right: -2.5rem;
	width: calc(100% + 5rem);
	pointer-events: none;
	transform: translateY(-50%) translate(var(--uddfel-nav-offset-x, 0px), var(--uddfel-nav-offset-y, 0px));
	z-index: 10;
	display: flex;
	justify-content: space-between;
}

.uddfel-dynamic-grid--arrows-outside-middle .uddfel-dynamic-grid__arrow {
	pointer-events: auto;
}

/* Below Track Layouts */
.uddfel-dynamic-grid--arrows-below-track-center .uddfel-dynamic-grid__bottom-nav,
.uddfel-dynamic-grid--arrows-below .uddfel-dynamic-grid__arrows {
	justify-content: center;
}

.uddfel-dynamic-grid--arrows-below-track-right .uddfel-dynamic-grid__bottom-nav {
	justify-content: flex-end;
}

.uddfel-dynamic-grid--arrows-custom .uddfel-dynamic-grid__arrows {
	transform: translate(var(--uddfel-nav-offset-x, var(--uddfel-arrows-ox, 0px)), var(--uddfel-nav-offset-y, var(--uddfel-arrows-oy, 0px)));
}

/* Clean Arrow Element Styling & Elimination of Swiper Default ::after */
.uddfel-dynamic-grid__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--uddfel-arrow-size, 44px);
	height: var(--uddfel-arrow-size, 44px);
	border-radius: var(--uddfel-arrow-radius, 50%);
	background-color: var(--uddfel-arrow-bg, #ffffff);
	color: var(--uddfel-arrow-color, #181816);
	border: var(--uddfel-arrow-border-w, 1px) solid var(--uddfel-arrow-border-color, #C9BBA5);
	box-shadow: var(--uddfel-arrow-shadow, 0 4px 12px rgba(0, 0, 0, 0.05));
	cursor: pointer;
	padding: 0;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
	z-index: 10;
}

/* STRICT RULE: Eliminate Swiper pseudo-element duplicate icon rendering cleanly */
.uddfel-dynamic-grid__arrow::before,
.uddfel-dynamic-grid__arrow::after {
	display: none !important;
	content: none !important;
}

.uddfel-dynamic-grid__arrow svg {
	width: var(--uddfel-arrow-icon-size, 20px);
	height: var(--uddfel-arrow-icon-size, 20px);
	display: block;
	flex-shrink: 0;
	color: inherit;
	pointer-events: none;
	transition: transform 0.2s ease, fill 0.2s ease, stroke 0.2s ease, color 0.2s ease;
}

.uddfel-dynamic-grid__arrow svg:not([fill="none"]),
.uddfel-dynamic-grid__arrow svg:not([fill="none"]) path,
.uddfel-dynamic-grid__arrow svg:not([fill="none"]) polygon,
.uddfel-dynamic-grid__arrow svg:not([fill="none"]) polyline,
.uddfel-dynamic-grid__arrow svg:not([fill="none"]) circle,
.uddfel-dynamic-grid__arrow svg:not([fill="none"]) rect {
	fill: currentColor;
	pointer-events: none;
	transition: fill 0.2s ease, stroke 0.2s ease;
}

.uddfel-dynamic-grid__arrow svg[fill="none"],
.uddfel-dynamic-grid__arrow svg[fill="none"] path,
.uddfel-dynamic-grid__arrow svg[fill="none"] polyline,
.uddfel-dynamic-grid__arrow svg[fill="none"] line,
.uddfel-dynamic-grid__arrow svg[stroke]:not([stroke="none"]),
.uddfel-dynamic-grid__arrow svg [stroke]:not([stroke="none"]) {
	stroke: currentColor;
	pointer-events: none;
	transition: stroke 0.2s ease;
}

.uddfel-dynamic-grid__arrow i {
	font-size: var(--uddfel-arrow-icon-size, 18px);
	line-height: 1;
	color: inherit;
	pointer-events: none;
	transition: transform 0.2s ease, color 0.2s ease;
}

.uddfel-dynamic-grid__arrow:hover:not(:disabled):not(.swiper-button-disabled) {
	background-color: var(--uddfel-arrow-hover-bg, #8B6823);
	color: var(--uddfel-arrow-hover-color, #ffffff);
	border-color: var(--uddfel-arrow-hover-border-color, #8B6823);
	box-shadow: var(--uddfel-arrow-hover-shadow, 0 6px 16px rgba(139, 104, 35, 0.15));
	transform: translateY(-2px);
}

.uddfel-dynamic-grid__arrow:disabled:not(.uddfel-nav-active-in-loop),
.uddfel-dynamic-grid__arrow.swiper-button-disabled:not(.uddfel-nav-active-in-loop),
.uddfel-dynamic-grid__arrow[aria-disabled="true"]:not(.uddfel-nav-active-in-loop) {
	opacity: 0.35 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
	transform: none !important;
	box-shadow: none !important;
}

.uddfel-dynamic-grid__arrow.uddfel-nav-active-in-loop {
	opacity: 1 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

/* Height Modes */
.uddfel-dynamic-grid--height-natural .swiper-slide,
.uddfel-dynamic-grid--height-natural .uddfel-loop-slide-frame {
	height: auto;
}

.uddfel-dynamic-grid--height-equal .swiper-slide {
	height: auto;
	display: flex;
}

.uddfel-dynamic-grid--height-equal .uddfel-loop-slide-frame {
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
}

.uddfel-dynamic-grid--height-equal .uddfel-dynamic-card,
.uddfel-dynamic-grid--height-equal .uddfel-loop-item {
	height: 100%;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.uddfel-dynamic-grid--height-equal .uddfel-dynamic-card__content {
	flex: 1 1 auto;
}

.uddfel-dynamic-grid--height-stretch .swiper-slide {
	height: 100%;
	display: flex;
}

.uddfel-dynamic-grid--height-stretch .uddfel-loop-slide-frame {
	height: 100%;
	width: 100%;
}

/* Stage Modes: Centered, Centered + Peek, Edge Peek, Custom Editorial */
.uddfel-dynamic-grid__slide.swiper-slide {
	box-sizing: border-box;
	display: flex;
	flex-shrink: 0;
	position: relative;
	overflow: visible;
	/* Swiper exclusively owns positional translate3d here */
}

/* -------------------------------------------------------------
 * Dynamic Loop — Slide State Presets & Visual Fallbacks (Phase 3.6)
 * ------------------------------------------------------------- */
.uddfel-dynamic-grid--preset-clean {
	--uddfel-active-scale: 1;
	--uddfel-active-opacity: 1;
	--uddfel-active-x: 0px;
	--uddfel-active-y: 0px;
	--uddfel-inactive-scale: 1;
	--uddfel-inactive-opacity: 1;
	--uddfel-inactive-x: 0px;
	--uddfel-inactive-y: 0px;
}

.uddfel-dynamic-grid--preset-editorial {
	--uddfel-active-scale: 1;
	--uddfel-active-y: -4px;
	--uddfel-active-opacity: 1;
	--uddfel-inactive-scale: 0.98;
	--uddfel-inactive-opacity: 0.88;
}

.uddfel-dynamic-grid--preset-lifted {
	--uddfel-active-y: -6px;
	--uddfel-active-scale: 1;
	--uddfel-active-opacity: 1;
	--uddfel-inactive-scale: 1;
	--uddfel-inactive-opacity: 1;
}

.uddfel-dynamic-grid--preset-soft_recede {
	--uddfel-active-scale: 1;
	--uddfel-active-opacity: 1;
	--uddfel-inactive-scale: 0.96;
	--uddfel-inactive-opacity: 0.8;
}

.uddfel-dynamic-grid--preset-gallery {
	--uddfel-active-scale: 1.04;
	--uddfel-active-opacity: 1;
	--uddfel-inactive-scale: 0.95;
	--uddfel-inactive-opacity: 0.75;
	--uddfel-inactive-blur: 1px;
}

/* Active Motion Presets (Fallback variables) */
.uddfel-dynamic-grid--active-motion-lift {
	--uddfel-active-y: -6px;
}

.uddfel-dynamic-grid--active-motion-drop {
	--uddfel-active-y: 6px;
}

.uddfel-dynamic-grid--active-motion-shift_left {
	--uddfel-active-x: -8px;
}

.uddfel-dynamic-grid--active-motion-shift_right {
	--uddfel-active-x: 8px;
}

.uddfel-dynamic-grid--active-motion-scale_up {
	--uddfel-active-scale: 1.03;
}

.uddfel-dynamic-grid--active-motion-scale_down {
	--uddfel-active-scale: 0.97;
}

.uddfel-dynamic-grid--active-motion-lift_scale {
	--uddfel-active-y: -6px;
	--uddfel-active-scale: 1.02;
}

.uddfel-dynamic-grid--active-motion-float {
	--uddfel-active-y: -8px;
}

.uddfel-dynamic-grid--active-motion-focus {
	--uddfel-active-opacity: 1;
	--uddfel-active-scale: 1;
}

/* Inactive Motion Presets (Fallback variables) */
.uddfel-dynamic-grid--inactive-motion-scale_down {
	--uddfel-inactive-scale: 0.96;
}

.uddfel-dynamic-grid--inactive-motion-fade {
	--uddfel-inactive-opacity: 0.75;
}

.uddfel-dynamic-grid--inactive-motion-dim {
	--uddfel-inactive-brightness: 85%;
	--uddfel-inactive-opacity: 0.8;
}

.uddfel-dynamic-grid--inactive-motion-soft_blur {
	--uddfel-inactive-blur: 2px;
	--uddfel-inactive-opacity: 0.85;
}

.uddfel-dynamic-grid--inactive-motion-grayscale {
	--uddfel-inactive-grayscale: 80%;
}

.uddfel-dynamic-grid--inactive-motion-recede {
	--uddfel-inactive-scale: 0.96;
	--uddfel-inactive-opacity: 0.8;
	--uddfel-inactive-blur: 1px;
}

/* Hover Effect Presets (Fallback variables) */
.uddfel-dynamic-grid--hover-enhanced {
	--uddfel-slide-hover-lift: -4px;
	--uddfel-slide-hover-scale: 1.01;
}

/* Slide Frame Foundation & Transition */
.uddfel-loop-slide-frame {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	transform-origin: center center;
	transition: transform var(--uddfel-state-transition, 0.45s) var(--uddfel-state-easing, cubic-bezier(0.25, 1, 0.5, 1)),
		opacity var(--uddfel-state-transition, 0.45s) var(--uddfel-state-easing, cubic-bezier(0.25, 1, 0.5, 1)),
		filter var(--uddfel-state-transition, 0.45s) var(--uddfel-state-easing, cubic-bezier(0.25, 1, 0.5, 1)),
		box-shadow var(--uddfel-state-transition, 0.45s) var(--uddfel-state-easing, cubic-bezier(0.25, 1, 0.5, 1)),
		background-color var(--uddfel-state-transition, 0.45s) var(--uddfel-state-easing, cubic-bezier(0.25, 1, 0.5, 1)),
		border-color var(--uddfel-state-transition, 0.45s) var(--uddfel-state-easing, cubic-bezier(0.25, 1, 0.5, 1));
	will-change: transform, opacity;
}

/* Default / Non-state-styled Centered Stage Behavior */
.uddfel-dynamic-grid:not(.uddfel-dynamic-grid--slide-states).uddfel-dynamic-grid--stage-centered .uddfel-loop-slide-frame,
.uddfel-dynamic-grid:not(.uddfel-dynamic-grid--slide-states).uddfel-dynamic-grid--stage-centered_peek .uddfel-loop-slide-frame,
.uddfel-dynamic-grid:not(.uddfel-dynamic-grid--slide-states).uddfel-dynamic-grid--stage-edge_peek .uddfel-loop-slide-frame,
.uddfel-dynamic-grid:not(.uddfel-dynamic-grid--slide-states).uddfel-dynamic-grid--stage-custom_editorial .uddfel-loop-slide-frame {
	transform: scale(var(--uddfel-inactive-scale, 0.94));
	opacity: var(--uddfel-inactive-opacity, 0.75);
}

.uddfel-dynamic-grid:not(.uddfel-dynamic-grid--slide-states).uddfel-dynamic-grid--stage-centered .swiper-slide-active .uddfel-loop-slide-frame,
.uddfel-dynamic-grid:not(.uddfel-dynamic-grid--slide-states).uddfel-dynamic-grid--stage-centered_peek .swiper-slide-active .uddfel-loop-slide-frame,
.uddfel-dynamic-grid:not(.uddfel-dynamic-grid--slide-states).uddfel-dynamic-grid--stage-edge_peek .swiper-slide-active .uddfel-loop-slide-frame,
.uddfel-dynamic-grid:not(.uddfel-dynamic-grid--slide-states).uddfel-dynamic-grid--stage-custom_editorial .swiper-slide-active .uddfel-loop-slide-frame {
	transform: scale(var(--uddfel-active-scale, 1));
	opacity: var(--uddfel-active-opacity, 1);
	z-index: 2;
}

/* Inactive Slide State (Slide States Enabled) */
.uddfel-dynamic-grid--slide-states .swiper-slide .uddfel-loop-slide-frame {
	transform: translate3d(var(--uddfel-inactive-x, 0px), var(--uddfel-inactive-y, 0px), 0) scale(var(--uddfel-inactive-scale, 1)) rotate(var(--uddfel-inactive-rotate, 0deg));
	opacity: var(--uddfel-inactive-opacity, 1);
	filter: blur(var(--uddfel-inactive-blur, 0px)) grayscale(var(--uddfel-inactive-grayscale, 0%)) brightness(var(--uddfel-inactive-brightness, 100%)) saturate(var(--uddfel-inactive-saturation, 100%));
}

/* Active Slide State */
.uddfel-dynamic-grid--slide-states .swiper-slide-active .uddfel-loop-slide-frame {
	transform: translate3d(var(--uddfel-active-x, 0px), var(--uddfel-active-y, 0px), 0) scale(var(--uddfel-active-scale, 1)) rotate(var(--uddfel-active-rotate, 0deg));
	opacity: var(--uddfel-active-opacity, 1);
	filter: blur(var(--uddfel-active-blur, 0px)) grayscale(var(--uddfel-active-grayscale, 0%)) brightness(var(--uddfel-active-brightness, 100%)) saturate(var(--uddfel-active-saturation, 100%));
}

/* Active Stacking Z-Emphasis */
.uddfel-dynamic-grid--slide-states.uddfel-dynamic-grid--active-z .swiper-slide-active .uddfel-loop-slide-frame {
	z-index: 5;
}

/* Adjacent Styling (Independent Previous & Next Slide Transforms) */
.uddfel-dynamic-grid--adjacent-states .swiper-slide-prev .uddfel-loop-slide-frame {
	transform: translate3d(var(--uddfel-prev-x, var(--uddfel-inactive-x, 0px)), var(--uddfel-prev-y, var(--uddfel-inactive-y, 0px)), 0) scale(var(--uddfel-prev-scale, var(--uddfel-inactive-scale, 1))) rotate(var(--uddfel-prev-rotate, var(--uddfel-inactive-rotate, 0deg)));
	opacity: var(--uddfel-prev-opacity, var(--uddfel-inactive-opacity, 1));
}

.uddfel-dynamic-grid--adjacent-states .swiper-slide-next .uddfel-loop-slide-frame {
	transform: translate3d(var(--uddfel-next-x, var(--uddfel-inactive-x, 0px)), var(--uddfel-next-y, var(--uddfel-inactive-y, 0px)), 0) scale(var(--uddfel-next-scale, var(--uddfel-inactive-scale, 1))) rotate(var(--uddfel-next-rotate, var(--uddfel-inactive-rotate, 0deg)));
	opacity: var(--uddfel-next-opacity, var(--uddfel-inactive-opacity, 1));
}

/* Nested Hover Layer (Decoupled Hover Motion Composition) */
.uddfel-loop-slide-hover-layer {
	width: 100%;
	box-sizing: border-box;
	transform-origin: center center;
	transition: transform var(--uddfel-slide-hover-transition, 0.35s) ease,
		box-shadow var(--uddfel-slide-hover-transition, 0.35s) ease,
		filter var(--uddfel-slide-hover-transition, 0.35s) ease;
	will-change: transform;
}

.uddfel-dynamic-grid--height-equal .uddfel-loop-slide-hover-layer,
.uddfel-dynamic-grid--height-stretch .uddfel-loop-slide-hover-layer {
	height: 100%;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.uddfel-dynamic-grid--hover-enhanced .uddfel-loop-slide-hover-layer:hover {
	transform: translate3d(0, var(--uddfel-slide-hover-lift, 0px), 0) scale(var(--uddfel-slide-hover-scale, 1));
}

/* Active Image Emphasis */
.uddfel-dynamic-grid--image-emphasis .swiper-slide-active img {
	transform: scale(var(--uddfel-active-img-scale, 1));
	filter: brightness(var(--uddfel-active-img-brightness, 100%)) saturate(var(--uddfel-active-img-saturation, 100%));
	transition: transform var(--uddfel-state-transition, 0.45s) ease,
		filter var(--uddfel-state-transition, 0.45s) ease;
}

/* Reduced Motion Override */
@media (prefers-reduced-motion: reduce) {

	.uddfel-loop-slide-frame,
	.uddfel-loop-slide-hover-layer,
	.uddfel-dynamic-grid--image-emphasis .swiper-slide-active img {
		transition-duration: 0.01ms !important;
		transform: none !important;
		filter: none !important;
	}
}

/* Stage Outer Wrapper */
.uddfel-dynamic-grid__stage {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

/* Stage Width Modes */
.uddfel-dynamic-grid__stage--full-width {
	width: 100%;
	max-width: 100%;
}

.uddfel-dynamic-grid__stage--full-bleed {
	width: var(--uddfel-stage-full-bleed-width, 100vw);
	max-width: var(--uddfel-stage-full-bleed-width, 100vw);
	margin-left: var(--uddfel-stage-full-bleed-margin-left, calc(50% - 50vw));
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
}

.uddfel-dynamic-grid--stage-centered_peek .uddfel-dynamic-grid__stage,
.uddfel-dynamic-grid--stage-edge_peek .uddfel-dynamic-grid__stage,
.uddfel-dynamic-grid--stage-custom_editorial .uddfel-dynamic-grid__stage {
	overflow: hidden;
}

/* Swiper Viewport Safe Area */
.uddfel-dynamic-grid__carousel.swiper {
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	position: relative;
	padding: 12px 0 20px 0;
}

.uddfel-dynamic-grid--stage-centered_peek .uddfel-dynamic-grid__carousel.swiper,
.uddfel-dynamic-grid--stage-edge_peek .uddfel-dynamic-grid__carousel.swiper,
.uddfel-dynamic-grid--stage-custom_editorial .uddfel-dynamic-grid__carousel.swiper {
	overflow: visible;
}

/* Native Image & Anchor Drag Prevention */
.uddfel-dynamic-card img,
.uddfel-dynamic-card a {
	-webkit-user-drag: none;
	user-drag: none;
}

.uddfel-dynamic-grid__track.swiper-wrapper {
	box-sizing: border-box;
	display: flex;
	/* Swiper owns transform on wrapper */
}

/* Pagination Placement Styles */
.uddfel-dynamic-grid__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
	position: relative;
	z-index: 5;
}

.uddfel-dynamic-grid--pagination-below-left .uddfel-dynamic-grid__dots {
	justify-content: flex-start;
}

.uddfel-dynamic-grid--pagination-below-right .uddfel-dynamic-grid__dots {
	justify-content: flex-end;
}

.uddfel-dynamic-grid--pagination-inside-bottom .uddfel-dynamic-grid__dots {
	position: absolute;
	bottom: 0.75rem;
	left: 0;
	right: 0;
	margin-top: 0;
}

.uddfel-dynamic-grid__dots .swiper-pagination-bullet {
	width: var(--uddfel-bullet-w, 10px);
	height: var(--uddfel-bullet-h, 10px);
	border-radius: 999px;
	background-color: var(--uddfel-dot-color, #cbd5e1);
	opacity: 0.5;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: background-color 0.25s ease, opacity 0.25s ease, width 0.25s ease;
}

.uddfel-dynamic-grid__dots .swiper-pagination-bullet-active {
	background-color: var(--uddfel-active-dot-color, #8B6823);
	opacity: 1;
	width: var(--uddfel-active-bullet-w, 24px);
}

.uddfel-dynamic-grid__dots.swiper-pagination-fraction {
	font-family: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--uddfel-dot-color, #4B453B);
}

.uddfel-dynamic-grid__dots.swiper-pagination-progressbar {
	background: rgba(0, 0, 0, 0.08);
	height: 4px;
	border-radius: 2px;
	overflow: hidden;
}

.uddfel-dynamic-grid__dots .swiper-pagination-progressbar-fill {
	background: var(--uddfel-active-dot-color, #8B6823);
}

.uddfel-dynamic-grid__dot:focus-visible {
	background-color: #2563eb;
	transform: scale(1.2);
	outline: none;
}

/* Empty State Box */
.uddfel-dynamic-grid__empty {
	padding: 2.5rem 1.5rem;
	text-align: center;
	background-color: #f8fafc;
	border: 2px dashed #cbd5e1;
	border-radius: 12px;
	color: #64748b;
	font-size: 1rem;
	margin: 1rem 0;
}

.uddfel-dynamic-grid__empty-text {
	margin: 0;
	font-weight: 500;
}

/* Single Card Responsive Container */
.uddfel-dynamic-grid--single-card .uddfel-dynamic-card {
	margin-left: auto;
	margin-right: auto;
	max-width: 540px;
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 1024px) {
	.uddfel-dynamic-grid__items {
		grid-template-columns: repeat(var(--uddfel-dynamic-columns, 2), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.uddfel-dynamic-grid__items {
		grid-template-columns: 1fr;
	}

	.uddfel-dynamic-card--image-left {
		flex-direction: column;
	}

	.uddfel-dynamic-card--image-left .uddfel-dynamic-card__image-wrap,
	.uddfel-dynamic-card--image-left .uddfel-dynamic-card__content {
		width: 100%;
		flex: 0 0 auto;
	}

	.uddfel-dynamic-grid--arrows-sides .uddfel-dynamic-grid__arrow--prev {
		transform: translateX(0);
	}

	.uddfel-dynamic-grid--arrows-sides .uddfel-dynamic-grid__arrow--next {
		transform: translateX(0);
	}

	/* =============================================================
	 * Dynamic Loop Carousel — Mobile Stage Geometry 3.7 Hardening
	 * ============================================================= */

	/* 1. Prevent Horizontal Page Overflow */
	.elementor-widget-uddfel-dynamic-loop-grid,
	.uddfel-dynamic-grid {
		max-width: 100% !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	/* 2. Responsive Stage Width on Mobile (Standard/Inherit unless explicitly full bleed) */
	.uddfel-dynamic-grid__stage:not(.uddfel-dynamic-grid__stage--mobile-full-bleed) {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* 3. Swiper Carousel Viewport on Mobile: Bounded to stage container */
	.uddfel-dynamic-grid__carousel.swiper {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	/* Allow peek overflow ONLY if mobile stage mode explicitly requested peek */
	.uddfel-dynamic-grid--stage-mobile-centered_peek .uddfel-dynamic-grid__carousel.swiper,
	.uddfel-dynamic-grid--stage-mobile-edge_peek .uddfel-dynamic-grid__carousel.swiper,
	.uddfel-dynamic-grid--stage-mobile-custom_editorial .uddfel-dynamic-grid__carousel.swiper {
		overflow: visible !important;
	}

	/* 4. Slide Geometry Hardening: Override ANY inherited desktop fixed card width */
	html body .elementor-widget-uddfel-dynamic-loop-grid.elementor-widget .uddfel-dynamic-grid .uddfel-dynamic-grid__slide.swiper-slide,
	html body .elementor-element .uddfel-dynamic-grid .uddfel-dynamic-grid__slide.swiper-slide,
	.elementor-widget-uddfel-dynamic-loop-grid .uddfel-dynamic-grid__slide.swiper-slide,
	.uddfel-dynamic-grid .swiper-slide.uddfel-dynamic-grid__slide {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: 0 0 100% !important;
		box-sizing: border-box !important;
		margin-left: 0 !important;
		transform: none;
	}

	/* 5. Slide Frames, Hover Layers & Card Wrappers */
	.uddfel-dynamic-grid .uddfel-loop-slide-frame,
	.uddfel-dynamic-grid .uddfel-loop-slide-hover-layer,
	.uddfel-dynamic-grid .uddfel-dynamic-card,
	.uddfel-dynamic-grid .uddfel-dynamic-card__content,
	.uddfel-dynamic-grid .uddfel-dynamic-card--template,
	.uddfel-dynamic-grid .uddfel-dynamic-card--listing,
	.uddfel-dynamic-grid [data-elementor-type="uddfel_listing"],
	.uddfel-dynamic-grid .uddfel-dynamic-card--listing .elementor,
	.uddfel-dynamic-grid .uddfel-dynamic-card--listing .e-parent,
	.uddfel-dynamic-grid .uddfel-dynamic-card--listing .ccl_outer_card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* 6. Slide Frame transforms: no scale recede, no inactive transforms, no negative translations on standard mobile */
	.uddfel-dynamic-grid:not(.uddfel-dynamic-grid--stage-mobile-centered_peek):not(.uddfel-dynamic-grid--stage-mobile-centered):not(.uddfel-dynamic-grid--stage-mobile-edge_peek) .uddfel-loop-slide-frame {
		transform: none !important;
		opacity: 1 !important;
		filter: none !important;
	}

	/* 7. Inner card layout safety for listing template 706 and custom cards */
	.uddfel-dynamic-grid .ccl_outer_card,
	.uddfel-dynamic-grid .ccl_media_container,
	.uddfel-dynamic-grid .ccl_content_container {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	/* 8. Ensure no track negative margin on mobile unless explicitly configured */
	.uddfel-dynamic-grid__track.swiper-wrapper {
		box-sizing: border-box !important;
		max-width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {

	.uddfel-dynamic-grid__track,
	.uddfel-dynamic-card,
	.uddfel-dynamic-card__image,
	.uddfel-dynamic-card__btn,
	.uddfel-dynamic-grid__arrow,
	.uddfel-dynamic-grid__dot {
		transition-duration: 0s !important;
	}
}

/* Card Field Mapper Styles */
.uddfel-dynamic-card__content--mapped {
	display: flex;
	flex-direction: column;
	gap: var(--uddfel-dynamic-mapped-gap, 0.75rem);
	padding: 1.5rem;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-card__field {
	min-width: 0;
	box-sizing: border-box;
}

.uddfel-dynamic-card__field--image {
	margin-left: -1.5rem;
	margin-right: -1.5rem;
	margin-bottom: 0.5rem;
	width: calc(100% + 3rem);
}

.uddfel-dynamic-card__field--image:first-child {
	margin-top: -1.5rem;
}

.uddfel-dynamic-card__field--title {
	margin: 0;
	line-height: 1.3;
}

.uddfel-dynamic-card__field--title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.uddfel-dynamic-card__field--title a:hover,
.uddfel-dynamic-card__field--title a:focus-visible {
	color: #2563eb;
	outline: none;
}

.uddfel-dynamic-card__field--badge {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.25rem 0.75rem;
	border-radius: 999px;
	background-color: #eff6ff;
	color: #2563eb;
}

.uddfel-dynamic-card__field--button:last-child {
	margin-top: auto;
	padding-top: 0.5rem;
}

.uddfel-dynamic-card__field--divider {
	width: 100%;
	height: 1px;
	background-color: #e2e8f0;
	margin: 0.25rem 0;
}

.uddfel-dynamic-card__field--spacer {
	width: 100%;
	height: var(--uddfel-dynamic-spacer-height, 1rem);
}

.uddfel-dynamic-card__field--date,
.uddfel-dynamic-card__field--author,
.uddfel-dynamic-card__field--meta,
.uddfel-dynamic-card__field--static-text {
	font-size: 0.875rem;
	color: #64748b;
	line-height: 1.5;
}

.uddfel-dynamic-card__prefix {
	font-weight: 600;
	color: #334155;
	margin-right: 0.25rem;
}

.uddfel-dynamic-card__suffix {
	margin-left: 0.25rem;
}

/* Elementor Template Card Layout */
.uddfel-dynamic-card--template {
	overflow: hidden;
}

.uddfel-dynamic-card__content--template {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-card__empty-template {
	padding: 2rem 1.25rem;
	text-align: center;
	background-color: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	color: #64748b;
	font-size: 0.875rem;
	font-weight: 500;
	margin: 0.5rem;
}

/* Dynamic Card - Field Mapper Icons & Display Controls */
.uddfel-dynamic-card__field--has-icon {
	display: flex;
	gap: var(--uddfel-dynamic-field-icon-gap, 8px);
}

.uddfel-dynamic-card__field--display-inline {
	display: inline;
}

.uddfel-dynamic-card__field--display-inline-flex {
	display: inline-flex;
}

.uddfel-dynamic-card__field--display-block {
	display: block;
}

.uddfel-dynamic-card__field--uppercase {
	text-transform: uppercase;
}

.uddfel-dynamic-card__field--capitalize {
	text-transform: capitalize;
}

.uddfel-dynamic-card__field-inner {
	display: flex;
	align-items: center;
	gap: var(--uddfel-dynamic-field-icon-gap, 8px);
	width: 100%;
}

.uddfel-dynamic-card__field-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--uddfel-dynamic-field-icon-size, 16px);
	color: var(--uddfel-dynamic-field-icon-color, inherit);
	background-color: var(--uddfel-dynamic-field-icon-bg, transparent);
	width: var(--uddfel-dynamic-field-icon-box, auto);
	height: var(--uddfel-dynamic-field-icon-box, auto);
	line-height: 1;
	flex-shrink: 0;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.uddfel-dynamic-card__field-icon svg {
	width: var(--uddfel-dynamic-field-icon-size, 1em);
	height: var(--uddfel-dynamic-field-icon-size, 1em);
	fill: currentColor;
}

.uddfel-dynamic-card__field-text {
	display: inline;
}

.uddfel-dynamic-card__field--icon-before {
	flex-direction: row;
}

.uddfel-dynamic-card__field--icon-after {
	flex-direction: row-reverse;
}

.uddfel-dynamic-card__field--icon-above {
	flex-direction: column;
	align-items: flex-start;
}

.uddfel-dynamic-card__field--icon-valign-top {
	align-items: flex-start;
}

.uddfel-dynamic-card__field--icon-valign-center {
	align-items: center;
}

.uddfel-dynamic-card__field--icon-valign-bottom {
	align-items: flex-end;
}

.uddfel-dynamic-card__field-link {
	display: inline-flex;
	align-items: center;
	gap: var(--uddfel-dynamic-field-icon-gap, 8px);
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.uddfel-dynamic-card__field-link:hover,
.uddfel-dynamic-card__field-link:focus-visible {
	color: #2563eb;
	outline: none;
}

/* ==========================================================================
   Uddfel Dynamic Loop Grid & Swiper Carousel Widget
   ========================================================================== */

.uddfel-dynamic-loop-grid {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-dynamic-loop-grid__header {
	margin-bottom: 2rem;
}

.uddfel-dynamic-loop-grid__eyebrow {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #2563eb;
	margin-bottom: 0.5rem;
}

.uddfel-dynamic-loop-grid__title {
	font-size: 2rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 0.75rem 0;
	line-height: 1.25;
}

.uddfel-dynamic-loop-grid__description {
	font-size: 1rem;
	color: #64748b;
	line-height: 1.6;
}

/* Taxonomy Filter Bar */
.uddfel-dynamic-loop-grid__filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 2rem;
}

.uddfel-dynamic-loop-grid__filter-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	border-radius: 9999px;
	background-color: #f1f5f9;
	color: #475569;
	border: 1px solid #e2e8f0;
	cursor: pointer;
	transition: all 0.2s ease;
	line-height: 1.4;
}

.uddfel-dynamic-loop-grid__filter-btn:hover,
.uddfel-dynamic-loop-grid__filter-btn:focus-visible {
	background-color: #e2e8f0;
	color: #0f172a;
	outline: none;
}

.uddfel-dynamic-loop-grid__filter-btn.is-active {
	background-color: #2563eb;
	color: #ffffff;
	border-color: #2563eb;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25);
}

/* Standard Grid Layout */
.uddfel-dynamic-loop-grid__items {
	display: grid;
	grid-template-columns: repeat(var(--uddfel-loop-columns, 3), minmax(0, 1fr));
	gap: var(--uddfel-loop-gap, 24px);
	width: 100%;
	box-sizing: border-box;
}

/* Swiper Carousel Container & Controls */
.uddfel-dynamic-loop-grid__carousel {
	position: relative;
	width: 100%;
}

.uddfel-dynamic-loop-grid__viewport {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding: 16px 12px 24px 12px;
	margin: -16px -12px -24px -12px;
	box-sizing: border-box;
}

.uddfel-dynamic-loop-grid__arrows {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.uddfel-dynamic-loop-grid--arrows-sides .uddfel-dynamic-loop-grid__carousel {
	position: relative;
}

.uddfel-dynamic-loop-grid--arrows-sides .uddfel-dynamic-loop-grid__arrows {
	position: absolute;
	top: calc(50% - 4px);
	left: 0;
	right: 0;
	width: 100%;
	pointer-events: none;
	transform: translateY(-50%);
	z-index: 10;
	justify-content: space-between;
}

.uddfel-dynamic-loop-grid--arrows-sides .uddfel-dynamic-loop-grid__arrow {
	pointer-events: auto;
}

.uddfel-dynamic-loop-grid--arrows-sides .uddfel-dynamic-loop-grid__arrow--prev {
	transform: translateX(-50%);
}

.uddfel-dynamic-loop-grid--arrows-sides .uddfel-dynamic-loop-grid__arrow--next {
	transform: translateX(50%);
}

.uddfel-dynamic-loop-grid--arrows-below .uddfel-dynamic-loop-grid__arrows {
	justify-content: center;
	margin-top: 1.5rem;
}

.uddfel-dynamic-loop-grid__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background-color: #ffffff;
	color: #334155;
	border: 1px solid #cbd5e1;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
	z-index: 10;
}

.uddfel-dynamic-loop-grid__arrow:hover,
.uddfel-dynamic-loop-grid__arrow:focus-visible {
	background-color: #2563eb;
	color: #ffffff;
	border-color: #2563eb;
	outline: none;
}

.uddfel-dynamic-loop-grid__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
}

.uddfel-dynamic-loop-grid__dots .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	border-radius: 9999px;
	background-color: #cbd5e1;
	opacity: 1;
	margin: 0 4px;
	transition: background-color 0.2s ease, transform 0.2s ease;
	cursor: pointer;
}

.uddfel-dynamic-loop-grid__dots .swiper-pagination-bullet-active {
	background-color: #2563eb;
	transform: scale(1.25);
}

/* AJAX Pagination & Load More Container */
.uddfel-dynamic-loop-grid__pagination-container {
	margin-top: 2.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.uddfel-dynamic-loop-grid__load-more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.85rem 2rem;
	font-size: 0.95rem;
	font-weight: 600;
	border-radius: 10px;
	background-color: #2563eb;
	color: #ffffff;
	border: 1px solid #2563eb;
	cursor: pointer;
	transition: all 0.2s ease;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2);
}

.uddfel-dynamic-loop-grid__load-more-btn:hover,
.uddfel-dynamic-loop-grid__load-more-btn:focus-visible {
	background-color: #1d4ed8;
	border-color: #1d4ed8;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3);
	outline: none;
}

.uddfel-dynamic-loop-grid__load-more-btn.is-loading {
	opacity: 0.75;
	pointer-events: none;
}

/* Numbered Pagination */
.uddfel-dynamic-loop-grid__numbers-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.uddfel-dynamic-loop-grid__numbers-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 0.75rem;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 8px;
	background-color: #ffffff;
	color: #334155;
	border: 1px solid #cbd5e1;
	text-decoration: none;
	transition: all 0.2s ease;
}

.uddfel-dynamic-loop-grid__numbers-pagination .page-numbers:hover,
.uddfel-dynamic-loop-grid__numbers-pagination .page-numbers:focus-visible {
	border-color: #2563eb;
	color: #2563eb;
	outline: none;
}

.uddfel-dynamic-loop-grid__numbers-pagination .page-numbers.current {
	background-color: #2563eb;
	color: #ffffff;
	border-color: #2563eb;
}

.uddfel-dynamic-loop-grid__numbers-pagination .page-numbers.dots {
	border: none;
	background: transparent;
	color: #94a3b8;
}

/* Infinite Scroll Loader Spinner */
.uddfel-dynamic-loop-grid__infinite-loader {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	width: 100%;
}

.uddfel-dynamic-loop-grid__spinner {
	width: 32px;
	height: 32px;
	border: 3px solid #e2e8f0;
	border-top-color: #2563eb;
	border-radius: 50%;
	animation: uddfel-grid-spin 0.8s linear infinite;
}

@keyframes uddfel-grid-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Empty Notice */
.uddfel-dynamic-loop-grid__empty-notice {
	padding: 3rem 1.5rem;
	text-align: center;
	background-color: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 12px;
	color: #64748b;
	font-size: 0.95rem;
	font-weight: 500;
	width: 100%;
}

/* Responsive Grid Breakpoints */
@media (max-width: 1024px) {
	.uddfel-dynamic-loop-grid__items {
		grid-template-columns: repeat(var(--uddfel-loop-columns-tablet, 2), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.uddfel-dynamic-loop-grid__items {
		grid-template-columns: repeat(var(--uddfel-loop-columns-mobile, 1), minmax(0, 1fr));
	}

	.uddfel-dynamic-loop-grid--arrows-sides .uddfel-dynamic-loop-grid__arrow--prev {
		transform: translateX(0);
	}

	.uddfel-dynamic-loop-grid--arrows-sides .uddfel-dynamic-loop-grid__arrow--next {
		transform: translateX(0);
	}
}








/* Uddfel Language Switcher */
.uddfel-language-switcher {
	--uddfel-language-bg: transparent;
	--uddfel-language-item-bg: #ffffff;
	--uddfel-language-item-color: #0f172a;
	--uddfel-language-item-hover-bg: #eff6ff;
	--uddfel-language-item-hover-color: #2563eb;
	--uddfel-language-current-bg: #2563eb;
	--uddfel-language-current-color: #ffffff;
	display: inline-flex;
	max-width: 100%;
	padding: 4px;
	border-radius: 999px;
	background: var(--uddfel-language-bg);
}

.uddfel-language-switcher *,
.uddfel-language-switcher *::before,
.uddfel-language-switcher *::after {
	box-sizing: border-box;
}

.uddfel-language-switcher__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.uddfel-language-switcher__item,
.uddfel-language-switcher__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	min-height: 2.35rem;
	padding: .58rem .9rem;
	border: 1px solid #dbe5f0;
	border-radius: 999px;
	background: var(--uddfel-language-item-bg);
	color: var(--uddfel-language-item-color);
	font-size: .95rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.uddfel-language-switcher__item:hover,
.uddfel-language-switcher__item:focus-visible,
.uddfel-language-switcher__trigger:hover,
.uddfel-language-switcher__trigger:focus-visible {
	background: var(--uddfel-language-item-hover-bg);
	border-color: rgba(37, 99, 235, .35);
	color: var(--uddfel-language-item-hover-color);
	outline: 0;
}

.uddfel-language-switcher__item:focus-visible,
.uddfel-language-switcher__trigger:focus-visible {
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .2);
}

.uddfel-language-switcher__item.is-current,
.uddfel-language-switcher__trigger .is-current {
	background: var(--uddfel-language-current-bg);
	border-color: var(--uddfel-language-current-bg);
	color: var(--uddfel-language-current-color);
}

.uddfel-language-switcher__flag,
.uddfel-language-switcher__globe {
	font-size: 1.05em;
	line-height: 1;
}

.uddfel-language-switcher__sr-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.uddfel-language-switcher--compact .uddfel-language-switcher__item {
	min-height: 2rem;
	padding: .42rem .68rem;
	font-size: .84rem;
}

.uddfel-language-switcher--display-flag_only .uddfel-language-switcher__item,
.uddfel-language-switcher--display-flag_only .uddfel-language-switcher__trigger,
.uddfel-language-switcher--display-globe_only .uddfel-language-switcher__item,
.uddfel-language-switcher--display-globe_only .uddfel-language-switcher__trigger {
	width: 2.35rem;
	padding-right: .4rem;
	padding-left: .4rem;
}

.uddfel-language-switcher__dropdown {
	position: relative;
	display: inline-flex;
}

.uddfel-language-switcher__trigger {
	appearance: none;
	font-family: inherit;
}

.uddfel-language-switcher__chevron {
	font-size: .9em;
	line-height: 1;
	transition: transform .2s ease;
}

.uddfel-language-switcher__dropdown.is-open .uddfel-language-switcher__chevron {
	transform: rotate(180deg);
}

.uddfel-language-switcher__menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 20;
	display: grid;
	min-width: 100%;
	gap: 6px;
	padding: 8px;
	border: 1px solid #dbe5f0;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 20px 55px rgba(15, 23, 42, .14);
}

.uddfel-language-switcher__menu[hidden] {
	display: none;
}

.uddfel-language-switcher__menu .uddfel-language-switcher__item {
	justify-content: flex-start;
	width: 100%;
}

.uddfel-language-switcher--disabled {
	opacity: .75;
}

@media (max-width: 767px) {

	.uddfel-language-switcher--mobile-full,
	.uddfel-language-switcher--mobile-full .uddfel-language-switcher__dropdown,
	.uddfel-language-switcher--mobile-full .uddfel-language-switcher__trigger,
	.uddfel-language-switcher--mobile-full .uddfel-language-switcher__list {
		width: 100%;
	}

	.uddfel-language-switcher--mobile-full .uddfel-language-switcher__item {
		flex: 1 1 auto;
	}

	.uddfel-language-switcher--mobile-stack .uddfel-language-switcher__list {
		flex-direction: column;
		align-items: stretch;
	}

	.uddfel-language-switcher--mobile-stack .uddfel-language-switcher__item {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {

	.uddfel-language-switcher__item,
	.uddfel-language-switcher__trigger,
	.uddfel-language-switcher__chevron {
		transition-duration: 0s;
	}
}

/* ==========================================================================
   Uddfel Button 2.0 (Universal Button & Dynamic Link)
   ========================================================================== */
.uddfel-button-wrapper,
.uddfel-dynamic-btn-wrapper {
	display: block;
	width: 100%;
}

.uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
.uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-sizing: border-box;
	line-height: 1.2;
	cursor: pointer;
	border: 0 solid transparent;
	transition-property: background-color, border-color, color, box-shadow, transform;
	transition-duration: var(--uddfel-btn-transition-duration, 250ms);
	transition-timing-function: var(--uddfel-btn-transition-timing, ease);
}

/* Multi-Step & State Visibility Override: Ensure multi-step rules strictly override display: inline-flex !important */
.uddfel-form-actions-wrapper .uddfel-button.is-step-hidden,
.uddfel-form-actions-wrapper .uddfel-button[style*="display: none"],
.uddfel-form-actions-wrapper .uddfel-button[style*="display:none"],
.uddfel-form-actions-wrapper .uddfel-button[hidden],
.uddfel-button.is-step-hidden,
.uddfel-dynamic-btn.is-step-hidden,
.uddfel-form-submit-btn.is-step-hidden,
.uddfel-form-submit-wrapper.is-step-hidden,
.uddfel-form-btn-next.is-step-hidden,
.uddfel-form-btn-prev.is-step-hidden,
.uddfel-button[hidden],
.uddfel-button[style*="display: none"],
.uddfel-button[style*="display:none"],
.uddfel-dynamic-btn[hidden],
.uddfel-dynamic-btn[style*="display: none"],
.uddfel-dynamic-btn[style*="display:none"],
.uddfel-form-submit-btn[hidden],
.uddfel-form-submit-btn[style*="display: none"],
.uddfel-form-submit-btn[style*="display:none"],
.uddfel-form-btn-next[hidden],
.uddfel-form-btn-next[style*="display: none"],
.uddfel-form-btn-next[style*="display:none"],
.uddfel-form-btn-prev[hidden],
.uddfel-form-btn-prev[style*="display: none"],
.uddfel-form-btn-prev[style*="display:none"] {
	display: none !important;
}

.uddfel-button--full-width {
	display: flex;
	width: 100%;
}

/* Icon-Only Mode: Ensure outer button is a transparent zero-padding wrapper around the icon */
.uddfel-button.uddfel-button--icon-only,
.uddfel-dynamic-btn.uddfel-button--icon-only {
	padding: 0 !important;
	min-width: 0 !important;
	gap: 0 !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	width: auto !important;
	line-height: 1 !important;
}

.uddfel-button.uddfel-button--icon-only .uddfel-button__label,
.uddfel-dynamic-btn.uddfel-button--icon-only .uddfel-dynamic-btn__text {
	display: none !important;
}

/* Alignments & Justify (Desktop, Tablet, Mobile) */
.elementor-align-left .uddfel-button-wrapper {
	text-align: left;
}

.elementor-align-center .uddfel-button-wrapper {
	text-align: center;
}

.elementor-align-right .uddfel-button-wrapper {
	text-align: right;
}

/* Left / Center / Right / Default: Button hugs content unless Full Width is chosen */
.elementor-align-left:not(.uddfel-btn-w--full) .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
.elementor-align-center:not(.uddfel-btn-w--full) .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
.elementor-align-right:not(.uddfel-btn-w--full) .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
.elementor-align-left:not(.uddfel-btn-w--full) .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
.elementor-align-center:not(.uddfel-btn-w--full) .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
.elementor-align-right:not(.uddfel-btn-w--full) .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]) {
	width: auto;
	max-width: 100%;
	display: inline-flex !important;
}

/* Explicit Full Width Mode */
.uddfel-btn-w--full .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
.uddfel-btn-w--full .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
.uddfel-btn-w--full .uddfel-button-wrapper:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]) {
	width: 100% !important;
	display: flex !important;
}

/* Justify Alignment (Desktop): Stretches full width across container */
.elementor-align-justify .uddfel-button-wrapper {
	text-align: justify;
	width: 100% !important;
}

.elementor-align-justify .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
.elementor-align-justify .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]) {
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
}

@media (max-width: 1024px) {
	.elementor-tablet-align-left .uddfel-button-wrapper {
		text-align: left;
	}

	.elementor-tablet-align-center .uddfel-button-wrapper {
		text-align: center;
	}

	.elementor-tablet-align-right .uddfel-button-wrapper {
		text-align: right;
	}

	.elementor-tablet-align-left:not(.uddfel-btn-w-tablet--full) .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-tablet-align-center:not(.uddfel-btn-w-tablet--full) .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-tablet-align-right:not(.uddfel-btn-w-tablet--full) .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-tablet-align-left:not(.uddfel-btn-w-tablet--full) .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-tablet-align-center:not(.uddfel-btn-w-tablet--full) .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-tablet-align-right:not(.uddfel-btn-w-tablet--full) .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]) {
		width: auto;
		max-width: 100%;
		display: inline-flex !important;
	}

	.uddfel-btn-w-tablet--full .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.uddfel-btn-w-tablet--full .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.uddfel-btn-w-tablet--full .uddfel-button-wrapper:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]) {
		width: 100% !important;
		display: flex !important;
	}

	.elementor-tablet-align-justify .uddfel-button-wrapper {
		text-align: justify;
		width: 100% !important;
	}

	.elementor-tablet-align-justify .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-tablet-align-justify .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]) {
		width: 100% !important;
		max-width: 100% !important;
		display: flex !important;
	}
}

@media (max-width: 767px) {
	.elementor-mobile-align-left .uddfel-button-wrapper {
		text-align: left;
	}

	.elementor-mobile-align-center .uddfel-button-wrapper {
		text-align: center;
	}

	.elementor-mobile-align-right .uddfel-button-wrapper {
		text-align: right;
	}

	.elementor-mobile-align-left:not(.uddfel-btn-w-mobile--full) .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-mobile-align-center:not(.uddfel-btn-w-mobile--full) .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-mobile-align-right:not(.uddfel-btn-w-mobile--full) .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-mobile-align-left:not(.uddfel-btn-w-mobile--full) .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-mobile-align-center:not(.uddfel-btn-w-mobile--full) .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-mobile-align-right:not(.uddfel-btn-w-mobile--full) .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]) {
		width: auto;
		max-width: 100%;
		display: inline-flex !important;
	}

	.uddfel-btn-w-mobile--full .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.uddfel-btn-w-mobile--full .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.uddfel-btn-w-mobile--full .uddfel-button-wrapper:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]) {
		width: 100% !important;
		display: flex !important;
	}

	.elementor-mobile-align-justify .uddfel-button-wrapper {
		text-align: justify;
		width: 100% !important;
	}

	.elementor-mobile-align-justify .uddfel-button:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]),
	.elementor-mobile-align-justify .uddfel-dynamic-btn:not(.is-step-hidden):not([style*="display: none"]):not([style*="display:none"]) {
		width: 100% !important;
		max-width: 100% !important;
		display: flex !important;
	}
}

/* --- Content Alignment Modes Inside Button --- */
.uddfel-btn-content--flex-start .uddfel-button {
	justify-content: flex-start !important;
}

.uddfel-btn-content--flex-start .uddfel-button::before {
	display: none !important;
}

.uddfel-btn-content--flex-start .uddfel-button__label {
	flex: 0 1 auto !important;
}

.uddfel-btn-content--center .uddfel-button {
	justify-content: center !important;
}

.uddfel-btn-content--center .uddfel-button::before {
	display: none !important;
}

.uddfel-btn-content--center .uddfel-button__label {
	flex: 0 1 auto !important;
}

.uddfel-btn-content--space-between .uddfel-button {
	justify-content: space-between !important;
}

.uddfel-btn-content--space-between .uddfel-button::before {
	display: none !important;
}

.uddfel-btn-content--flex-end .uddfel-button {
	justify-content: flex-end !important;
}

.uddfel-btn-content--flex-end .uddfel-button::before {
	display: none !important;
}

.uddfel-btn-content--flex-end .uddfel-button__label {
	flex: 0 1 auto !important;
}

@media (max-width: 1024px) {
	.uddfel-btn-content-tablet--flex-start .uddfel-button {
		justify-content: flex-start !important;
	}

	.uddfel-btn-content-tablet--flex-start .uddfel-button::before {
		display: none !important;
	}

	.uddfel-btn-content-tablet--flex-start .uddfel-button__label {
		flex: 0 1 auto !important;
	}

	.uddfel-btn-content-tablet--center .uddfel-button {
		justify-content: center !important;
	}

	.uddfel-btn-content-tablet--center .uddfel-button::before {
		display: none !important;
	}

	.uddfel-btn-content-tablet--center .uddfel-button__label {
		flex: 0 1 auto !important;
	}

	.uddfel-btn-content-tablet--space-between .uddfel-button {
		justify-content: space-between !important;
	}

	.uddfel-btn-content-tablet--space-between .uddfel-button::before {
		display: none !important;
	}

	.uddfel-btn-content-tablet--flex-end .uddfel-button {
		justify-content: flex-end !important;
	}

	.uddfel-btn-content-tablet--flex-end .uddfel-button::before {
		display: none !important;
	}

	.uddfel-btn-content-tablet--flex-end .uddfel-button__label {
		flex: 0 1 auto !important;
	}
}

@media (max-width: 767px) {
	.uddfel-btn-content-mobile--flex-start .uddfel-button {
		justify-content: flex-start !important;
	}

	.uddfel-btn-content-mobile--flex-start .uddfel-button::before {
		display: none !important;
	}

	.uddfel-btn-content-mobile--flex-start .uddfel-button__label {
		flex: 0 1 auto !important;
	}

	.uddfel-btn-content-mobile--center .uddfel-button {
		justify-content: center !important;
	}

	.uddfel-btn-content-mobile--center .uddfel-button::before {
		display: none !important;
	}

	.uddfel-btn-content-mobile--center .uddfel-button__label {
		flex: 0 1 auto !important;
	}

	.uddfel-btn-content-mobile--space-between .uddfel-button {
		justify-content: space-between !important;
	}

	.uddfel-btn-content-mobile--space-between .uddfel-button::before {
		display: none !important;
	}

	.uddfel-btn-content-mobile--flex-end .uddfel-button {
		justify-content: flex-end !important;
	}

	.uddfel-btn-content-mobile--flex-end .uddfel-button::before {
		display: none !important;
	}

	.uddfel-btn-content-mobile--flex-end .uddfel-button__label {
		flex: 0 1 auto !important;
	}
}

/* --- Smart Centered Button Mode (Dead-Center Label, Anchored Icon) --- */
.uddfel-btn-content--smart-center .uddfel-button,
.uddfel-button--smart-center {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

.uddfel-btn-content--smart-center .uddfel-button::before,
.uddfel-button--smart-center::before {
	content: "";
	display: block;
	width: var(--uddfel-icon-box-w, var(--uddfel-icon-w, 24px));
	flex-shrink: 0;
	visibility: hidden;
	pointer-events: none;
}

.uddfel-btn-content--smart-center .uddfel-button__label,
.uddfel-button--smart-center .uddfel-button__label {
	flex: 1 1 auto;
	text-align: center;
}

.uddfel-btn-content--smart-center .uddfel-button__icon-wrap,
.uddfel-button--smart-center .uddfel-button__icon-wrap {
	flex-shrink: 0;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.uddfel-btn-content--smart-center.uddfel-button--icon-left .uddfel-button::before {
	order: 3;
}

.uddfel-btn-content--smart-center.uddfel-button--icon-left .uddfel-button__icon-wrap {
	order: 1;
}

.uddfel-btn-content--smart-center.uddfel-button--icon-left .uddfel-button__label {
	order: 2;
}

@media (max-width: 1024px) {
	.uddfel-btn-content-tablet--smart-center .uddfel-button {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
	}

	.uddfel-btn-content-tablet--smart-center .uddfel-button::before {
		content: "";
		display: block;
		width: var(--uddfel-icon-box-w, var(--uddfel-icon-w, 24px));
		flex-shrink: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.uddfel-btn-content-tablet--smart-center .uddfel-button__label {
		flex: 1 1 auto;
		text-align: center;
	}

	.uddfel-btn-content-tablet--smart-center .uddfel-button__icon-wrap {
		flex-shrink: 0;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media (max-width: 767px) {
	.uddfel-btn-content-mobile--smart-center .uddfel-button {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
	}

	.uddfel-btn-content-mobile--smart-center .uddfel-button::before {
		content: "";
		display: block;
		width: var(--uddfel-icon-box-w, var(--uddfel-icon-w, 24px));
		flex-shrink: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.uddfel-btn-content-mobile--smart-center .uddfel-button__label {
		flex: 1 1 auto;
		text-align: center;
	}

	.uddfel-btn-content-mobile--smart-center .uddfel-button__icon-wrap {
		flex-shrink: 0;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

.uddfel-button__label,
.uddfel-dynamic-btn__text {
	display: inline-flex;
	align-items: center;
	line-height: 1 !important;
	vertical-align: middle !important;
	transition: transform var(--uddfel-btn-transition-duration, 250ms) var(--uddfel-btn-transition-timing, ease), color var(--uddfel-btn-transition-duration, 250ms) var(--uddfel-btn-transition-timing, ease);
	transform: translateX(var(--uddfel-label-tx, 0px));
}

.uddfel-button__icon-wrap,
.uddfel-dynamic-btn__icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-sizing: border-box;
	line-height: 1;
	vertical-align: middle !important;
	border: 0 solid transparent;
	transition-property: background-color, border-color, box-shadow, transform;
	transition-duration: var(--uddfel-btn-transition-duration, 250ms);
	transition-timing-function: var(--uddfel-btn-transition-timing, ease);
	transform: translate(var(--uddfel-icon-wrap-tx, 0px), var(--uddfel-icon-wrap-ty, 0px)) scale(var(--uddfel-icon-wrap-scale, 1)) rotate(var(--uddfel-icon-wrap-rotate, 0deg));
}

.uddfel-button__icon,
.uddfel-dynamic-btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition-property: transform, color;
	transition-duration: var(--uddfel-btn-transition-duration, 250ms);
	transition-timing-function: var(--uddfel-btn-transition-timing, ease);
	transform: translate(var(--uddfel-icon-tx, 0px), var(--uddfel-icon-ty, 0px)) scale(var(--uddfel-icon-scale, 1)) rotate(var(--uddfel-icon-rotate, 0deg));
}

.uddfel-button__icon svg,
.uddfel-dynamic-btn__icon svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
	transition: fill var(--uddfel-btn-transition-duration, 250ms) var(--uddfel-btn-transition-timing, ease);
}

.uddfel-button__icon svg path,
.uddfel-dynamic-btn__icon svg path {
	fill: currentColor;
}

.uddfel-button__icon i,
.uddfel-dynamic-btn__icon i {
	display: block;
	line-height: 1;
	transition: inherit;
}

.uddfel-button:hover,
.uddfel-dynamic-btn:hover {
	text-decoration: none;
}

.uddfel-button:focus,
.uddfel-dynamic-btn:focus {
	outline: none;
}

/* ==========================================================================
   Uddfel Button 2.2 — Premium Interaction & Surface Effects
   ========================================================================== */

/* Isolation & Pseudo-element setup */
.uddfel-button {
	position: relative;
	isolation: isolate;
}

.uddfel-button__label,
.uddfel-button__icon-wrap {
	position: relative;
	z-index: 2;
}

/* --- Interaction Presets --- */
.uddfel-button--preset-lift:hover {
	transform: translateY(-4px);
}

.uddfel-button--preset-scale:hover {
	transform: scale(1.03);
}

.uddfel-button--preset-press:active,
.uddfel-button--preset-press:hover {
	transform: scale(0.97) translateY(1px);
}

.uddfel-button--preset-arrow-chase:hover {
	--uddfel-icon-tx: 6px;
}

.uddfel-button--preset-glass-hover:hover {
	backdrop-filter: blur(24px) saturate(180%);
	-webkit-backdrop-filter: blur(24px) saturate(180%);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), inset 0 1px 1px rgba(255, 255, 255, 0.4);
}

/* --- Surface Effects: Glassmorphism --- */
.uddfel-button--glass {
	background: var(--uddfel-glass-bg, rgba(255, 255, 255, 0.15)) !important;
	backdrop-filter: blur(var(--uddfel-glass-blur, 16px)) saturate(var(--uddfel-glass-saturate, 150%));
	-webkit-backdrop-filter: blur(var(--uddfel-glass-blur, 16px)) saturate(var(--uddfel-glass-saturate, 150%));
	border-color: var(--uddfel-glass-border-color, rgba(255, 255, 255, 0.3)) !important;
	border-style: solid;
}

.uddfel-button--glass.uddfel-button--glass-highlight {
	box-shadow: inset 0 1px 1px 0 rgba(255, 255, 255, 0.4), var(--uddfel-glass-shadow, 0 4px 20px rgba(0, 0, 0, 0.08));
}

.uddfel-button--soft-glass {
	background: var(--uddfel-glass-bg, rgba(255, 255, 255, 0.25)) !important;
	backdrop-filter: blur(var(--uddfel-glass-blur, 10px)) saturate(var(--uddfel-glass-saturate, 120%));
	-webkit-backdrop-filter: blur(var(--uddfel-glass-blur, 10px)) saturate(var(--uddfel-glass-saturate, 120%));
	border-color: var(--uddfel-glass-border-color, rgba(255, 255, 255, 0.4)) !important;
	border-style: solid;
}

/* --- Surface Effects: Neumorphism --- */
.uddfel-button--neu-raised {
	background-color: var(--uddfel-neu-bg, #e0e5ec) !important;
	box-shadow: var(--uddfel-neu-dist, 6px) var(--uddfel-neu-dist, 6px) var(--uddfel-neu-blur, 12px) var(--uddfel-neu-dark, rgba(163, 177, 198, 0.6)),
		calc(var(--uddfel-neu-dist, 6px) * -1) calc(var(--uddfel-neu-dist, 6px) * -1) var(--uddfel-neu-blur, 12px) var(--uddfel-neu-light, rgba(255, 255, 255, 0.8)) !important;
}

.uddfel-button--neu-pressed {
	background-color: var(--uddfel-neu-bg, #e0e5ec) !important;
	box-shadow: inset var(--uddfel-neu-dist, 6px) var(--uddfel-neu-dist, 6px) var(--uddfel-neu-blur, 12px) var(--uddfel-neu-dark, rgba(163, 177, 198, 0.6)),
		inset calc(var(--uddfel-neu-dist, 6px) * -1) calc(var(--uddfel-neu-dist, 6px) * -1) var(--uddfel-neu-blur, 12px) var(--uddfel-neu-light, rgba(255, 255, 255, 0.8)) !important;
}

.uddfel-button--neu-toggle.uddfel-button--neu-raised:hover,
.uddfel-button--neu-toggle.uddfel-button--neu-raised:active {
	box-shadow: inset var(--uddfel-neu-dist, 6px) var(--uddfel-neu-dist, 6px) var(--uddfel-neu-blur, 12px) var(--uddfel-neu-dark, rgba(163, 177, 198, 0.6)),
		inset calc(var(--uddfel-neu-dist, 6px) * -1) calc(var(--uddfel-neu-dist, 6px) * -1) var(--uddfel-neu-blur, 12px) var(--uddfel-neu-light, rgba(255, 255, 255, 0.8)) !important;
}

/* --- Glow Effects --- */
.uddfel-button--glow-btn,
.uddfel-button--glow-both {
	box-shadow: 0 0 var(--uddfel-glow-blur, 20px) var(--uddfel-glow-spread, 2px) var(--uddfel-glow-color, rgba(139, 104, 35, 0.6));
}

.uddfel-button--glow-icon .uddfel-button__icon-wrap,
.uddfel-button--glow-both .uddfel-button__icon-wrap {
	box-shadow: 0 0 var(--uddfel-glow-blur, 14px) var(--uddfel-glow-spread, 1px) var(--uddfel-glow-color, rgba(139, 104, 35, 0.6));
}

.uddfel-button--glow-hover-only {
	box-shadow: none !important;
}

.uddfel-button--glow-hover-only:hover {
	box-shadow: 0 0 var(--uddfel-glow-blur, 20px) var(--uddfel-glow-spread, 2px) var(--uddfel-glow-color, rgba(139, 104, 35, 0.6)) !important;
}

.uddfel-button--glow-hover-icon .uddfel-button__icon-wrap {
	box-shadow: none !important;
}

.uddfel-button--glow-hover-icon:hover .uddfel-button__icon-wrap {
	box-shadow: 0 0 var(--uddfel-glow-blur, 14px) var(--uddfel-glow-spread, 1px) var(--uddfel-glow-color, rgba(139, 104, 35, 0.6)) !important;
}

.uddfel-button--glow-pulse {
	animation: uddfel-glow-pulse var(--uddfel-glow-pulse-duration, 2000ms) ease-in-out infinite;
}

.uddfel-button--glow-pulse-icon .uddfel-button__icon-wrap {
	animation: uddfel-glow-pulse var(--uddfel-glow-pulse-duration, 2000ms) ease-in-out infinite;
}

@keyframes uddfel-glow-pulse {

	0%,
	100% {
		box-shadow: 0 0 var(--uddfel-glow-blur, 16px) var(--uddfel-glow-spread, 1px) var(--uddfel-glow-color, rgba(139, 104, 35, 0.5));
	}

	50% {
		box-shadow: 0 0 calc(var(--uddfel-glow-blur, 16px) * 1.6) calc(var(--uddfel-glow-spread, 1px) + 4px) var(--uddfel-glow-color, rgba(139, 104, 35, 0.85));
	}
}

/* --- Shine / Light Sweep --- */
.uddfel-button--shine {
	overflow: hidden;
}

.uddfel-button--shine::after {
	content: '';
	position: absolute;
	top: -50%;
	left: -70%;
	width: var(--uddfel-shine-width, 40px);
	height: 200%;
	background: linear-gradient(90deg, transparent, var(--uddfel-shine-color, rgba(255, 255, 255, 0.4)), transparent);
	transform: rotate(var(--uddfel-shine-angle, 45deg));
	pointer-events: none;
	z-index: 3;
	opacity: 0;
}

.uddfel-button--shine.uddfel-button--shine-hover:hover::after {
	animation: uddfel-shine-sweep var(--uddfel-shine-speed, 1000ms) ease forwards;
}

.uddfel-button--shine.uddfel-button--shine-always::after {
	animation: uddfel-shine-sweep var(--uddfel-shine-speed, 2000ms) ease infinite;
}

@keyframes uddfel-shine-sweep {
	0% {
		left: -70%;
		opacity: 0;
	}

	20% {
		opacity: 1;
	}

	80% {
		opacity: 1;
	}

	100% {
		left: 170%;
		opacity: 0;
	}
}

/* --- Background Reveal / Fill --- */
.uddfel-button--reveal {
	overflow: hidden;
}

.uddfel-button--reveal::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--uddfel-reveal-color, #6F4D09);
	z-index: 1;
	transition: transform var(--uddfel-reveal-duration, 350ms) var(--uddfel-reveal-easing, ease), opacity var(--uddfel-reveal-duration, 350ms) var(--uddfel-reveal-easing, ease);
	pointer-events: none;
	border-radius: inherit;
}

.uddfel-button--reveal-lr::before {
	transform: scaleX(0);
	transform-origin: left center;
}

.uddfel-button--reveal-lr:hover::before {
	transform: scaleX(1);
}

.uddfel-button--reveal-rl::before {
	transform: scaleX(0);
	transform-origin: right center;
}

.uddfel-button--reveal-rl:hover::before {
	transform: scaleX(1);
}

.uddfel-button--reveal-tb::before {
	transform: scaleY(0);
	transform-origin: center top;
}

.uddfel-button--reveal-tb:hover::before {
	transform: scaleY(1);
}

.uddfel-button--reveal-bt::before {
	transform: scaleY(0);
	transform-origin: center bottom;
}

.uddfel-button--reveal-bt:hover::before {
	transform: scaleY(1);
}

.uddfel-button--reveal-center::before {
	transform: scaleX(0);
	transform-origin: center center;
}

.uddfel-button--reveal-center:hover::before {
	transform: scaleX(1);
}

.uddfel-button--reveal-radial::before {
	transform: scale(0);
	transform-origin: center center;
	border-radius: 50%;
}

.uddfel-button--reveal-radial:hover::before {
	transform: scale(2.5);
}

/* --- Border Effects --- */
.uddfel-button--border-glow:hover {
	box-shadow: 0 0 12px var(--uddfel-border-effect-color, #8B6823);
}

.uddfel-button--border-gradient {
	position: relative;
	background-clip: padding-box;
}

/* --- Label Effects --- */
.uddfel-button--label-fade-shift:hover .uddfel-button__label {
	opacity: 0.85;
	transform: translateX(var(--uddfel-label-tx, 4px));
}

.uddfel-button--label-spacing:hover .uddfel-button__label {
	letter-spacing: var(--uddfel-label-spacing, 0.08em);
}


/* --- Hover Micro-Animations (Grow, Pop, Bounce, Pulse, Float, Wobble) --- */
.uddfel-button--hover-grow {
	transition: transform var(--uddfel-btn-transition-duration, 0.3s) var(--uddfel-btn-transition-timing, cubic-bezier(0.25, 1, 0.5, 1)),
		box-shadow var(--uddfel-btn-transition-duration, 0.3s) var(--uddfel-btn-transition-timing, cubic-bezier(0.25, 1, 0.5, 1));
}

.uddfel-button--hover-grow:hover {
	transform: scale(var(--uddfel-hover-scale, 1.05));
}

.uddfel-button--hover-pop {
	transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
		box-shadow 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.uddfel-button--hover-pop:hover {
	transform: scale(var(--uddfel-hover-scale, 1.05));
}

@keyframes uddfel-hover-bounce {
	0% {
		transform: translateY(0);
	}

	35% {
		transform: translateY(-7px) scale(1.02);
	}

	65% {
		transform: translateY(-2px) scale(1.01);
	}

	85% {
		transform: translateY(-4px);
	}

	100% {
		transform: translateY(-3px);
	}
}

.uddfel-button--hover-bounce:hover {
	animation: uddfel-hover-bounce 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@keyframes uddfel-hover-pulse {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(var(--uddfel-hover-scale, 1.05));
	}

	100% {
		transform: scale(1);
	}
}

.uddfel-button--hover-pulse:hover {
	animation: uddfel-hover-pulse 1.2s ease-in-out infinite;
}

@keyframes uddfel-hover-float {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-4px);
	}
}

.uddfel-button--hover-float:hover {
	animation: uddfel-hover-float 1.8s ease-in-out infinite;
}

@keyframes uddfel-hover-wobble {
	0% {
		transform: rotate(0deg);
	}

	20% {
		transform: rotate(-3deg);
	}

	40% {
		transform: rotate(2.5deg);
	}

	60% {
		transform: rotate(-1.5deg);
	}

	80% {
		transform: rotate(1deg);
	}

	100% {
		transform: rotate(0deg);
	}
}

.uddfel-button--hover-wobble:hover {
	animation: uddfel-hover-wobble 0.55s ease-in-out;
}

.uddfel-button--hover-shadow-lift {
	transition: box-shadow var(--uddfel-btn-transition-duration, 0.3s) var(--uddfel-btn-transition-timing, cubic-bezier(0.25, 1, 0.5, 1));
}

.uddfel-button--hover-shadow-lift:hover {
	box-shadow: 0 12px 28px -6px rgba(0, 0, 0, 0.22), 0 6px 12px -3px rgba(0, 0, 0, 0.12) !important;
}

/* --- Detached Border Effects (Floating Ring with True Space / Gap) --- */
.uddfel-button--has-detached-ring {
	overflow: visible !important;
}

.uddfel-button__detached-ring {
	position: absolute;
	box-sizing: content-box;
	border-radius: inherit;
	pointer-events: none;
	border: var(--uddfel-detached-border-width, var(--uddfel-border-spread-width, 1.5px)) var(--uddfel-detached-border-style, solid) var(--uddfel-detached-border-color, var(--uddfel-border-spread-color, #8B6823));
	transition: inset var(--uddfel-btn-transition-duration, 0.3s) var(--uddfel-btn-transition-timing, cubic-bezier(0.25, 1, 0.5, 1)),
		border-color var(--uddfel-btn-transition-duration, 0.3s) var(--uddfel-btn-transition-timing, cubic-bezier(0.25, 1, 0.5, 1)),
		opacity var(--uddfel-btn-transition-duration, 0.3s) var(--uddfel-btn-transition-timing, cubic-bezier(0.25, 1, 0.5, 1));
	z-index: 1;
}

/* Mode 1: Detached Always (Permanently floating with clean space around button) */
.uddfel-button--detached-always .uddfel-button__detached-ring {
	inset: calc(-1 * var(--uddfel-detached-border-gap, var(--uddfel-border-spread-gap, 4px)));
	opacity: 1;
}

.uddfel-button--detached-always:hover .uddfel-button__detached-ring {
	border-color: var(--uddfel-detached-border-hover-color, var(--uddfel-detached-border-color, var(--uddfel-border-spread-color, #8B6823)));
	inset: calc(-1 * var(--uddfel-detached-border-hover-gap, var(--uddfel-detached-border-gap, var(--uddfel-border-spread-gap, 6px))));
}

/* Mode 2: Detached on Hover (Floats outward with clean space on hover) */
.uddfel-button--detached-hover .uddfel-button__detached-ring {
	inset: 0px;
	opacity: 0;
	border-color: var(--uddfel-detached-border-color, var(--uddfel-border-spread-color, #8B6823));
}

.uddfel-button--detached-hover:hover .uddfel-button__detached-ring {
	inset: calc(-1 * var(--uddfel-detached-border-gap, var(--uddfel-border-spread-dist, 5px)));
	border-color: var(--uddfel-detached-border-hover-color, var(--uddfel-detached-border-color, var(--uddfel-border-spread-color, #8B6823)));
	opacity: 1;
}

@keyframes uddfel-border-spread-ripple {
	0% {
		box-shadow: 0 0 0 0 var(--uddfel-border-spread-color, #8B6823);
		opacity: 1;
	}

	70% {
		box-shadow: 0 0 var(--uddfel-border-spread-blur, 2px) var(--uddfel-border-spread-dist, 10px) var(--uddfel-border-spread-color, #8B6823);
		opacity: 0.6;
	}

	100% {
		box-shadow: 0 0 var(--uddfel-border-spread-blur, 4px) var(--uddfel-border-spread-dist, 14px) transparent;
		opacity: 0;
	}
}

.uddfel-button--border-spread-ripple:hover {
	animation: uddfel-border-spread-ripple 1.1s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}

/* --- Reduced Motion Accessibility (ON by default) --- */
@media (prefers-reduced-motion: reduce) {

	.uddfel-button,
	.uddfel-button__icon-wrap,
	.uddfel-button__icon,
	.uddfel-button__label,
	.uddfel-button::before,
	.uddfel-button::after {
		animation: none !important;
		transition-duration: 0.01ms !important;
		transform: none !important;
		--uddfel-icon-tx: 0px !important;
		--uddfel-icon-ty: 0px !important;
		--uddfel-icon-scale: 1 !important;
		--uddfel-icon-rotate: 0deg !important;
		--uddfel-icon-wrap-tx: 0px !important;
		--uddfel-icon-wrap-ty: 0px !important;
		--uddfel-icon-wrap-scale: 1 !important;
		--uddfel-icon-wrap-rotate: 0deg !important;
		--uddfel-label-tx: 0px !important;
	}

	.uddfel-button--shine::after {
		display: none !important;
	}
}

/* ==========================================================================
   UDDFEL NAVIGATION & MEGA MENU WIDGET STYLES (Layout-Aware Geometry System)
   ========================================================================== */

/* Host element */
.elementor-widget-uddfel-navigation {
	position: relative;
	max-width: 100%;
}

/* Wrapper & Geometry */
.uddfel-nav-wrapper {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	--uddfel-dropdown-offset-y: 10px;
	--uddfel-dropdown-offset-x: 0px;
	--uddfel-arrow-size: 10px;
	--uddfel-arrow-spacing: 6px;
	--uddfel-arrow-rotation: 180deg;
	--uddfel-item-transition: 250ms;
	--uddfel-dropdown-width: 260px;
	--uddfel-mega-site-width: 1240px;
	--uddfel-mobile-width: 320px;
}

/* Width Modes */
.uddfel-nav-wrapper.uddfel-nav-width-fit_content {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	max-width: max-content;
	flex-grow: 0;
	flex-shrink: 1;
}

.uddfel-nav-wrapper.uddfel-nav-width-auto {
	width: auto;
	flex-grow: 0;
	flex-shrink: 1;
}

.uddfel-nav-wrapper.uddfel-nav-width-full_width {
	width: 100%;
	flex-grow: 1;
}

.uddfel-nav-wrapper.uddfel-nav-width-custom {
	flex-grow: 0;
}

/* Navigation Shell */
.uddfel-nav {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 100%;
	transition: background-color var(--uddfel-item-transition) ease, border-color var(--uddfel-item-transition) ease;
}

/* Inner Grid Alignment */
.uddfel-nav__inner {
	width: 100%;
	box-sizing: border-box;
}

/* Menu Track / List */
.uddfel-nav__menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.uddfel-nav--layout-vertical .uddfel-nav__menu {
	flex-direction: column;
	align-items: stretch;
}

/* Menu Item */
.uddfel-nav__item {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Menu Link */
.uddfel-nav__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	text-decoration: none;
	font-weight: 500;
	font-size: 15px;
	color: #181816;
	padding: 10px 14px;
	transition: color var(--uddfel-item-transition) ease, background-color var(--uddfel-item-transition) ease, border-color var(--uddfel-item-transition) ease, box-shadow var(--uddfel-item-transition) ease;
	outline: none;
}

.uddfel-nav__link:focus-visible {
	outline: 2px solid #8B6823;
	outline-offset: 3px;
	border-radius: 4px;
}

/* Indicator Arrow Icon & Sub-toggle — Theme Reset Shield */
button.uddfel-nav__sub-toggle,
.uddfel-nav [type="button"].uddfel-nav__sub-toggle,
.uddfel-nav__link > button.uddfel-nav__sub-toggle,
.uddfel-nav__sub-toggle {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: inherit !important;
	line-height: 1 !important;
	font-size: inherit;
	box-shadow: none !important;
	outline: none !important;
	text-decoration: none !important;
	vertical-align: middle !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transition: none !important;
	width: auto;
	min-width: 0;
	height: auto;
	min-height: 0;
	box-sizing: border-box;
}

button.uddfel-nav__sub-toggle:hover,
button.uddfel-nav__sub-toggle:focus,
button.uddfel-nav__sub-toggle:active,
.uddfel-nav [type="button"].uddfel-nav__sub-toggle:hover,
.uddfel-nav [type="button"].uddfel-nav__sub-toggle:focus,
.uddfel-nav [type="button"].uddfel-nav__sub-toggle:active {
	background: transparent !important;
	background-color: transparent !important;
	color: inherit !important;
	border: 0 !important;
	border-color: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	text-decoration: none !important;
}

.uddfel-nav__arrow-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-left: var(--uddfel-arrow-spacing, 6px);
	width: var(--uddfel-arrow-size, 10px);
	height: var(--uddfel-arrow-size, 10px);
	transition: transform var(--uddfel-item-transition, 220ms) ease;
	pointer-events: none;
	flex-shrink: 0;
	line-height: 1 !important;
}

.uddfel-nav__arrow-icon svg,
.uddfel-nav__arrow-icon .uddfel-icon-svg {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	display: block !important;
	vertical-align: middle !important;
	box-sizing: border-box !important;
}

/* Arrow rotation on Desktop Hover / Focus / Open */
.uddfel-nav__item:hover>.uddfel-nav__link .uddfel-nav__arrow-icon,
.uddfel-nav__item:focus-within>.uddfel-nav__link .uddfel-nav__arrow-icon,
.uddfel-nav__item.is-open>.uddfel-nav__link .uddfel-nav__arrow-icon {
	transform: rotate(var(--uddfel-arrow-rotation, 180deg));
}

/* Active Indicators */
.uddfel-nav__indicator {
	pointer-events: none;
	box-sizing: border-box;
}

/* Underline Indicator */
.uddfel-nav--indicator-bottom_line .uddfel-nav__indicator {
	position: absolute;
	bottom: var(--uddfel-indicator-spacing, 4px);
	left: 50%;
	transform: translateX(-50%) scaleX(0);
	width: 80%;
	height: var(--uddfel-indicator-thickness, 2px);
	background-color: var(--uddfel-indicator-color, #8B6823);
	border-radius: 2px;
	transition: transform var(--uddfel-item-transition) cubic-bezier(0.2, 0, 0, 1), opacity var(--uddfel-item-transition) ease;
	opacity: 0;
}

.uddfel-nav--indicator-bottom_line .uddfel-nav__item.is-active>.uddfel-nav__link .uddfel-nav__indicator,
.uddfel-nav--indicator-bottom_line .uddfel-nav__item:hover>.uddfel-nav__link .uddfel-nav__indicator {
	transform: translateX(-50%) scaleX(1);
	opacity: 1;
}

/* Top Line Indicator */
.uddfel-nav--indicator-top_line .uddfel-nav__indicator {
	position: absolute;
	top: var(--uddfel-indicator-spacing, 4px);
	left: 50%;
	transform: translateX(-50%) scaleX(0);
	width: 80%;
	height: var(--uddfel-indicator-thickness, 2px);
	background-color: var(--uddfel-indicator-color, #8B6823);
	border-radius: 2px;
	transition: transform var(--uddfel-item-transition) cubic-bezier(0.2, 0, 0, 1), opacity var(--uddfel-item-transition) ease;
	opacity: 0;
}

.uddfel-nav--indicator-top_line .uddfel-nav__item.is-active>.uddfel-nav__link .uddfel-nav__indicator,
.uddfel-nav--indicator-top_line .uddfel-nav__item:hover>.uddfel-nav__link .uddfel-nav__indicator {
	transform: translateX(-50%) scaleX(1);
	opacity: 1;
}

/* Dot Indicator */
.uddfel-nav--indicator-dot .uddfel-nav__indicator {
	position: absolute;
	bottom: var(--uddfel-indicator-spacing, 4px);
	left: 50%;
	transform: translateX(-50%) scale(0);
	width: 5px;
	height: 5px;
	background-color: var(--uddfel-indicator-color, #8B6823);
	border-radius: 50%;
	transition: transform var(--uddfel-item-transition) cubic-bezier(0.2, 0, 0, 1), opacity var(--uddfel-item-transition) ease;
	opacity: 0;
}

.uddfel-nav--indicator-dot .uddfel-nav__item.is-active>.uddfel-nav__link .uddfel-nav__indicator,
.uddfel-nav--indicator-dot .uddfel-nav__item:hover>.uddfel-nav__link .uddfel-nav__indicator {
	transform: translateX(-50%) scale(1);
	opacity: 1;
}

/* Pill Indicator */
.uddfel-nav--indicator-pill .uddfel-nav__indicator {
	position: absolute;
	inset: 0;
	background-color: var(--uddfel-indicator-color, rgba(139, 104, 35, 0.08));
	border-radius: 999px;
	transition: opacity var(--uddfel-item-transition) ease;
	opacity: 0;
	z-index: -1;
}

.uddfel-nav--indicator-pill .uddfel-nav__item.is-active>.uddfel-nav__link .uddfel-nav__indicator,
.uddfel-nav--indicator-pill .uddfel-nav__item:hover>.uddfel-nav__link .uddfel-nav__indicator {
	opacity: 1;
}

/* ==========================================================================
   DROPDOWN & SUBMENU STYLES
   ========================================================================== */

.uddfel-nav__sub-menu {
	position: absolute;
	top: calc(100% + var(--uddfel-dropdown-offset-y, 10px));
	left: var(--uddfel-dropdown-offset-x, 0);
	width: var(--uddfel-dropdown-width, 260px);
	min-width: 200px;
	background-color: var(--uddfel-dropdown-bg, #FFFFFF);
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
	border-radius: 8px;
	padding: 10px 0;
	margin: 0;
	list-style: none;
	z-index: 1000;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity var(--uddfel-item-transition, 220ms) ease 140ms,
		transform var(--uddfel-item-transition, 220ms) cubic-bezier(0.2, 0, 0, 1) 140ms,
		visibility var(--uddfel-item-transition, 220ms) ease 140ms;
}

/* Invisible Hover Bridge across the dropdown gap */
.uddfel-nav__sub-menu::before {
	content: '';
	position: absolute;
	top: calc(-1 * (var(--uddfel-dropdown-offset-y, 10px) + 8px));
	left: 0;
	right: 0;
	height: calc(var(--uddfel-dropdown-offset-y, 10px) + 8px);
	background: transparent;
	pointer-events: auto;
}

/* Nested Submenus (flyouts to the right) */
.uddfel-nav__sub-menu .uddfel-nav__sub-menu {
	top: -6px;
	left: calc(100% + 4px);
}

.uddfel-nav__sub-menu .uddfel-nav__sub-menu::before {
	top: 0;
	left: -12px;
	width: 12px;
	height: 100%;
	right: auto;
}

.uddfel-nav__sub-menu .uddfel-nav__item {
	display: block;
	width: 100%;
}

.uddfel-nav__sub-menu .uddfel-nav__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 9px 18px;
	font-size: 14px;
	line-height: 1.4;
	font-weight: 500;
	color: #181816;
}

.uddfel-nav__sub-menu .uddfel-nav__link:hover {
	background-color: rgba(139, 104, 35, 0.06);
	color: #8B6823;
}

/* Open Animation Variants */
.uddfel-nav--anim-fade .uddfel-nav__sub-menu,
.uddfel-nav--anim-fade .uddfel-nav__mega {
	transform: none;
}

.uddfel-nav--anim-scale .uddfel-nav__sub-menu,
.uddfel-nav--anim-scale .uddfel-nav__mega {
	transform: scale(0.96);
	transform-origin: top center;
}

.uddfel-nav--anim-none .uddfel-nav__sub-menu,
.uddfel-nav--anim-none .uddfel-nav__mega {
	transform: none !important;
	transition: none !important;
}

/* Desktop Dropdown Open State */
@media (min-width: 1025px) {

	.uddfel-nav__item:hover>.uddfel-nav__sub-menu,
	.uddfel-nav__item:focus-within>.uddfel-nav__sub-menu,
	.uddfel-nav__item.is-open>.uddfel-nav__sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
		transition-delay: 0s;
	}

	.uddfel-nav--anim-scale .uddfel-nav__item:hover>.uddfel-nav__sub-menu,
	.uddfel-nav--anim-scale .uddfel-nav__item:focus-within>.uddfel-nav__sub-menu,
	.uddfel-nav--anim-scale .uddfel-nav__item.is-open>.uddfel-nav__sub-menu {
		transform: scale(1);
	}
}

/* ==========================================================================
   MEGA MENU STYLES
   ========================================================================== */

.uddfel-nav__item--mega {
	position: static !important;
}

.uddfel-nav__mega {
	position: absolute;
	top: calc(100% + var(--uddfel-dropdown-offset-y, 10px));
	background-color: var(--uddfel-dropdown-bg, #FFFFFF);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.1), 0 2px 10px rgba(0, 0, 0, 0.04);
	border-radius: 10px;
	padding: 24px;
	z-index: 999;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity var(--uddfel-item-transition, 220ms) ease 140ms,
		transform var(--uddfel-item-transition, 220ms) cubic-bezier(0.2, 0, 0, 1) 140ms,
		visibility var(--uddfel-item-transition, 220ms) ease 140ms;
}

/* Invisible Hover Bridge across mega menu dropdown gap */
.uddfel-nav__mega::before {
	content: '';
	position: absolute;
	top: calc(-1 * (var(--uddfel-dropdown-offset-y, 10px) + 8px));
	left: 0;
	right: 0;
	height: calc(var(--uddfel-dropdown-offset-y, 10px) + 8px);
	background: transparent;
	pointer-events: auto;
}

/* Mega Menu Scope: Header Content Width */
.uddfel-nav__mega--width-header {
	left: 0;
	right: 0;
	width: 100%;
}

/* Mega Menu Scope: Site Content Width */
.uddfel-nav__mega--width-site_content {
	left: 50%;
	transform: translateX(-50%) translateY(8px);
	width: min(calc(100vw - 32px), var(--uddfel-mega-site-width, 1240px));
}

/* Mega Menu Scope: Viewport Full Width (100vw) */
.uddfel-nav__mega--width-viewport {
	position: fixed;
	left: 0;
	right: 0;
	width: 100vw;
	max-width: 100vw;
	border-radius: 0 0 10px 10px;
}

/* Mega Menu Scope: Custom Width */
.uddfel-nav__mega--width-custom {
	left: 50%;
	transform: translateX(-50%) translateY(8px);
	width: var(--uddfel-mega-custom-width, 840px);
	max-width: calc(100vw - 32px);
}

/* Desktop Mega Menu Open State */
@media (min-width: 1025px) {

	.uddfel-nav__item--mega:hover>.uddfel-nav__mega,
	.uddfel-nav__item--mega:focus-within>.uddfel-nav__mega,
	.uddfel-nav__item--mega.is-open>.uddfel-nav__mega {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
		transition-delay: 0s;
	}

	.uddfel-nav__item--mega:hover>.uddfel-nav__mega--width-site_content,
	.uddfel-nav__item--mega:focus-within>.uddfel-nav__mega--width-site_content,
	.uddfel-nav__item--mega.is-open>.uddfel-nav__mega--width-site_content,
	.uddfel-nav__item--mega:hover>.uddfel-nav__mega--width-custom,
	.uddfel-nav__item--mega:focus-within>.uddfel-nav__mega--width-custom,
	.uddfel-nav__item--mega.is-open>.uddfel-nav__mega--width-custom {
		transform: translateX(-50%) translateY(0);
	}
}

/* Mega Menu Inner Track & Grid */
.uddfel-nav__mega-inner {
	width: 100%;
	box-sizing: border-box;
}

.uddfel-nav__mega-grid {
	display: grid;
	gap: 20px;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-nav__mega-grid--cols-2 {
	grid-template-columns: repeat(2, 1fr);
}

.uddfel-nav__mega-grid--cols-3 {
	grid-template-columns: repeat(3, 1fr);
}

.uddfel-nav__mega-grid--cols-4 {
	grid-template-columns: repeat(4, 1fr);
}

.uddfel-nav__mega-grid--cols-auto {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

/* Mega Cards */
.uddfel-nav__mega-card {
	display: flex;
	flex-direction: column;
	padding: 14px;
	border-radius: 8px;
	text-decoration: none;
	background-color: transparent;
	transition: background-color var(--uddfel-item-transition) ease, transform var(--uddfel-item-transition) ease;
	outline: none;
	box-sizing: border-box;
}

.uddfel-nav__mega-card:hover,
.uddfel-nav__mega-card:focus-visible {
	background-color: rgba(139, 104, 35, 0.05);
	transform: translateY(-2px);
}

.uddfel-nav__mega-card-title {
	font-weight: 600;
	font-size: 15px;
	line-height: 1.35;
	color: #181816;
	margin-bottom: 4px;
}

.uddfel-nav__mega-card-desc {
	font-weight: 400;
	font-size: 13px;
	line-height: 1.45;
	color: #4B453B;
}

/* ==========================================================================
   SURFACE STYLES (Glassmorphism & Solid)
   ========================================================================== */

.uddfel-nav--surface-glass .uddfel-nav {
	-webkit-backdrop-filter: blur(var(--uddfel-surface-blur, 16px)) saturate(150%);
	backdrop-filter: blur(var(--uddfel-surface-blur, 16px)) saturate(150%);
	border: 1px solid rgba(255, 255, 255, 0.25);
}

.uddfel-nav--dropdown-glass .uddfel-nav__sub-menu,
.uddfel-nav--dropdown-glass .uddfel-nav__mega {
	-webkit-backdrop-filter: blur(var(--uddfel-surface-blur, 16px)) saturate(150%);
	backdrop-filter: blur(var(--uddfel-surface-blur, 16px)) saturate(150%);
	background-color: var(--uddfel-dropdown-bg, rgba(255, 255, 255, 0.88));
	border: 1px solid rgba(255, 255, 255, 0.3);
}

/* ==========================================================================
   MOBILE NAVIGATION, ACCORDION & DRAWER
   ========================================================================== */

.uddfel-nav__mobile-bar {
	display: none;
	align-items: center;
}

button.uddfel-nav__toggle,
.uddfel-nav__mobile-bar [type="button"].uddfel-nav__toggle,
.uddfel-nav__toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent;
	border: 0 !important;
	border-color: transparent !important;
	cursor: pointer;
	padding: 8px;
	color: #181816;
	border-radius: 6px;
	line-height: 1 !important;
	text-decoration: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transition: background-color var(--uddfel-item-transition) ease;
}

.uddfel-nav__toggle:hover {
	background-color: rgba(0, 0, 0, 0.05);
}

.uddfel-nav__toggle-icon--close {
	display: none;
}

.uddfel-nav-wrapper.is-open .uddfel-nav__toggle-icon--open {
	display: none;
}

.uddfel-nav-wrapper.is-open .uddfel-nav__toggle-icon--close {
	display: inline-block;
}

.uddfel-nav__toggle-label {
	margin-left: 8px;
	font-weight: 600;
	font-size: 14px;
}

.uddfel-nav__drawer-header {
	display: none;
}

.uddfel-nav__overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.45);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	z-index: 99998;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.uddfel-nav-wrapper.is-open .uddfel-nav__overlay {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Breakpoint rules: Tablet (< 1025px) */
@media (max-width: 1024px) {
	.uddfel-nav--breakpoint-tablet .uddfel-nav__mobile-bar {
		display: flex;
	}

	.uddfel-nav--breakpoint-tablet .uddfel-nav__drawer-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px 20px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.uddfel-nav--breakpoint-tablet .uddfel-nav__drawer-title {
		font-weight: 600;
		font-size: 16px;
		color: #181816;
	}

	.uddfel-nav--breakpoint-tablet button.uddfel-nav__drawer-close,
	.uddfel-nav--breakpoint-tablet .uddfel-nav__drawer-close {
		background: transparent !important;
		border: 0 !important;
		border-color: transparent !important;
		cursor: pointer;
		padding: 6px !important;
		margin: 0 !important;
		color: #181816;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		line-height: 1 !important;
		text-decoration: none !important;
		-webkit-appearance: none !important;
		appearance: none !important;
	}

	/* Off-Canvas Slide Right */
	.uddfel-nav--breakpoint-tablet.uddfel-nav--mobile-drawer_right .uddfel-nav__panel {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: var(--uddfel-mobile-width, 320px);
		max-width: 88vw;
		height: 100vh;
		background: var(--uddfel-mobile-bg, #FFFFFF);
		box-shadow: -6px 0 28px rgba(0, 0, 0, 0.15);
		transform: translateX(100%);
		transition: transform 0.32s cubic-bezier(0.2, 0, 0, 1);
		z-index: 99999;
		overflow-y: auto;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		padding: 0;
	}

	/* Off-Canvas Slide Left */
	.uddfel-nav--breakpoint-tablet.uddfel-nav--mobile-drawer_left .uddfel-nav__panel {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: var(--uddfel-mobile-width, 320px);
		max-width: 88vw;
		height: 100vh;
		background: var(--uddfel-mobile-bg, #FFFFFF);
		box-shadow: 6px 0 28px rgba(0, 0, 0, 0.15);
		transform: translateX(-100%);
		transition: transform 0.32s cubic-bezier(0.2, 0, 0, 1);
		z-index: 99999;
		overflow-y: auto;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		padding: 0;
	}

	/* Header Dropdown Slide Down */
	.uddfel-nav--breakpoint-tablet.uddfel-nav--mobile-dropdown .uddfel-nav__panel {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		background: var(--uddfel-mobile-bg, #FFFFFF);
		box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
		transform: translateY(-8px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: all 0.28s ease;
		z-index: 99999;
		padding: 14px 20px;
	}

	/* Drawer Open States */
	.uddfel-nav--breakpoint-tablet.uddfel-nav--mobile-drawer_right.is-open .uddfel-nav__panel,
	.uddfel-nav--breakpoint-tablet.uddfel-nav--mobile-drawer_left.is-open .uddfel-nav__panel {
		transform: translateX(0);
	}

	.uddfel-nav--breakpoint-tablet.uddfel-nav--mobile-dropdown.is-open .uddfel-nav__panel {
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	/* Mobile Menu Layout */
	.uddfel-nav--breakpoint-tablet .uddfel-nav__menu {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 4px;
		padding: 12px 16px;
	}

	.uddfel-nav--breakpoint-tablet .uddfel-nav__link {
		width: 100%;
		justify-content: space-between;
		padding: 12px 8px;
		font-size: 16px;
	}

	/* Mobile Submenu Accordion */
	.uddfel-nav--breakpoint-tablet .uddfel-nav__sub-menu,
	.uddfel-nav--breakpoint-tablet .uddfel-nav__mega {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		box-shadow: none !important;
		border: none !important;
		background: transparent !important;
		padding: 4px 0 8px 14px !important;
		display: none;
	}

	.uddfel-nav--breakpoint-tablet .uddfel-nav__item.is-submenu-open>.uddfel-nav__sub-menu,
	.uddfel-nav--breakpoint-tablet .uddfel-nav__item.is-submenu-open>.uddfel-nav__mega {
		display: block !important;
	}

	.uddfel-nav--breakpoint-tablet .uddfel-nav__mega-grid {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
	}

	.uddfel-nav--breakpoint-tablet .uddfel-nav__item.is-submenu-open>.uddfel-nav__link .uddfel-nav__arrow-icon {
		transform: rotate(180deg);
	}
}

/* Breakpoint rules: Mobile Only (< 768px) */
@media (max-width: 767px) {
	.uddfel-nav--breakpoint-mobile .uddfel-nav__mobile-bar {
		display: flex;
	}

	.uddfel-nav--breakpoint-mobile .uddfel-nav__drawer-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px 20px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.uddfel-nav--breakpoint-mobile .uddfel-nav__drawer-title {
		font-weight: 600;
		font-size: 16px;
		color: #181816;
	}

	.uddfel-nav--breakpoint-mobile button.uddfel-nav__drawer-close,
	.uddfel-nav--breakpoint-mobile .uddfel-nav__drawer-close {
		background: transparent !important;
		border: 0 !important;
		border-color: transparent !important;
		cursor: pointer;
		padding: 6px !important;
		margin: 0 !important;
		color: #181816;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		line-height: 1 !important;
		text-decoration: none !important;
		-webkit-appearance: none !important;
		appearance: none !important;
	}

	/* Off-Canvas Slide Right */
	.uddfel-nav--breakpoint-mobile.uddfel-nav--mobile-drawer_right .uddfel-nav__panel {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: var(--uddfel-mobile-width, 320px);
		max-width: 88vw;
		height: 100vh;
		background: var(--uddfel-mobile-bg, #FFFFFF);
		box-shadow: -6px 0 28px rgba(0, 0, 0, 0.15);
		transform: translateX(100%);
		transition: transform 0.32s cubic-bezier(0.2, 0, 0, 1);
		z-index: 99999;
		overflow-y: auto;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		padding: 0;
	}

	/* Off-Canvas Slide Left */
	.uddfel-nav--breakpoint-mobile.uddfel-nav--mobile-drawer_left .uddfel-nav__panel {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: var(--uddfel-mobile-width, 320px);
		max-width: 88vw;
		height: 100vh;
		background: var(--uddfel-mobile-bg, #FFFFFF);
		box-shadow: 6px 0 28px rgba(0, 0, 0, 0.15);
		transform: translateX(-100%);
		transition: transform 0.32s cubic-bezier(0.2, 0, 0, 1);
		z-index: 99999;
		overflow-y: auto;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		padding: 0;
	}

	/* Header Dropdown Slide Down */
	.uddfel-nav--breakpoint-mobile.uddfel-nav--mobile-dropdown .uddfel-nav__panel {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		background: var(--uddfel-mobile-bg, #FFFFFF);
		box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
		transform: translateY(-8px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: all 0.28s ease;
		z-index: 99999;
		padding: 14px 20px;
	}

	/* Drawer Open States */
	.uddfel-nav--breakpoint-mobile.uddfel-nav--mobile-drawer_right.is-open .uddfel-nav__panel,
	.uddfel-nav--breakpoint-mobile.uddfel-nav--mobile-drawer_left.is-open .uddfel-nav__panel {
		transform: translateX(0);
	}

	.uddfel-nav--breakpoint-mobile.uddfel-nav--mobile-dropdown.is-open .uddfel-nav__panel {
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	/* Mobile Menu Layout */
	.uddfel-nav--breakpoint-mobile .uddfel-nav__menu {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 4px;
		padding: 12px 16px;
	}

	.uddfel-nav--breakpoint-mobile .uddfel-nav__link {
		width: 100%;
		justify-content: space-between;
		padding: 12px 8px;
		font-size: 16px;
	}

	/* Mobile Submenu Accordion */
	.uddfel-nav--breakpoint-mobile .uddfel-nav__sub-menu,
	.uddfel-nav--breakpoint-mobile .uddfel-nav__mega {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		box-shadow: none !important;
		border: none !important;
		background: transparent !important;
		padding: 4px 0 8px 14px !important;
		display: none;
	}

	.uddfel-nav--breakpoint-mobile .uddfel-nav__item.is-submenu-open>.uddfel-nav__sub-menu,
	.uddfel-nav--breakpoint-mobile .uddfel-nav__item.is-submenu-open>.uddfel-nav__mega {
		display: block !important;
	}

	.uddfel-nav--breakpoint-mobile .uddfel-nav__mega-grid {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
	}

	.uddfel-nav--breakpoint-mobile .uddfel-nav__item.is-submenu-open>.uddfel-nav__link .uddfel-nav__arrow-icon {
		transform: rotate(180deg);
	}
}

/* ==========================================================================
   UDDFEL NAVIGATION 2.0.1 — RESPONSIVE ISOLATION SYSTEM
   ========================================================================== */

/* --- 1. DESKTOP HORIZONTAL STRICT ISOLATION SHIELD ---
   Desktop (> 1024px) retains 100% pure horizontal layout, dropdowns,
   mega menus, and spacing. No vertical rules or trailing arrows touch desktop. */
@media (min-width: 1025px) {
	body:not(.elementor-device-tablet):not(.elementor-device-mobile) .uddfel-nav-wrapper.uddfel-nav--layout-horizontal .uddfel-nav__menu {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		width: auto !important;
		gap: var(--uddfel-item-gap, 24px) !important;
		padding: 0 !important;
	}

	body:not(.elementor-device-tablet):not(.elementor-device-mobile) .uddfel-nav-wrapper.uddfel-nav--layout-horizontal .uddfel-nav__item {
		width: auto !important;
		display: inline-flex !important;
		border-bottom: none !important;
	}

	body:not(.elementor-device-tablet):not(.elementor-device-mobile) .uddfel-nav-wrapper.uddfel-nav--layout-horizontal .uddfel-nav__link {
		width: auto !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		min-height: 0 !important;
	}

	/* Trailing arrows are strictly forbidden on desktop horizontal */
	body:not(.elementor-device-tablet):not(.elementor-device-mobile) .uddfel-nav-wrapper.uddfel-nav--layout-horizontal .uddfel-nav__item-arrow {
		display: none !important;
	}

	/* Vertical indicators are strictly forbidden on desktop horizontal */
	body:not(.elementor-device-tablet):not(.elementor-device-mobile) .uddfel-nav-wrapper.uddfel-nav--layout-horizontal.uddfel-nav--v-indicator-left_bar .uddfel-nav__indicator,
	body:not(.elementor-device-tablet):not(.elementor-device-mobile) .uddfel-nav-wrapper.uddfel-nav--layout-horizontal.uddfel-nav--v-indicator-right_bar .uddfel-nav__indicator,
	body:not(.elementor-device-tablet):not(.elementor-device-mobile) .uddfel-nav-wrapper.uddfel-nav--layout-horizontal.uddfel-nav--v-indicator-dot .uddfel-nav__indicator {
		display: none !important;
	}
}

/* --- 2. STANDALONE VERTICAL NAV (layout: vertical) --- */
.uddfel-nav-wrapper.uddfel-nav--layout-vertical .uddfel-nav__menu {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	align-items: var(--uddfel-vmenu-align, flex-start) !important;
	gap: var(--uddfel-vmenu-gap, 0px) !important;
}

.uddfel-nav-wrapper.uddfel-nav--layout-vertical .uddfel-nav__menu > .uddfel-nav__item {
	width: 100% !important;
	display: block !important;
	border-bottom-style: var(--uddfel-vmenu-divider-style, none) !important;
	border-bottom-width: var(--uddfel-vmenu-divider-width, 1px) !important;
	border-bottom-color: var(--uddfel-vmenu-divider-color, rgba(255,255,255,0.08)) !important;
}

.uddfel-nav-wrapper.uddfel-nav--layout-vertical.uddfel-nav--vdivider-no-last .uddfel-nav__menu > .uddfel-nav__item:last-child {
	border-bottom: none !important;
}

.uddfel-nav-wrapper.uddfel-nav--layout-vertical.uddfel-nav--vlayout-auto .uddfel-nav__item {
	width: auto !important;
	align-self: var(--uddfel-vmenu-align, flex-start) !important;
}

.uddfel-nav-wrapper.uddfel-nav--layout-vertical .uddfel-nav__link {
	display: flex !important;
	width: 100% !important;
	align-items: center !important;
	justify-content: space-between !important;
	min-height: var(--uddfel-vmenu-min-height, 44px) !important;
	padding: var(--uddfel-vmenu-pad-top, 12px) var(--uddfel-vmenu-pad-right, 14px) var(--uddfel-vmenu-pad-bottom, 12px) var(--uddfel-vmenu-pad-left, 14px) !important;
	border-radius: var(--uddfel-vmenu-radius, 0px) !important;
	color: var(--uddfel-vmenu-color, inherit);
	background-color: var(--uddfel-vmenu-bg, transparent);
	font-size: var(--uddfel-vmenu-font-size);
	font-weight: var(--uddfel-vmenu-font-weight);
	text-transform: var(--uddfel-vmenu-text-transform);
}

.uddfel-nav-wrapper.uddfel-nav--layout-vertical.uddfel-nav--vlayout-auto .uddfel-nav__link {
	width: auto !important;
	display: inline-flex !important;
}

.uddfel-nav-wrapper.uddfel-nav--layout-vertical .uddfel-nav__item:hover > .uddfel-nav__link {
	color: var(--uddfel-vmenu-hover-color, #8B6823) !important;
	background-color: var(--uddfel-vmenu-hover-bg, rgba(139,104,35,0.06)) !important;
}

.uddfel-nav-wrapper.uddfel-nav--layout-vertical .uddfel-nav__item.is-active > .uddfel-nav__link,
.uddfel-nav-wrapper.uddfel-nav--layout-vertical .uddfel-nav__item.current-menu-item > .uddfel-nav__link {
	color: var(--uddfel-vmenu-active-color, #8B6823) !important;
	background-color: var(--uddfel-vmenu-active-bg, rgba(139,104,35,0.08)) !important;
}

.uddfel-nav-wrapper.uddfel-nav--layout-vertical .uddfel-nav__item-arrow {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin-left: var(--uddfel-vmenu-arrow-gap, 12px);
	color: var(--uddfel-vmenu-arrow-color, inherit);
	font-size: var(--uddfel-vmenu-arrow-size, 13px);
	transition: transform 0.22s ease, color 0.22s ease;
}

/* --- 3. TABLET PRESENTATION: VERTICAL MENU (max-width: 1024px and min-width: 768px) --- */
@media (min-width: 768px) and (max-width: 1024px) {
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__mobile-bar,
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__drawer-header,
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__overlay {
		display: none !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__panel {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		background: transparent !important;
		box-shadow: none !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		padding: 0 !important;
		overflow: visible !important;
		display: block !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__menu {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		align-items: var(--uddfel-vmenu-align, flex-start) !important;
		gap: var(--uddfel-vmenu-gap, 0px) !important;
		padding: 0 !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__menu > .uddfel-nav__item {
		width: 100% !important;
		display: block !important;
		border-bottom-style: var(--uddfel-vmenu-divider-style, none) !important;
		border-bottom-width: var(--uddfel-vmenu-divider-width, 1px) !important;
		border-bottom-color: var(--uddfel-vmenu-divider-color, rgba(255,255,255,0.08)) !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vdivider-no-last .uddfel-nav__menu > .uddfel-nav__item:last-child {
		border-bottom: none !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vlayout-auto .uddfel-nav__item {
		width: auto !important;
		align-self: var(--uddfel-vmenu-align, flex-start) !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__link {
		display: flex !important;
		width: 100% !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: var(--uddfel-vmenu-min-height, 44px) !important;
		padding: var(--uddfel-vmenu-pad-top, 12px) var(--uddfel-vmenu-pad-right, 14px) var(--uddfel-vmenu-pad-bottom, 12px) var(--uddfel-vmenu-pad-left, 14px) !important;
		border-radius: var(--uddfel-vmenu-radius, 0px) !important;
		color: var(--uddfel-vmenu-color, inherit) !important;
		background-color: var(--uddfel-vmenu-bg, transparent) !important;
		font-size: var(--uddfel-vmenu-font-size, inherit);
		font-weight: var(--uddfel-vmenu-font-weight, inherit);
		text-transform: var(--uddfel-vmenu-text-transform, inherit);
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vlayout-auto .uddfel-nav__link {
		width: auto !important;
		display: inline-flex !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__item:hover > .uddfel-nav__link {
		color: var(--uddfel-vmenu-hover-color, #8B6823) !important;
		background-color: var(--uddfel-vmenu-hover-bg, rgba(139,104,35,0.06)) !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__item.is-active > .uddfel-nav__link,
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__item.current-menu-item > .uddfel-nav__link {
		color: var(--uddfel-vmenu-active-color, #8B6823) !important;
		background-color: var(--uddfel-vmenu-active-bg, rgba(139,104,35,0.08)) !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__item-arrow {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		margin-left: var(--uddfel-vmenu-arrow-gap, 12px);
		color: var(--uddfel-vmenu-arrow-color, inherit);
		font-size: var(--uddfel-vmenu-arrow-size, 13px);
		transition: transform 0.22s ease, color 0.22s ease;
	}

	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-hide {
		display: none !important;
	}
}

/* Tablet Preview in Elementor */
body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__mobile-bar,
body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__drawer-header,
body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__overlay {
	display: none !important;
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__panel {
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	padding: 0 !important;
	overflow: visible !important;
	display: block !important;
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__menu {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	align-items: var(--uddfel-vmenu-align, flex-start) !important;
	gap: var(--uddfel-vmenu-gap, 0px) !important;
	padding: 0 !important;
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__menu > .uddfel-nav__item {
	width: 100% !important;
	display: block !important;
	border-bottom-style: var(--uddfel-vmenu-divider-style, none) !important;
	border-bottom-width: var(--uddfel-vmenu-divider-width, 1px) !important;
	border-bottom-color: var(--uddfel-vmenu-divider-color, rgba(255,255,255,0.08)) !important;
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vdivider-no-last .uddfel-nav__menu > .uddfel-nav__item:last-child {
	border-bottom: none !important;
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__link {
	display: flex !important;
	width: 100% !important;
	align-items: center !important;
	justify-content: space-between !important;
	min-height: var(--uddfel-vmenu-min-height, 44px) !important;
	padding: var(--uddfel-vmenu-pad-top, 12px) var(--uddfel-vmenu-pad-right, 14px) var(--uddfel-vmenu-pad-bottom, 12px) var(--uddfel-vmenu-pad-left, 14px) !important;
	border-radius: var(--uddfel-vmenu-radius, 0px) !important;
	color: var(--uddfel-vmenu-color, inherit) !important;
	background-color: var(--uddfel-vmenu-bg, transparent) !important;
	font-size: var(--uddfel-vmenu-font-size, inherit);
	font-weight: var(--uddfel-vmenu-font-weight, inherit);
	text-transform: var(--uddfel-vmenu-text-transform, inherit);
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__item:hover > .uddfel-nav__link {
	color: var(--uddfel-vmenu-hover-color, #8B6823) !important;
	background-color: var(--uddfel-vmenu-hover-bg, rgba(139,104,35,0.06)) !important;
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__item.is-active > .uddfel-nav__link,
body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__item.current-menu-item > .uddfel-nav__link {
	color: var(--uddfel-vmenu-active-color, #8B6823) !important;
	background-color: var(--uddfel-vmenu-active-bg, rgba(139,104,35,0.08)) !important;
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__item-arrow {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin-left: var(--uddfel-vmenu-arrow-gap, 12px);
	color: var(--uddfel-vmenu-arrow-color, inherit);
	font-size: var(--uddfel-vmenu-arrow-size, 13px);
	transition: transform 0.22s ease, color 0.22s ease;
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-hide {
	display: none !important;
}

/* --- 4. MOBILE PRESENTATION: VERTICAL MENU (max-width: 767px) --- */
@media (max-width: 767px) {
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__mobile-bar,
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__drawer-header,
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__overlay {
		display: none !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__panel {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		background: transparent !important;
		box-shadow: none !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		padding: 0 !important;
		overflow: visible !important;
		display: block !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__menu {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		align-items: var(--uddfel-vmenu-align, flex-start) !important;
		gap: var(--uddfel-vmenu-gap, 0px) !important;
		padding: 0 !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__menu > .uddfel-nav__item {
		width: 100% !important;
		display: block !important;
		border-bottom-style: var(--uddfel-vmenu-divider-style, none) !important;
		border-bottom-width: var(--uddfel-vmenu-divider-width, 1px) !important;
		border-bottom-color: var(--uddfel-vmenu-divider-color, rgba(255,255,255,0.08)) !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vdivider-no-last .uddfel-nav__menu > .uddfel-nav__item:last-child {
		border-bottom: none !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vlayout-auto .uddfel-nav__item {
		width: auto !important;
		align-self: var(--uddfel-vmenu-align, flex-start) !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__link {
		display: flex !important;
		width: 100% !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: var(--uddfel-vmenu-min-height, 44px) !important;
		padding: var(--uddfel-vmenu-pad-top, 12px) var(--uddfel-vmenu-pad-right, 14px) var(--uddfel-vmenu-pad-bottom, 12px) var(--uddfel-vmenu-pad-left, 14px) !important;
		border-radius: var(--uddfel-vmenu-radius, 0px) !important;
		color: var(--uddfel-vmenu-color, inherit) !important;
		background-color: var(--uddfel-vmenu-bg, transparent) !important;
		font-size: var(--uddfel-vmenu-font-size, inherit);
		font-weight: var(--uddfel-vmenu-font-weight, inherit);
		text-transform: var(--uddfel-vmenu-text-transform, inherit);
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vlayout-auto .uddfel-nav__link {
		width: auto !important;
		display: inline-flex !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__item:hover > .uddfel-nav__link {
		color: var(--uddfel-vmenu-hover-color, #8B6823) !important;
		background-color: var(--uddfel-vmenu-hover-bg, rgba(139,104,35,0.06)) !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__item.is-active > .uddfel-nav__link,
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__item.current-menu-item > .uddfel-nav__link {
		color: var(--uddfel-vmenu-active-color, #8B6823) !important;
		background-color: var(--uddfel-vmenu-active-bg, rgba(139,104,35,0.08)) !important;
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__item-arrow {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		margin-left: var(--uddfel-vmenu-arrow-gap, 12px);
		color: var(--uddfel-vmenu-arrow-color, inherit);
		font-size: var(--uddfel-vmenu-arrow-size, 13px);
		transition: transform 0.22s ease, color 0.22s ease;
	}

	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-hide {
		display: none !important;
	}
}

/* Mobile Preview in Elementor */
body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__mobile-bar,
body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__drawer-header,
body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__overlay {
	display: none !important;
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__panel {
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	padding: 0 !important;
	overflow: visible !important;
	display: block !important;
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__menu {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	align-items: var(--uddfel-vmenu-align, flex-start) !important;
	gap: var(--uddfel-vmenu-gap, 0px) !important;
	padding: 0 !important;
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__menu > .uddfel-nav__item {
	width: 100% !important;
	display: block !important;
	border-bottom-style: var(--uddfel-vmenu-divider-style, none) !important;
	border-bottom-width: var(--uddfel-vmenu-divider-width, 1px) !important;
	border-bottom-color: var(--uddfel-vmenu-divider-color, rgba(255,255,255,0.08)) !important;
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vdivider-no-last .uddfel-nav__menu > .uddfel-nav__item:last-child {
	border-bottom: none !important;
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__link {
	display: flex !important;
	width: 100% !important;
	align-items: center !important;
	justify-content: space-between !important;
	min-height: var(--uddfel-vmenu-min-height, 44px) !important;
	padding: var(--uddfel-vmenu-pad-top, 12px) var(--uddfel-vmenu-pad-right, 14px) var(--uddfel-vmenu-pad-bottom, 12px) var(--uddfel-vmenu-pad-left, 14px) !important;
	border-radius: var(--uddfel-vmenu-radius, 0px) !important;
	color: var(--uddfel-vmenu-color, inherit) !important;
	background-color: var(--uddfel-vmenu-bg, transparent) !important;
	font-size: var(--uddfel-vmenu-font-size, inherit);
	font-weight: var(--uddfel-vmenu-font-weight, inherit);
	text-transform: var(--uddfel-vmenu-text-transform, inherit);
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__item:hover > .uddfel-nav__link {
	color: var(--uddfel-vmenu-hover-color, #8B6823) !important;
	background-color: var(--uddfel-vmenu-hover-bg, rgba(139,104,35,0.06)) !important;
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__item.is-active > .uddfel-nav__link,
body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__item.current-menu-item > .uddfel-nav__link {
	color: var(--uddfel-vmenu-active-color, #8B6823) !important;
	background-color: var(--uddfel-vmenu-active-bg, rgba(139,104,35,0.08)) !important;
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__item-arrow {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin-left: var(--uddfel-vmenu-arrow-gap, 12px);
	color: var(--uddfel-vmenu-arrow-color, inherit);
	font-size: var(--uddfel-vmenu-arrow-size, 13px);
	transition: transform 0.22s ease, color 0.22s ease;
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-hide {
	display: none !important;
}

/* --- 4B. SUBMENU ITEM DIVIDERS (Independent from top-level) --- */
.uddfel-nav-wrapper.uddfel-nav--layout-vertical .uddfel-nav__sub-menu > .uddfel-nav__item,
.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__sub-menu > .uddfel-nav__item,
.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__sub-menu > .uddfel-nav__item,
.uddfel-offcanvas-content .uddfel-nav__sub-menu > .uddfel-nav__item,
.uddfel-offcanvas-panel .uddfel-nav__sub-menu > .uddfel-nav__item,
.uddfel-offcanvas-dialog .uddfel-nav__sub-menu > .uddfel-nav__item,
body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__sub-menu > .uddfel-nav__item,
body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__sub-menu > .uddfel-nav__item {
	width: 100% !important;
	display: block !important;
	border-bottom-style: var(--uddfel-vmenu-sub-divider-style, none) !important;
	border-bottom-width: var(--uddfel-vmenu-sub-divider-width, 1px) !important;
	border-bottom-color: var(--uddfel-vmenu-sub-divider-color, rgba(255,255,255,0.08)) !important;
}

.uddfel-nav-wrapper.uddfel-nav--vsub-divider-no-last .uddfel-nav__sub-menu > .uddfel-nav__item:last-child,
.uddfel-nav--vsub-divider-no-last-yes .uddfel-nav__sub-menu > .uddfel-nav__item:last-child,
.uddfel-nav--vsub-divider-no-last-yes .uddfel-nav-wrapper .uddfel-nav__sub-menu > .uddfel-nav__item:last-child {
	border-bottom: none !important;
}

/* Remove last top-level item divider when switcher is ON */
.uddfel-nav-wrapper.uddfel-nav--vdivider-no-last .uddfel-nav__menu > .uddfel-nav__item:last-child,
.uddfel-nav--vdivider-no-last-yes .uddfel-nav__menu > .uddfel-nav__item:last-child,
.uddfel-nav--vdivider-no-last-yes .uddfel-nav-wrapper .uddfel-nav__menu > .uddfel-nav__item:last-child {
	border-bottom: none !important;
}

/* --- 4C. FULL WIDTH STRETCH SYSTEM --- */
.uddfel-nav-wrapper.uddfel-nav--layout-vertical.uddfel-nav--vlayout-full_width,
.uddfel-nav-wrapper.uddfel-nav--layout-vertical.uddfel-nav--stretch-full,
.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vlayout-full_width,
.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--stretch-full,
.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vlayout-full_width,
.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--stretch-full,
.uddfel-nav--stretch-full-yes .uddfel-nav-wrapper,
.uddfel-nav--vlayout-full_width .uddfel-nav-wrapper,
.uddfel-offcanvas-content .uddfel-nav-wrapper,
.uddfel-offcanvas-panel .uddfel-nav-wrapper,
.uddfel-offcanvas-dialog .uddfel-nav-wrapper {
	width: 100% !important;
	max-width: 100% !important;
	flex-grow: 1 !important;
	align-self: stretch !important;
	box-sizing: border-box !important;
}

.uddfel-nav-wrapper.uddfel-nav--vlayout-full_width .uddfel-nav,
.uddfel-nav-wrapper.uddfel-nav--vlayout-full_width .uddfel-nav__panel,
.uddfel-nav-wrapper.uddfel-nav--vlayout-full_width .uddfel-nav__inner,
.uddfel-nav-wrapper.uddfel-nav--vlayout-full_width .uddfel-nav__menu,
.uddfel-nav-wrapper.uddfel-nav--stretch-full .uddfel-nav,
.uddfel-nav-wrapper.uddfel-nav--stretch-full .uddfel-nav__panel,
.uddfel-nav-wrapper.uddfel-nav--stretch-full .uddfel-nav__inner,
.uddfel-nav-wrapper.uddfel-nav--stretch-full .uddfel-nav__menu,
.uddfel-nav--stretch-full-yes .uddfel-nav,
.uddfel-nav--stretch-full-yes .uddfel-nav__panel,
.uddfel-nav--stretch-full-yes .uddfel-nav__inner,
.uddfel-nav--stretch-full-yes .uddfel-nav__menu,
.uddfel-offcanvas-content .uddfel-nav,
.uddfel-offcanvas-panel .uddfel-nav,
.uddfel-offcanvas-dialog .uddfel-nav,
.uddfel-offcanvas-content .uddfel-nav__panel,
.uddfel-offcanvas-panel .uddfel-nav__panel,
.uddfel-offcanvas-dialog .uddfel-nav__panel,
.uddfel-offcanvas-content .uddfel-nav__inner,
.uddfel-offcanvas-panel .uddfel-nav__inner,
.uddfel-offcanvas-dialog .uddfel-nav__inner,
.uddfel-offcanvas-content .uddfel-nav__menu,
.uddfel-offcanvas-panel .uddfel-nav__menu,
.uddfel-offcanvas-dialog .uddfel-nav__menu {
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
	box-sizing: border-box !important;
}

/* Ensure menu list flex items stretch across available container width */
.uddfel-nav-wrapper.uddfel-nav--vlayout-full_width .uddfel-nav__menu,
.uddfel-nav-wrapper.uddfel-nav--stretch-full .uddfel-nav__menu,
.uddfel-nav--stretch-full-yes .uddfel-nav__menu,
.uddfel-offcanvas-content .uddfel-nav__menu,
.uddfel-offcanvas-panel .uddfel-nav__menu,
.uddfel-offcanvas-dialog .uddfel-nav__menu {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
}

.uddfel-nav-wrapper.uddfel-nav--vlayout-full_width .uddfel-nav__menu > .uddfel-nav__item,
.uddfel-nav-wrapper.uddfel-nav--stretch-full .uddfel-nav__menu > .uddfel-nav__item,
.uddfel-nav--stretch-full-yes .uddfel-nav__menu > .uddfel-nav__item,
.uddfel-offcanvas-content .uddfel-nav__menu > .uddfel-nav__item,
.uddfel-offcanvas-panel .uddfel-nav__menu > .uddfel-nav__item,
.uddfel-offcanvas-dialog .uddfel-nav__menu > .uddfel-nav__item {
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
	box-sizing: border-box !important;
}

.uddfel-nav-wrapper.uddfel-nav--vlayout-full_width .uddfel-nav__link,
.uddfel-nav-wrapper.uddfel-nav--stretch-full .uddfel-nav__link,
.uddfel-nav--stretch-full-yes .uddfel-nav__link,
.uddfel-offcanvas-content .uddfel-nav__link,
.uddfel-offcanvas-panel .uddfel-nav__link,
.uddfel-offcanvas-dialog .uddfel-nav__link {
	width: 100% !important;
	box-sizing: border-box !important;
}

.elementor-widget-uddfel-navigation.uddfel-nav--vlayout-full_width,
.elementor-widget-uddfel-navigation.uddfel-nav--stretch-full,
.elementor-widget-uddfel-navigation.uddfel-nav--stretch-full-yes,
.elementor-widget-uddfel-navigation.uddfel-nav--layout-vertical,
.uddfel-offcanvas-content .elementor-widget-uddfel-navigation,
.uddfel-offcanvas-panel .elementor-widget-uddfel-navigation,
.uddfel-offcanvas-dialog .elementor-widget-uddfel-navigation {
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
	flex-grow: 1 !important;
}

.elementor-widget-uddfel-navigation.uddfel-nav--vlayout-full_width > .elementor-widget-container,
.elementor-widget-uddfel-navigation.uddfel-nav--stretch-full > .elementor-widget-container,
.elementor-widget-uddfel-navigation.uddfel-nav--stretch-full-yes > .elementor-widget-container,
.elementor-widget-uddfel-navigation.uddfel-nav--layout-vertical > .elementor-widget-container,
.uddfel-offcanvas-content .elementor-widget-uddfel-navigation > .elementor-widget-container,
.uddfel-offcanvas-panel .elementor-widget-uddfel-navigation > .elementor-widget-container,
.uddfel-offcanvas-dialog .elementor-widget-uddfel-navigation > .elementor-widget-container {
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
	box-sizing: border-box !important;
}

/* --- 5. ACTIVE INDICATORS IN VERTICAL MODE --- */
/* Left Bar */
.uddfel-nav-wrapper.uddfel-nav--v-indicator-left_bar.uddfel-nav--layout-vertical .uddfel-nav__item {
	position: relative;
}

.uddfel-nav-wrapper.uddfel-nav--v-indicator-left_bar.uddfel-nav--layout-vertical .uddfel-nav__indicator {
	position: absolute;
	left: var(--uddfel-vmenu-indicator-gap, 0px);
	top: 50%;
	transform: translateY(-50%) scaleY(0);
	transform-origin: center center;
	width: var(--uddfel-vmenu-indicator-width, 3px);
	height: var(--uddfel-vmenu-indicator-height, 100%);
	background-color: var(--uddfel-vmenu-indicator-color, #8B6823);
	border-radius: 2px;
	opacity: 0;
	transition: transform 0.22s cubic-bezier(0.2, 0, 0, 1), opacity 0.22s ease;
	pointer-events: none;
}

.uddfel-nav-wrapper.uddfel-nav--v-indicator-left_bar.uddfel-nav--layout-vertical .uddfel-nav__item.is-active > .uddfel-nav__link .uddfel-nav__indicator,
.uddfel-nav-wrapper.uddfel-nav--v-indicator-left_bar.uddfel-nav--layout-vertical .uddfel-nav__item.current-menu-item > .uddfel-nav__link .uddfel-nav__indicator,
.uddfel-nav-wrapper.uddfel-nav--v-indicator-left_bar.uddfel-nav--layout-vertical .uddfel-nav__item:hover > .uddfel-nav__link .uddfel-nav__indicator {
	transform: translateY(-50%) scaleY(1);
	opacity: 1;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item {
		position: relative;
	}
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__indicator {
		position: absolute;
		left: var(--uddfel-vmenu-indicator-gap, 0px);
		top: 50%;
		transform: translateY(-50%) scaleY(0);
		transform-origin: center center;
		width: var(--uddfel-vmenu-indicator-width, 3px);
		height: var(--uddfel-vmenu-indicator-height, 100%);
		background-color: var(--uddfel-vmenu-indicator-color, #8B6823);
		border-radius: 2px;
		opacity: 0;
		transition: transform 0.22s cubic-bezier(0.2, 0, 0, 1), opacity 0.22s ease;
		pointer-events: none;
	}
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item.is-active > .uddfel-nav__link .uddfel-nav__indicator,
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item.current-menu-item > .uddfel-nav__link .uddfel-nav__indicator,
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item:hover > .uddfel-nav__link .uddfel-nav__indicator {
		transform: translateY(-50%) scaleY(1);
		opacity: 1;
	}
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item {
	position: relative;
}
body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__indicator {
	position: absolute;
	left: var(--uddfel-vmenu-indicator-gap, 0px);
	top: 50%;
	transform: translateY(-50%) scaleY(0);
	transform-origin: center center;
	width: var(--uddfel-vmenu-indicator-width, 3px);
	height: var(--uddfel-vmenu-indicator-height, 100%);
	background-color: var(--uddfel-vmenu-indicator-color, #8B6823);
	border-radius: 2px;
	opacity: 0;
	transition: transform 0.22s cubic-bezier(0.2, 0, 0, 1), opacity 0.22s ease;
	pointer-events: none;
}
body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item.is-active > .uddfel-nav__link .uddfel-nav__indicator,
body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item.current-menu-item > .uddfel-nav__link .uddfel-nav__indicator,
body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item:hover > .uddfel-nav__link .uddfel-nav__indicator {
	transform: translateY(-50%) scaleY(1);
	opacity: 1;
}

@media (max-width: 767px) {
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item {
		position: relative;
	}
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__indicator {
		position: absolute;
		left: var(--uddfel-vmenu-indicator-gap, 0px);
		top: 50%;
		transform: translateY(-50%) scaleY(0);
		transform-origin: center center;
		width: var(--uddfel-vmenu-indicator-width, 3px);
		height: var(--uddfel-vmenu-indicator-height, 100%);
		background-color: var(--uddfel-vmenu-indicator-color, #8B6823);
		border-radius: 2px;
		opacity: 0;
		transition: transform 0.22s cubic-bezier(0.2, 0, 0, 1), opacity 0.22s ease;
		pointer-events: none;
	}
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item.is-active > .uddfel-nav__link .uddfel-nav__indicator,
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item.current-menu-item > .uddfel-nav__link .uddfel-nav__indicator,
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item:hover > .uddfel-nav__link .uddfel-nav__indicator {
		transform: translateY(-50%) scaleY(1);
		opacity: 1;
	}
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item {
	position: relative;
}
body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__indicator {
	position: absolute;
	left: var(--uddfel-vmenu-indicator-gap, 0px);
	top: 50%;
	transform: translateY(-50%) scaleY(0);
	transform-origin: center center;
	width: var(--uddfel-vmenu-indicator-width, 3px);
	height: var(--uddfel-vmenu-indicator-height, 100%);
	background-color: var(--uddfel-vmenu-indicator-color, #8B6823);
	border-radius: 2px;
	opacity: 0;
	transition: transform 0.22s cubic-bezier(0.2, 0, 0, 1), opacity 0.22s ease;
	pointer-events: none;
}
body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item.is-active > .uddfel-nav__link .uddfel-nav__indicator,
body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item.current-menu-item > .uddfel-nav__link .uddfel-nav__indicator,
body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--v-indicator-left_bar .uddfel-nav__item:hover > .uddfel-nav__link .uddfel-nav__indicator {
	transform: translateY(-50%) scaleY(1);
	opacity: 1;
}

/* Right Bar */
.uddfel-nav-wrapper.uddfel-nav--v-indicator-right_bar.uddfel-nav--layout-vertical .uddfel-nav__item {
	position: relative;
}
.uddfel-nav-wrapper.uddfel-nav--v-indicator-right_bar.uddfel-nav--layout-vertical .uddfel-nav__indicator {
	position: absolute;
	right: var(--uddfel-vmenu-indicator-gap, 0px);
	left: auto;
	top: 50%;
	transform: translateY(-50%) scaleY(0);
	transform-origin: center center;
	width: var(--uddfel-vmenu-indicator-width, 3px);
	height: var(--uddfel-vmenu-indicator-height, 100%);
	background-color: var(--uddfel-vmenu-indicator-color, #8B6823);
	border-radius: 2px;
	opacity: 0;
	transition: transform 0.22s cubic-bezier(0.2, 0, 0, 1), opacity 0.22s ease;
	pointer-events: none;
}
.uddfel-nav-wrapper.uddfel-nav--v-indicator-right_bar.uddfel-nav--layout-vertical .uddfel-nav__item.is-active > .uddfel-nav__link .uddfel-nav__indicator,
.uddfel-nav-wrapper.uddfel-nav--v-indicator-right_bar.uddfel-nav--layout-vertical .uddfel-nav__item.current-menu-item > .uddfel-nav__link .uddfel-nav__indicator,
.uddfel-nav-wrapper.uddfel-nav--v-indicator-right_bar.uddfel-nav--layout-vertical .uddfel-nav__item:hover > .uddfel-nav__link .uddfel-nav__indicator {
	transform: translateY(-50%) scaleY(1);
	opacity: 1;
}

/* Dot */
.uddfel-nav-wrapper.uddfel-nav--v-indicator-dot.uddfel-nav--layout-vertical .uddfel-nav__item {
	position: relative;
}
.uddfel-nav-wrapper.uddfel-nav--v-indicator-dot.uddfel-nav--layout-vertical .uddfel-nav__indicator {
	position: absolute;
	left: var(--uddfel-vmenu-indicator-gap, 6px);
	top: 50%;
	transform: translateY(-50%) scale(0);
	width: var(--uddfel-vmenu-indicator-width, 6px);
	height: var(--uddfel-vmenu-indicator-width, 6px);
	background-color: var(--uddfel-vmenu-indicator-color, #8B6823);
	border-radius: 50%;
	opacity: 0;
	transition: transform 0.22s cubic-bezier(0.2, 0, 0, 1), opacity 0.22s ease;
	pointer-events: none;
}
.uddfel-nav-wrapper.uddfel-nav--v-indicator-dot.uddfel-nav--layout-vertical .uddfel-nav__item.is-active > .uddfel-nav__link .uddfel-nav__indicator,
.uddfel-nav-wrapper.uddfel-nav--v-indicator-dot.uddfel-nav--layout-vertical .uddfel-nav__item.current-menu-item > .uddfel-nav__link .uddfel-nav__indicator,
.uddfel-nav-wrapper.uddfel-nav--v-indicator-dot.uddfel-nav--layout-vertical .uddfel-nav__item:hover > .uddfel-nav__link .uddfel-nav__indicator {
	transform: translateY(-50%) scale(1);
	opacity: 1;
}

/* --- 6. SUBMENU BEHAVIOR IN VERTICAL MODE --- */
/* Inline Accordion */
.uddfel-nav-wrapper.uddfel-nav--layout-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__sub-menu {
	display: none !important;
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	box-shadow: none !important;
	border: none !important;
	background: transparent !important;
	padding: 4px 0 8px var(--uddfel-vmenu-sub-indent, 18px) !important;
	gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
	box-sizing: border-box !important;
}

.uddfel-nav-wrapper.uddfel-nav--layout-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__item.is-submenu-open > .uddfel-nav__sub-menu,
.uddfel-offcanvas-content .uddfel-nav__item.is-submenu-open > .uddfel-nav__sub-menu,
.uddfel-offcanvas-panel .uddfel-nav__item.is-submenu-open > .uddfel-nav__sub-menu,
.uddfel-offcanvas-dialog .uddfel-nav__item.is-submenu-open > .uddfel-nav__sub-menu {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
}

.uddfel-nav-wrapper.uddfel-nav--layout-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__item.is-submenu-open > .uddfel-nav__link .uddfel-nav__arrow-icon,
.uddfel-offcanvas-content .uddfel-nav__item.is-submenu-open > .uddfel-nav__link .uddfel-nav__arrow-icon,
.uddfel-offcanvas-panel .uddfel-nav__item.is-submenu-open > .uddfel-nav__link .uddfel-nav__arrow-icon,
.uddfel-offcanvas-dialog .uddfel-nav__item.is-submenu-open > .uddfel-nav__link .uddfel-nav__arrow-icon {
	transform: rotate(180deg);
}

@media (min-width: 768px) and (max-width: 1024px) {
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__sub-menu {
		display: none !important;
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		box-shadow: none !important;
		border: none !important;
		background: transparent !important;
		padding: 4px 0 8px var(--uddfel-vmenu-sub-indent, 18px) !important;
		gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
		box-sizing: border-box !important;
	}
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__item.is-submenu-open > .uddfel-nav__sub-menu {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
	}
	.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__item.is-submenu-open > .uddfel-nav__link .uddfel-nav__arrow-icon {
		transform: rotate(180deg);
	}
}

body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__sub-menu {
	display: none !important;
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	box-shadow: none !important;
	border: none !important;
	background: transparent !important;
	padding: 4px 0 8px var(--uddfel-vmenu-sub-indent, 18px) !important;
	gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
	box-sizing: border-box !important;
}
body.elementor-device-tablet .uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__item.is-submenu-open > .uddfel-nav__sub-menu {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
}

@media (max-width: 767px) {
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__sub-menu {
		display: none !important;
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		box-shadow: none !important;
		border: none !important;
		background: transparent !important;
		padding: 4px 0 8px var(--uddfel-vmenu-sub-indent, 18px) !important;
		gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
		box-sizing: border-box !important;
	}
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__item.is-submenu-open > .uddfel-nav__sub-menu {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
	}
	.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__item.is-submenu-open > .uddfel-nav__link .uddfel-nav__arrow-icon {
		transform: rotate(180deg);
	}
}

body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__sub-menu {
	display: none !important;
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	box-shadow: none !important;
	border: none !important;
	background: transparent !important;
	padding: 4px 0 8px var(--uddfel-vmenu-sub-indent, 18px) !important;
	gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
	box-sizing: border-box !important;
}
body.elementor-device-mobile .uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vsub-inline_accordion .uddfel-nav__item.is-submenu-open > .uddfel-nav__sub-menu {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
}

/* Submenu Items Gap Fallback */
.uddfel-nav-wrapper.uddfel-nav--layout-vertical .uddfel-nav__sub-menu > .uddfel-nav__item:not(:last-child),
.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical .uddfel-nav__sub-menu > .uddfel-nav__item:not(:last-child),
.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical .uddfel-nav__sub-menu > .uddfel-nav__item:not(:last-child),
.uddfel-offcanvas-content .uddfel-nav__sub-menu > .uddfel-nav__item:not(:last-child),
.uddfel-offcanvas-panel .uddfel-nav__sub-menu > .uddfel-nav__item:not(:last-child),
.uddfel-offcanvas-dialog .uddfel-nav__sub-menu > .uddfel-nav__item:not(:last-child) {
	margin-bottom: var(--uddfel-vmenu-sub-gap, 6px) !important;
}

/* Always Expanded */
.uddfel-nav-wrapper.uddfel-nav--layout-vertical.uddfel-nav--vsub-always_expanded .uddfel-nav__sub-menu,
.uddfel-nav-wrapper.uddfel-nav--tablet-pres-vertical.uddfel-nav--vsub-always_expanded .uddfel-nav__sub-menu,
.uddfel-nav-wrapper.uddfel-nav--mobile-pres-vertical.uddfel-nav--vsub-always_expanded .uddfel-nav__sub-menu {
	display: flex !important;
	flex-direction: column !important;
	position: static !important;
	width: 100% !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	padding: 4px 0 8px var(--uddfel-vmenu-sub-indent, 18px) !important;
	gap: var(--uddfel-vmenu-sub-gap, 6px) !important;
	box-sizing: border-box !important;
}

.uddfel-nav-wrapper.uddfel-nav--vsub-always_expanded .uddfel-nav__sub-toggle {
	display: none !important;
}

/* Disable Children */
.uddfel-nav-wrapper.uddfel-nav--vsub-disable .uddfel-nav__sub-menu,
.uddfel-nav-wrapper.uddfel-nav--vsub-disable .uddfel-nav__sub-toggle {
	display: none !important;
}

/* --- 7. SAFEGUARD: NAV INSIDE AN OFF CANVAS WIDGET --- */
.uddfel-offcanvas-content .uddfel-nav-wrapper .uddfel-nav__mobile-bar,
.uddfel-offcanvas-panel .uddfel-nav-wrapper .uddfel-nav__mobile-bar,
.uddfel-offcanvas-content .uddfel-nav-wrapper .uddfel-nav__drawer-header,
.uddfel-offcanvas-panel .uddfel-nav-wrapper .uddfel-nav__drawer-header,
.uddfel-offcanvas-content .uddfel-nav-wrapper .uddfel-nav__overlay,
.uddfel-offcanvas-panel .uddfel-nav-wrapper .uddfel-nav__overlay {
	display: none !important;
}

.uddfel-offcanvas-content .uddfel-nav-wrapper .uddfel-nav__panel,
.uddfel-offcanvas-panel .uddfel-nav-wrapper .uddfel-nav__panel {
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	padding: 0 !important;
	overflow: visible !important;
	display: block !important;
}

.uddfel-offcanvas-content .uddfel-nav-wrapper,
.uddfel-offcanvas-panel .uddfel-nav-wrapper,
.uddfel-offcanvas-content .uddfel-nav-wrapper .uddfel-nav__inner,
.uddfel-offcanvas-panel .uddfel-nav-wrapper .uddfel-nav__inner,
.uddfel-offcanvas-content .uddfel-nav-wrapper .uddfel-nav__menu,
.uddfel-offcanvas-panel .uddfel-nav-wrapper .uddfel-nav__menu {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}
@media (prefers-reduced-motion: reduce) {

	.uddfel-nav,
	.uddfel-nav__menu,
	.uddfel-nav__link,
	.uddfel-nav__sub-menu,
	.uddfel-nav__mega,
	.uddfel-nav__panel,
	.uddfel-nav__overlay,
	.uddfel-nav__arrow-icon,
	.uddfel-nav__indicator,
	.uddfel-nav__mega-card {
		animation: none !important;
		transition-duration: 0.01ms !important;
		transform: none !important;
	}
}

/* ==========================================================================
   UDDFEL OFF CANVAS WIDGET 1.0
   ========================================================================== */

/* Body scroll lock */
body.uddfel-offcanvas-scroll-locked {
	overflow: hidden !important;
	touch-action: none;
}

/* Trigger wrapper & button */
.uddfel-offcanvas-wrapper {
	display: inline-block;
	vertical-align: middle;
	box-sizing: border-box;
}

/* Off-Canvas Trigger Button — Theme Reset Shield */
button.uddfel-offcanvas-trigger,
.uddfel-offcanvas-wrapper [type="button"].uddfel-offcanvas-trigger,
.uddfel-offcanvas-trigger {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	cursor: pointer;
	border-style: none;
	border-color: transparent;
	background: transparent;
	text-decoration: none !important;
	font-family: inherit;
	font-size: 16px;
	line-height: 1 !important;
	padding: 0;
	margin: 0;
	user-select: none;
	-webkit-appearance: none !important;
	appearance: none !important;
	transform: translateY(var(--uddfel-oc-trigger-translate-y, 0px)) scale(var(--uddfel-oc-trigger-scale, 1));
	transition: transform var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease),
		color var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease),
		background-color var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease),
		border-color var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease),
		box-shadow var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease);
}

/* Neutralize theme reset borders on trigger unless explicitly styled by Elementor */
button.uddfel-offcanvas-trigger:not([style*="border-style"]):not([class*="has-border"]) {
	border-width: 0;
	border-style: none;
	border-color: transparent;
}

button.uddfel-offcanvas-trigger:hover,
button.uddfel-offcanvas-trigger:focus,
.uddfel-offcanvas-wrapper [type="button"].uddfel-offcanvas-trigger:hover,
.uddfel-offcanvas-wrapper [type="button"].uddfel-offcanvas-trigger:focus {
	text-decoration: none !important;
}

.uddfel-offcanvas-trigger:focus:not(:focus-visible) {
	outline: none;
}

.uddfel-offcanvas-trigger:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.uddfel-offcanvas-trigger__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	flex-shrink: 0;
	color: inherit;
	pointer-events: none;
	transform: rotate(var(--uddfel-oc-trigger-icon-rotate, 0deg));
	transition: transform var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease),
		color var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease);
}

.uddfel-offcanvas-trigger__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
	pointer-events: none;
	transition: fill var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease),
		stroke var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease);
}

.uddfel-offcanvas-trigger__icon svg * {
	pointer-events: none;
	transition: fill var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease),
		stroke var(--uddfel-oc-trigger-duration, 200ms) var(--uddfel-oc-trigger-easing, ease);
}

.uddfel-offcanvas-trigger__icon img {
	display: block;
	max-width: 100%;
	height: auto;
	pointer-events: none;
}

.uddfel-offcanvas-trigger__text {
	display: inline-block;
	color: inherit;
}

/* Teleport Portal Container */
.uddfel-offcanvas-portal-root,
.uddfel-offcanvas-portal-widget,
.uddfel-offcanvas-portal-wrapper {
	position: static !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

/* Dialog Container */
.uddfel-offcanvas-dialog {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: var(--uddfel-oc-zindex, 99999) !important;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	box-sizing: border-box;
	transition: opacity var(--uddfel-oc-duration, 0.32s) var(--uddfel-oc-easing, cubic-bezier(0.16, 1, 0.3, 1)),
		visibility var(--uddfel-oc-duration, 0.32s) var(--uddfel-oc-easing, cubic-bezier(0.16, 1, 0.3, 1));
}

/* WordPress Admin Bar Compatibility */
body.admin-bar .uddfel-offcanvas-dialog {
	top: 32px !important;
	height: calc(100vh - 32px) !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar .uddfel-offcanvas-dialog {
		top: 46px !important;
		height: calc(100vh - 46px) !important;
	}
}

.uddfel-offcanvas-dialog.is-open,
.uddfel-offcanvas--editor-preview .uddfel-offcanvas-dialog {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

/* Overlay Backdrop */
.uddfel-offcanvas-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: var(--uddfel-oc-overlay-bg, rgba(14, 8, 0, 0.56));
	-webkit-backdrop-filter: blur(var(--uddfel-oc-overlay-blur, 0px));
	backdrop-filter: blur(var(--uddfel-oc-overlay-blur, 0px));
	opacity: 0;
	transition: opacity var(--uddfel-oc-duration, 0.32s) var(--uddfel-oc-easing, cubic-bezier(0.16, 1, 0.3, 1));
	cursor: pointer;
	z-index: 1;
}

.uddfel-offcanvas-dialog.is-open .uddfel-offcanvas-overlay,
.uddfel-offcanvas--editor-preview .uddfel-offcanvas-dialog .uddfel-offcanvas-overlay {
	opacity: 1;
}

/* Panel */
.uddfel-offcanvas-panel {
	position: absolute;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	background-color: #FFFFFF;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	overflow: hidden;
	z-index: 2;
	transition: transform var(--uddfel-oc-duration, 0.32s) var(--uddfel-oc-easing, cubic-bezier(0.16, 1, 0.3, 1)),
		opacity var(--uddfel-oc-duration, 0.32s) var(--uddfel-oc-easing, cubic-bezier(0.16, 1, 0.3, 1));
}

/* Panel Inner Content Container */
.uddfel-offcanvas-content {
	flex: 1 1 auto;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
	height: 100%;
	width: 100%;
}

/* Close Button — Theme Reset Shield */
button.uddfel-offcanvas-close,
.uddfel-offcanvas-dialog [type="button"].uddfel-offcanvas-close,
.uddfel-offcanvas-close {
	position: absolute;
	top: var(--uddfel-oc-close-top, 24px);
	right: var(--uddfel-oc-close-right, 24px);
	z-index: 99999 !important;
	pointer-events: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--uddfel-oc-close-size, 44px);
	height: var(--uddfel-oc-close-size, 44px);
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 50%;
	background: #FFFFFF;
	color: #181816;
	font-size: 18px;
	line-height: 1 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	cursor: pointer;
	transform: scale(var(--uddfel-oc-close-scale, 1)) rotate(var(--uddfel-oc-close-rotate, 0deg));
	transition: transform var(--uddfel-oc-close-duration, 200ms) var(--uddfel-oc-close-easing, ease),
		color var(--uddfel-oc-close-duration, 200ms) var(--uddfel-oc-close-easing, ease),
		background-color var(--uddfel-oc-close-duration, 200ms) var(--uddfel-oc-close-easing, ease),
		border-color var(--uddfel-oc-close-duration, 200ms) var(--uddfel-oc-close-easing, ease),
		box-shadow var(--uddfel-oc-close-duration, 200ms) var(--uddfel-oc-close-easing, ease);
}

.uddfel-offcanvas-close:focus {
	color: inherit;
}

.uddfel-offcanvas-close:focus:not(:focus-visible) {
	outline: none;
}

.uddfel-offcanvas-close:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.uddfel-offcanvas-close:active {
	color: inherit;
}

.uddfel-offcanvas-close__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	color: inherit;
	pointer-events: none;
}

.uddfel-offcanvas-close__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
	pointer-events: none;
	transition: fill var(--uddfel-oc-close-duration, 200ms) var(--uddfel-oc-close-easing, ease),
		stroke var(--uddfel-oc-close-duration, 200ms) var(--uddfel-oc-close-easing, ease);
}

.uddfel-offcanvas-close__icon svg * {
	pointer-events: none;
	transition: fill var(--uddfel-oc-close-duration, 200ms) var(--uddfel-oc-close-easing, ease),
		stroke var(--uddfel-oc-close-duration, 200ms) var(--uddfel-oc-close-easing, ease);
}

/* Panel Positions */
/* Right */
.uddfel-offcanvas--pos-right .uddfel-offcanvas-panel {
	top: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	width: var(--uddfel-oc-width, 440px);
	max-width: 100vw;
}

/* Left */
.uddfel-offcanvas--pos-left .uddfel-offcanvas-panel {
	top: 0;
	left: 0;
	bottom: 0;
	height: 100%;
	width: var(--uddfel-oc-width, 440px);
	max-width: 100vw;
}

/* Top */
.uddfel-offcanvas--pos-top .uddfel-offcanvas-panel {
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: var(--uddfel-oc-height, auto);
	min-height: var(--uddfel-oc-min-height, 280px);
	max-height: 100vh;
}

/* Bottom */
.uddfel-offcanvas--pos-bottom .uddfel-offcanvas-panel {
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: var(--uddfel-oc-height, auto);
	min-height: var(--uddfel-oc-min-height, 280px);
	max-height: 100vh;
}

/* Fullscreen */
.uddfel-offcanvas--pos-fullscreen .uddfel-offcanvas-panel {
	inset: 0;
	width: 100vw;
	height: 100vh;
	max-width: 100vw;
	max-height: 100vh;
}

/* ANIMATIONS */
/* 1. Slide */
.uddfel-offcanvas--anim-slide.uddfel-offcanvas--pos-right .uddfel-offcanvas-panel {
	transform: translate3d(100%, 0, 0);
}

.uddfel-offcanvas--anim-slide.uddfel-offcanvas--pos-left .uddfel-offcanvas-panel {
	transform: translate3d(-100%, 0, 0);
}

.uddfel-offcanvas--anim-slide.uddfel-offcanvas--pos-top .uddfel-offcanvas-panel {
	transform: translate3d(0, -100%, 0);
}

.uddfel-offcanvas--anim-slide.uddfel-offcanvas--pos-bottom .uddfel-offcanvas-panel {
	transform: translate3d(0, 100%, 0);
}

.uddfel-offcanvas--anim-slide.uddfel-offcanvas--pos-fullscreen .uddfel-offcanvas-panel {
	transform: translate3d(0, 100%, 0);
}

.uddfel-offcanvas--anim-slide .uddfel-offcanvas-dialog.is-open .uddfel-offcanvas-panel,
.uddfel-offcanvas--anim-slide.uddfel-offcanvas--editor-preview .uddfel-offcanvas-dialog .uddfel-offcanvas-panel {
	transform: translate3d(0, 0, 0);
}

/* 2. Fade */
.uddfel-offcanvas--anim-fade .uddfel-offcanvas-panel {
	opacity: 0;
	transform: none;
}

.uddfel-offcanvas--anim-fade .uddfel-offcanvas-dialog.is-open .uddfel-offcanvas-panel,
.uddfel-offcanvas--anim-fade.uddfel-offcanvas--editor-preview .uddfel-offcanvas-dialog .uddfel-offcanvas-panel {
	opacity: 1;
	transform: none;
}

/* 3. Slide + Fade */
.uddfel-offcanvas--anim-slide_fade.uddfel-offcanvas--pos-right .uddfel-offcanvas-panel {
	transform: translate3d(100%, 0, 0);
	opacity: 0;
}

.uddfel-offcanvas--anim-slide_fade.uddfel-offcanvas--pos-left .uddfel-offcanvas-panel {
	transform: translate3d(-100%, 0, 0);
	opacity: 0;
}

.uddfel-offcanvas--anim-slide_fade.uddfel-offcanvas--pos-top .uddfel-offcanvas-panel {
	transform: translate3d(0, -100%, 0);
	opacity: 0;
}

.uddfel-offcanvas--anim-slide_fade.uddfel-offcanvas--pos-bottom .uddfel-offcanvas-panel {
	transform: translate3d(0, 100%, 0);
	opacity: 0;
}

.uddfel-offcanvas--anim-slide_fade.uddfel-offcanvas--pos-fullscreen .uddfel-offcanvas-panel {
	transform: translate3d(0, 40px, 0);
	opacity: 0;
}

.uddfel-offcanvas--anim-slide_fade .uddfel-offcanvas-dialog.is-open .uddfel-offcanvas-panel,
.uddfel-offcanvas--anim-slide_fade.uddfel-offcanvas--editor-preview .uddfel-offcanvas-dialog .uddfel-offcanvas-panel {
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

/* 4. Zoom */
.uddfel-offcanvas--anim-zoom .uddfel-offcanvas-panel {
	opacity: 0;
	transform: scale(0.92);
}

.uddfel-offcanvas--anim-zoom .uddfel-offcanvas-dialog.is-open .uddfel-offcanvas-panel,
.uddfel-offcanvas--anim-zoom.uddfel-offcanvas--editor-preview .uddfel-offcanvas-dialog .uddfel-offcanvas-panel {
	opacity: 1;
	transform: scale(1);
}

/* Touch device hover guard */
@media (hover: none) {

	.uddfel-offcanvas-trigger,
	.uddfel-offcanvas-trigger__icon,
	.uddfel-offcanvas-close {
		transform: none !important;
	}
}

/* Reduced Motion Override */
@media (prefers-reduced-motion: reduce) {

	.uddfel-offcanvas-dialog,
	.uddfel-offcanvas-overlay,
	.uddfel-offcanvas-panel,
	.uddfel-offcanvas-trigger,
	.uddfel-offcanvas-trigger__icon,
	.uddfel-offcanvas-close {
		transition: none !important;
		animation: none !important;
		transform: none !important;
	}

	.uddfel-offcanvas-dialog:not(.is-open) .uddfel-offcanvas-panel {
		display: none !important;
	}

	.uddfel-offcanvas-dialog.is-open .uddfel-offcanvas-panel,
	.uddfel-offcanvas--editor-preview .uddfel-offcanvas-dialog .uddfel-offcanvas-panel {
		display: flex !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Content Sources: Search Form */
.uddfel-offcanvas-search-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 360px;
	padding: clamp(32px, 6vw, 80px) 24px;
	box-sizing: border-box;
}

.uddfel-offcanvas-search-heading {
	font-family: inherit;
	font-size: clamp(28px, 4.5vw, 54px);
	line-height: 1.15;
	font-weight: 600;
	color: #181816;
	margin: 0 0 28px;
	text-align: center;
}

.uddfel-offcanvas-search-form {
	display: flex;
	align-items: center;
	width: min(740px, 92vw);
	background: #FFFFFF;
	border: 1px solid rgba(139, 104, 35, 0.3);
	border-radius: 999px;
	padding: 8px 8px 8px 24px;
	box-shadow: 0 16px 48px rgba(14, 8, 0, 0.08);
	box-sizing: border-box;
}

.uddfel-offcanvas-search-form input[type="search"] {
	flex: 1 1 auto;
	border: none;
	background: transparent;
	font-family: inherit;
	font-size: 16px;
	color: #181816;
	outline: none;
	min-width: 0;
	padding: 6px 0;
}

.uddfel-offcanvas-search-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	background: #8B6823;
	color: #FFFFFF;
	cursor: pointer;
	flex-shrink: 0;
	transition: background-color 0.2s ease;
	padding: 0;
}

.uddfel-offcanvas-search-form button[type="submit"]:hover {
	background: #6F4D09;
}

.uddfel-offcanvas-search-form button[type="submit"]:focus-visible {
	outline: 2px solid #8B6823;
	outline-offset: 2px;
}

/* Content Sources: Menu */
.uddfel-offcanvas-menu-wrap {
	width: 100%;
	padding: 32px 24px;
	box-sizing: border-box;
}

.uddfel-offcanvas-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.uddfel-offcanvas-menu li {
	margin: 0;
	padding: 0;
}

.uddfel-offcanvas-menu li a {
	display: block;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 500;
	color: #181816;
	text-decoration: none;
	padding: 10px 14px;
	border-radius: 8px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.uddfel-offcanvas-menu li a:hover,
.uddfel-offcanvas-menu li.current-menu-item>a {
	background-color: rgba(139, 104, 35, 0.08);
	color: #8B6823;
}

.uddfel-offcanvas-menu .sub-menu {
	list-style: none;
	margin: 4px 0 6px 16px;
	padding: 0 0 0 12px;
	border-left: 2px solid rgba(139, 104, 35, 0.2);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.uddfel-offcanvas-menu .sub-menu li a {
	font-size: 14px;
	color: #4B453B;
	padding: 6px 10px;
}

/* ==========================================================================
   UDDFEL SUITE — ADVANCED HEADING WIDGET 1.0
   ========================================================================== */

.uddfel-advanced-heading-wrapper {
	box-sizing: border-box;
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

/* Eyebrow / Subheading */
.uddfel-heading-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	width: 100%;
}

.uddfel-eyebrow-line {
	display: inline-block;
	width: 40px;
	height: 3px;
	background-color: #8B6823;
	border-radius: 2px;
	flex-shrink: 0;
}

.uddfel-eyebrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
	color: #8B6823;
}

.uddfel-eyebrow-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.uddfel-eyebrow-text {
	font-family: inherit;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #8B6823;
}

/* Main Heading Tag */
.uddfel-heading-tag {
	margin: 0;
	padding: 0;
	word-break: break-word;
	overflow-wrap: anywhere;
	line-height: 1.2;
	transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Supporting Text / Description */
.uddfel-heading-supporting-text {
	box-sizing: border-box;
	display: block;
	margin-top: calc(var(--uddfel-heading-supporting-gap, 18px) + var(--uddfel-supporting-margin-top, 0px));
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	line-height: 1.6;
	word-break: break-word;
	overflow-wrap: anywhere;
}

/* Heading Segments */
.uddfel-heading-segment {
	display: inline;
	vertical-align: baseline;
	transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		background-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		border-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		text-decoration-thickness 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		-webkit-text-stroke-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		filter 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.uddfel-heading-segment.uddfel-segment--block {
	display: block;
}

.uddfel-heading-br {
	display: block;
	content: "";
	margin-top: 0;
}

/* Presets */
.uddfel-segment--normal {
	font-weight: inherit;
}

.uddfel-segment--bold {
	font-weight: 700;
}

.uddfel-segment--accent {
	color: #8B6823;
	transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.uddfel-segment--highlight {
	background-color: rgba(139, 104, 35, 0.15);
	padding: 0.1em 0.35em;
	border-radius: 4px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		background-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.uddfel-segment--pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	box-sizing: border-box;
	line-height: 1.1;
	padding: 6px 28px;
	border-radius: 9999px;
	background-color: rgba(183, 144, 61, 0.48);
	border: 1px solid rgba(168, 139, 74, 0.8);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	font-weight: 900;
	margin: 2px 4px;
	cursor: default;
	transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		background-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		border-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.uddfel-segment--underline {
	text-decoration: underline;
	text-decoration-color: #8B6823;
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
	text-decoration-skip-ink: auto;
	transition: text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		text-decoration-thickness 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.uddfel-segment--marker {
	background: linear-gradient(180deg, transparent 55%, rgba(139, 104, 35, 0.35) 55%);
	padding: 0 4px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.uddfel-segment--outline {
	-webkit-text-stroke-width: 1.5px;
	-webkit-text-stroke-color: currentColor;
	color: transparent;
	display: inline-block;
	transition: -webkit-text-stroke-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.uddfel-segment--gradient,
.uddfel-heading-grad--sheen_slash .uddfel-segment--gradient {
	background: linear-gradient(var(--uddfel-grad-angle, 115deg),
			var(--uddfel-grad-base, #181816) 0%,
			var(--uddfel-grad-base, #181816) calc(var(--uddfel-grad-pos, 48%) - var(--uddfel-grad-width, 18%)),
			var(--uddfel-grad-sheen, rgba(255, 255, 255, 0.85)) var(--uddfel-grad-pos, 48%),
			var(--uddfel-grad-base, #181816) calc(var(--uddfel-grad-pos, 48%) + var(--uddfel-grad-width, 18%)),
			var(--uddfel-grad-base, #181816) 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	display: inline-block;
	transition: filter 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.uddfel-heading-grad--linear_fade .uddfel-segment--gradient {
	background: linear-gradient(var(--uddfel-fade-angle, 135deg),
			var(--uddfel-grad-c1, #8B6823) var(--uddfel-grad-c1-stop, 0%),
			var(--uddfel-grad-c2, #D4AF37) var(--uddfel-grad-c2-stop, 100%)) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	display: inline-block;
	transition: filter 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Responsive: Pill and BR adjustments */
@media (max-width: 1024px) {
	.uddfel-segment--pill {
		padding: 5px 18px;
		margin: 2px 3px;
	}
}

@media (max-width: 767px) {
	.uddfel-heading-hide-br-mobile br.uddfel-heading-br {
		display: inline;
		content: " ";
	}

	.uddfel-segment--pill {
		padding: 4px 12px;
		margin: 2px 2px;
		max-width: 100%;
		white-space: normal;
		text-align: center;
	}
}

/* ==========================================================================
   UDDFEL SUITE — INTERACTIVE SHOWCASE WIDGET 1.0
   ========================================================================== */

.uddfel-interactive-showcase {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	position: relative;
	--uddfel-showcase-duration: 350ms;
}

/* Layout Variations */
.uddfel-showcase-layout--visual-left .uddfel-interactive-showcase {
	flex-direction: row;
}

.uddfel-showcase-layout--visual-right .uddfel-interactive-showcase {
	flex-direction: row-reverse;
}

.uddfel-showcase-layout--visual-top .uddfel-interactive-showcase {
	flex-direction: column;
}

.uddfel-showcase-layout--visual-bottom .uddfel-interactive-showcase {
	flex-direction: column-reverse;
}

/* Visual Media Panel */
.uddfel-showcase-visual-col {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	background-color: #23221F;
	border-radius: 37px;
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45);
	flex-shrink: 0;
}

.uddfel-showcase-image-stack {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
}

.uddfel-showcase-img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
	opacity: 0;
	z-index: 1;
	transition: opacity var(--uddfel-showcase-duration, 350ms) ease;
}

.uddfel-showcase-img.is-active {
	opacity: 1;
	z-index: 2;
}

/* Transitions */
.uddfel-showcase-trans--zoom .uddfel-showcase-img {
	transform: scale(1.04);
	transition: opacity var(--uddfel-showcase-duration, 350ms) ease, transform calc(var(--uddfel-showcase-duration, 350ms) * 1.2) ease;
}

.uddfel-showcase-trans--zoom .uddfel-showcase-img.is-active {
	transform: scale(1);
}

.uddfel-showcase-trans--slide .uddfel-showcase-img {
	transform: translateY(18px);
	transition: opacity var(--uddfel-showcase-duration, 350ms) ease, transform var(--uddfel-showcase-duration, 350ms) ease;
}

.uddfel-showcase-trans--slide .uddfel-showcase-img.is-active {
	transform: translateY(0);
}

.uddfel-showcase-trans--none .uddfel-showcase-img {
	display: none;
	transition: none;
}

.uddfel-showcase-trans--none .uddfel-showcase-img.is-active {
	display: block;
}

/* Vignette Overlay */
.uddfel-showcase-visual-col.has-vignette::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 140px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
	z-index: 3;
	pointer-events: none;
}

/* Visual Panel CTA */
.uddfel-showcase-cta-wrap {
	position: absolute;
	z-index: 10;
	pointer-events: auto;
	display: flex;
}

.uddfel-cta-pos--bottom-center {
	bottom: 33px;
	left: 50%;
	transform: translateX(-50%);
}

.uddfel-cta-pos--bottom-left {
	bottom: 33px;
	left: 33px;
}

.uddfel-cta-pos--bottom-right {
	bottom: 33px;
	right: 33px;
}

.uddfel-cta-pos--top-right {
	top: 33px;
	right: 33px;
}

.uddfel-showcase-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 10px 24px;
	border-radius: 9999px;
	background-color: #8B6823;
	color: #FFFFFF;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
	transition: all 0.25s ease;
	cursor: pointer;
	border: none;
	outline: none;
}

.uddfel-showcase-cta-btn:hover {
	background-color: #6F4D09;
	color: #FFFFFF;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.uddfel-showcase-cta-icon {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

.uddfel-showcase-cta-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* Interactive List */
.uddfel-showcase-list-col {
	display: flex;
	flex-direction: column;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-showcase-divider {
	width: 100%;
	height: 1px;
	background-color: rgba(255, 255, 255, 0.20);
	border: none;
	margin: 0;
	flex-shrink: 0;
}

/* List Item Tab Button */
.uddfel-showcase-tab {
	display: block;
	width: 100%;
	padding: 22px 0;
	cursor: pointer;
	background: transparent;
	border: none;
	text-align: left;
	outline: none;
	transition: all 0.25s ease;
	user-select: none;
	box-sizing: border-box;
	text-decoration: none;
}

.uddfel-showcase-tab:focus-visible {
	outline: 2px solid #8B6823;
	outline-offset: 4px;
	border-radius: 4px;
}

.uddfel-showcase-tab-subtitle {
	display: block;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #8B6823;
	margin-bottom: 6px;
}

.uddfel-showcase-tab-title {
	display: block;
	font-family: 'Inter Tight', sans-serif;
	font-size: 38px;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: 2px;
	color: #FFFFFF;
	margin: 0;
	transition: all 0.25s ease;
	pointer-events: none;
	word-break: break-word;
}

.uddfel-showcase-tab-desc {
	display: block;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.7);
	margin-top: 8px;
}

/* Active State */
.uddfel-showcase-tab.is-active .uddfel-showcase-tab-title {
	color: #DAC289;
	font-weight: 900;
	letter-spacing: 2.8px;
}

/* Hover State (Non-Active) */
.uddfel-interactive-showcase .uddfel-showcase-tab:hover .uddfel-showcase-tab-title {
	color: rgba(255, 255, 255, 0.88);
	transform: translateX(6px);
}

/* Responsive */
@media (max-width: 1024px) {
	.uddfel-interactive-showcase {
		flex-direction: column;
		align-items: center;
		gap: 48px;
	}

	.uddfel-showcase-visual-col {
		width: 100%;
		max-width: 487px;
		height: auto;
		aspect-ratio: 1/1;
		flex: 0 0 auto;
	}

	.uddfel-showcase-list-col {
		width: 100%;
		max-width: 580px;
	}

	.uddfel-showcase-tab-title {
		font-size: 30px;
	}
}

@media (max-width: 600px) {
	.uddfel-showcase-visual-col {
		border-radius: 26px;
	}

	.uddfel-showcase-tab {
		padding: 16px 0;
	}

	.uddfel-showcase-tab-title {
		font-size: 22px;
		line-height: 1.3;
		letter-spacing: 1px;
	}
}

/* Respect Reduced Motion */
@media (prefers-reduced-motion: reduce) {

	.uddfel-showcase-img,
	.uddfel-showcase-tab-title,
	.uddfel-showcase-cta-btn {
		transition: none !important;
		transform: none !important;
	}
}

/* ==========================================================================
   UDDFEL SUITE — INTERACTIVE SHOWCASE 1.1 PREMIUM REFINEMENT
   ========================================================================== */
.uddfel-interactive-showcase,
.uddfel-interactive-showcase *,
.uddfel-interactive-showcase *::before,
.uddfel-interactive-showcase *::after {
	box-sizing: border-box;
}

.uddfel-interactive-showcase,
.uddfel-showcase-visual-region,
.uddfel-showcase-visual-col,
.uddfel-showcase-list-col,
.uddfel-showcase-list-items,
.uddfel-showcase-tab,
.uddfel-showcase-tab-title,
.uddfel-showcase-description {
	min-width: 0;
	max-width: 100%;
}

.uddfel-showcase-visual-region {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: stretch;
	gap: 18px;
}

.uddfel-showcase-list-col,
.uddfel-showcase-list-items {
	display: flex;
	flex-direction: column;
}

.uddfel-showcase-list-col {
	flex: 1 1 auto;
}

.uddfel-showcase-list-items {
	width: 100%;
	flex: 1 1 auto;
}

.uddfel-list-height--match .uddfel-interactive-showcase {
	align-items: stretch;
}

.uddfel-list-height--match .uddfel-showcase-list-col {
	height: auto;
	align-self: stretch;
}

.uddfel-showcase-tab {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	flex: 0 0 auto;
	overflow: visible;
	transform: translate(var(--uddfel-item-x, 0), var(--uddfel-item-y, 0)) scale(var(--uddfel-item-scale, 1));
	transform-origin: center;
	transition: color .25s ease, background-color .25s ease, border-color .25s ease, border-radius .25s ease, box-shadow .25s ease, opacity .25s ease, transform .25s ease;
}

.uddfel-showcase-tab-title {
	white-space: normal;
	overflow: visible;
	overflow-wrap: anywhere;
	word-break: normal;
	hyphens: auto;
}

.uddfel-interactive-showcase .uddfel-showcase-tab:hover {
	--uddfel-item-x: var(--uddfel-item-hover-x, 0px);
	--uddfel-item-y: var(--uddfel-item-hover-y, 0px);
	--uddfel-item-scale: var(--uddfel-item-hover-scale, 1);
}

.uddfel-showcase-tab.is-active {
	--uddfel-item-x: var(--uddfel-item-active-x, 0px);
	--uddfel-item-y: var(--uddfel-item-active-y, 0px);
	--uddfel-item-scale: var(--uddfel-item-active-scale, 1);
}

.uddfel-interactive-showcase .uddfel-showcase-tab:focus,
.uddfel-interactive-showcase .uddfel-showcase-tab:focus-visible {
	background-color: transparent;
	box-shadow: none;
	color: inherit;
	outline: 2px solid #8B6823 !important;
	outline-offset: 4px;
}

.uddfel-interactive-showcase.uddfel-hover-micro--lift .uddfel-showcase-tab:hover {
	--uddfel-item-hover-y: -4px;
}

.uddfel-interactive-showcase.uddfel-hover-micro--scale .uddfel-showcase-tab:hover {
	--uddfel-item-hover-scale: 1.02;
}

.uddfel-interactive-showcase.uddfel-hover-micro--slide .uddfel-showcase-tab:hover {
	--uddfel-item-hover-x: 6px;
}

.uddfel-interactive-showcase.uddfel-hover-micro--glow.uddfel-hover-glow-target--item .uddfel-showcase-tab:hover,
.uddfel-interactive-showcase.uddfel-hover-micro--glow.uddfel-hover-glow-target--both .uddfel-showcase-tab:hover,
.uddfel-interactive-showcase.has-hover-glow.uddfel-hover-glow-target--item .uddfel-showcase-tab:hover,
.uddfel-interactive-showcase.has-hover-glow.uddfel-hover-glow-target--both .uddfel-showcase-tab:hover {
	box-shadow: 0 0 var(--uddfel-hover-glow-blur, 24px) var(--uddfel-hover-glow-spread, 0) var(--uddfel-hover-glow-color, rgba(139, 104, 35, .35));
	box-shadow: 0 0 var(--uddfel-hover-glow-blur, 24px) var(--uddfel-hover-glow-spread, 0) color-mix(in srgb, var(--uddfel-hover-glow-color, #8B6823) calc(var(--uddfel-hover-glow-opacity, .35) * 100%), transparent);
}

.uddfel-interactive-showcase.uddfel-hover-micro--glow.uddfel-hover-glow-target--title .uddfel-showcase-tab:hover .uddfel-showcase-tab-title,
.uddfel-interactive-showcase.uddfel-hover-micro--glow.uddfel-hover-glow-target--both .uddfel-showcase-tab:hover .uddfel-showcase-tab-title,
.uddfel-interactive-showcase.has-hover-glow.uddfel-hover-glow-target--title .uddfel-showcase-tab:hover .uddfel-showcase-tab-title,
.uddfel-interactive-showcase.has-hover-glow.uddfel-hover-glow-target--both .uddfel-showcase-tab:hover .uddfel-showcase-tab-title {
	text-shadow: 0 0 max(0px, calc(var(--uddfel-hover-glow-blur, 24px) + var(--uddfel-hover-glow-spread, 0px))) var(--uddfel-hover-glow-color, rgba(139, 104, 35, .35));
	text-shadow: 0 0 max(0px, calc(var(--uddfel-hover-glow-blur, 24px) + var(--uddfel-hover-glow-spread, 0px))) color-mix(in srgb, var(--uddfel-hover-glow-color, #8B6823) calc(var(--uddfel-hover-glow-opacity, .35) * 100%), transparent);
}

.uddfel-active-micro--lift .uddfel-showcase-tab.is-active {
	--uddfel-item-active-y: -4px;
}

.uddfel-active-micro--scale .uddfel-showcase-tab.is-active {
	--uddfel-item-active-scale: 1.02;
}

.uddfel-active-micro--slide .uddfel-showcase-tab.is-active {
	--uddfel-item-active-x: 6px;
}

.uddfel-interactive-showcase.uddfel-active-micro--glow.uddfel-active-glow-target--item .uddfel-showcase-tab.is-active,
.uddfel-interactive-showcase.uddfel-active-micro--glow.uddfel-active-glow-target--both .uddfel-showcase-tab.is-active,
.uddfel-interactive-showcase.has-active-glow.uddfel-active-glow-target--item .uddfel-showcase-tab.is-active,
.uddfel-interactive-showcase.has-active-glow.uddfel-active-glow-target--both .uddfel-showcase-tab.is-active {
	box-shadow: 0 0 var(--uddfel-active-glow-blur, 28px) var(--uddfel-active-glow-spread, 0) var(--uddfel-active-glow-color, rgba(139, 104, 35, .35));
	box-shadow: 0 0 var(--uddfel-active-glow-blur, 28px) var(--uddfel-active-glow-spread, 0) color-mix(in srgb, var(--uddfel-active-glow-color, #8B6823) calc(var(--uddfel-active-glow-opacity, .35) * 100%), transparent);
}

.uddfel-interactive-showcase.uddfel-active-micro--glow.uddfel-active-glow-target--title .uddfel-showcase-tab.is-active .uddfel-showcase-tab-title,
.uddfel-interactive-showcase.uddfel-active-micro--glow.uddfel-active-glow-target--both .uddfel-showcase-tab.is-active .uddfel-showcase-tab-title,
.uddfel-interactive-showcase.has-active-glow.uddfel-active-glow-target--title .uddfel-showcase-tab.is-active .uddfel-showcase-tab-title,
.uddfel-interactive-showcase.has-active-glow.uddfel-active-glow-target--both .uddfel-showcase-tab.is-active .uddfel-showcase-tab-title {
	text-shadow: 0 0 max(0px, calc(var(--uddfel-active-glow-blur, 28px) + var(--uddfel-active-glow-spread, 0px))) var(--uddfel-active-glow-color, rgba(139, 104, 35, .35));
	text-shadow: 0 0 max(0px, calc(var(--uddfel-active-glow-blur, 28px) + var(--uddfel-active-glow-spread, 0px))) color-mix(in srgb, var(--uddfel-active-glow-color, #8B6823) calc(var(--uddfel-active-glow-opacity, .35) * 100%), transparent);
}

/* Persistent-hover state: explicit Hover glow wins while the selected item is under the pointer. */
.uddfel-interactive-showcase.uddfel-hover-micro--glow.uddfel-hover-glow-target--item .uddfel-showcase-tab.is-active:hover,
.uddfel-interactive-showcase.uddfel-hover-micro--glow.uddfel-hover-glow-target--both .uddfel-showcase-tab.is-active:hover,
.uddfel-interactive-showcase.has-hover-glow.uddfel-hover-glow-target--item .uddfel-showcase-tab.is-active:hover,
.uddfel-interactive-showcase.has-hover-glow.uddfel-hover-glow-target--both .uddfel-showcase-tab.is-active:hover {
	box-shadow: 0 0 var(--uddfel-hover-glow-blur, 24px) var(--uddfel-hover-glow-spread, 0) var(--uddfel-hover-glow-color, rgba(139, 104, 35, .35));
	box-shadow: 0 0 var(--uddfel-hover-glow-blur, 24px) var(--uddfel-hover-glow-spread, 0) color-mix(in srgb, var(--uddfel-hover-glow-color, #8B6823) calc(var(--uddfel-hover-glow-opacity, .35) * 100%), transparent);
}

.uddfel-interactive-showcase.uddfel-hover-micro--glow.uddfel-hover-glow-target--title .uddfel-showcase-tab.is-active:hover .uddfel-showcase-tab-title,
.uddfel-interactive-showcase.uddfel-hover-micro--glow.uddfel-hover-glow-target--both .uddfel-showcase-tab.is-active:hover .uddfel-showcase-tab-title,
.uddfel-interactive-showcase.has-hover-glow.uddfel-hover-glow-target--title .uddfel-showcase-tab.is-active:hover .uddfel-showcase-tab-title,
.uddfel-interactive-showcase.has-hover-glow.uddfel-hover-glow-target--both .uddfel-showcase-tab.is-active:hover .uddfel-showcase-tab-title {
	text-shadow: 0 0 max(0px, calc(var(--uddfel-hover-glow-blur, 24px) + var(--uddfel-hover-glow-spread, 0px))) var(--uddfel-hover-glow-color, rgba(139, 104, 35, .35));
	text-shadow: 0 0 max(0px, calc(var(--uddfel-hover-glow-blur, 24px) + var(--uddfel-hover-glow-spread, 0px))) color-mix(in srgb, var(--uddfel-hover-glow-color, #8B6823) calc(var(--uddfel-hover-glow-opacity, .35) * 100%), transparent);
}

.uddfel-interactive-showcase.uddfel-active-surface--tint .uddfel-showcase-tab.is-active {
	background: rgba(139, 104, 35, .10);
}

.uddfel-interactive-showcase.uddfel-active-surface--border .uddfel-showcase-tab.is-active {
	border: 1px solid rgba(139, 104, 35, .55);
}

.uddfel-interactive-showcase.uddfel-active-surface--glass .uddfel-showcase-tab.is-active {
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .16);
	backdrop-filter: blur(var(--uddfel-active-surface-blur, 14px)) saturate(130%);
	-webkit-backdrop-filter: blur(var(--uddfel-active-surface-blur, 14px)) saturate(130%);
}

.uddfel-interactive-showcase.uddfel-active-surface--glow .uddfel-showcase-tab.is-active {
	box-shadow: 0 0 var(--uddfel-active-glow-blur, 32px) var(--uddfel-active-glow-spread, 0) var(--uddfel-active-glow-color, rgba(139, 104, 35, .32));
}

/* Active descriptions */
.uddfel-showcase-description {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	line-height: 1.55;
	color: rgba(255, 255, 255, .72);
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
	opacity: var(--uddfel-desc-opacity, 1);
	transition: opacity var(--uddfel-showcase-duration, 350ms) ease, transform var(--uddfel-showcase-duration, 350ms) ease, max-height var(--uddfel-showcase-duration, 350ms) ease;
}

.uddfel-showcase-tab-desc.uddfel-showcase-description[hidden] {
	display: none;
}

.uddfel-showcase-tab.is-active .uddfel-showcase-tab-desc.uddfel-showcase-description {
	display: block;
}

.uddfel-desc-transition--fade-slide .uddfel-showcase-description {
	transform: translateY(0);
}

.uddfel-desc-transition--expand-fade .uddfel-showcase-description {
	overflow: hidden;
}

.uddfel-desc-transition--none .uddfel-showcase-description {
	transition: none;
}

.uddfel-desc-transition--fade .uddfel-showcase-description-region.is-changing {
	animation: uddfelShowcaseDescriptionFade var(--uddfel-showcase-duration, 350ms) ease both;
}

.uddfel-desc-transition--fade-slide .uddfel-showcase-description-region.is-changing {
	animation: uddfelShowcaseDescriptionSlide var(--uddfel-showcase-duration, 350ms) ease both;
}

.uddfel-desc-transition--expand-fade .uddfel-showcase-description-region.is-changing {
	animation: uddfelShowcaseDescriptionExpand var(--uddfel-showcase-duration, 350ms) ease both;
}

@keyframes uddfelShowcaseDescriptionFade {
	from {
		opacity: 0;
	}

	to {
		opacity: var(--uddfel-desc-opacity, 1);
	}
}

@keyframes uddfelShowcaseDescriptionSlide {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

	to {
		opacity: var(--uddfel-desc-opacity, 1);
		transform: translateY(0);
	}
}

@keyframes uddfelShowcaseDescriptionExpand {
	from {
		opacity: 0;
		clip-path: inset(0 0 100% 0);
	}

	to {
		opacity: var(--uddfel-desc-opacity, 1);
		clip-path: inset(0);
	}
}

.uddfel-showcase-description--below-list {
	margin-top: 18px;
}

.uddfel-showcase-description--overlay {
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 88px;
	z-index: 6;
	padding: 14px 16px;
	background: rgba(14, 8, 0, .46);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 14px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

/* Independent active indicator */
.uddfel-showcase-active-indicator {
	position: absolute;
	display: none;
	pointer-events: none;
	background: var(--uddfel-indicator-color, #8B6823);
	border-radius: var(--uddfel-indicator-radius, 999px);
}

.uddfel-showcase-tab.is-active .uddfel-showcase-active-indicator {
	display: block;
}

.uddfel-indicator--left-line .uddfel-showcase-active-indicator,
.uddfel-indicator--right-line .uddfel-showcase-active-indicator {
	top: 50%;
	width: var(--uddfel-indicator-thickness, 3px);
	height: var(--uddfel-indicator-length, 36px);
	transform: translateY(-50%);
}

.uddfel-indicator--left-line .uddfel-showcase-active-indicator {
	left: var(--uddfel-indicator-offset, 0);
}

.uddfel-indicator--right-line .uddfel-showcase-active-indicator {
	right: var(--uddfel-indicator-offset, 0);
}

.uddfel-indicator--top-line .uddfel-showcase-active-indicator,
.uddfel-indicator--bottom-line .uddfel-showcase-active-indicator {
	left: 50%;
	width: var(--uddfel-indicator-length, 36px);
	height: var(--uddfel-indicator-thickness, 3px);
	transform: translateX(-50%);
}

.uddfel-indicator--top-line .uddfel-showcase-active-indicator {
	top: var(--uddfel-indicator-offset, 0);
}

.uddfel-indicator--bottom-line .uddfel-showcase-active-indicator {
	bottom: var(--uddfel-indicator-offset, 0);
}

.uddfel-indicator--dot .uddfel-showcase-active-indicator {
	left: var(--uddfel-indicator-offset, 0);
	top: 50%;
	width: var(--uddfel-indicator-size, 8px);
	height: var(--uddfel-indicator-size, 8px);
	transform: translateY(-50%);
}

.uddfel-indicator--pill .uddfel-showcase-active-indicator {
	left: var(--uddfel-indicator-offset, 0);
	top: 50%;
	width: var(--uddfel-indicator-size, 8px);
	height: var(--uddfel-indicator-length, 36px);
	transform: translateY(-50%);
}

.uddfel-indicator--corner .uddfel-showcase-active-indicator {
	top: var(--uddfel-indicator-offset, 0);
	left: var(--uddfel-indicator-offset, 0);
	width: var(--uddfel-indicator-length, 22px);
	height: var(--uddfel-indicator-thickness, 3px);
}

.uddfel-indicator--corner .uddfel-showcase-active-indicator::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: var(--uddfel-indicator-thickness, 3px);
	height: var(--uddfel-indicator-length, 22px);
	background: inherit;
	border-radius: inherit;
}

/* Media treatment */
.uddfel-showcase-media-overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: none;
	pointer-events: none;
}

.uddfel-media-overlay--solid .uddfel-showcase-media-overlay {
	display: block;
	background: var(--uddfel-overlay-c1, rgba(14, 8, 0, .38));
}

.uddfel-media-overlay--linear .uddfel-showcase-media-overlay {
	display: block;
	background: linear-gradient(var(--uddfel-overlay-angle, 180deg), var(--uddfel-overlay-c1, rgba(14, 8, 0, .42)), var(--uddfel-overlay-c2, transparent));
}

.uddfel-media-overlay--radial .uddfel-showcase-media-overlay {
	display: block;
	background: radial-gradient(circle, var(--uddfel-overlay-c1, rgba(14, 8, 0, .18)), var(--uddfel-overlay-c2, rgba(14, 8, 0, .58)));
}

.uddfel-showcase-trans--fade-up .uddfel-showcase-img {
	transform: translateY(24px);
	transition: opacity var(--uddfel-showcase-duration, 350ms) ease, transform var(--uddfel-showcase-duration, 350ms) ease;
}

.uddfel-showcase-trans--fade-up .uddfel-showcase-img.is-active {
	transform: translateY(0);
}

.uddfel-showcase-trans--reveal .uddfel-showcase-img {
	clip-path: inset(100% 0 0 0);
	transition: opacity var(--uddfel-showcase-duration, 350ms) ease, clip-path var(--uddfel-showcase-duration, 350ms) cubic-bezier(.16, 1, .3, 1);
}

.uddfel-showcase-trans--reveal .uddfel-showcase-img.is-active {
	clip-path: inset(0);
}

/* Divider geometry and state */
.uddfel-divider-style--dashed .uddfel-showcase-divider,
.uddfel-divider-style--dotted .uddfel-showcase-divider {
	background: none !important;
	border-top-width: var(--uddfel-divider-thickness, 1px);
	border-top-color: currentColor;
}

.uddfel-divider-style--dashed .uddfel-showcase-divider {
	border-top-style: dashed;
}

.uddfel-divider-style--dotted .uddfel-showcase-divider {
	border-top-style: dotted;
}

.uddfel-divider-style--gradient .uddfel-showcase-divider {
	background: linear-gradient(90deg, currentColor, var(--uddfel-divider-gradient-end, transparent));
}

/* CTA geometry aligned to the Uddfel Button interaction model */
.uddfel-showcase-cta-wrap {
	transform: translate(var(--uddfel-showcase-cta-x, 0), var(--uddfel-showcase-cta-y, 0));
}

.uddfel-cta-placement--below-visual .uddfel-showcase-cta-wrap,
.uddfel-cta-placement--description-area .uddfel-showcase-cta-wrap {
	position: relative;
	inset: auto;
	transform: translate(var(--uddfel-showcase-cta-x, 0), var(--uddfel-showcase-cta-y, 0));
}

.uddfel-cta-pos--top-left {
	top: 33px;
	left: 33px;
}

.uddfel-cta-pos--center {
	top: 50%;
	left: 50%;
	transform: translate(calc(-50% + var(--uddfel-showcase-cta-x, 0)), calc(-50% + var(--uddfel-showcase-cta-y, 0)));
}

.uddfel-cta-pos--center-left {
	top: 50%;
	left: 33px;
	transform: translate(var(--uddfel-showcase-cta-x, 0), calc(-50% + var(--uddfel-showcase-cta-y, 0)));
}

.uddfel-cta-pos--center-right {
	top: 50%;
	right: 33px;
	transform: translate(var(--uddfel-showcase-cta-x, 0), calc(-50% + var(--uddfel-showcase-cta-y, 0)));
}

.uddfel-cta-pos--bottom-center {
	transform: translate(calc(-50% + var(--uddfel-showcase-cta-x, 0)), var(--uddfel-showcase-cta-y, 0));
}

.uddfel-showcase-cta-btn {
	transform: translateY(0) scale(1);
	transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.uddfel-showcase-cta-btn:hover {
	transform: translateY(var(--uddfel-cta-hover-y, -2px)) scale(var(--uddfel-cta-hover-scale, 1));
}

.uddfel-showcase-cta-btn:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.uddfel-showcase-cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.uddfel-showcase-cta-btn:hover .uddfel-showcase-cta-icon {
	transform: translateX(var(--uddfel-cta-icon-x, 0)) rotate(var(--uddfel-cta-icon-rotate, 0deg)) scale(var(--uddfel-cta-icon-scale, 1));
}

/* Responsive behavior choices remain local to the widget. */
@media (max-width: 1024px) {
	.uddfel-tablet-list--keep.uddfel-interactive-showcase {
		align-items: stretch !important;
	}

	.uddfel-showcase-layout--visual-left .uddfel-tablet-list--keep.uddfel-interactive-showcase {
		flex-direction: row !important;
	}

	.uddfel-showcase-layout--visual-right .uddfel-tablet-list--keep.uddfel-interactive-showcase {
		flex-direction: row-reverse !important;
	}

	.uddfel-tablet-list--stack.uddfel-interactive-showcase,
	.uddfel-tablet-list--accordion.uddfel-interactive-showcase,
	.uddfel-tablet-list--horizontal.uddfel-interactive-showcase {
		flex-direction: column !important;
	}

	.uddfel-tablet-list--horizontal .uddfel-showcase-list-items {
		flex-direction: row;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x proximity;
		max-width: 100%;
	}

	.uddfel-tablet-list--horizontal .uddfel-showcase-tab {
		flex: 0 0 min(78vw, 420px);
		scroll-snap-align: start;
	}

	.uddfel-tablet-list--horizontal .uddfel-showcase-divider {
		display: none;
	}
}

@media (max-width: 767px) {
	.uddfel-mobile-list--keep.uddfel-interactive-showcase {
		align-items: stretch !important;
	}

	.uddfel-showcase-layout--visual-left .uddfel-mobile-list--keep.uddfel-interactive-showcase,
	.uddfel-showcase-layout--visual-right .uddfel-mobile-list--keep.uddfel-interactive-showcase {
		flex-direction: column !important;
	}

	.uddfel-mobile-list--stack.uddfel-interactive-showcase,
	.uddfel-mobile-list--accordion.uddfel-interactive-showcase,
	.uddfel-mobile-list--horizontal.uddfel-interactive-showcase {
		flex-direction: column !important;
	}

	.uddfel-mobile-list--horizontal .uddfel-showcase-list-items {
		flex-direction: row;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		max-width: 100%;
	}

	.uddfel-mobile-list--horizontal .uddfel-showcase-tab {
		flex: 0 0 82vw;
		scroll-snap-align: start;
	}

	.uddfel-mobile-list--horizontal .uddfel-showcase-divider {
		display: none;
	}

	.uddfel-showcase-description--overlay {
		left: 18px;
		right: 18px;
		bottom: 78px;
	}
}

@media (prefers-reduced-motion: reduce) {

	.uddfel-interactive-showcase *,
	.uddfel-interactive-showcase *::before,
	.uddfel-interactive-showcase *::after {
		animation: none !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}

	.uddfel-showcase-tab,
	.uddfel-showcase-tab-title,
	.uddfel-showcase-img,
	.uddfel-showcase-cta-btn,
	.uddfel-showcase-cta-icon,
	.uddfel-showcase-description {
		transform: none !important;
	}
}

/* ==========================================================================
   UDDFEL DECORATIVE BACKDROP WIDGET
   ========================================================================== */

/* Container Context Enforcer:
   Ensure immediate parent Elementor flex container or column becomes a relative positioning context */
.e-con:has(> .elementor-widget-uddfel-decorative-backdrop),
.e-con-inner:has(> .elementor-widget-uddfel-decorative-backdrop),
.elementor-widget-wrap:has(> .elementor-widget-uddfel-decorative-backdrop),
.e-con:has(.uddfel-backdrop-layer),
.e-con-inner:has(.uddfel-backdrop-layer),
.elementor-widget-wrap:has(.uddfel-backdrop-layer) {
	position: relative;
}

/* Sibling content sits naturally above the backdrop layer */
.e-con:has(> .elementor-widget-uddfel-decorative-backdrop)>.elementor-element:not(.elementor-widget-uddfel-decorative-backdrop),
.e-con-inner:has(> .elementor-widget-uddfel-decorative-backdrop)>.elementor-element:not(.elementor-widget-uddfel-decorative-backdrop),
.e-con:has(.uddfel-backdrop-layer)>.elementor-element:not(.elementor-widget-uddfel-decorative-backdrop),
.e-con-inner:has(.uddfel-backdrop-layer)>.elementor-element:not(.elementor-widget-uddfel-decorative-backdrop) {
	position: relative;
	z-index: 1;
}

/* Parent Containment:
   Clipped strictly inside the dedicated backdrop wrapper, NEVER globally hiding overflow
   on the parent section so real cards, text, buttons, and badges remain fully visible. */
.e-con:has(.uddfel-contain--clip_parent),
.e-con-inner:has(.uddfel-contain--clip_parent),
.elementor-widget-wrap:has(.uddfel-contain--clip_parent) {
	/* Overflow remains normal/visible on parent section */
}

/* Base Widget Wrapper:
   Unless explicit 'inline' flow is chosen, the backdrop spans the parent container with ZERO footprint in the document flow */
.elementor-widget-uddfel-decorative-backdrop:not(.uddfel-anchor--inline):not(.uddfel-pos--inline):not(.uddfel-pos--relative) {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	pointer-events: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
	line-height: 0;
	font-size: 0;
}

.elementor-widget-uddfel-decorative-backdrop:not(.uddfel-anchor--inline):not(.uddfel-pos--inline):not(.uddfel-pos--relative)>.elementor-widget-container {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	box-sizing: border-box;
}

/* Dedicated internal decorative backdrop wrapper:
   Clips decorative layer inside its bounds without affecting section or sibling content */
.uddfel-backdrop-wrapper {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	box-sizing: border-box;
	overflow: hidden;
	overflow: clip !important;
}

/* Explicit clip_parent or clip_widget containment */
.elementor-widget-uddfel-decorative-backdrop.uddfel-contain--clip_parent .uddfel-backdrop-wrapper,
.elementor-widget-uddfel-decorative-backdrop.uddfel-contain--clip_widget .uddfel-backdrop-wrapper,
.elementor-widget-uddfel-decorative-backdrop:not(.uddfel-contain--allow) .uddfel-backdrop-wrapper {
	overflow: hidden !important;
	overflow: clip !important;
}

/* Explicit allow containment */
.elementor-widget-uddfel-decorative-backdrop.uddfel-contain--allow .uddfel-backdrop-wrapper {
	overflow: visible !important;
}

/* Media mode is always decorative and never participates in document flow. */
.elementor-widget-uddfel-decorative-backdrop.uddfel-backdrop-mode--media {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	pointer-events: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
	line-height: 0;
	font-size: 0;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-backdrop-mode--media.uddfel-anchor--inline {
	position: relative !important;
	width: var(--uddfel-bd-w, 200px) !important;
	height: var(--uddfel-bd-h, 200px) !important;
}

/* Inline Flow Mode (e.g. for Dividers or standard in-flow banners) */
.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--inline,
.elementor-widget-uddfel-decorative-backdrop.uddfel-pos--inline,
.elementor-widget-uddfel-decorative-backdrop.uddfel-pos--relative {
	position: relative !important;
	width: 100% !important;
	pointer-events: none;
}

/* Stacking Layer (Z-Index) */
.elementor-widget-uddfel-decorative-backdrop.uddfel-layer--behind_container {
	z-index: -1 !important;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-layer--behind_content {
	z-index: 0 !important;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-layer--normal {
	z-index: 1 !important;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-layer--foreground {
	z-index: 10 !important;
}

/* Containment: Clip to Widget */
.elementor-widget-uddfel-decorative-backdrop.uddfel-contain--clip_widget,
.uddfel-contain--clip_widget .uddfel-backdrop-layer {
	overflow: hidden !important;
	overflow: clip !important;
}

/* 9-Point Anchor System (Desktop) */
.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--top_left .uddfel-backdrop-layer {
	top: 0;
	left: 0;
	right: auto;
	bottom: auto;
	--uddfel-anchor-tx: 0px;
	--uddfel-anchor-ty: 0px;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--top_center .uddfel-backdrop-layer {
	top: 0;
	left: 50%;
	right: auto;
	bottom: auto;
	--uddfel-anchor-tx: -50%;
	--uddfel-anchor-ty: 0px;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--top_right .uddfel-backdrop-layer {
	top: 0;
	right: 0;
	left: auto;
	bottom: auto;
	--uddfel-anchor-tx: 0px;
	--uddfel-anchor-ty: 0px;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--center_left .uddfel-backdrop-layer {
	top: 50%;
	left: 0;
	right: auto;
	bottom: auto;
	--uddfel-anchor-tx: 0px;
	--uddfel-anchor-ty: -50%;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--center .uddfel-backdrop-layer {
	top: 50%;
	left: 50%;
	right: auto;
	bottom: auto;
	--uddfel-anchor-tx: -50%;
	--uddfel-anchor-ty: -50%;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--center_right .uddfel-backdrop-layer {
	top: 50%;
	right: 0;
	left: auto;
	bottom: auto;
	--uddfel-anchor-tx: 0px;
	--uddfel-anchor-ty: -50%;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--bottom_left .uddfel-backdrop-layer {
	bottom: 0;
	left: 0;
	right: auto;
	top: auto;
	--uddfel-anchor-tx: 0px;
	--uddfel-anchor-ty: 0px;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--bottom_center .uddfel-backdrop-layer {
	bottom: 0;
	left: 50%;
	right: auto;
	top: auto;
	--uddfel-anchor-tx: -50%;
	--uddfel-anchor-ty: 0px;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--bottom_right .uddfel-backdrop-layer {
	bottom: 0;
	right: 0;
	left: auto;
	top: auto;
	--uddfel-anchor-tx: 0px;
	--uddfel-anchor-ty: 0px;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--cover .uddfel-backdrop-layer,
.elementor-widget-uddfel-decorative-backdrop.uddfel-pos--cover .uddfel-backdrop-layer {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100% !important;
	height: 100% !important;
	--uddfel-anchor-tx: 0px;
	--uddfel-anchor-ty: 0px;
}

/* 9-Point Anchor System (Tablet) */
@media (max-width: 1024px) {
	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-tablet--top_left .uddfel-backdrop-layer {
		top: 0;
		left: 0;
		right: auto;
		bottom: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-tablet--top_center .uddfel-backdrop-layer {
		top: 0;
		left: 50%;
		right: auto;
		bottom: auto;
		--uddfel-anchor-tx: -50%;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-tablet--top_right .uddfel-backdrop-layer {
		top: 0;
		right: 0;
		left: auto;
		bottom: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-tablet--center_left .uddfel-backdrop-layer {
		top: 50%;
		left: 0;
		right: auto;
		bottom: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: -50%;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-tablet--center .uddfel-backdrop-layer {
		top: 50%;
		left: 50%;
		right: auto;
		bottom: auto;
		--uddfel-anchor-tx: -50%;
		--uddfel-anchor-ty: -50%;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-tablet--center_right .uddfel-backdrop-layer {
		top: 50%;
		right: 0;
		left: auto;
		bottom: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: -50%;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-tablet--bottom_left .uddfel-backdrop-layer {
		bottom: 0;
		left: 0;
		right: auto;
		top: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-tablet--bottom_center .uddfel-backdrop-layer {
		bottom: 0;
		left: 50%;
		right: auto;
		top: auto;
		--uddfel-anchor-tx: -50%;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-tablet--bottom_right .uddfel-backdrop-layer {
		bottom: 0;
		right: 0;
		left: auto;
		top: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-tablet--cover .uddfel-backdrop-layer {
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100% !important;
		height: 100% !important;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: 0px;
	}
}

/* 9-Point Anchor System (Mobile) */
@media (max-width: 767px) {
	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-mobile--top_left .uddfel-backdrop-layer {
		top: 0;
		left: 0;
		right: auto;
		bottom: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-mobile--top_center .uddfel-backdrop-layer {
		top: 0;
		left: 50%;
		right: auto;
		bottom: auto;
		--uddfel-anchor-tx: -50%;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-mobile--top_right .uddfel-backdrop-layer {
		top: 0;
		right: 0;
		left: auto;
		bottom: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-mobile--center_left .uddfel-backdrop-layer {
		top: 50%;
		left: 0;
		right: auto;
		bottom: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: -50%;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-mobile--center .uddfel-backdrop-layer {
		top: 50%;
		left: 50%;
		right: auto;
		bottom: auto;
		--uddfel-anchor-tx: -50%;
		--uddfel-anchor-ty: -50%;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-mobile--center_right .uddfel-backdrop-layer {
		top: 50%;
		right: 0;
		left: auto;
		bottom: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: -50%;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-mobile--bottom_left .uddfel-backdrop-layer {
		bottom: 0;
		left: 0;
		right: auto;
		top: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-mobile--bottom_center .uddfel-backdrop-layer {
		bottom: 0;
		left: 50%;
		right: auto;
		top: auto;
		--uddfel-anchor-tx: -50%;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-mobile--bottom_right .uddfel-backdrop-layer {
		bottom: 0;
		right: 0;
		left: auto;
		top: auto;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: 0px;
	}

	.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor-mobile--cover .uddfel-backdrop-layer {
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100% !important;
		height: 100% !important;
		--uddfel-anchor-tx: 0px;
		--uddfel-anchor-ty: 0px;
	}
}

/* Layer Base Styling */
.uddfel-backdrop-layer {
	position: absolute !important;
	display: block;
	box-sizing: border-box;
	pointer-events: none;
	user-select: none;
	-webkit-user-select: none;
	width: var(--uddfel-bd-w, 200px);
	height: var(--uddfel-bd-h, 200px);
	opacity: var(--uddfel-bd-opacity, 1);
	transform: translate3d(calc(var(--uddfel-anchor-tx, 0px) + var(--uddfel-bd-offset-x, 0px)), calc(var(--uddfel-anchor-ty, 0px) + var(--uddfel-bd-offset-y, 0px)), 0) rotate(var(--uddfel-bd-rot, 0deg)) scale(var(--uddfel-bd-scale, 1)) scaleX(var(--uddfel-bd-flip-x, 1)) scaleY(var(--uddfel-bd-flip-y, 1));
	transform-origin: var(--uddfel-bd-origin, center center);
	transition: opacity 0.3s ease;
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--inline .uddfel-backdrop-layer,
.elementor-widget-uddfel-decorative-backdrop.uddfel-pos--inline .uddfel-backdrop-layer,
.elementor-widget-uddfel-decorative-backdrop.uddfel-pos--relative .uddfel-backdrop-layer {
	position: relative !important;
}

/* Cover Mode Sizing Override */
.elementor-widget-uddfel-decorative-backdrop.uddfel-anchor--cover .uddfel-backdrop-layer,
.elementor-widget-uddfel-decorative-backdrop.uddfel-pos--cover .uddfel-backdrop-layer {
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
}

.uddfel-backdrop-anim {
	width: 100%;
	height: 100%;
	min-height: inherit;
	display: block;
	box-sizing: border-box;
	will-change: transform;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
}

.uddfel-backdrop-inner {
	width: 100%;
	height: 100%;
	min-height: inherit;
	display: block;
	box-sizing: border-box;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Fallback / Preset Appearance for Each Mode */
.uddfel-mode--glow .uddfel-backdrop-inner {
	min-height: 120px;
}

.uddfel-mode--gradient .uddfel-backdrop-inner {
	min-height: 120px;
	border-radius: 16px;
}

.uddfel-mode--glass .uddfel-backdrop-inner {
	min-height: 120px;
	background-color: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 20px;
}

.uddfel-mode--blob .uddfel-backdrop-inner {
	min-height: 140px;
	background-color: rgba(139, 104, 35, 0.45);
	border-radius: 60% 40% 70% 30% / 50% 60% 40% 50%;
	filter: blur(50px);
	-webkit-filter: blur(50px);
}

.uddfel-mode--shape .uddfel-backdrop-inner {
	min-height: 80px;
	background-color: #8B6823;
	border-radius: 16px;
}

.uddfel-mode--border_accent .uddfel-backdrop-inner {
	min-height: 120px;
	border: 2px solid #8B6823;
	border-radius: 20px;
}

.uddfel-mode--corner_accent .uddfel-backdrop-inner {
	width: 130px;
	height: 130px;
	min-height: 130px;
	background-color: #8B6823;
	transform: rotate(-45deg);
}

.uddfel-mode--texture .uddfel-backdrop-inner {
	min-height: 120px;
	background-color: rgba(139, 104, 35, 0.15);
	border-radius: 16px;
}

/* Media / Custom Graphic mode */
.uddfel-mode--media,
.uddfel-mode--media .uddfel-backdrop-anim,
.uddfel-mode--media .uddfel-backdrop-inner,
.uddfel-mode--media .uddfel-backdrop-media {
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
}

.uddfel-mode--media .uddfel-backdrop-inner,
.uddfel-mode--media .uddfel-backdrop-media {
	display: block;
	position: relative;
	box-sizing: border-box;
	overflow: visible;
	pointer-events: none;
}

.elementor-widget-uddfel-decorative-backdrop .uddfel-mode--media,
.elementor-widget-uddfel-decorative-backdrop .uddfel-mode--media * {
	pointer-events: none !important;
}

.uddfel-mode--media .uddfel-backdrop-media>img,
.uddfel-mode--media .uddfel-backdrop-media>svg,
.uddfel-mode--media .uddfel-backdrop-media>i,
.uddfel-mode--media .uddfel-backdrop-media>span,
.uddfel-mode--media .uddfel-backdrop-media>span>i,
.uddfel-mode--media .uddfel-backdrop-media .uddfel-icon-svg {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	box-sizing: border-box;
	pointer-events: none;
	user-select: none;
}

.uddfel-mode--media .uddfel-backdrop-media>i,
.uddfel-mode--media .uddfel-backdrop-media>span,
.uddfel-mode--media .uddfel-backdrop-media>span>i {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: min(var(--uddfel-bd-w, 200px), var(--uddfel-bd-h, 200px));
	line-height: 1;
}

/* Shape Geometry Presets */
.uddfel-shape--rectangle .uddfel-backdrop-inner {
	border-radius: 0 !important;
}

.uddfel-shape--square .uddfel-backdrop-inner {
	aspect-ratio: 1 / 1;
	border-radius: 0;
}

.uddfel-shape--circle .uddfel-backdrop-inner {
	border-radius: 50% !important;
	aspect-ratio: 1 / 1;
}

.uddfel-shape--ellipse .uddfel-backdrop-inner {
	border-radius: 50% !important;
}

.uddfel-shape--pill .uddfel-backdrop-inner {
	border-radius: 9999px !important;
}

.uddfel-shape--rounded_rect .uddfel-backdrop-inner,
.uddfel-shape--custom .uddfel-backdrop-inner {
	border-radius: var(--uddfel-shape-radius, 20px);
}

/* Shape / Surface Fill Types (live-preview: wrapper class + CSS variables) */
.elementor-widget-uddfel-decorative-backdrop.uddfel-fill--solid .uddfel-mode--shape .uddfel-backdrop-inner {
	background: var(--uddfel-fill-color, rgba(139, 104, 35, 0.25));
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-fill--linear_gradient .uddfel-mode--shape .uddfel-backdrop-inner {
	background: linear-gradient(var(--uddfel-grad-angle, 135deg), var(--uddfel-grad-c1, rgba(139, 104, 35, 0.45)) 0%, var(--uddfel-grad-c2, rgba(24, 24, 22, 0.85)) 100%);
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-fill--radial_gradient .uddfel-mode--shape .uddfel-backdrop-inner {
	background: radial-gradient(circle, var(--uddfel-rad-c1, rgba(139, 104, 35, 0.5)) 0%, var(--uddfel-rad-c2, transparent) 100%);
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-fill--glass .uddfel-mode--shape .uddfel-backdrop-inner {
	background: var(--uddfel-glass-surface, rgba(255, 255, 255, 0.08));
	backdrop-filter: blur(var(--uddfel-glass-blur, 16px)) saturate(var(--uddfel-glass-sat, 120%));
	-webkit-backdrop-filter: blur(var(--uddfel-glass-blur, 16px)) saturate(var(--uddfel-glass-sat, 120%));
}

.uddfel-fill--glass .uddfel-backdrop-inner {
	border: 1px solid rgba(255, 255, 255, 0.18);
}

.elementor-widget-uddfel-decorative-backdrop.uddfel-fill--glass.uddfel-glass-hl--yes .uddfel-backdrop-inner {
	box-shadow: inset 0 1px 1px 0 rgba(255, 255, 255, 0.35), 0 8px 32px rgba(0, 0, 0, 0.12);
}

/* Legacy shape_type instances (saved before shape_preset existed) */
.uddfel-shape-legacy--rectangle .uddfel-backdrop-inner {
	border-radius: 0 !important;
}

.uddfel-shape-legacy--circle .uddfel-backdrop-inner,
.uddfel-shape-legacy--ellipse .uddfel-backdrop-inner {
	border-radius: 50% !important;
}

/* Glassmorphism Inner Highlight Option */
.uddfel-glass--highlight .uddfel-backdrop-inner {
	box-shadow: inset 0 1px 1px 0 rgba(255, 255, 255, 0.35), var(--uddfel-glass-shadow, 0 8px 32px rgba(0, 0, 0, 0.12));
}

/* Divider Mode Specific */
.uddfel-backdrop-layer.uddfel-div--horizontal {
	width: 100%;
	height: auto;
	min-height: 0 !important;
	display: block;
	position: relative;
}

.uddfel-backdrop-layer.uddfel-div--horizontal .uddfel-backdrop-inner {
	height: 2px;
	min-height: 0 !important;
	background-color: #8B6823;
}

.uddfel-backdrop-layer.uddfel-div--vertical {
	width: auto;
	height: 100%;
	min-width: 0 !important;
	min-height: 60px;
	display: inline-block;
	position: relative;
}

.uddfel-backdrop-layer.uddfel-div--vertical .uddfel-backdrop-inner {
	width: 2px;
	height: 100%;
	min-height: 60px;
	background-color: #8B6823;
}

/* Editor Handle: Allows clicking to select backdrop in canvas without blocking text/button clicks */
.uddfel-backdrop-editor-handle {
	display: none;
}

.elementor-editor-active .uddfel-backdrop-editor-handle {
	display: inline-flex;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	padding: 3px 8px;
	font-size: 10px;
	font-weight: 600;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #FFFFFF;
	background: #8B6823;
	border-radius: 0 0 6px 0;
	pointer-events: auto !important;
	cursor: pointer;
	z-index: 9999;
	opacity: 0.8;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
	transition: opacity 0.2s ease, background 0.2s ease;
}

.elementor-editor-active .uddfel-backdrop-editor-handle:hover {
	opacity: 1;
	background: #6F4D09;
}

/* Backdrop Subtle Keyframe Animations */
@keyframes uddfelBackdropFloat {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-16px);
	}
}

@keyframes uddfelBackdropfloat {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-16px);
	}
}

@keyframes uddfelBackdropPulse {

	0%,
	100% {
		transform: scale(1);
		opacity: 1;
	}

	50% {
		transform: scale(1.08);
		opacity: 0.85;
	}
}

@keyframes uddfelBackdroppulse {

	0%,
	100% {
		transform: scale(1);
		opacity: 1;
	}

	50% {
		transform: scale(1.08);
		opacity: 0.85;
	}
}

@keyframes uddfelBackdropRotate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes uddfelBackdroprotate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

.uddfel-anim--float .uddfel-backdrop-anim,
.uddfel-anim--float .uddfel-backdrop-inner {
	animation-name: uddfelBackdropFloat;
	animation-duration: 6s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}

.uddfel-anim--pulse .uddfel-backdrop-anim,
.uddfel-anim--pulse .uddfel-backdrop-inner {
	animation-name: uddfelBackdropPulse;
	animation-duration: 6s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}

.uddfel-anim--rotate .uddfel-backdrop-anim,
.uddfel-anim--rotate .uddfel-backdrop-inner {
	animation-name: uddfelBackdropRotate;
	animation-duration: 20s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

/* Respect Reduced Motion for Decorative Backdrops */
@media (prefers-reduced-motion: reduce) {

	.uddfel-anim--float .uddfel-backdrop-anim,
	.uddfel-anim--float .uddfel-backdrop-inner,
	.uddfel-anim--pulse .uddfel-backdrop-anim,
	.uddfel-anim--pulse .uddfel-backdrop-inner,
	.uddfel-anim--rotate .uddfel-backdrop-anim,
	.uddfel-anim--rotate .uddfel-backdrop-inner {
		animation: none !important;
		transform: none !important;
	}
}

/* ==========================================================================
   UDDFEL ACCENT LINE WIDGET
   ========================================================================== */

.elementor-widget-uddfel-accent-line {
	line-height: 0;
}

.uddfel-accent-line-wrapper {
	display: flex;
	width: 100%;
	box-sizing: border-box;
	line-height: 0;
	pointer-events: none;
	user-select: none;
	-webkit-user-select: none;
}

.uddfel-accent-line {
	display: inline-block;
	box-sizing: border-box;
	flex-shrink: 0;
	transform: translate(var(--uddfel-line-tx, 0), var(--uddfel-line-ty, 0)) rotate(var(--uddfel-line-rot, 0deg)) scale(var(--uddfel-line-scale, 1));
	transition: width 0.3s ease, height 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}

/* Mode: Horizontal (Desktop) */
.uddfel-line-mode--horizontal .uddfel-accent-line-wrapper {
	display: flex;
	width: 100%;
}

.uddfel-line-mode--horizontal .uddfel-accent-line {
	width: var(--uddfel-line-len, 40px);
	height: var(--uddfel-line-thick, 3px);
}

/* Mode: Vertical (Desktop) */
.uddfel-line-mode--vertical .uddfel-accent-line-wrapper,
.uddfel-line--vertical {
	display: inline-flex;
	width: auto;
	height: auto;
}

.uddfel-line-mode--vertical .uddfel-accent-line {
	width: var(--uddfel-line-thick, 2px);
	height: var(--uddfel-line-len, 70px);
}

/* Mode: Angled (Desktop) */
.uddfel-line-mode--angled .uddfel-accent-line-wrapper,
.uddfel-line--angled {
	display: flex;
	width: 100%;
}

.uddfel-line-mode--angled .uddfel-accent-line {
	width: var(--uddfel-line-len, 60px);
	height: var(--uddfel-line-thick, 2px);
	transform-origin: center center;
}

/* --- TABLET BREAKPOINT (max-width: 1024px) --- */
@media (max-width: 1024px) {
	.uddfel-line-mode-tablet--horizontal .uddfel-accent-line-wrapper {
		display: flex !important;
		width: 100% !important;
	}

	.uddfel-line-mode-tablet--horizontal .uddfel-accent-line {
		width: var(--uddfel-line-len, 100%) !important;
		height: var(--uddfel-line-thick, 3px) !important;
	}

	.uddfel-line-mode-tablet--vertical .uddfel-accent-line-wrapper {
		display: inline-flex !important;
		width: auto !important;
	}

	.uddfel-line-mode-tablet--vertical .uddfel-accent-line {
		width: var(--uddfel-line-thick, 2px) !important;
		height: var(--uddfel-line-len, 70px) !important;
	}

	.uddfel-line-mode-tablet--angled .uddfel-accent-line-wrapper {
		display: flex !important;
		width: 100% !important;
	}

	.uddfel-line-mode-tablet--angled .uddfel-accent-line {
		width: var(--uddfel-line-len, 60px) !important;
		height: var(--uddfel-line-thick, 2px) !important;
	}
}

/* --- MOBILE BREAKPOINT (max-width: 767px) --- */
@media (max-width: 767px) {
	.uddfel-line-mode-mobile--horizontal .uddfel-accent-line-wrapper {
		display: flex !important;
		width: 100% !important;
	}

	.uddfel-line-mode-mobile--horizontal .uddfel-accent-line {
		width: var(--uddfel-line-len, 100%) !important;
		height: var(--uddfel-line-thick, 2px) !important;
	}

	.uddfel-line-mode-mobile--vertical .uddfel-accent-line-wrapper {
		display: inline-flex !important;
		width: auto !important;
	}

	.uddfel-line-mode-mobile--vertical .uddfel-accent-line {
		width: var(--uddfel-line-thick, 2px) !important;
		height: var(--uddfel-line-len, 70px) !important;
	}

	.uddfel-line-mode-mobile--angled .uddfel-accent-line-wrapper {
		display: flex !important;
		width: 100% !important;
	}

	.uddfel-line-mode-mobile--angled .uddfel-accent-line {
		width: var(--uddfel-line-len, 60px) !important;
		height: var(--uddfel-line-thick, 2px) !important;
	}
}

/* Accent Line Subtle Keyframe Animations */
@keyframes uddfelLineGrowH {
	0% {
		transform: translate(var(--uddfel-line-tx, 0), var(--uddfel-line-ty, 0)) rotate(var(--uddfel-line-rot, 0deg)) scaleX(0);
		opacity: 0;
	}

	100% {
		transform: translate(var(--uddfel-line-tx, 0), var(--uddfel-line-ty, 0)) rotate(var(--uddfel-line-rot, 0deg)) scaleX(1);
		opacity: 1;
	}
}

@keyframes uddfelLineGrowV {
	0% {
		transform: translate(var(--uddfel-line-tx, 0), var(--uddfel-line-ty, 0)) rotate(var(--uddfel-line-rot, 0deg)) scaleY(0);
		opacity: 0;
	}

	100% {
		transform: translate(var(--uddfel-line-tx, 0), var(--uddfel-line-ty, 0)) rotate(var(--uddfel-line-rot, 0deg)) scaleY(1);
		opacity: 1;
	}
}

@keyframes uddfelLineFade {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes uddfelLinePulse {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0.45;
	}
}

.uddfel-line-anim--grow.uddfel-line-mode--horizontal .uddfel-accent-line,
.uddfel-line-anim--grow.uddfel-line-mode--angled .uddfel-accent-line {
	animation: uddfelLineGrowH 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	transform-origin: left center;
}

.uddfel-line-anim--grow.uddfel-line-mode--vertical .uddfel-accent-line {
	animation: uddfelLineGrowV 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	transform-origin: center top;
}

.uddfel-line-anim--fade .uddfel-accent-line {
	animation: uddfelLineFade 0.8s ease-out forwards;
}

.uddfel-line-anim--pulse .uddfel-accent-line {
	animation: uddfelLinePulse 3s ease-in-out infinite;
}

/* Respect Reduced Motion for Accent Lines */
@media (prefers-reduced-motion: reduce) {

	.uddfel-line-anim--grow .uddfel-accent-line,
	.uddfel-line-anim--fade .uddfel-accent-line,
	.uddfel-line-anim--pulse .uddfel-accent-line {
		animation: none !important;
		opacity: 1 !important;
	}
}

/* ==========================================================================
   Uddfel Info Box / Feature Card Widget 1.0
   ========================================================================== */
.uddfel-info-box {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: 100%;
	transition-property: transform, box-shadow, border-color, background-color;
	transition-duration: 280ms;
	transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
	transform: translateY(0) scale(1);
}

.uddfel-info-box * {
	box-sizing: border-box;
}

.uddfel-info-box:hover {
	transform: translateY(var(--uddfel-card-lift-y, 0px)) scale(var(--uddfel-card-scale, 1));
}

/* Clickable card overlay */
.uddfel-info-box--clickable {
	cursor: pointer;
}

.uddfel-info-box__card-overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	border-radius: inherit;
	text-decoration: none;
}

/* Content Container */
.uddfel-info-box__content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

/* Media / Icon Wrapper */
.uddfel-info-box__media {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transform: translate(var(--uddfel-ib-icon-tx, 0px), var(--uddfel-ib-icon-ty, 0px)) rotate(var(--uddfel-ib-icon-rot, 0deg)) scale(var(--uddfel-ib-icon-scale, 1));
	transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1), color 280ms ease;
}

.uddfel-info-box:hover .uddfel-info-box__media {
	transform: translate(calc(var(--uddfel-ib-icon-tx, 0px) + var(--uddfel-ib-icon-hover-tx, 0px)), calc(var(--uddfel-ib-icon-ty, 0px) + var(--uddfel-ib-icon-hover-ty, 0px))) rotate(calc(var(--uddfel-ib-icon-rot, 0deg) + var(--uddfel-ib-icon-hover-rot, 0deg))) scale(calc(var(--uddfel-ib-icon-scale, 1) * var(--uddfel-ib-icon-hover-scale, 1)));
}

.uddfel-info-box__icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-sizing: border-box;
	line-height: 1;
	transition: background-color 280ms ease, border-color 280ms ease, box-shadow 280ms ease;
}

.uddfel-info-box__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: color 280ms ease;
}

.uddfel-info-box__icon svg {
	display: block;
	width: 1em;
	height: 1em;
	transition: color 280ms ease, fill 280ms ease, stroke 280ms ease;
}

.uddfel-info-box__icon svg.e-font-icon-svg {
	fill: currentColor;
}

.uddfel-info-box__image img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: inherit;
}

/* Positioning Modes */
.uddfel-info-box--pos-top_left .uddfel-info-box__media {
	align-self: flex-start;
	margin-bottom: 20px;
}

.uddfel-info-box--pos-top_right .uddfel-info-box__media {
	position: absolute;
	top: var(--uddfel-ib-pos-top, 24px);
	right: var(--uddfel-ib-pos-right, 24px);
}

.uddfel-info-box--pos-bottom_left .uddfel-info-box__media {
	position: absolute;
	bottom: var(--uddfel-ib-pos-bottom, 24px);
	left: var(--uddfel-ib-pos-left, 24px);
}

.uddfel-info-box--pos-bottom_right .uddfel-info-box__media {
	position: absolute;
	bottom: var(--uddfel-ib-pos-bottom, 24px);
	right: var(--uddfel-ib-pos-right, 24px);
}

.uddfel-info-box--pos-left_center {
	flex-direction: row;
	align-items: var(--uddfel-ib-vertical-align, center);
	gap: var(--uddfel-ib-content-gap, 24px);
}

.uddfel-info-box--pos-left_center .uddfel-info-box__media {
	flex-shrink: 0;
	margin-bottom: 0;
}

.uddfel-info-box--pos-right_center {
	flex-direction: row-reverse;
	align-items: var(--uddfel-ib-vertical-align, center);
	gap: var(--uddfel-ib-content-gap, 24px);
	justify-content: space-between;
}

.uddfel-info-box--pos-right_center .uddfel-info-box__media {
	flex-shrink: 0;
	margin-bottom: 0;
}

.uddfel-info-box--pos-custom_absolute .uddfel-info-box__media {
	position: absolute;
}

.uddfel-info-box__media--inline {
	display: inline-flex;
	flex: 0 0 auto;
}

.uddfel-info-box__title-row {
	display: flex;
	align-items: var(--uddfel-ib-vertical-align, center);
	gap: 14px;
	width: 100%;
	min-width: 0;
}

.uddfel-info-box__title-row .uddfel-info-box__title {
	min-width: 0;
}

/* Simple responsive icon layouts. Advanced placement remains the default. */
.uddfel-info-box--layout-top {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.uddfel-info-box--layout-top>.uddfel-info-box__media {
	position: static;
	inset: auto;
	margin-bottom: var(--uddfel-ib-content-gap, 20px);
}

.uddfel-info-box--layout-left {
	flex-direction: row;
	align-items: var(--uddfel-ib-vertical-align, center);
	gap: var(--uddfel-ib-content-gap, 24px);
}

.uddfel-info-box--layout-right {
	flex-direction: row-reverse;
	align-items: var(--uddfel-ib-vertical-align, center);
	gap: var(--uddfel-ib-content-gap, 24px);
}

.uddfel-info-box--layout-left>.uddfel-info-box__media,
.uddfel-info-box--layout-right>.uddfel-info-box__media {
	position: static;
	inset: auto;
	margin-bottom: 0;
	flex-shrink: 0;
}

/* Typography Elements */
.uddfel-info-box__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.2;
	max-width: 100%;
	min-width: 0;
	white-space: normal;
	overflow-wrap: break-word;
}

.uddfel-info-box__highlight {
	font-family: 'Inter Tight', sans-serif;
	font-size: 48px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
	max-width: 100%;
	min-width: 0;
	white-space: normal;
	overflow-wrap: break-word;
}

.uddfel-info-box__title {
	font-family: 'Inter Tight', sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
	color: #181816;
	max-width: 100%;
	min-width: 0;
	white-space: normal;
	overflow-wrap: break-word;
}

.uddfel-info-box__subtitle {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	margin: 0;
	color: #4B453B;
	max-width: 100%;
	min-width: 0;
	white-space: normal;
	overflow-wrap: break-word;
}

.uddfel-info-box__description {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	margin: 0;
	color: #4B453B;
	max-width: 100%;
	min-width: 0;
	white-space: normal;
	overflow-wrap: break-word;
}

.uddfel-info-box__footer {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.04em;
	margin-top: auto;
	max-width: 100%;
	min-width: 0;
	white-space: normal;
	overflow-wrap: break-word;
}

/* CTA */
.uddfel-info-box__cta-wrap {
	display: flex;
	align-items: center;
	margin-top: auto;
}

.uddfel-info-box__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease, transform 200ms ease;
}

.uddfel-info-box__cta:hover {
	text-decoration: none;
}

.uddfel-info-box__cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: transform 200ms ease;
}

.uddfel-info-box__cta:hover .uddfel-info-box__cta-icon {
	transform: translateX(4px);
}

/* Tablet responsive icon position overrides */
@media (max-width: 1024px) {
	.uddfel-info-box--layout-tablet-top {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.uddfel-info-box--layout-tablet-top>.uddfel-info-box__media {
		position: static;
		inset: auto;
		margin-bottom: 20px;
	}

	.uddfel-info-box--layout-tablet-left {
		flex-direction: row;
		align-items: var(--uddfel-ib-vertical-align, center);
		gap: var(--uddfel-ib-content-gap, 24px);
	}

	.uddfel-info-box--layout-tablet-right {
		flex-direction: row-reverse;
		align-items: var(--uddfel-ib-vertical-align, center);
		gap: var(--uddfel-ib-content-gap, 24px);
	}

	.uddfel-info-box--layout-tablet-left>.uddfel-info-box__media,
	.uddfel-info-box--layout-tablet-right>.uddfel-info-box__media {
		position: static;
		inset: auto;
		margin-bottom: 0;
		flex-shrink: 0;
	}
}

/* Mobile responsive icon position and automatic stacking */
@media (max-width: 767px) {
	.uddfel-info-box--layout-mobile-top {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.uddfel-info-box--layout-mobile-top>.uddfel-info-box__media {
		position: static;
		inset: auto;
		margin-bottom: 20px;
	}

	.uddfel-info-box--layout-mobile-left {
		flex-direction: row;
		gap: var(--uddfel-ib-content-gap, 24px);
	}

	.uddfel-info-box--layout-mobile-right {
		flex-direction: row-reverse;
		gap: var(--uddfel-ib-content-gap, 24px);
	}

	.uddfel-info-box--layout-mobile-left>.uddfel-info-box__media,
	.uddfel-info-box--layout-mobile-right>.uddfel-info-box__media {
		position: static;
		inset: auto;
		margin-bottom: 0;
		flex-shrink: 0;
	}

	.uddfel-info-box--stack-mobile.uddfel-info-box--pos-left_center,
	.uddfel-info-box--stack-mobile.uddfel-info-box--pos-right_center,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-left,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-right,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-tablet-left,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-tablet-right,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-mobile-left,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-mobile-right {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.uddfel-info-box--stack-mobile.uddfel-info-box--pos-left_center>.uddfel-info-box__media,
	.uddfel-info-box--stack-mobile.uddfel-info-box--pos-right_center>.uddfel-info-box__media,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-left>.uddfel-info-box__media,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-right>.uddfel-info-box__media,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-tablet-left>.uddfel-info-box__media,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-tablet-right>.uddfel-info-box__media,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-mobile-left>.uddfel-info-box__media,
	.uddfel-info-box--stack-mobile.uddfel-info-box--layout-mobile-right>.uddfel-info-box__media {
		position: static;
		inset: auto;
		margin-bottom: 16px;
	}
}

/* Accessibility: Reduced Motion */
@media (prefers-reduced-motion: reduce) {

	.uddfel-info-box,
	.uddfel-info-box__media,
	.uddfel-info-box__icon-wrap,
	.uddfel-info-box__cta,
	.uddfel-info-box__cta-icon {
		transition-duration: 0.01ms !important;
		transform: none !important;
		animation: none !important;
	}
}

/* ==========================================================================
   UDDFEL PROCESS JOURNEY WIDGET
   ========================================================================== */

.upj {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	--upj-cols: 3;
	--upj-gap: 24px;
	--upj-stagger: 60px;
	--upj-line-w: 2px;
	--upj-line-color: rgba(0, 0, 0, 0.12);
	--upj-line-done: var(--upj-line-color);
	--upj-card-pad-y: 0px;
	--upj-card-pad-x: 0px;
	--upj-card-radius: 0px;
	--upj-card-bs: none;
	--upj-card-bw: 0px;
	--upj-card-bc: transparent;
	--upj-card-bg: transparent;
	--upj-marker-size: 52px;
	--upj-marker-w: 52px;
	--upj-marker-h: 52px;
	--upj-icon-size: 22px;
	--upj-icon-oy: 0px;
	--upj-marker-radius: 50%;
	--upj-marker-bw: 1.5px;
	--upj-marker-bg: #181816;
	--upj-marker-fg: #8B6823;
	--upj-marker-bc: #8B6823;
	--upj-marker-gap: 18px;
	--upj-number-gap: 8px;
	--upj-title-gap: 8px;
	--upj-num-color: #8B6823;
	--upj-title-color: #FFFFFF;
	--upj-desc-color: #A69F91;
	--upj-hover-lift: -4px;
	--upj-duration: 250ms;
	--upj-amp: 36px;
	--upj-node-gap: 6px;
	--upj-node-gap-color: #181816;
	--upj-active-card-w: 216px;
	--upj-active-card-h: 266px;
	--upj-active-card-radius: 20px;
	--upj-active-card-bg: #FFFFFF;
	--upj-active-card-dir: column;
	--upj-active-card-ai: center;
	--upj-active-card-ta: center;
	--upj-active-title-color: #181816;
	--upj-active-desc-color: #4B453B;
	--upj-active-num-color: #8B6823;
	--upj-active-marker-bg: #8B6823;
	--upj-active-marker-fg: #FFFFFF;
	--upj-active-marker-bc: #8B6823;
	--upj-active-node-scale: 1.05;
	--upj-featured-card-bg: #FFFFFF;
	--upj-featured-title-color: #181816;
	--upj-featured-desc-color: #4B453B;
	--upj-featured-num-color: #8B6823;
	--upj-featured-marker-bg: #8B6823;
	--upj-featured-marker-fg: #FFFFFF;
	--upj-featured-marker-bc: #8B6823;
	--upj-featured-node-scale: 1.05;
}

.upj *,
.upj *::before,
.upj *::after {
	box-sizing: border-box;
}

.upj__list {
	list-style: none;
	padding: 0;
	margin: 0;
	position: relative;
}

/* Horizontal Layout & Distribution */
.upj-layout--horizontal .upj__list,
.upj.upj-layout--horizontal .upj__list {
	display: grid;
	grid-template-columns: repeat(var(--upj-cols, 5), minmax(0, 1fr));
	gap: var(--upj-gap, 16px);
	align-items: start;
	width: 100%;
	list-style: none;
	padding: 0;
	margin: 0;
	position: relative;
	padding-top: var(--upj-list-pt, 40px);
}

.upj-dist--equal .upj__list,
.upj.upj-dist--equal .upj__list {
	display: grid;
	grid-template-columns: repeat(var(--upj-cols, 5), minmax(0, 1fr));
	gap: var(--upj-gap, 16px);
}

.upj-dist--space-between .upj__list,
.upj.upj-dist--space-between .upj__list {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: var(--upj-gap, 16px);
}

.upj-dist--space-around .upj__list,
.upj.upj-dist--space-around .upj__list {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-around;
	align-items: flex-start;
	gap: var(--upj-gap, 16px);
}

.upj-dist--space-evenly .upj__list,
.upj.upj-dist--space-evenly .upj__list {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-evenly;
	align-items: flex-start;
	gap: var(--upj-gap, 16px);
}

.upj-dist--space-between .upj-step,
.upj-dist--space-around .upj-step,
.upj-dist--space-evenly .upj-step,
.upj.upj-dist--space-between .upj-step,
.upj.upj-dist--space-around .upj-step,
.upj.upj-dist--space-evenly .upj-step {
	flex: 1 1 0;
	min-width: 0;
}

/* Alignments in Horizontal */
.upj-align--center .upj-step__inner,
.upj.upj-align--center .upj-step__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.upj-align--left .upj-step__inner,
.upj.upj-align--left .upj-step__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
}

.upj-align--right .upj-step__inner,
.upj.upj-align--right .upj-step__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
}

/* Step Base */
.upj__list {
	position: relative;
	z-index: 2;
}

.upj-step {
	position: relative;
	z-index: 2;
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.upj-step__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	background-color: var(--upj-card-bg, transparent);
	border-style: var(--upj-card-bs, none);
	border-width: var(--upj-card-bw, 0);
	border-color: var(--upj-card-bc, transparent);
	border-radius: var(--upj-card-radius, 0);
	padding: var(--upj-card-pad-y, 0) var(--upj-card-pad-x, 0);
	transition: transform var(--upj-duration, 250ms) cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow var(--upj-duration, 250ms) ease,
		background-color var(--upj-duration, 250ms) ease,
		border-color var(--upj-duration, 250ms) ease;
}

.upj-step:hover .upj-step__inner,
.upj-step:focus-within .upj-step__inner {
	transform: translateY(var(--upj-hover-lift, -4px));
}

/* Node Shapes */
.upj-node-shape--circle .upj-step__marker {
	border-radius: 50%;
}

.upj-node-shape--square .upj-step__marker {
	border-radius: 0;
}

.upj-node-shape--rounded_square .upj-step__marker {
	border-radius: 12px;
}

.upj-node-shape--pill .upj-step__marker {
	border-radius: 999px;
}

.upj-node-shape--custom .upj-step__marker {
	border-radius: var(--upj-marker-radius, 50%);
}

/* Marker / Node Container Layer (Layer 2) */
.upj-step__marker {
	position: relative;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--upj-marker-w, var(--upj-marker-size, 52px));
	height: var(--upj-marker-h, var(--upj-marker-size, 52px));
	min-width: var(--upj-marker-w, var(--upj-marker-size, 52px));
	border-radius: var(--upj-marker-radius, 50%);
	background-color: var(--upj-marker-bg, #181816);
	color: var(--upj-marker-icon-color, var(--upj-marker-fg, #8B6823));
	border-width: var(--upj-marker-bw, 1.5px);
	border-style: var(--upj-marker-bs, solid);
	border-color: var(--upj-marker-bc, #8B6823);
	opacity: var(--upj-marker-opacity, 1);
	box-shadow: 0 0 var(--upj-marker-glow-size, 0px) var(--upj-marker-glow-color, transparent);
	margin-bottom: var(--upj-marker-gap, 18px);
	flex-shrink: 0;
	transition: background-color var(--upj-duration, 250ms) ease,
		color var(--upj-duration, 250ms) ease,
		border-color var(--upj-duration, 250ms) ease,
		box-shadow var(--upj-duration, 250ms) ease,
		opacity var(--upj-duration, 250ms) ease,
		transform var(--upj-duration, 250ms) ease;
}

/* Dedicated Cutout / Mask Backing Layer (Blocks connector behind EVERY node) */
.upj-conn-behind--yes .upj-step__marker::before {
	content: "";
	position: absolute;
	inset: calc(-1 * var(--upj-node-gap, 6px));
	border-radius: inherit;
	background-color: var(--upj-node-gap-color, var(--upj-marker-bg, #181816));
	z-index: -1;
	pointer-events: none;
}

/* Safe cutout when surface is transparent or glass */
.upj-normal-surface--transparent.upj-conn-behind--yes .upj-step__marker::before,
.upj-normal-surface--glass.upj-conn-behind--yes .upj-step__marker::before {
	background-color: var(--upj-node-gap-color, #181816);
}

/* Surface Styles */
.upj-normal-surface--transparent .upj-step:not(.is-active):not(.is-featured) .upj-step__marker {
	background-color: transparent;
}

.upj-normal-surface--glass .upj-step:not(.is-active):not(.is-featured) .upj-step__marker {
	background-color: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.upj-normal-surface--gradient .upj-step:not(.is-active):not(.is-featured) .upj-step__marker {
	background: linear-gradient(135deg, var(--upj-marker-bg, #181816), var(--upj-marker-bc, #8B6823));
}

/* Icon Glyph Layer (Layer 3) */
.upj-step__icon {
	position: relative;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--upj-icon-size, 22px);
	width: 1em;
	height: 1em;
	line-height: 1;
	color: var(--upj-marker-icon-color, var(--upj-marker-fg, inherit));
	transform: translateY(var(--upj-icon-oy, 0px));
	transition: transform var(--upj-duration, 250ms) cubic-bezier(0.34, 1.56, 0.64, 1),
		color var(--upj-duration, 250ms) ease;
}

.upj-step__icon svg {
	width: var(--upj-icon-size, 22px);
	height: var(--upj-icon-size, 22px);
	fill: currentColor;
	display: block;
}

.upj-step__marker-num {
	position: relative;
	z-index: 4;
	color: var(--upj-marker-num-color, var(--upj-marker-fg, inherit));
}

/* Layer 1: Connector Track & Segments */
.upj__track,
.upj-step__connector {
	position: absolute;
	z-index: 1;
}

.upj-conn-behind--yes .upj__track,
.upj-conn-behind--yes .upj-step__connector {
	z-index: 1;
}

.upj-conn-behind--yes .upj-step__inner {
	z-index: 2;
}

.upj-conn-behind--yes .upj-step__marker {
	z-index: 3;
}

.upj-conn-behind--yes .upj-step__icon {
	z-index: 4;
}

.upj-step__marker-num {
	font-weight: 700;
	font-size: clamp(14px, 1.1vw, 18px);
	line-height: 1;
}

/* Step Body & Texts */
.upj-step__body {
	width: 100%;
	max-width: var(--upj-text-max, 100%);
}

.upj-step__eyebrow {
	display: block;
	font-size: var(--upj-eyebrow-size, 11px);
	font-weight: var(--upj-eyebrow-weight, 700);
	letter-spacing: var(--upj-eyebrow-spacing, 0.12em);
	text-transform: uppercase;
	color: var(--upj-step-eyebrow-color, var(--upj-eyebrow-color, var(--upj-accent, #8B6823)));
	margin-bottom: 6px;
	transition: color var(--upj-duration, 250ms) ease;
}

.upj-step__number {
	display: block;
	font-size: var(--upj-card-num-size, 13px);
	font-weight: var(--upj-card-num-weight, 700);
	letter-spacing: var(--upj-card-num-spacing, 0.1em);
	text-transform: uppercase;
	color: var(--upj-step-num-color, var(--upj-num-color, #8B6823));
	margin-bottom: var(--upj-number-gap, 8px);
	transition: color var(--upj-duration, 250ms) ease;
}

.upj-step__title {
	margin: 0 0 var(--upj-title-gap, 8px) 0;
	color: var(--upj-step-title-color, var(--upj-title-color, #FFFFFF));
	font-size: var(--upj-title-size, 18px);
	font-weight: var(--upj-title-weight, 600);
	line-height: var(--upj-title-lh, 1.35);
	transition: color var(--upj-duration, 250ms) ease;
}

.upj-step__title a {
	color: inherit !important;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-decoration: none;
}

.upj-step__title a:hover {
	text-decoration: underline;
}

.upj-step__desc {
	margin: 0;
	color: var(--upj-step-desc-color, var(--upj-desc-color, #A69F91));
	font-size: var(--upj-desc-size, 14px);
	line-height: var(--upj-desc-lh, 1.6);
	transition: color var(--upj-duration, 250ms) ease;
}

/* Horizontal Connector Line */
.upj-step__connector {
	display: none;
}

.upj-conn--yes.upj-layout--horizontal .upj-step__connector,
.upj.upj-conn--yes.upj-layout--horizontal .upj-step__connector {
	display: block;
	position: absolute;
	top: calc(var(--upj-marker-size, 52px) / 2);
	left: 50%;
	width: calc(100% + var(--upj-gap, 24px));
	height: calc(var(--upj-amp, 36px) * 2);
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 1;
}

.upj-conn--yes.upj-layout--horizontal .upj-step__connector svg,
.upj.upj-conn--yes.upj-layout--horizontal .upj-step__connector svg {
	width: 100%;
	height: 100%;
	display: block;
	overflow: visible;
}

.upj-conn--yes.upj-layout--horizontal .upj-step__connector path,
.upj.upj-conn--yes.upj-layout--horizontal .upj-step__connector path {
	fill: none;
	stroke: var(--upj-line-color, rgba(0, 0, 0, 0.12));
	stroke-width: var(--upj-line-w, 2px);
	transition: stroke var(--upj-duration, 250ms) ease;
}

.upj-line--dashed .upj-step__connector path,
.upj.upj-line--dashed .upj-step__connector path {
	stroke-dasharray: 6 6;
}

.upj-line--dotted .upj-step__connector path,
.upj.upj-line--dotted .upj-step__connector path {
	stroke-dasharray: 2 4;
	stroke-linecap: round;
}

/* Continuous Full-Width SVG Track */
.upj__track {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: var(--upj-track-w, 100%);
	height: var(--upj-track-h, 240px);
	transform: translate(var(--upj-track-ox, 0px), var(--upj-track-oy, 0px));
	pointer-events: none;
	z-index: 1;
}

.upj-track-mode--full .upj__track {
	left: 0;
	right: 0;
	width: 100%;
}

.upj-track-mode--content .upj__track {
	left: 0;
	right: 0;
	width: 100%;
}

.upj-track-mode--bleed .upj__track {
	position: absolute;
	left: 50%;
	right: auto;
	width: 100vw;
	transform: translate(calc(-50% + var(--upj-track-ox, 0px)), var(--upj-track-oy, 0px));
}

.upj-track-mode--custom .upj__track {
	left: 50%;
	right: auto;
	width: var(--upj-track-w, 100%);
	transform: translate(calc(-50% + var(--upj-track-ox, 0px)), var(--upj-track-oy, 0px));
}

.upj__track-svg {
	width: 100%;
	height: 100%;
	display: block;
	overflow: visible;
}

.upj .upj__track-path,
.upj svg.upj__track-svg path.upj__track-path,
.elementor .upj .upj__track-path {
	fill: none !important;
	stroke: var(--upj-line-color, var(--upj-track-color, #8B6823)) !important;
	stroke-width: var(--upj-line-w, 1.5px) !important;
	transition: stroke var(--upj-duration, 250ms) ease, stroke-width var(--upj-duration, 250ms) ease;
}

.upj.upj-line--dashed .upj__track-path {
	stroke-dasharray: 6 6;
}

.upj.upj-line--dotted .upj__track-path {
	stroke-dasharray: 2 4;
	stroke-linecap: round;
}

/* Horizontal Wave Stagger & Per-Item Offsets */
.upj-layout--horizontal .upj-step,
.upj.upj-layout--horizontal .upj-step {
	transform: translate(var(--upj-item-offset-x, 0px), var(--upj-item-offset-y, 0px));
	transition: transform var(--upj-duration, 250ms) ease;
}

.upj-layout--horizontal.upj--stagger .upj-step.is-odd,
.upj.upj-layout--horizontal.upj--stagger .upj-step.is-odd {
	transform: translate(var(--upj-item-offset-x, 0px), calc(var(--upj-item-offset-y, 0px) + var(--upj-stagger, 60px)));
}

.upj-layout--horizontal .upj-step:hover .upj-step__inner,
.upj-layout--horizontal .upj-step.is-active .upj-step__inner,
.upj.upj-layout--horizontal .upj-step:hover .upj-step__inner,
.upj.upj-layout--horizontal .upj-step.is-active .upj-step__inner {
	transform: translateY(var(--upj-hover-lift, -4px));
}

.upj-layout--horizontal.upj--stagger .upj-step.is-even .upj-step__connector,
.upj.upj-layout--horizontal.upj--stagger .upj-step.is-even .upj-step__connector {
	top: calc(var(--upj-marker-size, 52px) / 2);
	height: var(--upj-stagger, 60px);
	transform: none;
}

.upj-layout--horizontal.upj--stagger .upj-step.is-odd .upj-step__connector,
.upj.upj-layout--horizontal.upj--stagger .upj-step.is-odd .upj-step__connector {
	top: calc(var(--upj-marker-size, 52px) / 2 - var(--upj-stagger, 60px));
	height: var(--upj-stagger, 60px);
	transform: none;
}

/* Completed Step Connector */
.upj-step.is-complete .upj-step__connector path,
.upj-step.is-complete~.upj-step .upj-step__connector path {
	stroke: var(--upj-line-done, var(--upj-line-color));
}

/* Vertical Stem beneath Node */
.upj-step__stem {
	display: block;
	width: var(--upj-stem-w, 1.5px);
	height: var(--upj-stem-h, 14px);
	background-color: var(--upj-stem-color, #8B6823);
	margin: 8px auto;
	border-radius: 1px;
	flex-shrink: 0;
	transition: background-color var(--upj-duration, 250ms) ease, height var(--upj-duration, 250ms) ease;
}

.upj-step:hover .upj-step__stem,
.upj-step.is-active .upj-step__stem {
	background-color: var(--upj-stem-color-hover, var(--upj-stem-color, #8B6823));
	height: calc(var(--upj-stem-h, 14px) + 2px);
}

.upj.upj-layout--vertical .upj-step__stem {
	display: none;
}

/* Active Card Highlight Panel */
.upj--has-active-card .upj-step.is-active,
.upj-step.is-featured {
	z-index: 10;
}

/* Fix square corner flash: all cards in an active card journey are initialized with the rounded border radius */
.upj--has-active-card .upj-step__inner {
	border-radius: var(--upj-card-radius, var(--upj-active-card-radius, 20px));
}

.upj--has-active-card .upj-step.is-active .upj-step__inner {
	width: var(--upj-active-card-w, 216px);
	max-width: 100%;
	min-height: var(--upj-active-card-h, 266px);
	margin-left: auto;
	margin-right: auto;
	border-radius: var(--upj-active-card-radius, 20px);
	background-color: var(--upj-active-card-bg, #FFFFFF);
	border-style: var(--upj-active-card-bs, var(--upj-card-bs, none));
	border-width: var(--upj-active-card-bw, var(--upj-card-bw, 0px));
	border-color: var(--upj-active-card-bc, transparent);
	box-shadow: var(--upj-active-card-shadow, 0 16px 40px rgba(0, 0, 0, 0.14));
	display: flex;
	flex-direction: var(--upj-active-card-dir, column);
	align-items: var(--upj-active-card-ai, center);
	justify-content: flex-start;
	padding: var(--upj-card-pad-y, 24px) var(--upj-card-pad-x, 20px);
	text-align: var(--upj-active-card-ta, center);
	box-sizing: border-box;
	transform: translate(var(--upj-active-card-ox, 0px), var(--upj-active-card-oy, 0px));
	transition: background-color var(--upj-duration, 250ms) cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow var(--upj-duration, 250ms) cubic-bezier(0.16, 1, 0.3, 1),
		transform var(--upj-duration, 250ms) cubic-bezier(0.16, 1, 0.3, 1),
		border-color var(--upj-duration, 250ms) cubic-bezier(0.16, 1, 0.3, 1);
}

.upj-step.is-featured .upj-step__inner {
	width: var(--upj-feat-w, 216px);
	max-width: 100%;
	min-height: var(--upj-feat-min-h, 266px);
	margin-left: auto;
	margin-right: auto;
	border-radius: var(--upj-feat-radius, 20px);
	background-color: var(--upj-featured-card-bg, #FFFFFF);
	border-style: var(--upj-featured-card-bs, var(--upj-card-bs, none));
	border-width: var(--upj-featured-card-bw, var(--upj-card-bw, 0px));
	border-color: var(--upj-featured-card-bc, transparent);
	box-shadow: var(--upj-featured-card-shadow, 0 16px 40px rgba(0, 0, 0, 0.14));
	display: flex;
	flex-direction: var(--upj-active-card-dir, column);
	align-items: var(--upj-active-card-ai, center);
	justify-content: flex-start;
	padding: var(--upj-card-pad-y, 24px) var(--upj-card-pad-x, 20px);
	text-align: var(--upj-active-card-ta, center);
	box-sizing: border-box;
	transition: background-color var(--upj-duration, 250ms) cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow var(--upj-duration, 250ms) cubic-bezier(0.16, 1, 0.3, 1),
		transform var(--upj-duration, 250ms) cubic-bezier(0.16, 1, 0.3, 1),
		border-color var(--upj-duration, 250ms) cubic-bezier(0.16, 1, 0.3, 1);
}

/* Card Width Mode classes */
.upj-card-w--full .upj-step,
.upj-card-w--full .upj-step__inner,
.upj.upj-card-w--full .upj-step,
.upj.upj-card-w--full .upj-step__inner {
	width: 100% !important;
	max-width: 100% !important;
}

.upj-card-w--auto .upj-step__inner,
.upj.upj-card-w--auto .upj-step__inner {
	width: auto !important;
}

@media (max-width: 1024px) {

	.upj-card-w-tablet--full .upj-step,
	.upj-card-w-tablet--full .upj-step__inner,
	.upj.upj-card-w-tablet--full .upj-step,
	.upj.upj-card-w-tablet--full .upj-step__inner {
		width: 100% !important;
		max-width: 100% !important;
	}
}

@media (max-width: 767px) {

	.upj-card-w-mobile--full .upj-step,
	.upj-card-w-mobile--full .upj-step__inner,
	.upj.upj-card-w-mobile--full .upj-step,
	.upj.upj-card-w-mobile--full .upj-step__inner {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* Active Card Width Mode classes */
.upj-act-w--full .upj-step.is-active .upj-step__inner,
.upj-act-w--full .upj-step.is-featured .upj-step__inner,
.upj.upj-act-w--full .upj-step.is-active .upj-step__inner,
.upj.upj-act-w--full .upj-step.is-featured .upj-step__inner {
	width: 100% !important;
	max-width: 100% !important;
}

@media (max-width: 1024px) {

	.upj-act-w-tablet--full .upj-step.is-active .upj-step__inner,
	.upj-act-w-tablet--full .upj-step.is-featured .upj-step__inner,
	.upj.upj-act-w-tablet--full .upj-step.is-active .upj-step__inner,
	.upj.upj-act-w-tablet--full .upj-step.is-featured .upj-step__inner {
		width: 100% !important;
		max-width: 100% !important;
	}
}

@media (max-width: 767px) {

	.upj-act-w-mobile--full .upj-step.is-active .upj-step__inner,
	.upj-act-w-mobile--full .upj-step.is-featured .upj-step__inner,
	.upj.upj-act-w-mobile--full .upj-step.is-active .upj-step__inner,
	.upj.upj-act-w-mobile--full .upj-step.is-featured .upj-step__inner {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* Stacked Milestones: Active step stays full-width row with horizontal layout unless explicitly overridden */
.upj.upj-journey-layout--stacked_milestones .upj-step.is-active .upj-step__inner,
.upj.upj-journey-layout--stacked_milestones.upj--has-active-card .upj-step.is-active .upj-step__inner {
	width: var(--upj-active-card-w, 100%);
	max-width: 100%;
	min-height: var(--upj-active-card-h, auto);
	flex-direction: var(--upj-active-card-dir, row);
	align-items: var(--upj-active-card-ai, flex-start);
	text-align: var(--upj-active-card-ta, left);
	padding: var(--upj-card-pad-y, 24px) var(--upj-card-pad-x, 24px);
}

.upj.upj-journey-layout--stacked_milestones .upj-step.is-active .upj-step__body,
.upj.upj-journey-layout--stacked_milestones.upj--has-active-card .upj-step.is-active .upj-step__body {
	text-align: var(--upj-active-card-ta, left);
}

/* Vertical Editorial: Active step stays full-width row with horizontal layout unless explicitly overridden */
.upj.upj-journey-layout--vertical_editorial .upj-step.is-active .upj-step__inner,
.upj.upj-journey-layout--vertical_editorial.upj--has-active-card .upj-step.is-active .upj-step__inner {
	width: var(--upj-active-card-w, 100%);
	max-width: 100%;
	min-height: var(--upj-active-card-h, auto);
	flex-direction: var(--upj-active-card-dir, row);
	align-items: var(--upj-active-card-ai, flex-start);
	text-align: var(--upj-active-card-ta, left);
}

.upj-step.is-active .upj-step__title {
	color: var(--upj-active-title-color, var(--upj-title-color, #181816)) !important;
}

.upj-step.is-featured .upj-step__title {
	color: var(--upj-featured-title-color, var(--upj-title-color, #181816)) !important;
}

.upj-step.is-active .upj-step__desc {
	color: var(--upj-active-desc-color, var(--upj-desc-color, #4B453B)) !important;
}

.upj-step.is-featured .upj-step__desc {
	color: var(--upj-featured-desc-color, var(--upj-desc-color, #4B453B)) !important;
}

.upj-step.is-active .upj-step__number {
	color: var(--upj-active-num-color, var(--upj-num-color, #8B6823)) !important;
}

.upj-step.is-featured .upj-step__number {
	color: var(--upj-featured-num-color, var(--upj-num-color, #8B6823)) !important;
}

/* Inactive State Styling */
.upj-step.is-inactive .upj-step__inner,
.upj--has-active-card .upj-step.is-inactive .upj-step__inner {
	background-color: var(--upj-inactive-card-bg, transparent);
	border-color: var(--upj-inactive-card-bc, transparent);
	box-shadow: var(--upj-inactive-card-shadow, none);
	opacity: var(--upj-inactive-opacity, 1);
}

.upj-step.is-inactive .upj-step__title {
	color: var(--upj-inactive-title-color, var(--upj-normal-title-color, var(--upj-title-color, inherit)));
}

.upj-step.is-inactive .upj-step__desc {
	color: var(--upj-inactive-desc-color, var(--upj-normal-desc-color, var(--upj-desc-color, inherit)));
}

.upj-step.is-inactive .upj-step__number {
	color: var(--upj-inactive-num-color, var(--upj-normal-num-color, var(--upj-num-color, inherit)));
}

.upj-step.is-inactive .upj-step__marker {
	background-color: var(--upj-inactive-marker-bg, var(--upj-normal-marker-bg, #A88B4A));
	color: var(--upj-inactive-marker-icon-color, var(--upj-normal-marker-icon-color, #8B6823));
	border-color: var(--upj-inactive-marker-bc, var(--upj-normal-marker-bc, #8B6823));
}

.upj-step.is-active .upj-step__marker,
.upj--has-active-card .upj-step.is-active .upj-step__marker,
.elementor .upj--has-active-card .upj-step.is-active .upj-step__marker {
	background-color: var(--upj-active-marker-bg, #8B6823);
	color: var(--upj-active-marker-icon-color, var(--upj-active-marker-fg, #FFFFFF));
	border-color: var(--upj-active-marker-bc, #8B6823);
	transform: scale(var(--upj-active-node-scale, 1.05));
	box-shadow: 0 0 var(--upj-active-marker-glow-size, 20px) var(--upj-active-marker-glow, var(--upj-marker-glow, rgba(184, 146, 70, 0.45)));
}

.upj-step.is-featured .upj-step__marker {
	background-color: var(--upj-featured-marker-bg, #8B6823);
	color: var(--upj-featured-marker-icon-color, var(--upj-featured-marker-fg, #FFFFFF));
	border-color: var(--upj-featured-marker-bc, #8B6823);
	transform: scale(var(--upj-featured-node-scale, 1.05));
	box-shadow: 0 0 var(--upj-featured-marker-glow-size, 20px) var(--upj-featured-marker-glow, var(--upj-marker-glow, rgba(184, 146, 70, 0.45)));
}

.upj--has-active-card .upj-step.is-active .upj-step__icon,
.elementor .upj--has-active-card .upj-step.is-active .upj-step__icon {
	color: var(--upj-active-marker-icon-color, var(--upj-active-marker-fg, #FFFFFF));
}

.upj-step.is-featured .upj-step__icon {
	color: var(--upj-featured-marker-icon-color, var(--upj-featured-marker-fg, #FFFFFF));
}

.upj--has-active-card .upj-step.is-active .upj-step__icon svg,
.elementor .upj--has-active-card .upj-step.is-active .upj-step__icon svg {
	fill: var(--upj-active-marker-icon-color, var(--upj-active-marker-fg, #FFFFFF));
}

.upj-step.is-featured .upj-step__icon svg {
	fill: var(--upj-featured-marker-icon-color, var(--upj-featured-marker-fg, #FFFFFF));
}

/* Hover & Active Micro-Interactions */
.upj[data-interactive="yes"] .upj-step {
	cursor: pointer;
}

.upj-step__marker {
	transition: background-color var(--upj-duration, 250ms) ease,
		border-color var(--upj-duration, 250ms) ease,
		box-shadow var(--upj-duration, 250ms) ease,
		transform var(--upj-duration, 250ms) ease;
}

/* Desktop Hover with Fine Pointer */
@media (hover: hover) and (pointer: fine) {

	.upj-step:not(.is-active):hover .upj-step__marker,
	.upj-step:not(.is-active):focus-within .upj-step__marker {
		border-color: var(--upj-hover-marker-bc, var(--upj-marker-bc, #8B6823));
		background-color: var(--upj-hover-marker-bg, var(--upj-marker-bg, #181816));
		color: var(--upj-hover-marker-icon-color, var(--upj-marker-icon-color, var(--upj-marker-fg, #8B6823)));
		box-shadow: 0 0 var(--upj-hover-marker-glow-size, 18px) var(--upj-hover-marker-glow-color, var(--upj-marker-glow, rgba(184, 146, 70, 0.45)));
		transform: scale(var(--upj-node-hover-scale, 1.05));
	}

	.upj-step:not(.is-active):hover .upj-step__inner {
		transform: translateY(var(--upj-hover-lift, -4px));
	}

	.upj-step:hover .upj-step__icon,
	.upj-step.is-active:hover .upj-step__icon {
		transform: translateY(var(--upj-icon-oy, 0px)) scale(var(--upj-icon-hover-scale, 1.08)) rotate(var(--upj-icon-hover-rot, -3deg));
	}

	.upj-step:not(.is-active):hover .upj-step__title {
		transform: translateY(var(--upj-title-hover-y, -2px));
	}
}

/* Touch / Coarse Devices: Eliminate sticky hover and pseudo-hover states */
@media (hover: none),
(pointer: coarse) {

	.upj-step:hover,
	.upj-step:focus-within,
	.upj-step:hover .upj-step__inner,
	.upj-step:focus-within .upj-step__inner {
		transform: none !important;
	}

	.upj-step:not(.is-active):hover .upj-step__inner {
		background-color: transparent !important;
		box-shadow: none !important;
	}

	.upj-step:not(.is-active):hover .upj-step__title,
	.upj-step:not(.is-active):focus-within .upj-step__title {
		color: var(--upj-normal-title-color, #FFFFFF) !important;
	}

	.upj-step:not(.is-active):hover .upj-step__desc,
	.upj-step:not(.is-active):focus-within .upj-step__desc {
		color: var(--upj-normal-desc-color, #A69F91) !important;
	}
}

.upj-step__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform var(--upj-duration, 250ms) cubic-bezier(0.34, 1.56, 0.64, 1);
}

.upj-step.is-active .upj-step__icon {
	transform: translateY(var(--upj-icon-oy, 0px)) scale(var(--upj-active-node-scale, 1.05));
}

.upj-step__title {
	transition: transform var(--upj-duration, 250ms) ease, color var(--upj-duration, 250ms) ease;
}

.upj-step.is-active .upj-step__title {
	transform: translateY(var(--upj-title-hover-y, -2px));
}

/* Vertical Timeline (Native or Stacked) */
.upj-step__vline {
	display: none;
}

.upj.upj-layout--vertical .upj__list {
	display: flex;
	flex-direction: column;
	gap: var(--upj-gap, 32px);
}

.upj.upj-layout--vertical .upj-step__inner {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	text-align: left;
	gap: var(--upj-marker-gap, 18px);
}

.upj.upj-layout--vertical .upj-step__marker {
	margin-bottom: 0;
}

.upj.upj-layout--vertical.upj-conn--yes .upj-step__vline {
	display: block;
	position: absolute;
	left: calc(var(--upj-marker-size, 52px) / 2);
	top: var(--upj-marker-size, 52px);
	bottom: calc(-1 * var(--upj-gap, 32px));
	width: var(--upj-line-w, 2px);
	transform: translateX(-50%);
	background-color: var(--upj-line-color, rgba(0, 0, 0, 0.12));
	z-index: 1;
}

.upj.upj-layout--vertical.upj-conn--yes.upj-line--dashed .upj-step__vline {
	background: repeating-linear-gradient(to bottom, var(--upj-line-color, rgba(0, 0, 0, 0.12)) 0, var(--upj-line-color, rgba(0, 0, 0, 0.12)) 6px, transparent 6px, transparent 12px);
}

.upj.upj-layout--vertical.upj-conn--yes.upj-line--dotted .upj-step__vline {
	background: repeating-linear-gradient(to bottom, var(--upj-line-color, rgba(0, 0, 0, 0.12)) 0, var(--upj-line-color, rgba(0, 0, 0, 0.12)) 3px, transparent 3px, transparent 7px);
}

.upj.upj-layout--vertical .upj-step.is-complete .upj-step__vline {
	background-color: var(--upj-line-done, var(--upj-line-color));
}

/* Responsive Stacking Breakpoints: Mobile (max-width: 767px) */
@media (max-width: 767px) {

	.upj-stack--mobile.upj-layout--horizontal .upj__list,
	.upj-stack--tablet.upj-layout--horizontal .upj__list,
	.upj.upj-stack--mobile.upj-layout--horizontal .upj__list,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj__list {
		display: flex;
		flex-direction: column;
		width: 100% !important;
		align-items: stretch;
		gap: var(--upj-gap, 20px);
	}

	.upj-stack--mobile.upj-layout--horizontal .upj-step,
	.upj-stack--tablet.upj-layout--horizontal .upj-step,
	.upj.upj-stack--mobile.upj-layout--horizontal .upj-step,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		transform: none !important;
		box-sizing: border-box;
		position: relative;
	}

	.upj-stack--mobile.upj-layout--horizontal .upj__track,
	.upj-stack--tablet.upj-layout--horizontal .upj__track,
	.upj.upj-stack--mobile.upj-layout--horizontal .upj__track,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj__track {
		display: none !important;
	}

	.upj-stack--mobile.upj-layout--horizontal .upj-step__inner,
	.upj-stack--tablet.upj-layout--horizontal .upj-step__inner,
	.upj.upj-stack--mobile.upj-layout--horizontal .upj-step__inner,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step__inner {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		text-align: left;
		gap: var(--upj-marker-gap, 16px);
		box-sizing: border-box;
		padding: var(--upj-card-pad-y, 16px) var(--upj-card-pad-x, 16px);
		border-radius: var(--upj-active-card-radius, 16px);
		transition: background-color var(--upj-duration, 250ms) ease,
			border-color var(--upj-duration, 250ms) ease,
			box-shadow var(--upj-duration, 250ms) ease;
	}

	.upj-stack--mobile.upj-layout--horizontal .upj-step.is-featured .upj-step__inner,
	.upj-stack--tablet.upj-layout--horizontal .upj-step.is-featured .upj-step__inner,
	.upj.upj-stack--mobile.upj-layout--horizontal .upj-step.is-featured .upj-step__inner,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step.is-featured .upj-step__inner,
	.upj-stack--mobile.upj-layout--horizontal .upj-step.is-active .upj-step__inner,
	.upj-stack--tablet.upj-layout--horizontal .upj-step.is-active .upj-step__inner,
	.upj.upj-stack--mobile.upj-layout--horizontal .upj-step.is-active .upj-step__inner,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step.is-active .upj-step__inner {
		width: 100% !important;
		min-height: auto !important;
		text-align: left;
		align-items: flex-start;
		transform: none !important;
		padding: var(--upj-card-pad-y, 18px) var(--upj-card-pad-x, 18px) !important;
	}

	.upj-stack--mobile.upj-layout--horizontal .upj-step__marker,
	.upj-stack--tablet.upj-layout--horizontal .upj-step__marker,
	.upj.upj-stack--mobile.upj-layout--horizontal .upj-step__marker,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step__marker {
		margin-bottom: 0;
		flex-shrink: 0;
	}

	.upj-stack--mobile.upj-layout--horizontal .upj-step__stem,
	.upj-stack--tablet.upj-layout--horizontal .upj-step__stem,
	.upj.upj-stack--mobile.upj-layout--horizontal .upj-step__stem,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step__stem {
		display: none !important;
	}

	.upj-stack--mobile.upj-layout--horizontal .upj-step__connector,
	.upj-stack--tablet.upj-layout--horizontal .upj-step__connector,
	.upj.upj-stack--mobile.upj-layout--horizontal .upj-step__connector,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step__connector {
		display: none !important;
	}

	.upj-stack--mobile.upj-layout--horizontal.upj-conn--yes .upj-step__vline,
	.upj-stack--tablet.upj-layout--horizontal.upj-conn--yes .upj-step__vline,
	.upj.upj-stack--mobile.upj-layout--horizontal.upj-conn--yes .upj-step__vline,
	.upj.upj-stack--tablet.upj-layout--horizontal.upj-conn--yes .upj-step__vline {
		display: block;
		position: absolute;
		left: calc(var(--upj-card-pad-x, 16px) + var(--upj-marker-size, 52px) / 2 + var(--upj-vline-ox, 0px));
		top: calc(var(--upj-card-pad-y, 16px) + var(--upj-marker-size, 52px));
		bottom: calc(-1 * var(--upj-gap, 20px) + var(--upj-card-pad-y, 16px));
		width: var(--upj-line-w, 2px);
		transform: translateX(-50%);
		background-color: var(--upj-line-color, rgba(0, 0, 0, 0.12));
		z-index: 1;
	}

	.upj-stack--mobile.upj-layout--horizontal.upj-conn--yes.upj-line--dashed .upj-step__vline,
	.upj-stack--tablet.upj-layout--horizontal.upj-conn--yes.upj-line--dashed .upj-step__vline,
	.upj.upj-stack--mobile.upj-layout--horizontal.upj-conn--yes.upj-line--dashed .upj-step__vline,
	.upj.upj-stack--tablet.upj-layout--horizontal.upj-conn--yes.upj-line--dashed .upj-step__vline {
		background: repeating-linear-gradient(to bottom, var(--upj-line-color, rgba(0, 0, 0, 0.12)) 0, var(--upj-line-color, rgba(0, 0, 0, 0.12)) 6px, transparent 6px, transparent 12px);
	}

	.upj-stack--mobile.upj-layout--horizontal .upj-step.is-complete .upj-step__vline,
	.upj-stack--tablet.upj-layout--horizontal .upj-step.is-complete .upj-step__vline,
	.upj.upj-stack--mobile.upj-layout--horizontal .upj-step.is-complete .upj-step__vline,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step.is-complete .upj-step__vline {
		background-color: var(--upj-line-done, var(--upj-line-color));
	}

	/* Mobile Mode: Compact Timeline */
	.upj.upj-mobile-mode--compact_timeline .upj__list {
		gap: var(--upj-gap, 14px) !important;
	}

	.upj.upj-mobile-mode--compact_timeline .upj-step__inner {
		padding: var(--upj-card-pad-y, 12px) var(--upj-card-pad-x, 14px) !important;
		gap: var(--upj-marker-gap, 14px) !important;
		border-radius: var(--upj-active-card-radius, 14px) !important;
	}

	.upj.upj-mobile-mode--compact_timeline .upj-step__marker {
		width: var(--upj-marker-size, 44px) !important;
		height: var(--upj-marker-size, 44px) !important;
		min-width: var(--upj-marker-size, 44px) !important;
	}

	.upj.upj-mobile-mode--compact_timeline.upj-conn--yes .upj-step__vline {
		left: calc(var(--upj-card-pad-x, 14px) + var(--upj-marker-size, 44px) / 2 + var(--upj-vline-ox, 0px)) !important;
		top: calc(var(--upj-card-pad-y, 12px) + var(--upj-marker-size, 44px)) !important;
		bottom: calc(-1 * var(--upj-gap, 14px) + var(--upj-card-pad-y, 12px)) !important;
	}

	.upj.upj-mobile-mode--compact_timeline .upj-step.is-active .upj-step__inner {
		box-shadow: var(--upj-active-card-shadow, 0 8px 24px rgba(0, 0, 0, 0.12)) !important;
	}

	/* Mobile Mode: Cards (clean stacked cards without connector line) */
	.upj.upj-mobile-mode--cards .upj__list {
		gap: var(--upj-gap, 14px) !important;
	}

	.upj.upj-mobile-mode--cards .upj-step__vline {
		display: none !important;
	}

	.upj.upj-mobile-mode--cards .upj-step__inner {
		padding: var(--upj-card-pad-y, 16px) var(--upj-card-pad-x, 18px) !important;
		border-radius: var(--upj-active-card-radius, 16px) !important;
		border: 1px solid rgba(255, 255, 255, 0.08);
	}

	.upj.upj-mobile-mode--cards .upj-step.is-active .upj-step__inner {
		border-color: var(--upj-active-card-bc, #FFFFFF) !important;
		box-shadow: var(--upj-active-card-shadow, 0 10px 30px rgba(0, 0, 0, 0.14)) !important;
	}
}

/* Responsive Stacking Breakpoints: Tablet (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {

	.upj-stack--tablet.upj-layout--horizontal .upj__list,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj__list {
		display: flex;
		flex-direction: column;
		width: 100% !important;
		align-items: stretch;
		gap: var(--upj-gap, 28px);
	}

	.upj-stack--tablet.upj-layout--horizontal .upj-step,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step {
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
	}

	.upj-stack--tablet.upj-layout--horizontal .upj__track,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj__track {
		display: none !important;
	}

	.upj-stack--tablet.upj-layout--horizontal .upj-step__inner,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step__inner {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		text-align: left;
		gap: var(--upj-marker-gap, 16px);
	}

	.upj-stack--tablet.upj-layout--horizontal .upj-step.is-featured .upj-step__inner,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step.is-featured .upj-step__inner,
	.upj-stack--tablet.upj-layout--horizontal .upj-step.is-active .upj-step__inner,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step.is-active .upj-step__inner {
		width: 100% !important;
		min-height: auto !important;
		text-align: left;
		align-items: flex-start;
		transform: none !important;
	}

	.upj-stack--tablet.upj-layout--horizontal .upj-step__marker,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step__marker {
		margin-bottom: 0;
	}

	.upj-stack--tablet.upj-layout--horizontal .upj-step__stem,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step__stem {
		display: none !important;
	}

	.upj-stack--tablet.upj-layout--horizontal .upj-step__connector,
	.upj.upj-stack--tablet.upj-layout--horizontal .upj-step__connector {
		display: none !important;
	}

	.upj-stack--tablet.upj-layout--horizontal.upj-conn--yes .upj-step__vline,
	.upj.upj-stack--tablet.upj-layout--horizontal.upj-conn--yes .upj-step__vline {
		display: block;
		position: absolute;
		left: calc(var(--upj-marker-size, 52px) / 2);
		top: var(--upj-marker-size, 52px);
		bottom: calc(-1 * var(--upj-gap, 28px));
		width: var(--upj-line-w, 2px);
		transform: translateX(-50%);
		background-color: var(--upj-line-color, rgba(0, 0, 0, 0.12));
		z-index: 1;
	}
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {

	.upj-step__inner,
	.upj-step__marker,
	.upj-step:hover .upj-step__inner {
		transform: none !important;
		transition-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   UDDFEL PROCESS JOURNEY 2.0: LAYOUT PRESETS
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Vertical Editorial Timeline (Crown Our Approach Style)
   -------------------------------------------------------------------------- */
.upj.upj-journey-layout--vertical_editorial {
	--upj-title-color: #181816;
	--upj-desc-color: #4B453B;
	--upj-num-color: #8B6823;
	--upj-line-color: #8B6823;
}

.upj.upj-journey-layout--vertical_editorial .upj__list {
	display: flex;
	flex-direction: column;
	gap: var(--upj-vet-milestone-gap, var(--upj-gap, 48px));
	position: relative;
	padding-top: 0;
	padding-left: 0;
}

.upj.upj-journey-layout--vertical_editorial .upj-step {
	position: relative;
	width: 100%;
}

.upj.upj-journey-layout--vertical_editorial .upj-step__inner {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: var(--upj-marker-gap, 32px);
	text-align: left;
	background: transparent;
	padding: 0;
}

.upj.upj-journey-layout--vertical_editorial.upj-vet-has-surface .upj-step__inner {
	background: var(--upj-card-bg, #FFFFFF);
	border: 1px solid var(--upj-card-bc, rgba(139, 104, 35, 0.15));
	border-radius: var(--upj-card-radius, 16px);
	padding: var(--upj-card-pad-y, 32px) var(--upj-card-pad-x, 32px);
	box-shadow: var(--upj-card-bs, 0 4px 20px rgba(0, 0, 0, 0.04));
	max-width: var(--upj-vet-card-w, 100%);
}

.upj.upj-journey-layout--vertical_editorial .upj-step__number {
	font-family: 'Inter Tight', sans-serif;
	font-size: var(--upj-vet-num-size, clamp(32px, 3.5vw, 48px));
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--upj-num-color, #8B6823);
	margin-bottom: 8px;
}

.upj.upj-journey-layout--vertical_editorial .upj-step__vline {
	display: block;
	position: absolute;
	left: calc(var(--upj-marker-size, 52px) / 2);
	top: var(--upj-marker-size, 52px);
	bottom: calc(-1 * var(--upj-vet-milestone-gap, var(--upj-gap, 48px)));
	width: var(--upj-line-w, 2px);
	transform: translateX(-50%);
	background-color: var(--upj-line-color, rgba(139, 104, 35, 0.25));
	z-index: 1;
}

.upj.upj-journey-layout--vertical_editorial.upj-line--dashed .upj-step__vline {
	background: repeating-linear-gradient(to bottom, var(--upj-line-color, #8B6823) 0, var(--upj-line-color, #8B6823) 8px, transparent 8px, transparent 16px);
}

.upj.upj-journey-layout--vertical_editorial.upj-line--dotted .upj-step__vline {
	background: repeating-linear-gradient(to bottom, var(--upj-line-color, #8B6823) 0, var(--upj-line-color, #8B6823) 3px, transparent 3px, transparent 8px);
}

.upj.upj-journey-layout--vertical_editorial .upj-step.is-complete .upj-step__vline {
	background-color: var(--upj-line-done, var(--upj-line-color, #8B6823));
}

.upj.upj-journey-layout--vertical_editorial.upj-vet-content--left .upj-step__inner {
	flex-direction: row-reverse;
	text-align: right;
}

.upj.upj-journey-layout--vertical_editorial.upj-vet-content--left .upj-step__vline {
	left: auto;
	right: calc(var(--upj-marker-size, 52px) / 2);
	transform: translateX(50%);
}

/* --------------------------------------------------------------------------
   2. Alternating Timeline (Left / Right with Central Line)
   -------------------------------------------------------------------------- */
.upj.upj-journey-layout--alternating {
	--upj-title-color: #181816;
	--upj-desc-color: #4B453B;
	--upj-num-color: #8B6823;
	--upj-line-color: #8B6823;
	position: relative;
}

.upj.upj-journey-layout--alternating .upj__list {
	display: flex;
	flex-direction: column;
	gap: var(--upj-gap, 56px);
	position: relative;
	padding-top: 0;
}

.upj.upj-journey-layout--alternating::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 24px;
	bottom: 24px;
	width: var(--upj-line-w, 2px);
	transform: translateX(-50%);
	background-color: var(--upj-line-color, rgba(139, 104, 35, 0.25));
	z-index: 1;
}

.upj.upj-journey-layout--alternating.upj-line--dashed::before {
	background: repeating-linear-gradient(to bottom, var(--upj-line-color, #8B6823) 0, var(--upj-line-color, #8B6823) 8px, transparent 8px, transparent 16px);
}

.upj.upj-journey-layout--alternating.upj-line--dotted::before {
	background: repeating-linear-gradient(to bottom, var(--upj-line-color, #8B6823) 0, var(--upj-line-color, #8B6823) 3px, transparent 3px, transparent 8px);
}

.upj.upj-journey-layout--alternating .upj-step {
	position: relative;
	display: flex;
	width: 100%;
	z-index: 2;
}

.upj.upj-journey-layout--alternating .upj-step.is-even {
	justify-content: flex-start;
}

.upj.upj-journey-layout--alternating .upj-step.is-even .upj-step__inner {
	width: var(--upj-alt-card-w, calc(50% - 40px));
	margin-right: auto;
	margin-left: 0;
	text-align: right;
	flex-direction: row-reverse;
}

.upj.upj-journey-layout--alternating .upj-step.is-odd {
	justify-content: flex-end;
}

.upj.upj-journey-layout--alternating .upj-step.is-odd .upj-step__inner {
	width: var(--upj-alt-card-w, calc(50% - 40px));
	margin-left: auto;
	margin-right: 0;
	text-align: left;
	flex-direction: row;
}

.upj.upj-journey-layout--alternating.upj-alt--right .upj-step.is-even {
	justify-content: flex-end;
}

.upj.upj-journey-layout--alternating.upj-alt--right .upj-step.is-even .upj-step__inner {
	margin-left: auto;
	margin-right: 0;
	text-align: left;
	flex-direction: row;
}

.upj.upj-journey-layout--alternating.upj-alt--right .upj-step.is-odd {
	justify-content: flex-start;
}

.upj.upj-journey-layout--alternating.upj-alt--right .upj-step.is-odd .upj-step__inner {
	margin-right: auto;
	margin-left: 0;
	text-align: right;
	flex-direction: row-reverse;
}

.upj.upj-journey-layout--alternating .upj-step__inner {
	background: var(--upj-card-bg, #FFFFFF);
	border: 1px solid var(--upj-card-bc, rgba(139, 104, 35, 0.15));
	border-radius: var(--upj-card-radius, 16px);
	padding: var(--upj-card-pad-y, 28px) var(--upj-card-pad-x, 28px);
	box-shadow: var(--upj-card-bs, 0 4px 20px rgba(0, 0, 0, 0.04));
	gap: 20px;
}

@media (max-width: 900px) {
	.upj.upj-journey-layout--alternating::before {
		left: calc(var(--upj-marker-size, 52px) / 2);
	}

	.upj.upj-journey-layout--alternating .upj-step.is-even,
	.upj.upj-journey-layout--alternating .upj-step.is-odd {
		justify-content: flex-start !important;
	}

	.upj.upj-journey-layout--alternating .upj-step.is-even .upj-step__inner,
	.upj.upj-journey-layout--alternating .upj-step.is-odd .upj-step__inner {
		width: calc(100% - var(--upj-marker-size, 52px) - 20px) !important;
		margin-left: calc(var(--upj-marker-size, 52px) + 20px) !important;
		margin-right: 0 !important;
		text-align: left !important;
		flex-direction: row !important;
	}
}

/* --------------------------------------------------------------------------
   3. Horizontal Steps (Straight Timeline)
   -------------------------------------------------------------------------- */
.upj.upj-journey-layout--horizontal_steps {
	--upj-title-color: #181816;
	--upj-desc-color: #4B453B;
	--upj-num-color: #8B6823;
	--upj-line-color: #8B6823;
}

.upj.upj-journey-layout--horizontal_steps .upj__list {
	display: grid;
	grid-template-columns: repeat(var(--upj-cols, 4), minmax(0, 1fr));
	gap: var(--upj-gap, 32px);
	position: relative;
	padding-top: 0;
}

.upj.upj-journey-layout--horizontal_steps .upj-step__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.upj.upj-journey-layout--horizontal_steps.upj-title-pos--top .upj-step__inner {
	flex-direction: column-reverse;
}

.upj.upj-journey-layout--horizontal_steps .upj-step__connector {
	display: block !important;
	position: absolute;
	top: calc(var(--upj-marker-size, 52px) / 2);
	left: 50%;
	width: calc(100% + var(--upj-gap, 32px));
	height: var(--upj-line-w, 2px);
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 1;
}

.upj.upj-journey-layout--horizontal_steps .upj-step__connector svg {
	display: none;
}

.upj.upj-journey-layout--horizontal_steps .upj-step__connector::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--upj-line-color, rgba(139, 104, 35, 0.25));
}

.upj.upj-journey-layout--horizontal_steps.upj-line--dashed .upj-step__connector::after {
	background: repeating-linear-gradient(to right, var(--upj-line-color, #8B6823) 0, var(--upj-line-color, #8B6823) 6px, transparent 6px, transparent 12px);
}

.upj.upj-journey-layout--horizontal_steps.upj-horiz-conn--arrows .upj-step__connector::before {
	content: "→";
	position: absolute;
	right: -8px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	color: var(--upj-line-color, #8B6823);
	line-height: 1;
	z-index: 2;
}

.upj.upj-journey-layout--horizontal_steps.upj-horiz-mode--scroll .upj__list {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 24px;
}

.upj.upj-journey-layout--horizontal_steps.upj-horiz-mode--scroll .upj-step {
	flex: 0 0 clamp(240px, 30vw, 320px);
	scroll-snap-align: start;
}

/* --------------------------------------------------------------------------
   4. Stacked Milestones (Large Editorial Numbers + Watermarks)
   -------------------------------------------------------------------------- */
.upj.upj-journey-layout--stacked_milestones {
	--upj-title-color: #181816;
	--upj-desc-color: #4B453B;
	--upj-num-color: #8B6823;
	--upj-line-color: #8B6823;
}

.upj.upj-journey-layout--stacked_milestones .upj__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	position: relative;
	padding-top: 0;
}

.upj.upj-journey-layout--stacked_milestones .upj-step {
	position: relative;
	width: 100%;
	padding: var(--upj-stacked-gap, 40px) 0;
	border-bottom: 1px solid var(--upj-divider-color, rgba(0, 0, 0, 0.08));
}

.upj.upj-journey-layout--stacked_milestones.upj-stacked-divider--accent_bar .upj-step {
	border-bottom: 2px solid var(--upj-accent, #8B6823);
}

.upj.upj-journey-layout--stacked_milestones.upj-stacked-divider--dotted .upj-step {
	border-bottom: 1px dashed rgba(139, 104, 35, 0.35);
}

.upj.upj-journey-layout--stacked_milestones.upj-stacked-divider--none .upj-step {
	border-bottom: none;
}

.upj.upj-journey-layout--stacked_milestones .upj-step:last-child {
	border-bottom: none;
}

.upj.upj-journey-layout--stacked_milestones .upj-step__inner {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: var(--upj-marker-gap, 36px);
	text-align: left;
	position: relative;
}

.upj.upj-journey-layout--stacked_milestones .upj-step__watermark {
	position: absolute;
	right: 0;
	bottom: -10px;
	font-family: 'Inter Tight', sans-serif;
	font-size: clamp(64px, 10vw, 140px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--upj-num-color, #8B6823);
	opacity: var(--upj-watermark-op, 0.08);
	pointer-events: none;
	user-select: none;
	z-index: 1;
}

/* --------------------------------------------------------------------------
   5. Split Storyline (Sticky Left Column + Milestones)
   -------------------------------------------------------------------------- */
.upj.upj-journey-layout--split_storyline {
	--upj-title-color: #181816;
	--upj-desc-color: #4B453B;
	--upj-num-color: #8B6823;
	--upj-line-color: #8B6823;
}

.upj.upj-journey-layout--split_storyline .upj-split-container {
	display: grid;
	grid-template-columns: 35% 1fr;
	gap: 60px;
	align-items: start;
	position: relative;
	width: 100%;
}

.upj.upj-journey-layout--split_storyline .upj-split-sidebar {
	position: sticky;
	top: 100px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.upj.upj-journey-layout--split_storyline .upj-split-sidebar__eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--upj-accent, #8B6823);
}

.upj.upj-journey-layout--split_storyline .upj-split-sidebar__title {
	font-family: 'Inter Tight', sans-serif;
	font-size: clamp(28px, 3.5vw, 42px);
	font-weight: 700;
	line-height: 1.15;
	color: var(--upj-title-color, #181816);
	margin: 0;
}

.upj.upj-journey-layout--split_storyline .upj-split-sidebar__desc {
	font-size: 15px;
	line-height: 1.65;
	color: var(--upj-desc-color, #4B453B);
}

.upj.upj-journey-layout--split_storyline .upj-split-content .upj__list {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-top: 0;
}

.upj.upj-journey-layout--split_storyline .upj-split-content .upj-step__inner {
	background: var(--upj-card-bg, #FFFFFF);
	border: 1px solid var(--upj-card-bc, rgba(139, 104, 35, 0.15));
	border-radius: var(--upj-card-radius, 16px);
	padding: var(--upj-card-pad-y, 28px) var(--upj-card-pad-x, 28px);
	box-shadow: var(--upj-card-bs, 0 4px 20px rgba(0, 0, 0, 0.04));
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 24px;
	text-align: left;
}

@media (max-width: 900px) {
	.upj.upj-journey-layout--split_storyline .upj-split-container {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.upj.upj-journey-layout--split_storyline .upj-split-sidebar {
		position: static;
	}
}

/* --------------------------------------------------------------------------
   6. Compact Timeline (Dense & Clean)
   -------------------------------------------------------------------------- */
.upj.upj-journey-layout--compact_timeline {
	--upj-title-color: #181816;
	--upj-desc-color: #4B453B;
	--upj-num-color: #8B6823;
	--upj-line-color: #8B6823;
	--upj-marker-size: 24px;
}

.upj.upj-journey-layout--compact_timeline .upj__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 0;
}

.upj.upj-journey-layout--compact_timeline .upj-step__inner {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 16px;
	text-align: left;
}

.upj.upj-journey-layout--compact_timeline .upj-step__marker {
	width: 20px;
	height: 20px;
	min-width: 20px;
	border-width: 2px;
	background: var(--upj-marker-bg, #FFFFFF);
	border-color: var(--upj-marker-bc, #8B6823);
	margin-top: 2px;
}

.upj.upj-journey-layout--compact_timeline .upj-step__marker-num,
.upj.upj-journey-layout--compact_timeline .upj-step__icon {
	display: none;
}

.upj.upj-journey-layout--compact_timeline .upj-step__vline {
	display: block;
	position: absolute;
	left: 10px;
	top: 22px;
	bottom: -24px;
	width: 2px;
	transform: translateX(-50%);
	background-color: var(--upj-line-color, rgba(139, 104, 35, 0.25));
	z-index: 1;
}

/* ==========================================================================
   UDDFEL PROCESS JOURNEY 2.0: STYLE PRESETS
   ========================================================================== */

/* Crown Editorial Preset */
.upj.upj-preset--crown_editorial {
	--upj-title-color: #181816;
	--upj-desc-color: #4B453B;
	--upj-num-color: #8B6823;
	--upj-accent: #8B6823;
	--upj-marker-bg: #181816;
	--upj-marker-fg: #8B6823;
	--upj-marker-bc: #8B6823;
	--upj-card-bg: #FFFDFC;
	--upj-card-bc: rgba(139, 104, 35, 0.18);
	--upj-card-bs: solid;
	--upj-card-bw: 1px;
	--upj-card-radius: 16px;
	--upj-line-color: #8B6823;
	--upj-active-card-bg: #F5F0E6;
	--upj-active-title-color: #181816;
	--upj-active-desc-color: #4B453B;
	--upj-active-marker-bg: #8B6823;
	--upj-active-marker-fg: #FFFFFF;
}

/* Minimal Corporate Preset */
.upj.upj-preset--minimal_corporate {
	--upj-title-color: #0F172A;
	--upj-desc-color: #475569;
	--upj-num-color: #0F172A;
	--upj-accent: #0F172A;
	--upj-marker-bg: #F8FAFC;
	--upj-marker-fg: #0F172A;
	--upj-marker-bc: #CBD5E1;
	--upj-card-bg: #FFFFFF;
	--upj-card-bc: #E2E8F0;
	--upj-card-bs: solid;
	--upj-card-bw: 1px;
	--upj-card-radius: 8px;
	--upj-line-color: #CBD5E1;
	--upj-active-card-bg: #F8FAFC;
	--upj-active-title-color: #0F172A;
	--upj-active-desc-color: #334155;
	--upj-active-marker-bg: #0F172A;
	--upj-active-marker-fg: #FFFFFF;
}

/* Dark Luxury Preset */
.upj.upj-preset--dark_luxury {
	--upj-title-color: #FFFFFF;
	--upj-desc-color: #A69F91;
	--upj-num-color: #D4AF37;
	--upj-accent: #D4AF37;
	--upj-marker-bg: #181816;
	--upj-marker-fg: #D4AF37;
	--upj-marker-bc: #8B6823;
	--upj-card-bg: #23211D;
	--upj-card-bc: rgba(212, 175, 55, 0.25);
	--upj-card-bs: solid;
	--upj-card-bw: 1px;
	--upj-card-radius: 20px;
	--upj-line-color: #8B6823;
	--upj-active-card-bg: #2B2822;
	--upj-active-title-color: #FFFFFF;
	--upj-active-desc-color: #E6DFD5;
	--upj-active-marker-bg: #8B6823;
	--upj-active-marker-fg: #FFFFFF;
}

/* Glass Timeline Preset */
.upj.upj-preset--glass_timeline {
	--upj-title-color: #181816;
	--upj-desc-color: #4B453B;
	--upj-num-color: #8B6823;
	--upj-accent: #8B6823;
	--upj-marker-bg: rgba(255, 255, 255, 0.5);
	--upj-marker-fg: #8B6823;
	--upj-marker-bc: rgba(255, 255, 255, 0.7);
	--upj-card-bg: rgba(255, 255, 255, 0.65);
	--upj-card-bc: rgba(255, 255, 255, 0.85);
	--upj-card-bs: solid;
	--upj-card-bw: 1.5px;
	--upj-card-radius: 24px;
	--upj-line-color: rgba(139, 104, 35, 0.35);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.upj.upj-preset--glass_timeline .upj-step__inner {
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

/* Clean Cards Preset */
.upj.upj-preset--clean_cards {
	--upj-title-color: #181816;
	--upj-desc-color: #4B453B;
	--upj-num-color: #8B6823;
	--upj-accent: #8B6823;
	--upj-marker-bg: #FAF7F2;
	--upj-marker-fg: #8B6823;
	--upj-marker-bc: rgba(139, 104, 35, 0.2);
	--upj-card-bg: #FFFFFF;
	--upj-card-bc: rgba(0, 0, 0, 0.06);
	--upj-card-bs: solid;
	--upj-card-bw: 1px;
	--upj-card-radius: 16px;
	--upj-card-bs: 0 10px 30px rgba(0, 0, 0, 0.05);
	--upj-line-color: rgba(139, 104, 35, 0.3);
}

/* ==========================================================================
   Uddfel Inline List Widget
   ========================================================================== */

.uddfel-inline-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

.uddfel-inline-list__item {
	display: inline-flex;
	align-items: center;
	list-style: none !important;
	margin: 0 !important;
	padding: 0;
	box-sizing: border-box;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.uddfel-inline-list__link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
	transition: color 0.2s ease, text-decoration 0.2s ease, opacity 0.2s ease;
	cursor: pointer;
}

.uddfel-inline-list__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.uddfel-inline-list__text {
	display: inline-block;
	line-height: inherit;
	transition: color 0.2s ease;
}

.uddfel-inline-list__item-content {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.uddfel-inline-list__item-content--pos-left {
	flex-direction: row;
}

.uddfel-inline-list__item-content--pos-right {
	flex-direction: row-reverse;
}

.uddfel-inline-list__item-content--pos-top {
	flex-direction: column;
	align-items: center;
}

.uddfel-inline-list__item-content--pos-bottom {
	flex-direction: column-reverse;
	align-items: center;
}

.uddfel-inline-list__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	flex-shrink: 0;
	transform: translate(var(--uddfel-icon-ox, 0px), var(--uddfel-icon-oy, 0px)) rotate(var(--uddfel-icon-rot, 0deg)) scale(var(--uddfel-icon-scale, 1));
	transition: color 0.2s ease, fill 0.2s ease, transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.uddfel-inline-list__icon-inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: inherit;
}

.uddfel-inline-list__icon svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
	transition: fill 0.2s ease;
}

.uddfel-inline-list__icon--boxed {
	box-sizing: border-box;
	border-style: solid;
	border-width: 1px;
	border-color: transparent;
}

/* Manual Separators */
.uddfel-inline-list__item--type-separator {
	display: inline-flex;
	align-items: center;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 0;
	flex-shrink: 0;
}

.uddfel-inline-list__sep {
	display: inline-block;
	box-sizing: border-box;
	flex-shrink: 0;
	line-height: 0;
	font-size: 0;
	margin: 0 !important;
	border: 0 !important;
	border-width: 0 !important;
	padding: 0 !important;
	transform: translate(var(--uddfel-sep-ox, 0px), var(--uddfel-sep-oy, 0px));
}

.uddfel-inline-list__sep--horizontal {
	width: 32px;
	height: 2px;
}

.uddfel-inline-list__sep--vertical {
	width: 1px;
	height: 16px;
}

.uddfel-inline-list__sep--custom {
	width: 24px;
	height: 24px;
	border: 1px solid currentColor !important;
}

/* Dashed / Dotted / Double style modifiers */
.uddfel-inline-list__sep--style-dashed.uddfel-inline-list__sep--horizontal,
.uddfel-inline-list__sep--style-dotted.uddfel-inline-list__sep--horizontal,
.uddfel-inline-list__sep--style-double.uddfel-inline-list__sep--horizontal {
	background-color: transparent !important;
	height: 0 !important;
	border-top-width: var(--uddfel-sep-th, 1px) !important;
	border-top-style: dashed !important;
	border-top-color: inherit !important;
}

.uddfel-inline-list__sep--style-dotted.uddfel-inline-list__sep--horizontal {
	border-top-style: dotted !important;
}

.uddfel-inline-list__sep--style-double.uddfel-inline-list__sep--horizontal {
	border-top-style: double !important;
}

.uddfel-inline-list__sep--style-dashed.uddfel-inline-list__sep--vertical,
.uddfel-inline-list__sep--style-dotted.uddfel-inline-list__sep--vertical,
.uddfel-inline-list__sep--style-double.uddfel-inline-list__sep--vertical {
	background-color: transparent !important;
	width: 0 !important;
	border-left-width: var(--uddfel-sep-th, 1px) !important;
	border-left-style: dashed !important;
	border-left-color: inherit !important;
}

.uddfel-inline-list__sep--style-dotted.uddfel-inline-list__sep--vertical {
	border-left-style: dotted !important;
}

.uddfel-inline-list__sep--style-double.uddfel-inline-list__sep--vertical {
	border-left-style: double !important;
}

/* Automatic Separators */
.uddfel-inline-list__auto-sep {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	list-style: none !important;
	margin: 0 !important;
	margin-inline-start: var(--uddfel-auto-sep-margin-before, 0px) !important;
	margin-inline-end: var(--uddfel-auto-sep-margin-after, 0px) !important;
	flex-shrink: 0;
	line-height: 1;
	user-select: none;
	pointer-events: none;
	transform: translate(var(--uddfel-auto-sep-ox, 0px), var(--uddfel-auto-sep-oy, 0px));
}

.uddfel-inline-list__auto-sep-inner {
	display: inline-block;
	line-height: inherit;
}

.uddfel-inline-list__auto-sep--vertical_line {
	width: var(--uddfel-auto-sep-thickness, 1px);
	height: var(--uddfel-auto-sep-length, 14px);
	background-color: currentColor;
}

.uddfel-inline-list__auto-sep--horizontal_line {
	width: var(--uddfel-auto-sep-length, 24px);
	height: var(--uddfel-auto-sep-thickness, 1px);
	background-color: currentColor;
}

.uddfel-inline-list__auto-sep--dot {
	width: var(--uddfel-auto-sep-thickness, 4px);
	height: var(--uddfel-auto-sep-thickness, 4px);
	border-radius: 50%;
	background-color: currentColor;
}

.uddfel-inline-list__auto-sep--bullet,
.uddfel-inline-list__auto-sep--slash,
.uddfel-inline-list__auto-sep--pipe,
.uddfel-inline-list__auto-sep--dash,
.uddfel-inline-list__auto-sep--custom_text {
	font-size: inherit;
	line-height: 1;
	color: currentColor;
}

/* Alignment Helpers for List Items & Separators */
[style*="--uddfel-list-text-align: center"] .uddfel-inline-list__item,
[style*="--uddfel-list-text-align: center"] .uddfel-inline-list__item-content {
	justify-content: center;
	text-align: center;
}

[style*="--uddfel-list-text-align: right"] .uddfel-inline-list__item,
[style*="--uddfel-list-text-align: right"] .uddfel-inline-list__item-content {
	justify-content: flex-end;
	text-align: right;
}

[style*="--uddfel-list-text-align: left"] .uddfel-inline-list__item,
[style*="--uddfel-list-text-align: left"] .uddfel-inline-list__item-content {
	justify-content: flex-start;
	text-align: left;
}

/* Column Adapt for Auto Separator Lines */
.uddfel-auto-sep-adapt--yes[style*="column"] .uddfel-inline-list__auto-sep {
	width: 100%;
	margin-top: var(--uddfel-auto-sep-margin-before, 8px) !important;
	margin-bottom: var(--uddfel-auto-sep-margin-after, 8px) !important;
	margin-inline-start: 0 !important;
	margin-inline-end: 0 !important;
}

.uddfel-auto-sep-adapt--yes[style*="column"] .uddfel-inline-list__auto-sep--vertical_line {
	width: var(--uddfel-auto-sep-length, 24px);
	height: var(--uddfel-auto-sep-thickness, 1px);
}

/* ==========================================================================
   Uddfel Scroll to Top Widget
   ========================================================================== */

.uddfel-stt {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	line-height: 1;
	user-select: none;
}

/* Fixed / Floating Placement */
.elementor-widget-uddfel-scroll-to-top.uddfel-stt--mode-fixed,
.uddfel-stt.uddfel-stt--mode-fixed {
	position: fixed !important;
	z-index: 9999 !important;
	transition: opacity 0.35s cubic-bezier(0.25, 1, 0.5, 1), transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.35s ease;
}

/* Screen Corner Positioning for Fixed Mode */
.uddfel-stt--pos-bottom_right {
	bottom: var(--uddfel-stt-oy, 30px);
	right: var(--uddfel-stt-ox, 30px);
	left: auto;
	top: auto;
}

.uddfel-stt--pos-bottom_left {
	bottom: var(--uddfel-stt-oy, 30px);
	left: var(--uddfel-stt-ox, 30px);
	right: auto;
	top: auto;
}

.uddfel-stt--pos-top_right {
	top: var(--uddfel-stt-oy, 30px);
	right: var(--uddfel-stt-ox, 30px);
	left: auto;
	bottom: auto;
}

.uddfel-stt--pos-top_left {
	top: var(--uddfel-stt-oy, 30px);
	left: var(--uddfel-stt-ox, 30px);
	right: auto;
	bottom: auto;
}

.uddfel-stt--pos-custom {
	bottom: var(--uddfel-stt-oy, 30px);
	right: var(--uddfel-stt-ox, 30px);
}

/* Visibility State (Managed by Scroll Observer JS) */
.elementor-widget-uddfel-scroll-to-top.uddfel-stt--mode-fixed:not(.is-visible),
.uddfel-stt.uddfel-stt--mode-fixed:not(.is-visible) {
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
	transform: translateY(18px) scale(0.92);
}

.elementor-widget-uddfel-scroll-to-top.uddfel-stt--mode-fixed.is-visible,
.uddfel-stt.uddfel-stt--mode-fixed.is-visible {
	opacity: 1 !important;
	pointer-events: auto !important;
	visibility: visible !important;
	transform: translateY(0) scale(1);
}

/* In Elementor Edit Mode: keep fixed widget visible and accessible */
.elementor-editor-active .elementor-widget-uddfel-scroll-to-top.uddfel-stt--mode-fixed,
.elementor-editor-active .uddfel-stt.uddfel-stt--mode-fixed {
	opacity: 1 !important;
	pointer-events: auto !important;
	visibility: visible !important;
	transform: none !important;
}

/* Inline Mode (Footers, page ends, links) */
.uddfel-stt--mode-inline {
	position: relative;
	display: inline-flex;
	opacity: 1;
	visibility: visible;
}

/* Button Base */
.uddfel-stt__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border: none;
	background: #181816;
	color: #FFFFFF;
	cursor: pointer !important;
	pointer-events: auto !important;
	text-decoration: none;
	outline: 2px solid transparent;
	outline-offset: 2px;
	padding: 0;
	margin: 0;
	line-height: 1;
	z-index: 5;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.25s ease;
}

.uddfel-stt__btn * {
	pointer-events: none !important;
}

.uddfel-stt__btn:focus-visible {
	outline: 2px solid var(--uddfel-stt-focus-ring, #8B6823);
	outline-offset: 3px;
}

/* Shape Presets */
.uddfel-stt--shape-circle .uddfel-stt__btn {
	border-radius: 50% !important;
}

.uddfel-stt--shape-square .uddfel-stt__btn {
	border-radius: 0px !important;
}

.uddfel-stt--shape-rounded .uddfel-stt__btn {
	border-radius: 12px !important;
}

.uddfel-stt--shape-pill .uddfel-stt__btn {
	border-radius: 999px !important;
}

/* Icon & Text Positions */
.uddfel-stt__btn--pos-left {
	flex-direction: row;
}

.uddfel-stt__btn--pos-right {
	flex-direction: row-reverse;
}

.uddfel-stt__btn--pos-top {
	flex-direction: column;
}

.uddfel-stt__btn--pos-bottom {
	flex-direction: column-reverse;
}

/* Text Element */
.uddfel-stt__text {
	display: inline-block;
	line-height: 1.2;
	font-family: inherit;
	transition: color 0.25s ease;
}

/* Glow Shadow */
.uddfel-stt__btn[style*="--uddfel-stt-glow"] {
	box-shadow: 0 0 20px var(--uddfel-stt-glow);
}

/* ==========================================================================
   PART A — Surface Motion Effects
   ========================================================================== */

.uddfel-stt--surf-lift .uddfel-stt__btn:hover,
.uddfel-stt--surf-lift .uddfel-stt__btn:focus-visible,
.uddfel-stt--anim-lift .uddfel-stt__btn:hover {
	transform: translateY(-4px);
}

.uddfel-stt--surf-grow .uddfel-stt__btn:hover,
.uddfel-stt--surf-grow .uddfel-stt__btn:focus-visible,
.uddfel-stt--anim-grow .uddfel-stt__btn:hover {
	transform: scale(1.08);
}

.uddfel-stt--surf-tilt .uddfel-stt__btn:hover,
.uddfel-stt--surf-tilt .uddfel-stt__btn:focus-visible,
.uddfel-stt--anim-rotate .uddfel-stt__btn:hover {
	transform: rotate(-6deg);
}

.uddfel-stt--surf-fade .uddfel-stt__btn:hover,
.uddfel-stt--surf-fade .uddfel-stt__btn:focus-visible,
.uddfel-stt--anim-fade .uddfel-stt__btn:hover {
	opacity: 0.82;
}

/* ==========================================================================
   PART B — Icon Viewport & Slide Loop Hover Architecture
   ========================================================================== */

.uddfel-stt__icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	flex-shrink: 0;
	transform: translate(var(--uddfel-stt-icon-ox, 0px), var(--uddfel-stt-icon-oy, 0px)) rotate(var(--uddfel-stt-icon-rot, 0deg)) scale(var(--uddfel-stt-icon-scale, 1));
	transition: transform var(--uddfel-stt-icon-dur, 0.35s) var(--uddfel-stt-icon-ease, cubic-bezier(0.25, 1, 0.5, 1)), color 0.25s ease, fill 0.25s ease;
}

.uddfel-stt__icon-viewport {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	width: 1em;
	height: 1em;
	line-height: 1;
}

.uddfel-stt__icon-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	transition: transform var(--uddfel-stt-icon-dur, 0.35s) var(--uddfel-stt-icon-ease, cubic-bezier(0.25, 1, 0.5, 1)), opacity var(--uddfel-stt-icon-dur, 0.35s) ease;
}

.uddfel-stt__icon-duplicate {
	position: absolute;
	inset: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0;
	transition: transform var(--uddfel-stt-icon-dur, 0.35s) var(--uddfel-stt-icon-ease, cubic-bezier(0.25, 1, 0.5, 1)), opacity var(--uddfel-stt-icon-dur, 0.35s) ease;
}

.uddfel-stt__icon-inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: inherit;
}

.uddfel-stt__icon svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
	transition: fill 0.25s ease;
}

/* 1. Icon Slide Loop — Up */
.uddfel-stt--icon-slide_loop_up .uddfel-stt__icon-duplicate {
	transform: translateY(120%);
	opacity: 0;
}

.uddfel-stt--icon-slide_loop_up:hover .uddfel-stt__icon-primary,
.uddfel-stt--icon-slide_loop_up .uddfel-stt__btn:focus-visible .uddfel-stt__icon-primary {
	transform: translateY(-120%);
	opacity: 0;
}

.uddfel-stt--icon-slide_loop_up:hover .uddfel-stt__icon-duplicate,
.uddfel-stt--icon-slide_loop_up .uddfel-stt__btn:focus-visible .uddfel-stt__icon-duplicate {
	transform: translateY(0);
	opacity: 1;
}

/* 2. Icon Slide Loop — Down */
.uddfel-stt--icon-slide_loop_down .uddfel-stt__icon-duplicate {
	transform: translateY(-120%);
	opacity: 0;
}

.uddfel-stt--icon-slide_loop_down:hover .uddfel-stt__icon-primary,
.uddfel-stt--icon-slide_loop_down .uddfel-stt__btn:focus-visible .uddfel-stt__icon-primary {
	transform: translateY(120%);
	opacity: 0;
}

.uddfel-stt--icon-slide_loop_down:hover .uddfel-stt__icon-duplicate,
.uddfel-stt--icon-slide_loop_down .uddfel-stt__btn:focus-visible .uddfel-stt__icon-duplicate {
	transform: translateY(0);
	opacity: 1;
}

/* 3. Icon Slide Loop — Left */
.uddfel-stt--icon-slide_loop_left .uddfel-stt__icon-duplicate {
	transform: translateX(120%);
	opacity: 0;
}

.uddfel-stt--icon-slide_loop_left:hover .uddfel-stt__icon-primary,
.uddfel-stt--icon-slide_loop_left .uddfel-stt__btn:focus-visible .uddfel-stt__icon-primary {
	transform: translateX(-120%);
	opacity: 0;
}

.uddfel-stt--icon-slide_loop_left:hover .uddfel-stt__icon-duplicate,
.uddfel-stt--icon-slide_loop_left .uddfel-stt__btn:focus-visible .uddfel-stt__icon-duplicate {
	transform: translateX(0);
	opacity: 1;
}

/* 4. Icon Slide Loop — Right */
.uddfel-stt--icon-slide_loop_right .uddfel-stt__icon-duplicate {
	transform: translateX(-120%);
	opacity: 0;
}

.uddfel-stt--icon-slide_loop_right:hover .uddfel-stt__icon-primary,
.uddfel-stt--icon-slide_loop_right .uddfel-stt__btn:focus-visible .uddfel-stt__icon-primary {
	transform: translateX(120%);
	opacity: 0;
}

.uddfel-stt--icon-slide_loop_right:hover .uddfel-stt__icon-duplicate,
.uddfel-stt--icon-slide_loop_right .uddfel-stt__btn:focus-visible .uddfel-stt__icon-duplicate {
	transform: translateX(0);
	opacity: 1;
}

/* 5. Gentle Bounce */
@keyframes uddfel-stt-bounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-5px);
	}
}

.uddfel-stt--icon-bounce .uddfel-stt__icon-duplicate {
	display: none !important;
}

.uddfel-stt--icon-bounce:hover .uddfel-stt__icon-primary,
.uddfel-stt--icon-bounce .uddfel-stt__btn:focus-visible .uddfel-stt__icon-primary {
	animation: uddfel-stt-bounce 0.6s ease infinite;
}

/* 6. Subtle Pulse */
@keyframes uddfel-stt-pulse {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.18);
	}
}

.uddfel-stt--icon-pulse .uddfel-stt__icon-duplicate {
	display: none !important;
}

.uddfel-stt--icon-pulse:hover .uddfel-stt__icon-primary,
.uddfel-stt--icon-pulse .uddfel-stt__btn:focus-visible .uddfel-stt__icon-primary {
	animation: uddfel-stt-pulse 0.75s ease infinite;
}

/* 7. Tilt / Rotate */
.uddfel-stt--icon-tilt .uddfel-stt__icon-duplicate {
	display: none !important;
}

.uddfel-stt--icon-tilt:hover .uddfel-stt__icon-primary,
.uddfel-stt--icon-tilt .uddfel-stt__btn:focus-visible .uddfel-stt__icon-primary {
	transform: rotate(var(--uddfel-stt-icon-tilt, -15deg)) scale(var(--uddfel-stt-icon-hscale, 1.05));
}

/* 8. Scale / Grow */
.uddfel-stt--icon-grow .uddfel-stt__icon-duplicate {
	display: none !important;
}

.uddfel-stt--icon-grow:hover .uddfel-stt__icon-primary,
.uddfel-stt--icon-grow .uddfel-stt__btn:focus-visible .uddfel-stt__icon-primary {
	transform: scale(var(--uddfel-stt-icon-hscale, 1.2));
}

/* Non-loop fallbacks */
.uddfel-stt--icon-none .uddfel-stt__icon-duplicate {
	display: none !important;
}

/* ==========================================================================
   PART C — Progress Ring Hover Effects
   ========================================================================== */

.uddfel-stt__ring,
.uddfel-stt__ring * {
	pointer-events: none !important;
}

.uddfel-stt__ring {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-90deg);
	pointer-events: none !important;
	z-index: 1;
	overflow: visible;
	transform-origin: center center;
	transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), filter 0.3s ease, opacity 0.3s ease;
}

.uddfel-stt__ring-track {
	transition: stroke 0.3s ease, opacity 0.3s ease;
}

.uddfel-stt__ring-fill {
	transition: stroke 0.3s ease, stroke-dashoffset 0.1s linear;
}

/* 1. Continuous Spin (Preserves Scroll %) */
@keyframes uddfel-stt-ring-spin {
	from {
		transform: translate(-50%, -50%) rotate(-90deg);
	}

	to {
		transform: translate(-50%, -50%) rotate(270deg);
	}
}

.uddfel-stt--ring-rotate:hover .uddfel-stt__ring,
.uddfel-stt--ring-rotate .uddfel-stt__btn:focus-visible~.uddfel-stt__ring {
	animation: uddfel-stt-ring-spin 2.5s linear infinite;
}

/* 2. Ring Pulse */
@keyframes uddfel-stt-ring-pulse {

	0%,
	100% {
		transform: translate(-50%, -50%) rotate(-90deg) scale(1);
		opacity: 1;
	}

	50% {
		transform: translate(-50%, -50%) rotate(-90deg) scale(1.08);
		opacity: 0.85;
	}
}

.uddfel-stt--ring-pulse:hover .uddfel-stt__ring,
.uddfel-stt--ring-pulse .uddfel-stt__btn:focus-visible~.uddfel-stt__ring {
	animation: uddfel-stt-ring-pulse 0.9s ease infinite;
}

/* 3. Ring Expand */
.uddfel-stt--ring-expand:hover .uddfel-stt__ring,
.uddfel-stt--ring-expand .uddfel-stt__btn:focus-visible~.uddfel-stt__ring {
	transform: translate(-50%, -50%) rotate(-90deg) scale(1.12);
}

/* 4. Ring Contract */
.uddfel-stt--ring-contract:hover .uddfel-stt__ring,
.uddfel-stt--ring-contract .uddfel-stt__btn:focus-visible~.uddfel-stt__ring {
	transform: translate(-50%, -50%) rotate(-90deg) scale(0.9);
}

/* 5. Ring Glow */
.uddfel-stt--ring-glow:hover .uddfel-stt__ring,
.uddfel-stt--ring-glow .uddfel-stt__btn:focus-visible~.uddfel-stt__ring {
	filter: drop-shadow(0 0 6px var(--uddfel-stt-ring-glow, #8B6823));
}

/* 6. Track Fade */
.uddfel-stt--ring-track_fade:hover .uddfel-stt__ring-track,
.uddfel-stt--ring-track_fade .uddfel-stt__btn:focus-visible~.uddfel-stt__ring .uddfel-stt__ring-track {
	opacity: 0;
}

/* 7. Spin + Icon Loop (Premium Preset) */
.uddfel-stt--ring-spin_loop:hover .uddfel-stt__ring,
.uddfel-stt--ring-spin_loop .uddfel-stt__btn:focus-visible~.uddfel-stt__ring {
	animation: uddfel-stt-ring-spin 2s linear infinite;
	filter: drop-shadow(0 0 6px var(--uddfel-stt-ring-glow, rgba(139, 104, 35, 0.45)));
}

.uddfel-stt--ring-spin_loop:hover .uddfel-stt__icon-primary,
.uddfel-stt--ring-spin_loop .uddfel-stt__btn:focus-visible .uddfel-stt__icon-primary {
	transform: translateY(-120%);
	opacity: 0;
}

.uddfel-stt--ring-spin_loop:hover .uddfel-stt__icon-duplicate,
.uddfel-stt--ring-spin_loop .uddfel-stt__btn:focus-visible .uddfel-stt__icon-duplicate {
	transform: translateY(0);
	opacity: 1;
}

/* Reduced Motion Compliance */
@media (prefers-reduced-motion: reduce) {

	.uddfel-stt--mode-fixed,
	.uddfel-stt__btn,
	.uddfel-stt__btn:hover,
	.uddfel-stt__icon,
	.uddfel-stt__icon-primary,
	.uddfel-stt__icon-duplicate,
	.uddfel-stt__ring {
		transition: none !important;
		animation: none !important;
		transform: none !important;
	}
}

/* ==========================================================================
   Uddfel Text / Paragraph Widget
   ========================================================================== */

.uddfel-text {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.uddfel-text__inner {
	display: block;
	box-sizing: border-box;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.uddfel-text-width--auto .uddfel-text__inner {
	width: auto;
}

.uddfel-text-width--full .uddfel-text__inner {
	width: 100%;
}

.uddfel-text__content {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.uddfel-text__content p {
	margin-top: 0;
	margin-bottom: 0;
}

.uddfel-text__content p+p {
	margin-top: 1em;
}

.uddfel-text__content a {
	transition: color 200ms ease;
}

/* Line Clamp & Truncation utilities (Fix 1.1) */
.uddfel-truncate-mode--lines .uddfel-text__content {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: var(--uddfel-lines, 3);
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;
}

/* Single-Line Ellipsis (Desktop) */
.uddfel-lines--1 .uddfel-text__content,
.uddfel-lines--1 .uddfel-text__content>*,
.uddfel-text__content[data-lines="1"],
.uddfel-text__content[data-lines="1"]>*,
.uddfel-line-clamp--1 .uddfel-text__content,
.uddfel-line-clamp--1.uddfel-text__content {
	display: block !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	word-break: normal !important;
	-webkit-line-clamp: unset !important;
}

/* Multi-Line Clamps (Desktop) */
.uddfel-lines--2 .uddfel-text__content,
.uddfel-text__content[data-lines="2"],
.uddfel-line-clamp--2 .uddfel-text__content,
.uddfel-line-clamp--2.uddfel-text__content {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	word-break: break-word !important;
	white-space: normal !important;
}

.uddfel-lines--3 .uddfel-text__content,
.uddfel-text__content[data-lines="3"],
.uddfel-line-clamp--3 .uddfel-text__content,
.uddfel-line-clamp--3.uddfel-text__content {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 3 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	word-break: break-word !important;
	white-space: normal !important;
}

.uddfel-lines--4 .uddfel-text__content,
.uddfel-text__content[data-lines="4"],
.uddfel-line-clamp--4 .uddfel-text__content,
.uddfel-line-clamp--4.uddfel-text__content {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 4 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	word-break: break-word !important;
	white-space: normal !important;
}

.uddfel-lines--5 .uddfel-text__content,
.uddfel-text__content[data-lines="5"],
.uddfel-line-clamp--5 .uddfel-text__content,
.uddfel-line-clamp--5.uddfel-text__content {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 5 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	word-break: break-word !important;
	white-space: normal !important;
}

.uddfel-lines--custom .uddfel-text__content,
.uddfel-text__content[data-lines="custom"] {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: var(--uddfel-lines, 3) !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	word-break: break-word !important;
	white-space: normal !important;
}

/* Tablet Overrides (<= 1024px) */
@media (max-width: 1024px) {

	.uddfel-lines-tablet--1 .uddfel-text__content,
	.uddfel-lines-tablet--1 .uddfel-text__content>* {
		display: block !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: normal !important;
		-webkit-line-clamp: unset !important;
	}

	.uddfel-lines-tablet--2 .uddfel-text__content {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 2 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: break-word !important;
		white-space: normal !important;
	}

	.uddfel-lines-tablet--3 .uddfel-text__content {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 3 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: break-word !important;
		white-space: normal !important;
	}

	.uddfel-lines-tablet--4 .uddfel-text__content {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 4 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: break-word !important;
		white-space: normal !important;
	}

	.uddfel-lines-tablet--5 .uddfel-text__content {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 5 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: break-word !important;
		white-space: normal !important;
	}

	.uddfel-lines-tablet--custom .uddfel-text__content {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: var(--uddfel-lines, 3) !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: break-word !important;
		white-space: normal !important;
	}
}

/* Mobile Overrides (<= 767px) */
@media (max-width: 767px) {

	.uddfel-lines-mobile--1 .uddfel-text__content,
	.uddfel-lines-mobile--1 .uddfel-text__content>* {
		display: block !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: normal !important;
		-webkit-line-clamp: unset !important;
	}

	.uddfel-lines-mobile--2 .uddfel-text__content {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 2 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: break-word !important;
		white-space: normal !important;
	}

	.uddfel-lines-mobile--3 .uddfel-text__content {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 3 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: break-word !important;
		white-space: normal !important;
	}

	.uddfel-lines-mobile--4 .uddfel-text__content {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 4 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: break-word !important;
		white-space: normal !important;
	}

	.uddfel-lines-mobile--5 .uddfel-text__content {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 5 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: break-word !important;
		white-space: normal !important;
	}

	.uddfel-lines-mobile--custom .uddfel-text__content {
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: var(--uddfel-lines, 3) !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		word-break: break-word !important;
		white-space: normal !important;
	}
}

/* Responsive Word & Character Visibility */
@media (min-width: 1025px) {
	.uddfel-truncate-vp--desktop {
		display: inline !important;
	}

	.uddfel-truncate-vp--tablet,
	.uddfel-truncate-vp--mobile {
		display: none !important;
	}
}

@media (max-width: 1024px) and (min-width: 768px) {
	.uddfel-truncate-vp--tablet {
		display: inline !important;
	}

	.uddfel-truncate-vp--desktop,
	.uddfel-truncate-vp--mobile {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.uddfel-truncate-vp--mobile {
		display: inline !important;
	}

	.uddfel-truncate-vp--desktop,
	.uddfel-truncate-vp--tablet {
		display: none !important;
	}
}

/* Universal Truncation & Line-Clamp System */
.uddfel-truncate--lines,
.uddfel-heading-supporting-text.uddfel-truncate--lines,
.uddfel-dynamic-field-wrapper.uddfel-truncate--lines,
.uddfel-page-hero__supporting.uddfel-truncate--lines,
.uddfel-page-hero__supporting.uddfel-truncate--lines p,
.uddfel-feature-card__description.uddfel-truncate--lines,
.uddfel-cta-card__description.uddfel-truncate--lines,
.uddfel-service-card__description.uddfel-truncate--lines,
.uddfel-info-box__description.uddfel-truncate--lines {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: var(--uddfel-lines, 3);
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	word-break: break-word;
}

.uddfel-lines--1.uddfel-truncate--lines,
.uddfel-heading-supporting-text.uddfel-lines--1,
.uddfel-dynamic-field-wrapper.uddfel-lines--1,
.uddfel-page-hero__supporting.uddfel-lines--1,
.uddfel-page-hero__supporting.uddfel-lines--1 p,
.uddfel-feature-card__description.uddfel-lines--1,
.uddfel-cta-card__description.uddfel-lines--1,
.uddfel-service-card__description.uddfel-lines--1,
.uddfel-info-box__description.uddfel-lines--1 {
	display: block !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	word-break: normal !important;
	-webkit-line-clamp: unset !important;
}

.uddfel-lines--2.uddfel-truncate--lines,
.uddfel-heading-supporting-text.uddfel-lines--2,
.uddfel-dynamic-field-wrapper.uddfel-lines--2,
.uddfel-page-hero__supporting.uddfel-lines--2,
.uddfel-page-hero__supporting.uddfel-lines--2 p,
.uddfel-feature-card__description.uddfel-lines--2,
.uddfel-cta-card__description.uddfel-lines--2,
.uddfel-service-card__description.uddfel-lines--2,
.uddfel-info-box__description.uddfel-lines--2 {
	-webkit-line-clamp: 2 !important;
}

.uddfel-lines--3.uddfel-truncate--lines,
.uddfel-heading-supporting-text.uddfel-lines--3,
.uddfel-dynamic-field-wrapper.uddfel-lines--3,
.uddfel-page-hero__supporting.uddfel-lines--3,
.uddfel-page-hero__supporting.uddfel-lines--3 p,
.uddfel-feature-card__description.uddfel-lines--3,
.uddfel-cta-card__description.uddfel-lines--3,
.uddfel-service-card__description.uddfel-lines--3,
.uddfel-info-box__description.uddfel-lines--3 {
	-webkit-line-clamp: 3 !important;
}

.uddfel-lines--4.uddfel-truncate--lines,
.uddfel-heading-supporting-text.uddfel-lines--4,
.uddfel-dynamic-field-wrapper.uddfel-lines--4,
.uddfel-page-hero__supporting.uddfel-lines--4,
.uddfel-page-hero__supporting.uddfel-lines--4 p,
.uddfel-feature-card__description.uddfel-lines--4,
.uddfel-cta-card__description.uddfel-lines--4,
.uddfel-service-card__description.uddfel-lines--4,
.uddfel-info-box__description.uddfel-lines--4 {
	-webkit-line-clamp: 4 !important;
}

.uddfel-lines--5.uddfel-truncate--lines,
.uddfel-heading-supporting-text.uddfel-lines--5,
.uddfel-dynamic-field-wrapper.uddfel-lines--5,
.uddfel-page-hero__supporting.uddfel-lines--5,
.uddfel-page-hero__supporting.uddfel-lines--5 p,
.uddfel-feature-card__description.uddfel-lines--5,
.uddfel-cta-card__description.uddfel-lines--5,
.uddfel-service-card__description.uddfel-lines--5,
.uddfel-info-box__description.uddfel-lines--5 {
	-webkit-line-clamp: 5 !important;
}

.uddfel-lines--6.uddfel-truncate--lines,
.uddfel-heading-supporting-text.uddfel-lines--6,
.uddfel-dynamic-field-wrapper.uddfel-lines--6,
.uddfel-page-hero__supporting.uddfel-lines--6,
.uddfel-page-hero__supporting.uddfel-lines--6 p,
.uddfel-feature-card__description.uddfel-lines--6,
.uddfel-cta-card__description.uddfel-lines--6,
.uddfel-service-card__description.uddfel-lines--6,
.uddfel-info-box__description.uddfel-lines--6 {
	-webkit-line-clamp: 6 !important;
}

.uddfel-text-placeholder {
	font-style: italic;
	opacity: 0.6;
	margin: 0;
}

/* ==========================================================================
   UDDFEL SUITE — PAGE HERO / BREADCRUMB WIDGET 1.0
   Refined editorial hero and breadcrumbs for Crown inner pages.
   ========================================================================== */

.uddfel-page-hero {
	--uddfel-hero-align-flex: flex-start;
	--uddfel-hero-align-text: left;
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	box-sizing: border-box;
	background-color: #181816;
}

.uddfel-page-hero *,
.uddfel-page-hero *::before,
.uddfel-page-hero *::after {
	box-sizing: border-box;
}

/* Background image layer */
.uddfel-page-hero__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	z-index: 1;
	pointer-events: none;
}

/* Layer 2: Image Tint */
.uddfel-page-hero__tint {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	pointer-events: none;
}

/* Layer 3: Base Overlay */
.uddfel-page-hero__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
	pointer-events: none;
	background: linear-gradient(135deg, rgba(24, 24, 22, 0.78) 0%, rgba(32, 26, 20, 0.60) 100%);
}

/* Layer 4: Secondary Overlay (Dual Mode) */
.uddfel-page-hero__overlay-secondary {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 4;
	pointer-events: none;
}

/* Layer 5: Top & Bottom Independent Fades */
.uddfel-page-hero__fade-top {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 5;
	pointer-events: none;
}

.uddfel-page-hero__fade-bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 5;
	pointer-events: none;
}

/* Layer 6: Vignette Layer */
.uddfel-page-hero__vignette {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 6;
	pointer-events: none;
}

/* Layer 7: Content Readability Layer */
.uddfel-page-hero__readability {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 7;
	pointer-events: none;
}

/* Layer 8: Grain / Noise Texture */
.uddfel-page-hero__grain {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 8;
	pointer-events: none;
}

/* Layer 9: Full-Hero Glass Overlay */
.uddfel-page-hero__glass-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
	pointer-events: none;
}

/* Layer 10: Content Container & Glass Panel */
.uddfel-page-hero__container {
	position: relative;
	z-index: 10;
	width: 100%;
	max-width: 1362px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: var(--uddfel-hero-align-flex, flex-start);
	padding: 60px 40px;
	box-sizing: border-box;
}

/* Glass Content Panel */
.uddfel-page-hero__glass-panel {
	position: relative;
	z-index: 11;
	display: flex;
	flex-direction: column;
	align-self: var(--uddfel-hero-align-flex, flex-start);
	align-items: inherit;
	background: rgba(24, 24, 22, 0.65);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid rgba(139, 104, 35, 0.25);
	border-radius: 12px;
	padding: 40px 44px;
	box-shadow: 0 24px 50px rgba(0, 0, 0, 0.32);
	max-width: 820px;
	width: 100%;
	box-sizing: border-box;
}

/* Glass Variants */
.uddfel-page-hero__glass-panel--warm {
	background: rgba(28, 23, 18, 0.70);
	border-color: rgba(139, 104, 35, 0.32);
	box-shadow: 0 24px 50px rgba(18, 14, 10, 0.40);
}

.uddfel-page-hero__glass-panel--soft {
	background: rgba(24, 24, 22, 0.48);
	border-color: rgba(255, 255, 255, 0.12);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
}

.uddfel-page-hero__glass-panel--dark {
	background: rgba(16, 16, 14, 0.82);
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.50);
}

.uddfel-page-hero__glass-panel--clear {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.20);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}

.uddfel-page-hero__glass-panel--frosted {
	background: rgba(35, 32, 28, 0.60);
	backdrop-filter: blur(20px) saturate(140%);
	-webkit-backdrop-filter: blur(20px) saturate(140%);
	border-color: rgba(201, 187, 165, 0.22);
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.30);
}

/* Fallback for browsers without backdrop-filter support */
@supports not (backdrop-filter: blur(10px)) {
	.uddfel-page-hero__glass-panel {
		background: rgba(24, 24, 22, 0.90) !important;
	}

	.uddfel-page-hero__glass-panel--warm {
		background: rgba(28, 23, 18, 0.92) !important;
	}

	.uddfel-page-hero__glass-panel--dark {
		background: rgba(16, 16, 14, 0.95) !important;
	}
}

/* Mobile Performance Safeguard for Glassmorphism */
@media (max-width: 767px) {
	.uddfel-page-hero__glass-panel {
		padding: 24px 20px;
		border-radius: 8px;
		max-width: 100%;
	}

	.uddfel-page-hero--glass-mobile-disable .uddfel-page-hero__glass-panel {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		background: rgba(24, 24, 22, 0.90) !important;
	}
}

/* Reduced Motion Safeguard */
@media (prefers-reduced-motion: reduce) {
	.uddfel-page-hero__grain {
		animation: none !important;
	}
}

/* Header Overlap Modes */
.uddfel-page-hero--overlap-automatic .uddfel-page-hero__container {
	padding-top: 150px;
	padding-bottom: 70px;
}

.uddfel-page-hero--overlap-custom .uddfel-page-hero__container {
	padding-top: var(--uddfel-hero-header-offset, 140px);
	padding-bottom: 70px;
}

/* Mobile & Tablet Overlap Clearance Safeguard (prevents breadcrumbs from hiding behind floating header pill) */
@media (max-width: 1024px) {
	.uddfel-page-hero .uddfel-page-hero__container,
	.uddfel-page-hero--overlap-automatic .uddfel-page-hero__container,
	.uddfel-page-hero--overlap-custom .uddfel-page-hero__container {
		padding-top: calc(160px + env(safe-area-inset-top, 0px)) !important;
	}
}

@media (max-width: 767px) {
	.uddfel-page-hero .uddfel-page-hero__container,
	.uddfel-page-hero--overlap-automatic .uddfel-page-hero__container,
	.uddfel-page-hero--overlap-custom .uddfel-page-hero__container {
		padding-top: calc(165px + env(safe-area-inset-top, 0px)) !important;
		padding-bottom: 40px !important;
	}
}

/* Content wrapper */
.uddfel-page-hero__content {
	display: flex;
	flex-direction: column;
	align-items: var(--uddfel-hero-align-flex, flex-start);
	text-align: var(--uddfel-hero-align-text, left);
	width: 100%;
	max-width: 760px;
	box-sizing: border-box;
}

/* Accent Line */
.uddfel-page-hero__accent-line {
	display: block;
	width: 48px;
	height: 2px;
	background-color: #8B6823;
	border-radius: 1px;
}

.uddfel-page-hero__accent-line--above_breadcrumb {
	margin-bottom: 18px;
}

.uddfel-page-hero__accent-line--beside_breadcrumb {
	display: inline-block;
	vertical-align: middle;
	margin-right: 14px;
	flex-shrink: 0;
	align-self: center !important;
}

.uddfel-page-hero__accent-line--between_breadcrumb_and_title {
	margin: 16px 0;
}

.uddfel-page-hero__accent-line--below_title {
	margin: 18px 0;
}

/* Breadcrumb Wrapper & Nav */
.uddfel-page-hero__breadcrumb-wrapper {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	align-self: var(--uddfel-hero-align-flex, flex-start);
	justify-content: var(--uddfel-hero-align-flex, flex-start);
	max-width: 100%;
	margin-bottom: var(--uddfel-hero-breadcrumb-gap, 16px);
	box-sizing: border-box;
}

.uddfel-page-hero__breadcrumb {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.4;
}

.uddfel-page-hero__breadcrumb-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: var(--uddfel-hero-align-flex, flex-start);
	gap: 10px;
}

.uddfel-page-hero__breadcrumb-item {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

.uddfel-page-hero__breadcrumb-link {
	color: rgba(245, 240, 230, 0.72);
	text-decoration: none;
	transition: color 0.2s ease;
}

.uddfel-page-hero__breadcrumb-link:hover {
	color: #8B6823;
}

.uddfel-page-hero__breadcrumb-current {
	color: #FFFFFF;
	font-weight: 600;
}

.uddfel-page-hero__breadcrumb-separator {
	color: rgba(245, 240, 230, 0.40);
	user-select: none;
}

/* Optional Eyebrow */
.uddfel-page-hero__eyebrow {
	align-self: var(--uddfel-hero-align-flex, flex-start);
	text-align: inherit;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8B6823;
	margin-bottom: 14px;
}

/* Page Title */
.uddfel-page-hero__title {
	width: 100%;
	box-sizing: border-box;
	text-align: inherit;
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 52px;
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.025em;
	color: #FFFFFF;
	margin-top: var(--uddfel-hero-title-top-gap, 0);
	margin-bottom: var(--uddfel-hero-title-bottom-gap, 20px);
	overflow-wrap: break-word;
	word-break: break-word;
}

.uddfel-page-hero__title-seg1 {
	display: inline;
}

.uddfel-page-hero__title-seg2--block {
	display: block;
}

.uddfel-page-hero__title-seg2--inline {
	display: inline;
}

/* Highlight Styles */
.uddfel-page-hero__title-highlight--gold_text {
	color: #8B6823;
}

.uddfel-page-hero__title-highlight--pill {
	display: inline-block;
	background: rgba(139, 104, 35, 0.15);
	border: 1px solid #8B6823;
	padding: 2px 16px;
	border-radius: 999px;
	color: #8B6823;
	margin-top: 6px;
}

.uddfel-page-hero__title-highlight--underline {
	border-bottom: 3px solid #8B6823;
	padding-bottom: 2px;
}

/* Supporting Narrative */
.uddfel-page-hero__supporting {
	align-self: var(--uddfel-hero-align-flex, flex-start);
	text-align: inherit;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.6;
	color: rgba(245, 240, 230, 0.85);
	max-width: 640px;
	margin: 0;
}

.uddfel-page-hero__supporting p {
	margin: 0;
	text-align: inherit;
}

/* Optional CTA */
.uddfel-page-hero__cta {
	display: flex;
	width: 100%;
	align-self: var(--uddfel-hero-align-flex, flex-start);
	justify-content: var(--uddfel-hero-align-flex, flex-start);
	margin-top: 28px;
	box-sizing: border-box;
}

.uddfel-page-hero__cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
	background-color: #8B6823;
	color: #FFFFFF;
	padding: 14px 28px;
	border-radius: 4px;
	transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.uddfel-page-hero__cta-btn:hover {
	background-color: #6F4D09;
	color: #FFFFFF;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(111, 77, 9, 0.28);
}

/* ==========================================================================
   RESPONSIVE HARDENING
   ========================================================================== */

/* Tablet (max-width: 1024px) */
@media (max-width: 1024px) {
	.uddfel-page-hero--overlap-automatic .uddfel-page-hero__container {
		padding-top: 135px;
		padding-bottom: 50px;
	}

	.uddfel-page-hero__container {
		padding-left: 30px;
		padding-right: 30px;
	}

	.uddfel-page-hero__title {
		font-size: 42px;
		line-height: 1.15;
	}

	.uddfel-page-hero__supporting {
		font-size: 17px;
	}
}

/* Mobile (max-width: 767px) */
@media (max-width: 767px) {
	.uddfel-page-hero--overlap-automatic .uddfel-page-hero__container {
		padding-top: 125px;
		padding-bottom: 45px;
	}

	.uddfel-page-hero__container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.uddfel-page-hero__title {
		font-size: 32px;
		line-height: 1.18;
		letter-spacing: -0.015em;
		margin-bottom: 16px;
	}

	.uddfel-page-hero__breadcrumb {
		font-size: 12px;
		letter-spacing: 0.06em;
	}

	.uddfel-page-hero__supporting {
		font-size: 15px;
		line-height: 1.55;
	}

	.uddfel-page-hero__accent-line {
		width: 36px;
		margin-bottom: 14px;
	}
}

/* Small Mobile (360px - 390px) */
@media (max-width: 390px) {
	.uddfel-page-hero--overlap-automatic .uddfel-page-hero__container {
		padding-top: 120px;
		padding-bottom: 40px;
	}

	.uddfel-page-hero__container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.uddfel-page-hero__title {
		font-size: 28px;
		line-height: 1.2;
	}

	.uddfel-page-hero__breadcrumb-list {
		gap: 6px;
	}

	.uddfel-page-hero__breadcrumb {
		font-size: 11px;
	}

	.uddfel-page-hero__supporting {
		font-size: 14px;
		line-height: 1.5;
	}
}

/* ==========================================================================
   UDDFEL PAGE HERO — MOTION & ENTRANCE ANIMATION SYSTEM 1.3
   ========================================================================== */

/* 1. Accessibility: Strictly respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {

	.uddfel-page-hero.has-uddfel-motion,
	.uddfel-page-hero.has-uddfel-motion * {
		animation: none !important;
		transition: none !important;
		transform: none !important;
		opacity: 1 !important;
		clip-path: none !important;
	}
}

/* 2. Responsive Disabling */
@media (max-width: 1024px) {
	.uddfel-page-hero.uddfel-motion-disable-tablet [data-uddfel-anim] {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
	}
}

@media (max-width: 767px) {
	.uddfel-page-hero.uddfel-motion-disable-mobile [data-uddfel-anim] {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
	}
}

/* 3. Base Animated Elements */
.uddfel-page-hero.has-uddfel-motion [data-uddfel-anim] {
	will-change: transform, opacity;
}

/* 4. Trigger Mode: On Page Load */
.uddfel-page-hero.has-uddfel-motion--load [data-uddfel-anim] {
	animation-fill-mode: both;
	animation-timing-function: var(--uddfel-anim-easing, cubic-bezier(0.22, 1, 0.36, 1));
	animation-duration: var(--uddfel-anim-dur, 650ms);
	animation-delay: var(--uddfel-anim-del, 0ms);
}

/* 5. Trigger Mode: Scroll Into View */
.uddfel-page-hero.has-uddfel-motion--scroll:not(.is-in-view) [data-uddfel-anim] {
	opacity: 0;
	pointer-events: none;
}

.uddfel-page-hero.has-uddfel-motion--scroll.is-in-view [data-uddfel-anim] {
	animation-fill-mode: both;
	animation-timing-function: var(--uddfel-anim-easing, cubic-bezier(0.22, 1, 0.36, 1));
	animation-duration: var(--uddfel-anim-dur, 650ms);
	animation-delay: var(--uddfel-anim-del, 0ms);
	pointer-events: auto;
}

/* 6. Keyframe Animations */
@keyframes uddfel-hero-fade {
	0% {
		opacity: var(--uddfel-anim-opacity-start, 0);
	}

	100% {
		opacity: 1;
	}
}

@keyframes uddfel-hero-fade-up {
	0% {
		opacity: var(--uddfel-anim-opacity-start, 0);
		transform: translateY(var(--uddfel-anim-dist, 18px));
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes uddfel-hero-fade-down {
	0% {
		opacity: var(--uddfel-anim-opacity-start, 0);
		transform: translateY(calc(-1 * var(--uddfel-anim-dist, 18px)));
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes uddfel-hero-fade-left {
	0% {
		opacity: var(--uddfel-anim-opacity-start, 0);
		transform: translateX(var(--uddfel-anim-dist, 18px));
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes uddfel-hero-fade-right {
	0% {
		opacity: var(--uddfel-anim-opacity-start, 0);
		transform: translateX(calc(-1 * var(--uddfel-anim-dist, 18px)));
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes uddfel-hero-slide-up {
	0% {
		transform: translateY(var(--uddfel-anim-dist, 24px));
	}

	100% {
		transform: translateY(0);
	}
}

@keyframes uddfel-hero-slide-down {
	0% {
		transform: translateY(calc(-1 * var(--uddfel-anim-dist, 24px)));
	}

	100% {
		transform: translateY(0);
	}
}

@keyframes uddfel-hero-zoom-in {
	0% {
		opacity: var(--uddfel-anim-opacity-start, 0);
		transform: scale(var(--uddfel-anim-scale-start, 0.94));
	}

	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes uddfel-hero-scale-in {
	0% {
		opacity: var(--uddfel-anim-opacity-start, 0);
		transform: translateY(calc(var(--uddfel-anim-dist, 14px) * 0.5)) scale(var(--uddfel-anim-scale-start, 0.96));
	}

	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes uddfel-hero-reveal-up {
	0% {
		opacity: var(--uddfel-anim-opacity-start, 0);
		clip-path: inset(100% 0 0 0);
		transform: translateY(var(--uddfel-anim-dist, 20px));
	}

	100% {
		opacity: 1;
		clip-path: inset(0 0 0 0);
		transform: translateY(0);
	}
}

@keyframes uddfel-hero-reveal-left {
	0% {
		opacity: var(--uddfel-anim-opacity-start, 0);
		clip-path: inset(0 0 0 100%);
		transform: translateX(var(--uddfel-anim-dist, 20px));
	}

	100% {
		opacity: 1;
		clip-path: inset(0 0 0 0);
		transform: translateX(0);
	}
}

@keyframes uddfel-hero-reveal-right {
	0% {
		opacity: var(--uddfel-anim-opacity-start, 0);
		clip-path: inset(0 100% 0 0);
		transform: translateX(calc(-1 * var(--uddfel-anim-dist, 20px)));
	}

	100% {
		opacity: 1;
		clip-path: inset(0 0 0 0);
		transform: translateX(0);
	}
}

/* 7. Animation Name Binding via Attribute Selectors */
[data-uddfel-anim="fade"] {
	animation-name: uddfel-hero-fade;
}

[data-uddfel-anim="fade_up"] {
	animation-name: uddfel-hero-fade-up;
}

[data-uddfel-anim="fade_down"] {
	animation-name: uddfel-hero-fade-down;
}

[data-uddfel-anim="fade_left"] {
	animation-name: uddfel-hero-fade-left;
}

[data-uddfel-anim="fade_right"] {
	animation-name: uddfel-hero-fade-right;
}

[data-uddfel-anim="slide_up"] {
	animation-name: uddfel-hero-slide-up;
}

[data-uddfel-anim="slide_down"] {
	animation-name: uddfel-hero-slide-down;
}

[data-uddfel-anim="zoom_in"] {
	animation-name: uddfel-hero-zoom-in;
}

[data-uddfel-anim="scale_in"] {
	animation-name: uddfel-hero-scale-in;
}

[data-uddfel-anim="reveal_up"] {
	animation-name: uddfel-hero-reveal-up;
}

[data-uddfel-anim="reveal_left"] {
	animation-name: uddfel-hero-reveal-left;
}

[data-uddfel-anim="reveal_right"] {
	animation-name: uddfel-hero-reveal-right;
}

/* 8. Parallax, Drift & Scroll Scaling Performance Transitions */
.uddfel-page-hero.uddfel-hero--has-parallax .uddfel-page-hero__bg {
	will-change: transform;
	transition: transform 0.08s cubic-bezier(0, 0, 0.2, 1);
}

.uddfel-page-hero.uddfel-hero--has-drift .uddfel-page-hero__content {
	will-change: transform, opacity;
	transition: transform 0.08s cubic-bezier(0, 0, 0.2, 1), opacity 0.08s ease-out;
}