/* LASER N' PARTNERS – Før & efter-karrusel */
.lnp-fe {
	width: min(100%, 400px, calc(60vh * 0.8));
	margin: 0 auto;
	font-family: var(--lnp-font, fontone, sans-serif);
	color: #ffffff;
}

.lnp-fe .lnp-fe__frame {
	position: relative;
	box-sizing: border-box;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border: 1px solid #a3a3a3;
	background: rgba(0, 0, 0, 0.06);
	box-shadow: 0 24px 60px -20px rgba(0, 0, 0, 0.45);
	touch-action: pan-y;
}

.lnp-fe .lnp-fe__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
	opacity: 0;
	transition: opacity 0.9s ease;
}

.lnp-fe .lnp-fe__slide.is-active {
	opacity: 1;
	z-index: 1;
}

.lnp-fe .lnp-fe__slide img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.lnp-fe .lnp-fe__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 16px;
}

.lnp-fe .lnp-fe__btns {
	display: flex;
	gap: 8px;
}

.lnp-fe .lnp-fe__btn,
.lnp-fe .lnp-fe__btn:focus {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 0;
	background: rgba(0, 0, 0, 0.18);
	color: #ffffff;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s;
}

.lnp-fe .lnp-fe__btn:hover {
	background: #f0f0f0;
	border-color: #f0f0f0;
	color: #181818;
}

.lnp-fe .lnp-fe__btn:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

.lnp-fe .lnp-fe__count {
	font-size: 12px;
	font-weight: 100;
	line-height: 20.4px;
	letter-spacing: 0.9px;
	font-variant-numeric: tabular-nums;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
}

/* Lys udgave – til sektioner med hvid baggrund: [lnp_foer_efter tema="lys"] */
.lnp-fe.lnp-fe--lys {
	color: #3a3a3a;
}

.lnp-fe.lnp-fe--lys .lnp-fe__frame {
	box-shadow: 0 16px 40px -24px rgba(0, 0, 0, 0.35);
}

.lnp-fe.lnp-fe--lys .lnp-fe__btn,
.lnp-fe.lnp-fe--lys .lnp-fe__btn:focus {
	border-color: #3a3a3a;
	background: rgba(240, 240, 240, 0.5);
	color: #3a3a3a;
}

.lnp-fe.lnp-fe--lys .lnp-fe__btn:hover {
	background: #f0f0f0;
	border-color: #f0f0f0;
	color: #181818;
}

.lnp-fe.lnp-fe--lys .lnp-fe__btn:focus-visible {
	outline-color: #3a3a3a;
}

.lnp-fe.lnp-fe--lys .lnp-fe__count {
	text-shadow: none;
}

/* ---------- Automatisk placering på forsiden ----------
   Scriptet bestemmer, hvilken af de to der vises, og hvor.
   Der er ingen regler her, som ændrer sidens eget indhold. */
.lnp-fe-auto[hidden] {
	display: none !important;
}

/* Computer: oven i det store billede (position sættes af scriptet) */
.lnp-fe-auto--desktop {
	position: absolute;
	z-index: 6;
	margin: 0;
	padding: 0;
}

.lnp-fe-auto--desktop .lnp-fe {
	width: 100%;
}

/* Mobil og tablet: egen sektion lige under det store billede */
.lnp-fe-auto--mobile {
	position: relative;
	z-index: 2;
	display: block;
	margin: 0;
	padding: 48px 24px 56px;
	background: #ffffff;
	box-sizing: border-box;
}

/* ---------- Glasboks bag teksten i det store billede (kun tablet og mobil) ----------
   Mørkt, sløret glas bag "Kosmetisk speciallægeklinik" og teksten under,
   så den hvide tekst er lettere at læse oven på det lyse billede. */
@media (max-width: 1024px) {
	[data-elementor-type] [data-settings*='"background_background":"slideshow"'] .elementor-widget-text-editor,
	.lnp-glass {
		box-sizing: border-box;
		padding: 18px 18px 20px !important;
		border: 1px solid rgba(255, 255, 255, 0.3) !important;
		border-radius: 26px !important;
		background: rgba(28, 28, 26, 0.32) !important;
		-webkit-backdrop-filter: blur(16px) saturate(1.4);
		backdrop-filter: blur(16px) saturate(1.4);
		box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), 0 12px 32px rgba(0, 0, 0, 0.18) !important;
	}

	[data-elementor-type] [data-settings*='"background_background":"slideshow"'] .elementor-widget-text-editor .elementor-widget-container,
	.lnp-glass .elementor-widget-container {
		background: transparent !important;
	}
}

/* Computer: samme glas, men kun så bredt som teksten og på linje med knapperne */
@media (min-width: 1025px) {
	[data-elementor-type] [data-settings*='"background_background":"slideshow"'] .elementor-widget-text-editor .text-message,
	.lnp-glass-d {
		box-sizing: border-box;
		width: fit-content;
		max-width: 100%;
		margin-left: -25px !important;
		padding: 22px 24px 24px !important;
		border: 1px solid rgba(255, 255, 255, 0.3) !important;
		border-radius: 26px !important;
		background: rgba(28, 28, 26, 0.32) !important;
		-webkit-backdrop-filter: blur(16px) saturate(1.4);
		backdrop-filter: blur(16px) saturate(1.4);
		box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.35), 0 12px 32px rgba(0, 0, 0, 0.18) !important;
	}

	[data-elementor-type] [data-settings*='"background_background":"slideshow"'] .elementor-widget-text-editor .text-message > :first-child,
	.lnp-glass-d > :first-child {
		margin-top: 0 !important;
	}

	[data-elementor-type] [data-settings*='"background_background":"slideshow"'] .elementor-widget-text-editor .text-message > :last-child,
	.lnp-glass-d > :last-child {
		margin-bottom: 0 !important;
	}
}

/* ---------- Kun telefon: hvid bjælke til logo, navn og burgermenu ----------
   Billedet begynder under bjælken (uden zoom), så hele planten kommer med. */
@media (max-width: 767px) {
	/* Den hvide flade lægges BAG menuen uden at ændre menuens eget felt,
	   så logo og burgermenu bliver stående præcis, hvor de altid har været */
	.lnp-mhead::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		height: 76px;
		background: #ffffff;
		box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
		z-index: -1;
		pointer-events: none;
	}

	.lnp-mhero {
		margin-top: 76px !important;
	}

	/* Holder afstanden inde i siden, så menuen bliver i toppen */
	.lnp-mwrap {
		display: flow-root;
	}

	/* Logo, navn og burgermenu i mørkegrå i stedet for hvid */
	.lnp-mhead .mainlogo img,
	.lnp-mhead .elementor-widget-theme-site-logo img,
	.lnp-mhead .elementor-widget-site-logo img {
		filter: brightness(0) !important;
		opacity: 0.78 !important;
	}

	.lnp-mhead .elementor-heading-title {
		color: #3a3a3a !important;
	}

	/* Burgermenuen som på undersiderne: tynd lysegrå kant med runde hjørner og tre tynde
	   streger (den nederste kortere). Knappen bliver samme sted og samme størrelse. */
	.lnp-mhead .elementskit-menu-hamburger,
	.lnp-mhead .elementskit-menu-hamburger:hover,
	.lnp-mhead .elementskit-menu-hamburger:focus {
		border: 1px solid #cccccc !important;
		border-radius: 4px !important;
		background-color: transparent !important;
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
			linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
			linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) !important;
		background-size: 24px 1.5px, 24px 1.5px, 16px 1.5px !important;
		background-position: center calc(50% - 5.5px), center center, calc(50% + 4px) calc(50% + 5.5px) !important;
		background-repeat: no-repeat !important;
		box-shadow: none !important;
		filter: none !important;
	}

	/* Det gamle ikon i knappen skjules (stregerne ovenfor tegnes i stedet) */
	.lnp-mhead .elementskit-menu-hamburger > * {
		visibility: hidden !important;
	}
}

/* ---------- Anmeldelser ----------
   Egen sektion under afsnittet med Lea. Alle regler gælder kun inde i .lnp-rev,
   så resten af siden er uændret. */
.lnp-rev-auto[hidden] {
	display: none !important;
}

.lnp-rev-auto {
	position: relative;
	display: block;
	margin: 0;
	padding: 72px 0 88px;
	background: #ffffff;
	box-sizing: border-box;
}

.lnp-rev {
	--lnp-rev-gap: 24px;
	--lnp-rev-pad: 4%;
	box-sizing: border-box;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 var(--lnp-rev-pad);
	font-family: var(--lnp-font, fontone, sans-serif);
	color: #2b2b2b;
}

.lnp-rev *,
.lnp-rev *::before,
.lnp-rev *::after {
	box-sizing: border-box;
}

.lnp-rev .lnp-rev__title {
	margin: 0 0 44px;
	padding: 0;
	font-family: var(--lnp-font, fontone, sans-serif);
	font-size: 20px;
	font-weight: 100;
	font-style: normal;
	line-height: 1.3;
	letter-spacing: 0.9px;
	text-transform: uppercase;
	text-align: center;
	color: #3a3a3a;
}

.lnp-rev .lnp-rev__track {
	display: flex;
	align-items: stretch;
	gap: var(--lnp-rev-gap);
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	outline: none;
}

.lnp-rev .lnp-rev__track::-webkit-scrollbar {
	display: none;
}

.lnp-rev .lnp-rev__track:focus-visible {
	outline: 2px solid #3a3a3a;
	outline-offset: 4px;
}

.lnp-rev .lnp-rev__card {
	flex: 0 0 calc((100% - 2 * var(--lnp-rev-gap)) / 3);
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding: 40px 34px 34px;
	background: #e4e4e2;
	border: 0;
	border-radius: 0;
	text-align: center;
	scroll-snap-align: start;
}

.lnp-rev .lnp-rev__stars {
	display: flex;
	justify-content: center;
	gap: 5px;
	color: #111111;
	line-height: 0;
}

.lnp-rev .lnp-rev__stars svg {
	display: block;
	width: 15px;
	height: 15px;
	fill: currentColor;
}

.lnp-rev .lnp-rev__rule {
	display: block;
	width: 100%;
	height: 1px;
	margin: 22px 0;
	background: rgba(0, 0, 0, 0.22);
}

.lnp-rev .lnp-rev__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.lnp-rev .lnp-rev__text {
	position: relative;
	width: 100%;
	max-height: calc(1.75em * 7);
	overflow: hidden;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	quotes: none;
	font-family: var(--lnp-font, fontone, sans-serif);
	font-size: 14px;
	font-weight: 100;
	font-style: normal;
	line-height: 1.75;
	letter-spacing: 0.5px;
	color: #2b2b2b;
}

.lnp-rev .lnp-rev__text::before,
.lnp-rev .lnp-rev__text::after {
	content: none;
}

.lnp-rev .lnp-rev__text p {
	margin: 0 0 0.9em;
	padding: 0;
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
}

.lnp-rev .lnp-rev__text p:last-child {
	margin-bottom: 0;
}

/* Lange anmeldelser: de sidste linjer toner ud, og "Læs mere" folder resten ud */
.lnp-rev .lnp-rev__card.is-clamped .lnp-rev__text {
	-webkit-mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
}

.lnp-rev .lnp-rev__card.is-open .lnp-rev__text {
	max-height: none;
	-webkit-mask-image: none;
	mask-image: none;
}

.lnp-rev .lnp-rev__more,
.lnp-rev .lnp-rev__more:hover,
.lnp-rev .lnp-rev__more:focus {
	margin: 14px 0 0;
	padding: 4px 2px;
	border: 0;
	border-bottom: 1px solid #3a3a3a;
	border-radius: 0;
	background: none;
	box-shadow: none;
	font-family: var(--lnp-font, fontone, sans-serif);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #3a3a3a;
	cursor: pointer;
}

.lnp-rev .lnp-rev__more[hidden] {
	display: none;
}

.lnp-rev .lnp-rev__more:focus-visible {
	outline: 2px solid #3a3a3a;
	outline-offset: 3px;
}

.lnp-rev .lnp-rev__name {
	margin: 0;
	padding: 0;
	font-family: var(--lnp-font, fontone, sans-serif);
	font-size: 13px;
	font-weight: 700;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #1c1c1c;
}

/* Pilene under kortene */
.lnp-rev .lnp-rev__nav {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-top: 36px;
}

.lnp-rev .lnp-rev__nav[hidden] {
	display: none;
}

.lnp-rev .lnp-rev__btn,
.lnp-rev .lnp-rev__btn:focus {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 1px solid #3a3a3a;
	border-radius: 50%;
	background: transparent;
	color: #3a3a3a;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.25s, color 0.25s, opacity 0.25s;
}

.lnp-rev .lnp-rev__btn:hover {
	border-color: #3a3a3a;
	background: #3a3a3a;
	color: #ffffff;
}

.lnp-rev .lnp-rev__btn:focus-visible {
	outline: 2px solid #3a3a3a;
	outline-offset: 3px;
}

.lnp-rev .lnp-rev__btn:disabled,
.lnp-rev .lnp-rev__btn:disabled:hover {
	border-color: #3a3a3a;
	background: transparent;
	color: #3a3a3a;
	opacity: 0.3;
	cursor: default;
}

/* Tablet: to kort ad gangen */
@media (max-width: 1024px) {
	.lnp-rev-auto {
		padding: 56px 0 72px;
	}

	.lnp-rev {
		--lnp-rev-gap: 18px;
		--lnp-rev-pad: 6%;
	}

	.lnp-rev .lnp-rev__card {
		flex-basis: calc((100% - var(--lnp-rev-gap)) / 2);
	}
}

/* Mobil: ét kort ad gangen, og et stykke af det næste stikker frem, så man kan se, at man kan swipe */
@media (max-width: 767px) {
	.lnp-rev-auto {
		padding: 48px 0 60px;
	}

	.lnp-rev {
		--lnp-rev-gap: 12px;
		--lnp-rev-pad: 24px;
	}

	.lnp-rev .lnp-rev__title {
		margin-bottom: 28px;
		font-size: 18px;
		line-height: 1.2;
	}

	.lnp-rev .lnp-rev__track {
		margin: 0 calc(-1 * var(--lnp-rev-pad));
		padding: 0 var(--lnp-rev-pad);
		scroll-padding-inline: var(--lnp-rev-pad);
	}

	.lnp-rev .lnp-rev__card {
		flex-basis: 86%;
		padding: 32px 24px 28px;
	}

	.lnp-rev .lnp-rev__text {
		max-height: calc(1.75em * 9);
	}

	.lnp-rev .lnp-rev__rule {
		margin: 18px 0;
	}

	.lnp-rev .lnp-rev__nav {
		margin-top: 26px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lnp-fe .lnp-fe__slide {
		transition: none;
	}

	.lnp-rev .lnp-rev__track {
		scroll-behavior: auto;
	}
}
