/**
 * Royal Lyor – Widgets in Lyor Studio (Qi-Addons-ähnliche Funktionen).
 */

/* ----- Royal Lyor Accordion ----- */
.royal-lyor-accordion { width: 100%; }
.royal-lyor-acc-empty { padding: 1rem; color: #666; }
.royal-lyor-acc-item { width: 100%; }
.royal-lyor-accordion.royal-lyor-acc-boxed .royal-lyor-acc-item { border: 1px solid transparent; }
.royal-lyor-accordion.royal-lyor-acc-boxed .royal-lyor-acc-item + .royal-lyor-acc-item { border-top-width: 0; }
.royal-lyor-accordion.royal-lyor-acc-border-top .royal-lyor-acc-title { border-top: 1px solid transparent; }
.royal-lyor-accordion.royal-lyor-acc-border-between .royal-lyor-acc-title,
.royal-lyor-accordion.royal-lyor-acc-border-between .royal-lyor-acc-content { border-top: 1px solid transparent; }
.royal-lyor-accordion.royal-lyor-acc-border-between .royal-lyor-acc-item:first-child .royal-lyor-acc-title { border-top-width: 0; }

.royal-lyor-acc-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0;
	cursor: pointer;
	user-select: none;
	text-align: left;
	transition: background-color 0.25s ease, color 0.25s ease;
}
.royal-lyor-acc-title .royal-lyor-acc-title-text { flex: 1; }
.royal-lyor-acc-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.royal-lyor-acc-icon svg { width: 1em; height: 1em; }
.royal-lyor-acc-icon-minus { display: none; }
.royal-lyor-acc-title.royal-lyor-acc-active .royal-lyor-acc-icon-plus { display: none; }
.royal-lyor-acc-title.royal-lyor-acc-active .royal-lyor-acc-icon-minus { display: inline-flex; }

.royal-lyor-acc-content { overflow: hidden; }
.royal-lyor-acc-content[hidden] { display: none; }
.royal-lyor-acc-content-inner { line-height: 1.6; }

.royal-lyor-accordion.royal-lyor-acc-height-auto .royal-lyor-acc-content { display: none; }
.royal-lyor-accordion.royal-lyor-acc-height-auto .royal-lyor-acc-content.royal-lyor-acc-open { display: block; }

/* ----- Royal Lyor Counter (1:1 wie Qi Addons Simple) ----- */
.royal-lyor-counter { width: 100%; }

/* Stroke: nur Kontur sichtbar, wie Qi */
.royal-lyor-counter.royal-lyor-c-digit-stroke .royal-lyor-c-digit {
	color: transparent !important;
	text-shadow: none;
}

.royal-lyor-counter .royal-lyor-c-digit-wrapper {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.royal-lyor-counter .royal-lyor-c-digit {
	display: inline-block;
	font-size: 70px;
	line-height: 1;
}

/* Icon rechts neben der Zahl, wie Qi */
.royal-lyor-counter .royal-lyor-c-icon {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(100%, -50%);
	font-size: 20px;
}
.royal-lyor-counter .royal-lyor-c-icon svg { width: 1em; height: 1em; }

.royal-lyor-counter .royal-lyor-c-separator {
	width: 40px;
	height: 2px;
	background: currentColor;
	opacity: 0.4;
	margin: 0.75em 0;
}

.royal-lyor-counter .royal-lyor-c-content { margin-top: 0; }

.royal-lyor-counter .royal-lyor-c-title {
	margin: 0.9em 0 0;
}

.royal-lyor-counter .royal-lyor-c-text {
	margin: 0.45em 0 0;
}

/* ----- Royal Lyor Section Title (1:1 Qi) ----- */
.royal-lyor-section-title { width: 100%; }
.royal-lyor-section-title .royal-lyor-st-subtitle {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35em;
	margin: 0;
}
.royal-lyor-section-title .royal-lyor-st-subtitle .royal-lyor-st-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.royal-lyor-section-title .royal-lyor-st-subtitle .royal-lyor-st-icon svg { width: 1em; height: 1em; }
.royal-lyor-section-title.royal-lyor-st-icon-left .royal-lyor-st-subtitle .royal-lyor-st-icon { order: -1; }
.royal-lyor-st-title { margin: 0; font-weight: 700; line-height: 1.2; }
.royal-lyor-st-text { margin: 0; line-height: 1.6; }

/* ----- Royal Lyor Button (1:1 Qi Addons) ----- */
.royal-lyor-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	width: auto;
	margin: 0;
	box-sizing: border-box;
	font-family: inherit;
	font-size: 1rem;
	line-height: 2em;
	font-weight: 500;
	text-decoration: none;
	text-transform: none;
	border-radius: 4px;
	outline: none;
	overflow: hidden;
	cursor: pointer;
	transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out;
}
.royal-lyor-btn.royal-lyor-btn--filled {
	color: #111111;
	background-color: #f4f4f4;
	border: 0 solid transparent;
}
.royal-lyor-btn.royal-lyor-btn--filled:hover,
a.royal-lyor-btn.royal-lyor-btn--filled:hover {
	color: #ffffff !important;
	background-color: #111111 !important;
	border-color: transparent !important;
}
.royal-lyor-btn.royal-lyor-btn--outlined {
	color: #111111;
	background-color: transparent;
	border: 2px solid #111111;
}
.royal-lyor-btn.royal-lyor-btn--outlined:hover,
a.royal-lyor-btn.royal-lyor-btn--outlined:hover {
	color: #111111 !important;
	background-color: #f4f4f4 !important;
	border-color: #f4f4f4 !important;
}
.royal-lyor-btn.royal-lyor-btn--textual {
	padding: 0 !important;
	background-color: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
}
.royal-lyor-btn.royal-lyor-btn--textual .royal-lyor-btn-text {
	display: inline-block;
	vertical-align: middle;
}
.royal-lyor-btn.royal-lyor-btn--textual:hover,
a.royal-lyor-btn.royal-lyor-btn--textual:hover {
	color: #111111 !important;
	background-color: transparent !important;
}
/* Size wie Qi (Defaults, werden von Elementor-Padding überschrieben wenn gesetzt) */
.royal-lyor-btn.royal-lyor-btn--small {
	padding: 9px 33px;
}
.royal-lyor-btn.royal-lyor-btn--large {
	padding: 15px 52px;
}
.royal-lyor-btn.royal-lyor-btn--filled:not(.royal-lyor-btn--textual):not(.royal-lyor-btn--small):not(.royal-lyor-btn--large),
.royal-lyor-btn.royal-lyor-btn--outlined:not(.royal-lyor-btn--textual):not(.royal-lyor-btn--small):not(.royal-lyor-btn--large) {
	padding: 13px 46px;
}
.royal-lyor-btn.royal-lyor-btn--full {
	width: 100%;
	text-align: center;
}
/* Icon wie Qi: 10px Abstand, erbt Button-Farbe (auch Hover) */
.royal-lyor-btn .royal-lyor-btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	color: currentColor;
	transition: color 0.25s ease-in-out;
}
.royal-lyor-btn:hover .royal-lyor-btn-icon {
	color: currentColor;
}
.royal-lyor-btn .royal-lyor-btn-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
	stroke: currentColor;
	vertical-align: middle;
}
.royal-lyor-btn.royal-lyor-btn-icon--right .royal-lyor-btn-icon {
	margin-left: 10px;
}
.royal-lyor-btn.royal-lyor-btn-icon--left {
	flex-direction: row-reverse;
}
.royal-lyor-btn.royal-lyor-btn-icon--left .royal-lyor-btn-icon {
	margin-right: 10px;
	margin-left: 0;
}

/* ----- Royal Lyor Separator / Divider (1:1 Qi, alle Layouts) ----- */
.royal-lyor-separator {
	position: relative;
	height: auto;
	font-size: 0;
	line-height: 1;
}
.royal-lyor-separator .royal-lyor-sep-line {
	position: relative;
	display: inline-block;
	width: 100%;
	vertical-align: top;
	font-size: 1px;
	color: #111111;
	border-bottom: 1em solid currentColor;
	border-left: none;
	border-right: none;
	border-top: none;
	margin: 10px 0;
}
.royal-lyor-separator.royal-lyor-sep--center {
	text-align: center;
}
.royal-lyor-separator.royal-lyor-sep--left {
	text-align: left;
}
.royal-lyor-separator.royal-lyor-sep--right {
	text-align: right;
}

/* Layout: With Icon – Linie | Icon | Linie */
.royal-lyor-separator.royal-lyor-sep--with-icon {
	display: flex;
}
.royal-lyor-separator.royal-lyor-sep--with-icon .royal-lyor-sep-line {
	display: flex;
	align-items: center;
	width: 100%;
	border-width: 0;
	border-bottom: none;
}
.royal-lyor-separator.royal-lyor-sep--with-icon .royal-lyor-sep-inner-line {
	width: 50%;
	border-left: none;
	border-right: none;
	border-top: none;
	border-bottom: 1em solid currentColor;
}
.royal-lyor-separator.royal-lyor-sep--with-icon .royal-lyor-sep-icon {
	flex-shrink: 0;
	font-size: 1rem;
	margin: 0 1em;
	line-height: 1;
}
.royal-lyor-separator.royal-lyor-sep--with-icon .royal-lyor-sep-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
	stroke: currentColor;
}
.royal-lyor-separator.royal-lyor-sep--with-icon.royal-lyor-sep--center {
	justify-content: center;
}
.royal-lyor-separator.royal-lyor-sep--with-icon.royal-lyor-sep--left {
	justify-content: flex-start;
}
.royal-lyor-separator.royal-lyor-sep--with-icon.royal-lyor-sep--right {
	justify-content: flex-end;
}

/* Layout: Border Image */
.royal-lyor-separator.royal-lyor-sep--border-image .royal-lyor-sep-line {
	font-size: 12px;
	height: 1em;
	border-bottom: none;
	margin: 10px 0;
	background-size: contain;
	background-repeat: round;
}

/* ----- Royal Lyor Blockquote (1:1 Qi) ----- */
.royal-lyor-blockquote { width: 100%; }
.royal-lyor-blockquote .royal-lyor-bq-icon {
	display: block;
	line-height: 1;
}
.royal-lyor-blockquote .royal-lyor-bq-icon svg { width: 1em; height: 1em; }
.royal-lyor-blockquote .royal-lyor-bq-text { margin: 0; }
.royal-lyor-blockquote.royal-lyor-bq--inline {
	display: flex;
	align-items: flex-start;
	gap: 0.5em;
}
.royal-lyor-blockquote.royal-lyor-bq--inline .royal-lyor-bq-icon { flex-shrink: 0; }

/* ----- Royal Lyor Device Slider (1:1 Qi Device Frame Slider) ----- */
.royal-lyor-device-slider {
	position: relative;
	margin: auto;
}
.royal-lyor-device-slider .royal-lyor-device-slider-image {
	position: relative;
	pointer-events: none;
	z-index: 10;
}
.royal-lyor-device-slider .royal-lyor-device-slider-image img {
	width: 100%;
}
.royal-lyor-device-slider--shadow .royal-lyor-device-slider-image img {
	filter: drop-shadow(0 6px 16.8px rgba(0, 0, 0, 0.07));
}
.royal-lyor-device-slider .royal-lyor-device-slider-items {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 5;
}

/* Default screen insets so the image sits perfectly inside each device frame */
.royal-lyor-device-slider-holder--mobile .royal-lyor-device-slider {
	width: 314px;
}
.royal-lyor-device-slider-holder--mobile .royal-lyor-device-slider .royal-lyor-device-slider-items {
	top: 18px;
	right: 16px;
	bottom: 13px;
	left: 16px;
}
.royal-lyor-device-slider-holder--mobile .royal-lyor-device-slider .royal-lyor-device-slider-swiper {
	border-radius: 15px;
}
.royal-lyor-device-slider-holder--tablet .royal-lyor-device-slider {
	width: 580px;
}
.royal-lyor-device-slider-holder--tablet .royal-lyor-device-slider .royal-lyor-device-slider-items {
	top: 0;
	right: 50px;
	bottom: 20px;
	left: 50px;
}
.royal-lyor-device-slider-holder--tablet .royal-lyor-device-slider .royal-lyor-device-slider-swiper {
	border-radius: 6px;
}
.royal-lyor-device-slider-holder--laptop .royal-lyor-device-slider {
	width: 700px;
}
.royal-lyor-device-slider-holder--laptop .royal-lyor-device-slider .royal-lyor-device-slider-items {
	top: 0;
	right: 77px;
	bottom: 20px;
	left: 77px;
}
.royal-lyor-device-slider-holder--laptop .royal-lyor-device-slider .royal-lyor-device-slider-swiper {
	border-radius: 0;
}
.royal-lyor-device-slider .royal-lyor-device-slider-swiper {
	overflow: hidden;
	height: 100%;
}
.royal-lyor-device-slider .royal-lyor-device-slider-item {
	height: 100%;
}
.royal-lyor-device-slider .royal-lyor-device-slider-item a {
	height: 100%;
	display: block;
}
.royal-lyor-device-slider .royal-lyor-device-slider-item img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

/* Navigation: Swiper-Standard (blau) überschreiben, damit Elementor-Farbe greift */
.royal-lyor-device-slider .swiper-button-prev,
.royal-lyor-device-slider .swiper-button-next {
	color: #333;
	background: none;
}
.royal-lyor-device-slider .swiper-button-prev::after,
.royal-lyor-device-slider .swiper-button-next::after {
	display: none;
}
.royal-lyor-device-slider .swiper-button-prev svg,
.royal-lyor-device-slider .swiper-button-next svg {
	fill: currentColor;
}
/* Hover-Farbe: per Variable vom Widget, damit sie Swiper überschreibt */
.royal-lyor-device-slider-holder .swiper-button-prev:hover,
.royal-lyor-device-slider-holder .swiper-button-next:hover {
	color: var(--royal-lyor-nav-hover, #111) !important;
}
.royal-lyor-device-slider-holder .swiper-button-prev:hover svg,
.royal-lyor-device-slider-holder .swiper-button-next:hover svg {
	fill: var(--royal-lyor-nav-hover, #111) !important;
}

/* Pagination: Swiper-Standard (blau) überschreiben */
.royal-lyor-device-slider-holder .swiper-pagination-bullet {
	background-color: #333;
	opacity: 0.4;
}
.royal-lyor-device-slider-holder .swiper-pagination-bullet-active {
	background-color: #333;
	opacity: 1;
}

/* ----- Royal Lyor Divided Slider Diverge (zwei synchrone Swiper: Text + Bild) ----- */
.royal-lyor-dsd-holder {
	--royal-dsd-gap: 0px;
	--royal-dsd-radius: 0px;
	--royal-dsd-min-height: 520px;
	--royal-dsd-nav-size: 52px;
	--royal-dsd-dot-size: 9px;
	--royal-dsd-dot-gap: 8px;
	--royal-dsd-stack-gap: 18px;
	--royal-dsd-button-gap: 12px;
	--royal-dsd-feature-gap: 10px;
	--royal-dsd-image-overlay: transparent;
	--royal-dsd-title-color: #f5f1e7;
	--royal-dsd-subtitle-color: rgba(245, 241, 231, 0.68);
	--royal-dsd-text-color: rgba(245, 241, 231, 0.82);
	--royal-dsd-content-bg: #161412;
	--royal-dsd-btn-bg: #cfad7a;
	--royal-dsd-btn-color: #1d1610;
	--royal-dsd-btn-bg-hover: #dfbe8a;
	--royal-dsd-btn-color-hover: #14100b;
	--royal-dsd-btn-border: rgba(207, 173, 122, 0.45);
	--royal-dsd-nav-color: #e7dfd0;
	--royal-dsd-nav-bg: rgba(0, 0, 0, 0.2);

	position: relative;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	min-height: var(--royal-dsd-min-height);
	gap: var(--royal-dsd-gap);
	border-radius: var(--royal-dsd-radius);
	overflow: hidden;
	isolation: isolate;
}
.royal-lyor-dsd-half {
	width: calc(50% - (var(--royal-dsd-gap) / 2));
	min-height: var(--royal-dsd-min-height);
	overflow: hidden;
	display: flex;
	align-items: stretch;
	position: relative;
	border-radius: var(--royal-dsd-radius);
}
.royal-lyor-dsd-content-half .royal-lyor-dsd-content {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 100%;
	box-sizing: border-box;
	background: var(--royal-dsd-content-bg);
}
.royal-lyor-dsd-holder.royal-lyor-dsd-align-top .royal-lyor-dsd-content-half .royal-lyor-dsd-content { align-items: flex-start; }
.royal-lyor-dsd-holder.royal-lyor-dsd-align-bottom .royal-lyor-dsd-content-half .royal-lyor-dsd-content { align-items: flex-end; }
.royal-lyor-dsd-content-right .royal-lyor-dsd-half.royal-lyor-dsd-content-half { order: 2; }
.royal-lyor-dsd-content-right .royal-lyor-dsd-half.royal-lyor-dsd-image-half { order: 1; }
.royal-lyor-dsd-content-swiper,
.royal-lyor-dsd-image-swiper {
	width: 100%;
	height: 100%;
	overflow: hidden;
	min-height: 400px;
}
.royal-lyor-dsd-content-swiper .swiper-slide,
.royal-lyor-dsd-image-swiper .swiper-slide {
	height: auto;
	min-height: var(--royal-dsd-min-height);
	display: flex;
	align-items: stretch;
}
.royal-lyor-dsd-content-swiper .swiper-slide .royal-lyor-dsd-content {
	min-height: 100%;
}
.royal-lyor-dsd-content-inner {
	width: 100%;
	max-width: 620px;
	margin: 0 auto;
	display: grid;
	gap: var(--royal-dsd-stack-gap);
}
.royal-lyor-dsd-image-wrap {
	width: 100%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.royal-lyor-dsd-image-wrap::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--royal-dsd-image-overlay);
	pointer-events: none;
	z-index: 2;
}
.royal-lyor-dsd-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	min-height: var(--royal-dsd-min-height);
	transition: transform 0.9s cubic-bezier(.19, 1, .22, 1);
}
.royal-lyor-dsd-holder:hover .royal-lyor-dsd-image {
	transform: scale(1.04);
}
.royal-lyor-dsd-image-placeholder {
	width: 100%;
	min-height: var(--royal-dsd-min-height);
	background: #f0f0f0;
}
.royal-lyor-dsd-title {
	margin: 0;
	color: var(--royal-dsd-title-color);
	text-wrap: balance;
	letter-spacing: -0.02em;
}
.royal-lyor-dsd-subtitle {
	margin: 0;
	color: var(--royal-dsd-subtitle-color);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 600;
}
.royal-lyor-dsd-text {
	margin: 0;
	line-height: 1.72;
	color: var(--royal-dsd-text-color);
}
.royal-lyor-dsd-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--royal-dsd-button-gap);
}
.royal-lyor-dsd-btn {
	display: inline-block;
	text-decoration: none;
	border: 1px solid var(--royal-dsd-btn-border);
	cursor: pointer;
	transition: color 0.28s ease, background-color 0.28s ease, border-color 0.28s ease, transform 0.28s cubic-bezier(.19, 1, .22, 1), box-shadow 0.28s ease;
	padding: 0.95em 1.8em;
	border-radius: 999px;
	background: var(--royal-dsd-btn-bg);
	color: var(--royal-dsd-btn-color);
	font-size: 12px;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	font-weight: 700;
}
.royal-lyor-dsd-btn-secondary {
	background: transparent;
	color: var(--royal-dsd-btn-bg);
	border-color: color-mix(in srgb, var(--royal-dsd-btn-bg) 60%, transparent);
}
.royal-lyor-dsd-btn-secondary:hover {
	background: color-mix(in srgb, var(--royal-dsd-btn-bg) 12%, transparent);
	color: var(--royal-dsd-btn-bg-hover);
}
.royal-lyor-dsd-btn:hover {
	background: var(--royal-dsd-btn-bg-hover);
	color: var(--royal-dsd-btn-color-hover);
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
}
.royal-lyor-dsd-features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--royal-dsd-feature-gap);
}
.royal-lyor-dsd-feature-item {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 10px 12px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--royal-dsd-title-color) 7%, transparent);
}
.royal-lyor-dsd-feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--royal-dsd-btn-bg);
	font-size: 14px;
	line-height: 1;
}
.royal-lyor-dsd-feature-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}
.royal-lyor-dsd-feature-text {
	color: var(--royal-dsd-text-color);
	font-size: 12px;
	line-height: 1.45;
	letter-spacing: 0.02em;
}

/* Diverge: Nav/Pagination wie Device Slider */
.royal-lyor-dsd-holder .swiper-button-prev,
.royal-lyor-dsd-holder .swiper-button-next {
	color: var(--royal-dsd-nav-color);
	background: var(--royal-dsd-nav-bg);
	width: var(--royal-dsd-nav-size);
	height: var(--royal-dsd-nav-size);
	border-radius: 50%;
	backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, 0.18);
	top: auto;
	bottom: 24px;
}
.royal-lyor-dsd-holder .swiper-button-prev::after,
.royal-lyor-dsd-holder .swiper-button-next::after { display: none; }
.royal-lyor-dsd-holder .swiper-button-prev svg,
.royal-lyor-dsd-holder .swiper-button-next svg {
	fill: currentColor;
	width: 17px;
	height: 17px;
}
.royal-lyor-dsd-holder .swiper-button-prev { left: 24px; }
.royal-lyor-dsd-holder .swiper-button-next { right: 24px; }
.royal-lyor-dsd-holder .swiper-button-prev:hover,
.royal-lyor-dsd-holder .swiper-button-next:hover {
	color: var(--royal-lyor-dsd-nav-hover, #111) !important;
	background: color-mix(in srgb, var(--royal-lyor-dsd-nav-hover, #111) 14%, transparent);
}
.royal-lyor-dsd-holder .swiper-button-prev:hover svg,
.royal-lyor-dsd-holder .swiper-button-next:hover svg {
	fill: var(--royal-lyor-dsd-nav-hover, #111) !important;
}
.royal-lyor-dsd-holder .swiper-pagination-bullet {
	width: var(--royal-dsd-dot-size);
	height: var(--royal-dsd-dot-size);
	margin: 0 var(--royal-dsd-dot-gap) !important;
	background-color: var(--royal-dsd-nav-color);
	opacity: 0.4;
}
.royal-lyor-dsd-holder .swiper-pagination-bullet-active {
	background-color: var(--royal-dsd-nav-color);
	opacity: 1;
}

.royal-lyor-dsd-holder .swiper-pagination {
	bottom: 22px !important;
}

.royal-lyor-dsd-holder.royal-lyor-dsd-glass .royal-lyor-dsd-content-inner {
	background: color-mix(in srgb, var(--royal-dsd-content-bg) 64%, transparent);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 18px;
}

.royal-lyor-dsd-holder.royal-lyor-dsd-btnstyle-outline .royal-lyor-dsd-btn {
	background: transparent;
	color: var(--royal-dsd-btn-bg);
	border-color: color-mix(in srgb, var(--royal-dsd-btn-bg) 60%, transparent);
}
.royal-lyor-dsd-holder.royal-lyor-dsd-btnstyle-outline .royal-lyor-dsd-btn:hover {
	background: var(--royal-dsd-btn-bg);
	color: var(--royal-dsd-btn-color);
}

.royal-lyor-dsd-holder.royal-lyor-dsd-btnstyle-minimal .royal-lyor-dsd-btn {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--royal-dsd-btn-bg);
	letter-spacing: 0.08em;
	border-radius: 0;
}
.royal-lyor-dsd-holder.royal-lyor-dsd-btnstyle-minimal .royal-lyor-dsd-btn:hover {
	background: transparent;
	color: var(--royal-dsd-btn-bg-hover);
	box-shadow: none;
	transform: translateY(0);
}
.royal-lyor-dsd-holder.royal-lyor-dsd-btnstyle-minimal .royal-lyor-dsd-btn-secondary {
	opacity: 0.78;
}

.royal-lyor-dsd-holder.royal-lyor-dsd-btnstyle-minimal .royal-lyor-dsd-btn::after {
	content: ' \2192';
	display: inline-block;
	margin-left: 6px;
	transition: transform .24s ease;
}
.royal-lyor-dsd-holder.royal-lyor-dsd-btnstyle-minimal .royal-lyor-dsd-btn:hover::after {
	transform: translateX(3px);
}

.royal-lyor-dsd-holder.royal-lyor-dsd-skin-champagne {
	--royal-dsd-content-bg: #1b150f;
	--royal-dsd-title-color: #f5ecde;
	--royal-dsd-subtitle-color: rgba(245, 236, 222, 0.7);
	--royal-dsd-text-color: rgba(245, 236, 222, 0.84);
	--royal-dsd-btn-bg: #d2b081;
	--royal-dsd-btn-color: #19120b;
	--royal-dsd-btn-bg-hover: #dfbf8f;
	--royal-dsd-btn-color-hover: #120e09;
	--royal-dsd-nav-color: #f5ecde;
	--royal-dsd-nav-bg: rgba(25, 18, 11, 0.34);
}

.royal-lyor-dsd-holder.royal-lyor-dsd-skin-clean-light {
	--royal-dsd-content-bg: #f5f2ed;
	--royal-dsd-title-color: #151311;
	--royal-dsd-subtitle-color: rgba(21, 19, 17, 0.6);
	--royal-dsd-text-color: rgba(21, 19, 17, 0.78);
	--royal-dsd-btn-bg: #171513;
	--royal-dsd-btn-color: #faf7f1;
	--royal-dsd-btn-bg-hover: #2a2724;
	--royal-dsd-btn-color-hover: #fff;
	--royal-dsd-btn-border: rgba(23, 21, 19, 0.2);
	--royal-dsd-nav-color: #151311;
	--royal-dsd-nav-bg: rgba(245, 242, 237, 0.72);
}

.royal-lyor-dsd-holder.royal-lyor-dsd-skin-minimal-mono {
	--royal-dsd-content-bg: #121212;
	--royal-dsd-title-color: #f3f3f3;
	--royal-dsd-subtitle-color: rgba(243, 243, 243, 0.62);
	--royal-dsd-text-color: rgba(243, 243, 243, 0.78);
	--royal-dsd-btn-bg: #f3f3f3;
	--royal-dsd-btn-color: #121212;
	--royal-dsd-btn-bg-hover: #fff;
	--royal-dsd-btn-color-hover: #111;
	--royal-dsd-nav-color: #f3f3f3;
	--royal-dsd-nav-bg: rgba(18, 18, 18, 0.36);
}

@media (max-width: 767px) {
	.royal-lyor-dsd-half {
		width: 100%;
		order: 0 !important;
	}
	.royal-lyor-dsd-content-swiper,
	.royal-lyor-dsd-image-swiper { min-height: 280px; }
	.royal-lyor-dsd-image,
	.royal-lyor-dsd-image-placeholder { min-height: 220px; }
	.royal-lyor-dsd-holder {
		--royal-dsd-nav-size: 44px;
	}
	.royal-lyor-dsd-holder .swiper-button-prev,
	.royal-lyor-dsd-holder .swiper-button-next {
		bottom: 14px;
	}
	.royal-lyor-dsd-holder .swiper-button-prev { left: 14px; }
	.royal-lyor-dsd-holder .swiper-button-next { right: 14px; }
	.royal-lyor-dsd-holder .swiper-pagination {
		bottom: 14px !important;
	}
	.royal-lyor-dsd-features {
		grid-template-columns: 1fr;
	}
	.royal-lyor-dsd-buttons {
		flex-direction: column;
		align-items: stretch;
	}
	.royal-lyor-dsd-btn {
		text-align: center;
	}
}

/* Device Slider responsive (pagination margin) */
@media only screen and (max-width: 1024px) {
	.royal-lyor-device-slider-holder {
		margin-bottom: 96px;
	}
	.royal-lyor-device-slider-holder .swiper-pagination-bullets {
		bottom: -96px !important;
	}
}
@media only screen and (max-width: 768px) {
	.royal-lyor-device-slider-holder {
		margin-bottom: 86px;
	}
	.royal-lyor-device-slider-holder .swiper-pagination-bullets {
		bottom: -86px !important;
	}
}
@media only screen and (max-width: 680px) {
	.royal-lyor-device-slider-holder {
		margin-bottom: 76px;
	}
	.royal-lyor-device-slider-holder .swiper-pagination-bullets {
		bottom: -76px !important;
	}
}
@media only screen and (max-width: 480px) {
	.royal-lyor-device-slider-holder {
		margin-bottom: 46px;
	}
	.royal-lyor-device-slider-holder .swiper-pagination-bullets {
		bottom: -46px !important;
	}
}

/* ----- Royal Lyor Info Button (1:1 Qi Addons) ----- */
.royal-lyor-info-btn {
	position: relative;
	display: inline-flex;
	vertical-align: middle;
	width: auto;
	margin: 0;
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2em;
	text-decoration: none;
	text-transform: none;
	border-radius: 4px;
	border-style: solid;
	outline: none;
	overflow: hidden;
	padding: 11px 28px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out;
}
.royal-lyor-info-btn .royal-lyor-info-btn-text-holder {
	display: flex;
	align-items: center;
}
.royal-lyor-info-btn .royal-lyor-info-btn-subtext {
	font-size: 0.75em;
	transition: color 0.25s ease-in-out;
}
/* Size */
.royal-lyor-info-btn.royal-lyor-info-btn--small {
	padding: 6px 24px;
}
.royal-lyor-info-btn.royal-lyor-info-btn--large {
	padding: 11px 36px;
}
.royal-lyor-info-btn.royal-lyor-info-btn--full {
	width: 100%;
	text-align: center;
}
/* Layout: Filled (default no border) / Outlined (default 2px border) */
.royal-lyor-info-btn.royal-lyor-info-btn--filled {
	border-width: 0;
	color: #111;
	background-color: #f4f4f4;
	font-size: 1rem;
}
.royal-lyor-info-btn.royal-lyor-info-btn--filled:hover {
	color: #fff;
	background-color: #111;
}
.royal-lyor-info-btn.royal-lyor-info-btn--outlined {
	color: #111;
	background-color: transparent;
	border-width: 2px;
	border-color: #111;
}
.royal-lyor-info-btn.royal-lyor-info-btn--outlined:hover {
	color: #111;
	background-color: #f4f4f4;
	border-color: #f4f4f4;
}
/* Icon position: left = row-reverse on text-holder */
.royal-lyor-info-btn.royal-lyor-info-btn-icon--left .royal-lyor-info-btn-text-holder {
	flex-direction: row-reverse;
}
/* Icon base */
.royal-lyor-info-btn .royal-lyor-info-btn-icon {
	color: currentColor;
	transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out;
}
.royal-lyor-info-btn .royal-lyor-info-btn-icon svg {
	width: 1em;
	fill: currentColor;
	stroke: currentColor;
}
.royal-lyor-info-btn.royal-lyor-info-btn-icon--right:not(.royal-lyor-info-btn--icon-boxed) .royal-lyor-info-btn-icon i,
.royal-lyor-info-btn.royal-lyor-info-btn-icon--right:not(.royal-lyor-info-btn--icon-boxed) .royal-lyor-info-btn-icon svg {
	margin-left: 10px;
}
.royal-lyor-info-btn.royal-lyor-info-btn-icon--left:not(.royal-lyor-info-btn--icon-boxed) .royal-lyor-info-btn-icon i,
.royal-lyor-info-btn.royal-lyor-info-btn-icon--left:not(.royal-lyor-info-btn--icon-boxed) .royal-lyor-info-btn-icon svg {
	margin-right: 10px;
}
/* Icon hover move: inner wrapper + two icons (horizontal / vertical / diagonal) */
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal .royal-lyor-info-btn-icon-inner,
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical .royal-lyor-info-btn-icon-inner,
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal .royal-lyor-info-btn-icon-inner {
	position: relative;
	overflow: hidden;
	display: inherit;
	padding: 1px;
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal .royal-lyor-info-btn-icon-inner i,
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal .royal-lyor-info-btn-icon-inner svg,
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical .royal-lyor-info-btn-icon-inner i,
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical .royal-lyor-info-btn-icon-inner svg,
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal .royal-lyor-info-btn-icon-inner i,
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal .royal-lyor-info-btn-icon-inner svg {
	transition: transform 0.38s cubic-bezier(0.37, 0.08, 0.02, 0.93), opacity 0.18s ease-in-out;
	will-change: transform;
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal .royal-lyor-info-btn-icon-inner i:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal .royal-lyor-info-btn-icon-inner svg:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical .royal-lyor-info-btn-icon-inner i:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical .royal-lyor-info-btn-icon-inner svg:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal .royal-lyor-info-btn-icon-inner i:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal .royal-lyor-info-btn-icon-inner svg:nth-child(1) {
	transform: translateX(0) translateY(0);
	transition-delay: 0.1s;
	opacity: 1;
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal .royal-lyor-info-btn-icon-inner i:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal .royal-lyor-info-btn-icon-inner svg:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical .royal-lyor-info-btn-icon-inner i:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical .royal-lyor-info-btn-icon-inner svg:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal .royal-lyor-info-btn-icon-inner i:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal .royal-lyor-info-btn-icon-inner svg:nth-child(2) {
	position: absolute;
	opacity: 0;
	left: 1px;
	top: 1px;
	transition-delay: 0s;
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal:hover .royal-lyor-info-btn-icon-inner i:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal:hover .royal-lyor-info-btn-icon-inner svg:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical:hover .royal-lyor-info-btn-icon-inner i:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical:hover .royal-lyor-info-btn-icon-inner svg:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal:hover .royal-lyor-info-btn-icon-inner i:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal:hover .royal-lyor-info-btn-icon-inner svg:nth-child(1) {
	opacity: 0;
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal:hover .royal-lyor-info-btn-icon-inner i:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal:hover .royal-lyor-info-btn-icon-inner svg:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical:hover .royal-lyor-info-btn-icon-inner i:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical:hover .royal-lyor-info-btn-icon-inner svg:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal:hover .royal-lyor-info-btn-icon-inner i:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal:hover .royal-lyor-info-btn-icon-inner svg:nth-child(2) {
	transform: translateX(0) translateY(0) translateZ(0);
	transition-delay: 0.25s;
	opacity: 1;
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal .royal-lyor-info-btn-icon-inner i:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal .royal-lyor-info-btn-icon-inner svg:nth-child(2) {
	transform: translateX(-150%) translateY(0);
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal:hover .royal-lyor-info-btn-icon-inner i:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal:hover .royal-lyor-info-btn-icon-inner svg:nth-child(1) {
	transform: translateX(200%) translateY(0);
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical .royal-lyor-info-btn-icon-inner i:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical .royal-lyor-info-btn-icon-inner svg:nth-child(2) {
	transform: translateX(0) translateY(150%) translateZ(0);
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical:hover .royal-lyor-info-btn-icon-inner i:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-vertical:hover .royal-lyor-info-btn-icon-inner svg:nth-child(1) {
	transform: translateX(0) translateY(-150%) translateZ(0);
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal .royal-lyor-info-btn-icon-inner i:nth-child(2),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal .royal-lyor-info-btn-icon-inner svg:nth-child(2) {
	transform: translateX(-100%) translateY(100%) translateZ(0);
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal:hover .royal-lyor-info-btn-icon-inner i:nth-child(1),
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-diagonal:hover .royal-lyor-info-btn-icon-inner svg:nth-child(1) {
	transform: translateX(100%) translateY(-100%) translateZ(0);
}
/* Icon hover: horizontal short (single icon, translateX) */
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal-short .royal-lyor-info-btn-icon-inner i,
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal-short .royal-lyor-info-btn-icon-inner svg {
	transition: transform 0.3s cubic-bezier(0.37, 0.08, 0.02, 0.93), opacity 0.2s ease-in-out;
	transform: translateX(0);
	will-change: transform;
}
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal-short:hover .royal-lyor-info-btn-icon-inner i,
.royal-lyor-info-btn.royal-lyor-info-btn-hover--icon-move-horizontal-short:hover .royal-lyor-info-btn-icon-inner svg {
	transform: translateX(4px);
}
/* Icon Boxed */
.royal-lyor-info-btn.royal-lyor-info-btn--icon-boxed {
	padding: 0 !important;
	flex-direction: row;
	align-items: stretch;
}
.royal-lyor-info-btn.royal-lyor-info-btn--icon-boxed .royal-lyor-info-btn-text-holder {
	flex-direction: column;
	padding: 11px 28px;
	align-items: flex-start;
	justify-content: center;
}
.royal-lyor-info-btn.royal-lyor-info-btn--icon-boxed.royal-lyor-info-btn-icon--left {
	flex-direction: row-reverse;
}
.royal-lyor-info-btn.royal-lyor-info-btn--icon-boxed .royal-lyor-info-btn-icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 11px 0;
	flex: 1;
}
.royal-lyor-info-btn.royal-lyor-info-btn--icon-boxed .royal-lyor-info-btn-icon i {
	line-height: inherit;
}
.royal-lyor-info-btn.royal-lyor-info-btn--icon-boxed .royal-lyor-info-btn-border {
	height: 100%;
	width: 2px;
	background-color: #111;
	transition: background-color 0.25s ease-in-out;
}

/* ----- Royal Lyor Liquid Menu (UE-style) ----- */
body.royal-lyor-liquid-menu-open {
	overflow: hidden;
}
.royal-lyor-liquid-menu {
	position: relative;
	display: flex;
	justify-content: var(--rllm-alignment, flex-end);
}
.royal-lyor-liquid-menu .shape-overlays {
	width: 100vw;
	height: 100vh;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.royal-lyor-liquid-menu .global-menu,
.royal-lyor-liquid-menu .shape-overlays {
	max-width: 100%;
	overflow: hidden !important;
}
.royal-lyor-liquid-menu .uc_liquid_hamburger__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.royal-lyor-liquid-menu .uc_liquid_hamburger__icon.uc_liquid_hamburger__icon--close {
	display: none;
}
.royal-lyor-liquid-menu.uc-menu-opened .uc_liquid_hamburger__icon.uc_liquid_hamburger__icon--close {
	display: flex;
}
.royal-lyor-liquid-menu.uc-menu-opened .uc_liquid_hamburger__icon.uc_liquid_hamburger__icon--open {
	display: none;
}
.royal-lyor-liquid-menu .shape-overlays.is-opened {
	pointer-events: auto;
}
/* Overlay-Pfade nur bei geöffnetem Menü sichtbar, sonst ausgeblendet */
.royal-lyor-liquid-menu .shape-overlays__path {
	opacity: 0;
	transform: scale(0);
	transform-origin: center center;
	transition: transform var(--rllm-overlay-duration, 0.5s) cubic-bezier(0.77, 0, 0.175, 1), opacity 0.3s ease;
}
.royal-lyor-liquid-menu .shape-overlays__path:nth-of-type(1) { fill: var(--rllm-overlay-1, #0d0d0d); }
.royal-lyor-liquid-menu .shape-overlays__path:nth-of-type(2) { fill: var(--rllm-overlay-2, #0d0d0d); }
.royal-lyor-liquid-menu .shape-overlays__path:nth-of-type(3) { fill: var(--rllm-overlay-3, #0d0d0d); }
.royal-lyor-liquid-menu .shape-overlays__path:nth-of-type(4) { fill: var(--rllm-overlay-4, #0d0d0d); }
.royal-lyor-liquid-menu.uc-menu-opened .shape-overlays.is-opened .shape-overlays__path:nth-of-type(1) { opacity: 1; transform: scale(1); transition-delay: 0s; }
.royal-lyor-liquid-menu.uc-menu-opened .shape-overlays.is-opened .shape-overlays__path:nth-of-type(2) { opacity: 1; transform: scale(1); transition-delay: 0.05s; }
.royal-lyor-liquid-menu.uc-menu-opened .shape-overlays.is-opened .shape-overlays__path:nth-of-type(3) { opacity: 1; transform: scale(1); transition-delay: 0.1s; }
.royal-lyor-liquid-menu.uc-menu-opened .shape-overlays.is-opened .shape-overlays__path:nth-of-type(4) { opacity: 1; transform: scale(1); transition-delay: 0.15s; }
/* Global menu */
.royal-lyor-liquid-menu .global-menu {
	width: 100vw;
	height: 100vh;
	overflow: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 0;
	visibility: hidden;
}
.royal-lyor-liquid-menu .global-menu-inner {
	width: 100vw;
	height: 100vh;
	overflow: auto;
}
.royal-lyor-liquid-menu.uc-menu-opened .global-menu {
	z-index: 10000;
	visibility: visible;
}
.royal-lyor-liquid-menu .global-menu .global-menu__wrap {
	display: flex;
	flex-direction: column;
	padding: 0;
}
.royal-lyor-liquid-menu .menu-item {
	opacity: 0;
	text-align: var(--rllm-items-alignment, center);
}
.royal-lyor-liquid-menu.uc-menu-opened .menu-item {
	opacity: 1;
}
.royal-lyor-liquid-menu .global-menu-inner > div {
	transition: opacity 0.4s ease;
	opacity: 0;
	transition-delay: 0s;
}
.royal-lyor-liquid-menu.uc-menu-opened .global-menu-inner > div {
	opacity: 1;
	transition-delay: var(--rllm-menu-fade-delay, 0.3s);
}
.royal-lyor-liquid-menu .global-menu-inner > div:nth-child(3) { transition-delay: calc(var(--rllm-menu-fade-delay, 0.3s) + 0.5s); }
.royal-lyor-liquid-menu .global-menu-inner > div:nth-child(2) { transition-delay: calc(var(--rllm-menu-fade-delay, 0.3s) + 0.55s); }
.royal-lyor-liquid-menu .global-menu-inner > div:nth-child(1) { transition-delay: calc(var(--rllm-menu-fade-delay, 0.3s) + 0.6s); }
/* Pulse effect */
@keyframes royal-lyor-liquid-pulse {
	0% { opacity: 1; transform: scale(1); }
	80% { transform: scale(1.6); }
	100% { opacity: 0; transform: scale(1.6); }
}
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.uc_liquid_hamburger {
	display: block;
	cursor: pointer;
	position: relative;
	z-index: 10001;
	pointer-events: auto;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	transition: all 0.3s;
	width: var(--rllm-current-calc-size-value, 48px);
	height: var(--rllm-current-calc-size-value, 48px);
}
.royal-lyor-liquid-menu--pulse .royal-lyor-liquid-menu-hamburger.uc_liquid_hamburger::after {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	border: var(--rllm-hamburger-border-size, 2px) solid var(--rllm-hamburger-border-color, rgba(0,0,0,0.2));
	animation: royal-lyor-liquid-pulse 1.2s infinite;
}
.royal-lyor-liquid-menu--pulse .royal-lyor-liquid-menu-hamburger.uc_liquid_hamburger.is-opened-navi::after {
	border-color: var(--rllm-hamburger-border-color-active, #fff);
}
/* Hamburger lines (UE structure with --current-calc-size-value) */
.royal-lyor-liquid-menu .hamburger__line {
	width: calc(var(--rllm-current-calc-size-value, 48px) - 56.9%);
	height: 2px;
	overflow: hidden;
	position: absolute;
	z-index: 10;
}
.royal-lyor-liquid-menu .hamburger__line-in {
	width: calc(var(--rllm-current-calc-size-value, 48px) + 71.45%);
	height: 2px;
	position: absolute;
	top: 0;
	left: 0;
	background: currentColor;
}
.royal-lyor-liquid-menu .hamburger__line-in::before,
.royal-lyor-liquid-menu .hamburger__line-in::after {
	width: calc(var(--rllm-current-calc-size-value, 48px) - 43.52%);
	height: 2px;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	background: currentColor;
}
.royal-lyor-liquid-menu .hamburger__line-in::before {
	left: calc(-1 * var(--rllm-current-calc-size-value, 48px) - -10%);
}
.royal-lyor-liquid-menu .hamburger__line-in::after {
	left: 0;
}
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--cross01::after,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--cross02::after {
	opacity: 0;
}
.royal-lyor-liquid-menu .hamburger__line--01,
.royal-lyor-liquid-menu .hamburger__line--02,
.royal-lyor-liquid-menu .hamburger__line--03,
.royal-lyor-liquid-menu .hamburger__line--cross01,
.royal-lyor-liquid-menu .hamburger__line--cross02 {
	left: calc(var(--rllm-current-calc-size-value, 48px) - 72.3%);
}
.royal-lyor-liquid-menu .hamburger__line--01 {
	top: calc(var(--rllm-current-calc-size-value, 48px) - 62.05%);
}
.royal-lyor-liquid-menu .hamburger__line--02,
.royal-lyor-liquid-menu .hamburger__line--cross01,
.royal-lyor-liquid-menu .hamburger__line--cross02 {
	top: calc(var(--rllm-current-calc-size-value, 48px) - 52.3%);
}
.royal-lyor-liquid-menu .hamburger__line--03 {
	top: calc(var(--rllm-current-calc-size-value, 48px) - 41.56%);
}
.royal-lyor-liquid-menu .hamburger__line--cross01 { transform: rotate(45deg); }
.royal-lyor-liquid-menu .hamburger__line--cross02 { transform: rotate(-45deg); }
.royal-lyor-liquid-menu .hamburger__line {
	transition-duration: 0.6s;
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.royal-lyor-liquid-menu .hamburger__line-in {
	transition-duration: 0.6s;
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.royal-lyor-liquid-menu .hamburger__line-in::before,
.royal-lyor-liquid-menu .hamburger__line-in::after {
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-property: transform;
}
.royal-lyor-liquid-menu .hamburger__line-in--cross01,
.royal-lyor-liquid-menu .hamburger__line-in--cross02 {
	transform: translateX(-33.3%);
}
.royal-lyor-liquid-menu .hamburger__line-in--01 { transition-delay: 0.2s; }
.royal-lyor-liquid-menu .hamburger__line-in--02 { transition-delay: 0.25s; }
.royal-lyor-liquid-menu .hamburger__line-in--02::before,
.royal-lyor-liquid-menu .hamburger__line-in--02::after { transition-delay: 0.05s; }
.royal-lyor-liquid-menu .hamburger__line-in--03 { transition-delay: 0.3s; }
.royal-lyor-liquid-menu .hamburger__line-in--03::before,
.royal-lyor-liquid-menu .hamburger__line-in--03::after { transition-delay: 0.1s; }
.royal-lyor-liquid-menu .hamburger__line-in--cross01 { transition-delay: 0s; }
.royal-lyor-liquid-menu .hamburger__line-in--cross02 { transition-delay: 0.05s; }
.royal-lyor-liquid-menu .hamburger__line-in--cross02::before,
.royal-lyor-liquid-menu .hamburger__line-in--cross02::after { transition-delay: 0.1s; }
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line--01,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line--02,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line--03 {
	opacity: 0;
}
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line-in--01,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line-in--02,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line-in--03 {
	transform: translateX(33.3%);
}
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line-in--cross01,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line-in--cross02 {
	transform: translateX(0);
}
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line-in--01 { transition-delay: 0s; }
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line-in--02 { transition-delay: 0.05s; }
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line-in--03 { transition-delay: 0.1s; }
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line-in--cross01 { transition-delay: 0.25s; }
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi .hamburger__line-in--cross02 { transition-delay: 0.3s; }
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in::after {
	transform: translateX(200%);
}
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--01::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--01::after,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--02::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--02::after,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--03::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--03::after {
	transition-duration: 1s;
}
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--cross01::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--cross01::after,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--cross02::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger:hover .hamburger__line-in--cross02::after {
	transition-duration: 0s;
}
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi:hover .hamburger__line-in--cross01::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi:hover .hamburger__line-in--cross01::after,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi:hover .hamburger__line-in--cross02::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi:hover .hamburger__line-in--cross02::after {
	transition-duration: 1s;
}
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi:hover .hamburger__line-in--01::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi:hover .hamburger__line-in--01::after,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi:hover .hamburger__line-in--02::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi:hover .hamburger__line-in--02::after,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi:hover .hamburger__line-in--03::before,
.royal-lyor-liquid-menu .royal-lyor-liquid-menu-hamburger.is-opened-navi:hover .hamburger__line-in--03::after {
	transition-duration: 0s;
}
.royal-lyor-liquid-menu .sub-menu {
	transition: 0.5s;
	overflow: hidden;
	height: auto;
}
/* Expand/collapse icon */
.royal-lyor-liquid-menu--expand-icon .collapsed .uc-menu-item-pointer::after {
	content: var(--rllm-collapsed);
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	line-height: 1em;
	display: inline-block;
	margin: 0 15px;
	vertical-align: middle;
}
.royal-lyor-liquid-menu--expand-icon .expanded .uc-menu-item-pointer::after {
	content: var(--rllm-expanded);
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	line-height: 1em;
	display: inline-block;
	vertical-align: middle;
	margin: 0 15px;
}
/* Underline effect */
.royal-lyor-liquid-menu--underline .menu-item a {
	display: inline-flex;
	flex-direction: column;
	align-items: var(--rllm-items-align-flex, center);
}
.royal-lyor-liquid-menu--underline .menu-item a::after {
	bottom: 0;
	content: "";
	display: block;
	left: 50%;
	transition: width 0.3s ease 0s, left 0.3s ease 0s;
	width: 0;
	height: 2px;
	background: currentColor;
}
.royal-lyor-liquid-menu--underline .menu-item a:hover::after {
	width: 100%;
	left: 0;
}
.royal-lyor-liquid-menu-nav { list-style: none; margin: 0; padding: 0; }
.royal-lyor-liquid-menu-nav a { text-decoration: none; color: inherit; }
.royal-lyor-liquid-menu-empty { color: #666; font-size: 1rem; }
