/* Motion NTPC V6 : flux, pression et chaleur, sans dépendance. */

.ntpc-menu-panel {
	max-width: none;
	max-height: none;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 0;
}

.ntpc-menu-panel:not([open]) {
	display: none;
}

.ntpc-menu-panel::backdrop {
	background: transparent;
}

.ntpc-menu-panel[open] {
	display: block;
}

.ntpc-menu-panel[open].is-open .ntpc-menu-backdrop {
	opacity: 1;
}

.ntpc-menu-panel[open].is-open .ntpc-menu-sidebar {
	transform: translate3d(0, 0, 0);
}

.ntpc-menu-sidebar::before {
	transform: scaleY(0.08);
	transform-origin: top;
}

.ntpc-menu-panel.is-open .ntpc-menu-sidebar::before {
	transform: scaleY(1);
}

.ntpc-brand {
	transform: translate3d(0, 0, 0) scale(1);
	transform-origin: top left;
}

.ntpc-site-header.is-scrolled .ntpc-brand {
	transform: translate3d(0.1rem, -0.35rem, 0) scale(0.7);
}

.ntpc-desktop-navigation a::after {
	right: 0;
	left: 0;
	opacity: 0;
	transform: scaleX(0);
	transform-origin: center;
}

.ntpc-desktop-navigation a:hover::after,
.ntpc-desktop-navigation a:focus-visible::after,
.ntpc-desktop-navigation a.is-current::after,
body.home .ntpc-desktop-navigation a.ntpc-home-link::after,
body.home .ntpc-site-header.is-over-realisations .ntpc-desktop-navigation a[href*="realisations"]::after {
	opacity: 1;
	transform: scaleX(1);
}

body.home .ntpc-site-header.is-over-realisations .ntpc-desktop-navigation a.ntpc-home-link::after {
	opacity: 0;
	transform: scaleX(0);
}

.ntpc-carousel-dots button::before {
	width: 1.25rem;
	transform: scaleX(0.38);
}

.ntpc-carousel-dots button.is-active::before {
	width: 1.25rem;
	transform: scaleX(1);
}

.ntpc-primary-cta::before {
	left: -30%;
	transform: translate3d(0, 0, 0) rotate(18deg);
}

.ntpc-hero-slide::after {
	position: absolute;
	inset: 0;
	content: "";
	opacity: 0;
	pointer-events: none;
}

.ntpc-hero-slide-depannage::after {
	background:
		linear-gradient(112deg, transparent 34%, rgba(220, 235, 244, 0.1) 46%, transparent 58%),
		radial-gradient(ellipse at 72% 75%, rgba(178, 220, 242, 0.08), transparent 34%);
	transform: translate3d(-7%, 0, 0);
}

.ntpc-hero-slide-bathroom::after {
	background: linear-gradient(90deg, transparent 42%, rgba(255, 235, 183, 0.13) 51%, transparent 60%);
	transform: translate3d(-8%, 0, 0) scaleX(0.8);
}

.ntpc-hero-slide-heating::after {
	background: radial-gradient(circle at 68% 48%, rgba(225, 151, 48, 0.16), transparent 38%);
	transform: scale(0.9);
}

.ntpc-carousel-service {
	display: grid;
	min-width: 8.5rem;
	gap: 0.1rem;
	padding: 0 0.6rem;
	text-align: center;
}

.ntpc-carousel-controls {
	grid-template-columns: 2.75rem auto minmax(8.5rem, 1fr) 2.75rem;
}

.ntpc-carousel-service strong {
	color: var(--ntpc-color-gold-light);
	font-family: var(--ntpc-font-display);
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ntpc-carousel-service span {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.75rem;
}

.ntpc-menu-noscript {
	display: none;
}

.ntpc-menu-noscript > summary {
	display: grid;
	place-items: center;
	min-width: 3.35rem;
	min-height: 3.35rem;
	padding: 0.55rem;
	color: #fff;
	font-weight: 700;
	list-style: none;
	background: #171716;
	border: 1px solid rgba(229, 195, 102, 0.58);
	border-radius: 999px;
	cursor: pointer;
}

.ntpc-menu-noscript > summary::-webkit-details-marker {
	display: none;
}

.ntpc-menu-noscript nav {
	display: grid;
	width: min(22rem, calc(100vw - 2rem));
	max-height: calc(100svh - 5rem);
	margin-top: 0.6rem;
	padding: 0.75rem;
	overflow-y: auto;
	background: #11100f;
	border: 1px solid rgba(229, 195, 102, 0.5);
	border-radius: 1rem;
	box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.48);
}

.ntpc-menu-noscript nav a {
	padding: 0.8rem;
	color: #fff;
	text-decoration: none;
	border-bottom: 1px solid rgba(229, 195, 102, 0.16);
}

@media (prefers-reduced-motion: no-preference) {
	.ntpc-site-header {
		transition: transform var(--ntpc-motion-base) var(--ntpc-ease-out), background-color var(--ntpc-motion-base) ease, border-color var(--ntpc-motion-base) ease, opacity var(--ntpc-motion-base) ease;
	}

	.ntpc-brand {
		transition: transform var(--ntpc-motion-base) var(--ntpc-ease-out), opacity var(--ntpc-motion-base) ease;
	}

	.ntpc-desktop-navigation a::after {
		transition: transform var(--ntpc-motion-fast) var(--ntpc-ease-out), opacity var(--ntpc-motion-fast) ease;
	}

	.ntpc-round-control,
	.ntpc-carousel-arrow,
	.ntpc-menu-sidebar nav a {
		transition: transform var(--ntpc-motion-fast) var(--ntpc-ease-out), border-color var(--ntpc-motion-fast) ease, background-color var(--ntpc-motion-fast) ease, color var(--ntpc-motion-fast) ease, opacity var(--ntpc-motion-fast) ease;
	}

	.ntpc-menu-backdrop {
		transition: opacity var(--ntpc-motion-base) ease;
	}

	.ntpc-menu-sidebar {
		transition: transform var(--ntpc-motion-base) var(--ntpc-ease-out);
	}

	.ntpc-menu-sidebar::before {
		transition: transform 420ms var(--ntpc-ease-out);
	}

	.ntpc-carousel-dots button::before {
		transition: transform var(--ntpc-motion-fast) var(--ntpc-ease-out), background-color var(--ntpc-motion-fast) ease, border-color var(--ntpc-motion-fast) ease, opacity var(--ntpc-motion-fast) ease;
	}

	.ntpc-hero-slide {
		transition: opacity var(--ntpc-motion-slow) var(--ntpc-ease-standard);
	}

	.ntpc-hero-slide img {
		transition: transform var(--ntpc-motion-slow) var(--ntpc-ease-out);
		transform: scale(1.02);
	}

	.ntpc-hero-slide.is-active img {
		transform: scale(1);
	}


	.ntpc-hero-slide-depannage.is-active::after {
		animation: ntpc-v7-water-refraction var(--ntpc-motion-slow) var(--ntpc-ease-out) 1 both;
	}

	.ntpc-hero-slide-bathroom.is-active::after {
		animation: ntpc-v7-architectural-light var(--ntpc-motion-slow) var(--ntpc-ease-out) 1 both;
	}

	.ntpc-hero-slide-heating.is-active::after {
		animation: ntpc-v7-thermal-diffusion var(--ntpc-motion-slow) var(--ntpc-ease-out) 1 both;
	}

	.ntpc-primary-cta {
		transition: transform var(--ntpc-motion-fast) var(--ntpc-ease-out), opacity var(--ntpc-motion-fast) ease;
	}

	.ntpc-primary-cta:hover,
	.ntpc-primary-cta:focus-visible {
		transform: translate3d(0, -2px, 0);
	}

	.ntpc-primary-cta:active {
		transform: translate3d(0, 1px, 0) scale(0.985);
	}

	.ntpc-primary-cta::before {
		animation: ntpc-v6-cta-sheen 3.8s var(--ntpc-ease-standard) 1.2s 1 both;
	}

	@keyframes ntpc-v7-water-refraction {
		0% {
			opacity: 0;
			transform: translate3d(-7%, 0, 0) skewX(-1.5deg);
		}

		52% {
			opacity: 0.9;
			transform: translate3d(2%, 0, 0) skewX(0.6deg);
		}

		100% {
			opacity: 0.18;
			transform: translate3d(0, 0, 0) skewX(0);
		}
	}

	@keyframes ntpc-v7-architectural-light {
		0% {
			opacity: 0;
			transform: translate3d(-8%, 0, 0) scaleX(0.72);
		}

		52% {
			opacity: 0.86;
			transform: translate3d(3%, 0, 0) scaleX(1.08);
		}

		100% {
			opacity: 0.18;
			transform: translate3d(0, 0, 0) scaleX(1);
		}
	}

	@keyframes ntpc-v7-thermal-diffusion {
		0% {
			opacity: 0;
			transform: scale(0.86);
		}

		52% {
			opacity: 0.88;
			transform: scale(1.05);
		}

		100% {
			opacity: 0.2;
			transform: scale(1);
		}
	}

	@keyframes ntpc-v6-cta-sheen {
		0%,
		62% {
			transform: translate3d(0, 0, 0) rotate(18deg);
		}

		82%,
		100% {
			transform: translate3d(530%, 0, 0) rotate(18deg);
		}
	}
}

@media (max-width: 47.99rem),
	(max-width: 64rem) and (max-height: 35rem) and (orientation: landscape) {
	.ntpc-carousel-service {
		display: none;
	}

	.ntpc-carousel-controls {
		grid-template-columns: 2.75rem auto 2.75rem;
	}

	.ntpc-site-header.is-scrolled .ntpc-brand {
		transform: translate3d(0.1rem, -0.3rem, 0) scale(0.67);
	}

	@supports ((-webkit-backdrop-filter: blur(1rem)) or (backdrop-filter: blur(1rem))) {
		.ntpc-save-data .ntpc-site-header,
		.ntpc-save-data .ntpc-menu-backdrop,
		.ntpc-save-data .ntpc-menu-sidebar {
			-webkit-backdrop-filter: none;
			backdrop-filter: none;
		}
	}
}

@media (prefers-reduced-motion: reduce) {
	.ntpc-menu-sidebar,
	.ntpc-menu-sidebar::before,
	.ntpc-menu-backdrop,
	.ntpc-brand,
	.ntpc-primary-cta,
	.ntpc-primary-cta::before,
	.ntpc-hero-slide,
	.ntpc-hero-slide::after,
	.ntpc-hero-slide img {
		animation: none !important;
		transition: none !important;
	}

	.ntpc-hero-slide::after,
	.ntpc-primary-cta::before {
		display: none;
	}
}

.ntpc-save-data .ntpc-hero-slide::after,
.ntpc-save-data .ntpc-primary-cta::before,
.ntpc-save-data .ntpc-light-stream {
	display: none;
}

.ntpc-save-data .ntpc-menu-sidebar,
.ntpc-save-data .ntpc-menu-sidebar::before,
.ntpc-save-data .ntpc-menu-backdrop,
.ntpc-save-data .ntpc-hero-slide,
.ntpc-save-data .ntpc-hero-slide img {
	animation: none;
	transition: none;
}

@media (forced-colors: active) {
	.ntpc-hero-slide::after,
	.ntpc-menu-sidebar::before {
		display: none;
	}
}
