/* HDKN Zone : en-tête et pied de page Red Zone Project (chargés sur tout le site).
   S'appliquent aux layouts du thème qui portent les classes rz-head / rz-foot. */

@media (max-width: 782px) {
	.admin-bar { --rz-top: 46px; }
}

@media (max-width: 600px) {
	.admin-bar { --rz-top: 0px; }
}

/* ------------------------------------------------------------------ En-tête */

.top_panel:has(.rz-head) {
	position: sticky;
	top: var(--rz-top, 0px);
	z-index: 1000;
	transition: transform .5s var(--rz-out);
}

.top_panel.rz-is-hidden {
	transform: translateY(calc(-100% - var(--rz-top, 0px)));
}

.top_panel.rz-is-hidden .sc_layouts_menu_nav ul {
	visibility: hidden !important;
	opacity: 0 !important;
}

.e-con.rz-head {
	position: relative;
	background-color: rgba(11, 12, 14, .97) !important;
	border-bottom: 1px solid var(--rz-line);
	transition: background-color .35s ease;
}

.top_panel.rz-is-scrolled .e-con.rz-head {
	background-color: rgba(11, 12, 14, .8) !important;
	-webkit-backdrop-filter: blur(14px) saturate(1.2);
	backdrop-filter: blur(14px) saturate(1.2);
}

/* Barre de progression de lecture, posée par le script sous l'en-tête. */
.rz-head__progress {
	position: absolute;
	left: 0;
	bottom: -1px;
	z-index: 3;
	width: 100%;
	height: 2px;
	background: var(--rz-red);
	box-shadow: 0 0 10px rgba(250, 71, 41, .55);
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
}

.e-con.rz-head > .e-con.rz-head__brand,
.e-con.rz-head > .e-con.rz-head__actions {
	width: auto !important;
	flex: 0 0 auto !important;
}

.e-con.rz-head > .e-con.rz-head__nav {
	width: auto !important;
	flex: 1 1 auto !important;
	min-width: 0;
}

.rz-head__logo .sc_layouts_logo,
.rz-head__logo img {
	display: block;
}

.rz-head__logo img {
	width: auto !important;
	max-height: 58px !important;
	height: 58px !important;
	transition: transform .4s var(--rz-out);
}

.rz-head__logo a:hover img {
	transform: scale(1.04);
}

.rz-head__hud,
.rz-head__hud p {
	margin: 0 !important;
	font-family: var(--rz-mono) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	white-space: nowrap;
	color: rgba(255, 255, 255, .55) !important;
}

.elementor-widget.rz-head__hud {
	padding-left: 22px;
	border-left: 1px solid var(--rz-line);
}

.rz-head__hud p::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 10px;
	border-radius: 50%;
	background: var(--rz-red);
	box-shadow: 0 0 10px var(--rz-red);
	vertical-align: 1px;
	animation: rz-blink 1.2s steps(2, jump-none) infinite;
}

@keyframes rz-blink {
	50% { opacity: .15; }
}

/* Menu principal */
.rz-head__menu .sc_layouts_menu_nav > li > a {
	padding: 12px 14px !important;
	font-family: var(--rz-mono) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	color: rgba(255, 255, 255, .78) !important;
	transition: color .25s ease;
}

.rz-head__menu .sc_layouts_menu_nav > li > a:hover,
.rz-head__menu .sc_layouts_menu_nav > li.sfHover > a,
.rz-head__menu .sc_layouts_menu_nav > li.current-menu-item > a,
.rz-head__menu .sc_layouts_menu_nav > li.current-menu-ancestor > a {
	color: #fff !important;
}

.rz-head__menu .sc_layouts_menu_nav > li > a::before {
	background-color: var(--rz-red) !important;
	height: 2px !important;
}

.rz-head__menu .sc_layouts_menu_nav > li > a::after {
	color: var(--rz-red) !important;
	font-size: 10px !important;
	margin-left: 6px !important;
}

/* Sous-menus */
.rz-head__menu .sc_layouts_menu_nav > li ul {
	min-width: 280px;
	padding: 12px 0 !important;
	background: #0b0c0e !important;
	border: 1px solid var(--rz-line) !important;
	border-top: 2px solid var(--rz-red) !important;
	border-radius: 0 !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .55) !important;
}

.rz-head__menu .sc_layouts_menu_nav > li ul li > a {
	padding: 10px 22px !important;
	font-family: var(--rz-body) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.35 !important;
	color: rgba(255, 255, 255, .72) !important;
	background: transparent !important;
	transition: color .2s ease, padding .35s var(--rz-out);
}

.rz-head__menu .sc_layouts_menu_nav > li ul li > a:hover,
.rz-head__menu .sc_layouts_menu_nav > li ul li.current-menu-item > a {
	color: #fff !important;
	padding-left: 30px !important;
	box-shadow: inset 2px 0 0 var(--rz-red);
}

/* Réseaux sociaux de l'en-tête (widget du thème) */
.rz-head__socials .socials_wrap {
	display: flex;
	gap: 8px;
	margin: 0 !important;
}

.rz-head__socials .social_item {
	margin: 0 !important;
}

.rz-head__socials .social_item .social_icon {
	display: grid !important;
	place-items: center;
	width: 38px !important;
	height: 38px !important;
	line-height: 38px !important;
	border: 1px solid var(--rz-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-size: 14px !important;
	transition: background .3s ease, border-color .3s ease;
}

.rz-head__socials .social_item:hover .social_icon {
	background: var(--rz-red) !important;
	border-color: var(--rz-red) !important;
}

.rz-head__socials .social_item .social_icon span {
	color: inherit !important;
}

@media (max-width: 1439px) {
	.elementor-widget.rz-head__socials {
		display: none !important;
	}
}

/* Ligne d'actions de l'en-tête : réseaux, Mon espace et bouton sur la même ligne, à la même hauteur (40 px) */
.e-con.rz-head__actions > .elementor-widget:not([class*="elementor-hidden-"]),
.e-con.rz-head__actions > .elementor-widget > .elementor-widget-container,
.rz-head__cta .elementor-button-wrapper,
.rz-head__socials .sc_socials,
.rz-head__socials .socials_wrap {
	display: flex !important;
	align-items: center;
	margin: 0 !important;
	line-height: 0 !important;
}

.rz-head__socials .social_item {
	display: block !important;
	line-height: 0 !important;
}

.rz-head__socials .social_item .social_icon {
	width: 40px !important;
	height: 40px !important;
	line-height: 40px !important;
}

.rz-head__cta .elementor-button {
	display: inline-flex !important;
	align-items: center;
	height: 40px;
	padding: 0 18px !important;
	line-height: 1 !important;
}

/* Accès à l'espace client */
.elementor-widget.rz-head__account,
.rz-head__account p {
	margin: 0 !important;
	line-height: 1 !important;
}

.rz-head__account a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--rz-line);
	color: #fff !important;
	font: 600 11.5px/1 var(--rz-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none !important;
	white-space: nowrap;
	transition: border-color .25s ease, background-color .25s ease;
}

.rz-head__account a::before,
.rz-mm-account::before {
	content: "";
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.rz-head__account a:hover {
	border-color: var(--rz-red);
}

body.hdkn-espace-page .rz-head__account a {
	border-color: var(--rz-red);
	background: rgba(250, 71, 41, .12);
}

@media (max-width: 1279px) {
	.rz-head__account a {
		justify-content: center;
		width: 40px;
		padding: 0;
	}

	.rz-head__account a span {
		display: none;
	}
}

@media (max-width: 767px) {
	.rz-head__account a {
		width: 38px;
		height: 38px;
	}

	.rz-head__cta .elementor-button {
		height: 38px;
	}
}

/* Petit bouton d'action de l'en-tête et du pied */
.rz-btn--sm .elementor-button {
	padding: 14px 18px !important;
	font-size: 11.5px !important;
	letter-spacing: .14em !important;
}

/* Bouton du menu mobile */
.rz-head__burger .sc_layouts_item_icon,
.rz-head__burger .sc_layouts_item_link {
	color: #fff !important;
}

.rz-head__burger .sc_layouts_item_icon {
	font-size: 26px !important;
}

@media (max-width: 1279px) {
	.elementor-widget.rz-head__hud {
		display: none !important;
	}

	.rz-head__menu .sc_layouts_menu_nav > li > a {
		padding: 12px 10px !important;
		letter-spacing: .1em !important;
	}
}

@media (max-width: 1024px) {
	.rz-head__logo img {
		max-height: 48px !important;
		height: 48px !important;
	}
}

@media (max-width: 767px) {
	.rz-head__logo img {
		max-height: 44px !important;
		height: 44px !important;
	}

	.rz-head .rz-btn--sm .elementor-button {
		padding: 11px 13px !important;
		font-size: 10.5px !important;
		letter-spacing: .1em !important;
	}
}

/* Menu mobile plein écran du thème, quand l'en-tête Red Zone est en place */
body:has(.rz-head) .menu_mobile .menu_mobile_inner {
	background: #0b0c0e !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
}

body:has(.rz-head) .menu_mobile .menu_mobile_logo img,
body:has(.rz-head) .menu_mobile .sc_layouts_logo img {
	max-height: 44px !important;
	width: auto !important;
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area {
	text-align: left !important;
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul {
	display: block !important;
	counter-reset: rz-nav;
	width: 100% !important;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
	border-top: 1px solid var(--rz-line);
}

/* Une ligne par rubrique : le sous-menu s'ouvre dessous, sur toute la largeur */
body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li {
	display: block !important;
	position: relative;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	counter-increment: rz-nav;
	border-bottom: 1px solid var(--rz-line);
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li > a {
	position: relative;
	display: flex !important;
	align-items: center;
	width: 100% !important;
	min-height: 68px;
	box-sizing: border-box;
	padding: 16px 64px 16px 42px !important;
	font-family: var(--rz-disp) !important;
	font-weight: 700 !important;
	font-size: clamp(18px, 5.6vw, 26px) !important;
	line-height: 1.05 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase;
	text-align: left !important;
	color: #fff !important;
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li > a::before {
	content: counter(rz-nav, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--rz-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	color: var(--rz-red);
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li.current-menu-item > a,
body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li.current-menu-ancestor > a,
body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li.current_page_item > a,
body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li.current_page_ancestor > a {
	color: var(--rz-red) !important;
}

/* Bouton d'ouverture : un carré avec un plus, qui devient un moins sur fond rouge */
body:has(.rz-head) .menu_mobile .menu_mobile_nav_area li > a > .open_child_menu {
	position: absolute !important;
	top: 50% !important;
	right: 0 !important;
	left: auto !important;
	bottom: auto !important;
	display: block !important;
	width: 46px !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translateY(-50%) !important;
	border: 1px solid var(--rz-line) !important;
	border-radius: 0 !important;
	background:
		linear-gradient(var(--rz-red), var(--rz-red)) center / 14px 2px no-repeat,
		linear-gradient(var(--rz-red), var(--rz-red)) center / 2px 14px no-repeat !important;
	cursor: pointer;
	transition: background-color .3s ease, border-color .3s ease;
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area li > a > .open_child_menu::before,
body:has(.rz-head) .menu_mobile .menu_mobile_nav_area li > a > .open_child_menu::after {
	display: none !important;
	content: none !important;
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area li.opened > a > .open_child_menu {
	border-color: var(--rz-red) !important;
	background:
		linear-gradient(var(--rz-black), var(--rz-black)) center / 14px 2px no-repeat,
		var(--rz-red) !important;
}

/* Sous-menu */
body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li > ul {
	position: static !important;
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 0 20px 42px !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	transform: none !important;
	text-align: left !important;
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li > ul > li {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li > ul a {
	position: relative;
	display: block !important;
	padding: 11px 8px 11px 22px !important;
	font-family: var(--rz-body) !important;
	font-size: 17px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-align: left !important;
	white-space: normal !important;
	color: rgba(255, 255, 255, .74) !important;
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li > ul a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 10px;
	height: 1px;
	background: var(--rz-red);
	transition: width .3s ease;
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li > ul li.current-menu-item > a,
body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li > ul li.current_page_item > a {
	color: #fff !important;
}

body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li > ul li.current-menu-item > a::before,
body:has(.rz-head) .menu_mobile .menu_mobile_nav_area > ul > li > ul li.current_page_item > a::before {
	width: 16px;
}

/* Bas du menu : bouton, contact et réseaux (ajoutés par le script) */
.rz-mm-foot {
	display: grid;
	gap: 22px;
	margin: 34px 0 10px;
	text-align: left;
}

.rz-mm-cta {
	display: block;
	padding: 18px 22px;
	background: var(--rz-red);
	color: var(--rz-black) !important;
	font: 700 13px/1 var(--rz-mono);
	letter-spacing: .16em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none !important;
	clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}

.rz-mm-cta::after {
	content: "\2192";
	margin-left: 12px;
}

.rz-mm-account {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 16px 22px;
	border: 1px solid var(--rz-line);
	color: #fff !important;
	font: 700 12px/1 var(--rz-mono);
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none !important;
}

.rz-mm-contact {
	display: grid;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rz-mm-contact li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rz-mm-contact li::before {
	content: none !important;
}

.rz-mm-contact a {
	font: 500 14px/1.4 var(--rz-mono);
	letter-spacing: .02em;
	color: rgba(255, 255, 255, .8) !important;
	text-decoration: none !important;
}

.rz-mm-socials {
	display: flex !important;
	gap: 10px;
	margin: 0 !important;
}

.rz-mm-socials .social_item {
	margin: 0 !important;
}

.rz-mm-socials .social_icon {
	display: grid !important;
	place-items: center;
	width: 44px !important;
	height: 44px !important;
	line-height: 44px !important;
	border: 1px solid var(--rz-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-size: 16px !important;
}

.rz-mm-socials .social_icon span {
	color: inherit !important;
}

/* ------------------------------------------------------------------ Pied de page */

.e-con.rz-foot {
	position: relative;
	overflow: hidden;
	border-top: 1px solid var(--rz-line);
}

.e-con.rz-foot::after {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 160px;
	height: 2px;
	background: var(--rz-red);
	box-shadow: 0 0 14px rgba(250, 71, 41, .6);
}

.rz-foot__logo img {
	width: auto !important;
	max-height: 64px !important;
	height: 64px !important;
}

.rz-foot__tag .elementor-heading-title {
	margin: 0;
	max-width: 15ch;
	font-family: var(--rz-disp) !important;
	font-weight: 700 !important;
	font-size: clamp(20px, 1.7vw, 28px) !important;
	line-height: 1.05 !important;
	text-transform: uppercase;
	color: #fff !important;
}

.rz-foot__text p {
	margin: 0 !important;
	max-width: 44ch;
	font-size: 15px !important;
	line-height: 1.65 !important;
	color: rgba(255, 255, 255, .6) !important;
}

.rz-foot__label p {
	font-size: 12px !important;
}

.rz-foot__links ul {
	display: grid;
	gap: 13px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rz-foot__links li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rz-foot__links li::before,
.rz-foot__links li::marker {
	content: none !important;
	display: none !important;
}

.rz-foot__links a {
	position: relative;
	display: inline-block;
	font-size: 15px;
	line-height: 1.35;
	color: rgba(255, 255, 255, .82) !important;
	text-decoration: none !important;
	transition: color .25s ease, padding .4s var(--rz-out);
}

.rz-foot__links a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 0;
	height: 1px;
	background: var(--rz-red);
	transition: width .4s var(--rz-out);
}

.rz-foot__links a:hover {
	padding-left: 18px;
	color: #fff !important;
}

.rz-foot__links a:hover::before {
	width: 10px;
}

.rz-foot__contact a {
	font-family: var(--rz-mono);
	font-size: 14px;
	letter-spacing: .02em;
}

/* Réseaux sociaux (widget du thème) */
.rz-foot__socials .socials_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 !important;
}

.rz-foot__socials .social_item {
	margin: 0 !important;
}

.rz-foot__socials .social_item .social_icon {
	display: grid !important;
	place-items: center;
	width: 44px !important;
	height: 44px !important;
	line-height: 44px !important;
	border: 1px solid var(--rz-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-size: 16px !important;
	transition: background .3s ease, border-color .3s ease, transform .4s var(--rz-out);
}

.rz-foot__socials .social_item:hover .social_icon {
	background: var(--rz-red) !important;
	border-color: var(--rz-red) !important;
	transform: translateY(-3px);
}

.rz-foot__socials .social_item .social_icon span {
	color: inherit !important;
}

.e-con.rz-foot__hud {
	border-top: 1px solid var(--rz-line);
}

.rz-foot__coord,
.rz-foot__coord p {
	margin: 0 !important;
	font-family: var(--rz-mono) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	line-height: 1.5 !important;
	color: rgba(255, 255, 255, .42) !important;
}

/* Grand nom en contour, rempli de rouge au défilement */
.elementor-widget.rz-foot__mark {
	width: 100%;
	margin: 14px 0 0;
	overflow: hidden;
}

.rz-foot__mark .elementor-heading-title {
	display: inline-block;
	margin: 0;
	padding-top: .04em;
	white-space: nowrap;
	font-family: var(--rz-disp) !important;
	font-weight: 700 !important;
	font-size: 15.4vw !important;
	line-height: .8 !important;
	letter-spacing: -.02em !important;
	text-transform: uppercase;
	color: transparent !important;
	-webkit-text-stroke: 1px rgba(255, 255, 255, .22);
	background: linear-gradient(90deg, var(--rz-red) var(--fill, 0%), transparent var(--fill, 0%));
	-webkit-background-clip: text;
	background-clip: text;
}

.e-con.rz-foot__bar {
	border-top: 1px solid var(--rz-line);
	padding-right: 72px !important; /* place pour le bouton « haut de page » du thème */
}

.rz-foot__legal p,
.rz-foot__sig p {
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: rgba(255, 255, 255, .5) !important;
}

.rz-foot__legal a {
	color: rgba(255, 255, 255, .75) !important;
	text-decoration: none !important;
	transition: color .2s ease;
}

.rz-foot__legal a:hover {
	color: var(--rz-red) !important;
}

.rz-foot__sig.hdkn-signature a {
	color: rgba(255, 255, 255, .8) !important;
}

@media (max-width: 1024px) {
	.e-con.rz-foot::after {
		width: 110px;
	}
}

@media (max-width: 767px) {
	.e-con.rz-foot__top > .e-con.rz-foot__col {
		width: calc(50% - 20px) !important;
		flex: 0 0 auto !important;
	}

	.e-con.rz-foot__top > .e-con.rz-foot__col--contact {
		width: 100% !important;
	}

	.rz-foot__logo img {
		max-height: 56px !important;
		height: 56px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.top_panel:has(.rz-head) {
		transition: none;
	}

	.rz-head__hud p::before {
		animation: none;
	}
}

/* ------------------------------------------------------------------ Tout le site : titres sans césure automatique */

.page_content_wrap :is(h1, h2, h3, h4, h5, .sc_item_title, .elementor-heading-title) {
	-webkit-hyphens: manual !important;
	hyphens: manual !important;
	word-break: normal !important;
	overflow-wrap: break-word;
	text-wrap: balance;
}

/* ------------------------------------------------------------------ Pages intérieures : bandeau de titre */

body:not(.home) .post_content > .elementor > .e-con:first-child:has(h1.sc_item_title) {
	position: relative;
	border-bottom: 1px solid var(--rz-line);
}

body:not(.home) .post_content > .elementor > .e-con:first-child:has(h1.sc_item_title)::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -1px;
	width: 120px;
	height: 2px;
	margin-left: -60px;
	background: var(--rz-red);
	box-shadow: 0 0 14px rgba(250, 71, 41, .6);
}

body:not(.home) .post_content > .elementor > .e-con:first-child h1.sc_item_title {
	font-family: var(--rz-disp) !important;
	font-weight: 700 !important;
	font-size: clamp(30px, 4.4vw, 64px) !important;
	line-height: 1 !important;
	letter-spacing: -.005em !important;
	text-transform: uppercase !important;
}

/* Sur-titres des titres du thème, façon étiquette de la landing */
body:not(.home) .page_content_wrap .sc_item_subtitle {
	font-family: var(--rz-mono) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .24em !important;
	text-transform: uppercase !important;
	line-height: 1.5 !important;
	color: var(--rz-red) !important;
}

body:not(.home) .page_content_wrap .sc_item_subtitle::before,
body:not(.home) .page_content_wrap .sc_item_subtitle.sc_align_center::after {
	content: "";
	display: inline-block;
	width: 22px;
	height: 2px;
	margin-right: 12px;
	vertical-align: middle;
	background: currentColor;
}

body:not(.home) .page_content_wrap .sc_item_subtitle.sc_align_center::after {
	margin: 0 0 0 12px;
}

/* ------------------------------------------------------------------ Pages intérieures : boutons alignés sur la landing */

body:not(.home) .page_content_wrap a.sc_button,
body:not(.home) .page_content_wrap .elementor-widget-button:not(.rz-btn) .elementor-button {
	position: relative;
	overflow: hidden;
	padding: 16px 24px !important;
	border-radius: 0 !important;
	font-family: var(--rz-mono) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	line-height: 1.3 !important;
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
	transition: transform .35s var(--rz-out), filter .3s ease;
}

body:not(.home) .page_content_wrap a.sc_button:hover,
body:not(.home) .page_content_wrap .elementor-widget-button:not(.rz-btn) .elementor-button:hover {
	transform: translateY(-2px);
	filter: brightness(1.08);
}

body:not(.home) .page_content_wrap a.sc_button .sc_button_text,
body:not(.home) .page_content_wrap a.sc_button .sc_button_title,
body:not(.home) .page_content_wrap .elementor-widget-button:not(.rz-btn) .elementor-button-text {
	font: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
}

/* Bouton blanc incliné du thème : on garde le blanc, sans l'inclinaison */
body:not(.home) .page_content_wrap a.sc_button.sc_button_slant::before {
	transform: none !important;
	left: 0 !important;
	right: 0 !important;
	top: 0 !important;
	bottom: 0 !important;
	width: auto !important;
	height: auto !important;
}

/* Boutons rouges : le rouge et le texte foncé de la landing */
body:not(.home) .page_content_wrap a.sc_button:not(.sc_button_slant),
body:not(.home) .page_content_wrap .elementor-widget-button:not(.rz-btn) .elementor-button {
	background-color: var(--rz-red) !important;
	border-color: var(--rz-red) !important;
	color: var(--rz-black) !important;
}

body:not(.home) .page_content_wrap a.sc_button:not(.sc_button_slant) *,
body:not(.home) .page_content_wrap .elementor-widget-button:not(.rz-btn) .elementor-button * {
	color: var(--rz-black) !important;
}

body:not(.home) .page_content_wrap a.sc_button:not(.sc_button_slant)::before {
	display: none !important;
}

body:not(.home) .page_content_wrap a.sc_button .sc_button_icon {
	font-size: 13px !important;
}

@media (max-width: 767px) {
	body:not(.home) .page_content_wrap a.sc_button,
	body:not(.home) .page_content_wrap .elementor-widget-button:not(.rz-btn) .elementor-button {
		padding: 15px 18px !important;
		font-size: 11.5px !important;
		letter-spacing: .1em !important;
	}
}

/* ------------------------------------------------------------------ Page 404 */

.e-con.rz-404 {
	position: relative;
	overflow: hidden;
}

.e-con.rz-404::after {
	content: "";
	position: absolute;
	inset: clamp(14px, 2.4vw, 34px);
	pointer-events: none;
	--c: var(--rz-red);
	--l: clamp(18px, 2.4vw, 34px);
	background:
		linear-gradient(var(--c), var(--c)) top left / var(--l) 2px no-repeat,
		linear-gradient(var(--c), var(--c)) top left / 2px var(--l) no-repeat,
		linear-gradient(var(--c), var(--c)) top right / var(--l) 2px no-repeat,
		linear-gradient(var(--c), var(--c)) top right / 2px var(--l) no-repeat,
		linear-gradient(var(--c), var(--c)) bottom left / var(--l) 2px no-repeat,
		linear-gradient(var(--c), var(--c)) bottom left / 2px var(--l) no-repeat,
		linear-gradient(var(--c), var(--c)) bottom right / var(--l) 2px no-repeat,
		linear-gradient(var(--c), var(--c)) bottom right / 2px var(--l) no-repeat;
}

.rz-404__code .elementor-heading-title {
	margin: 0;
	font-family: var(--rz-disp) !important;
	font-weight: 700 !important;
	font-size: clamp(84px, 24vw, 380px) !important;
	line-height: .8 !important;
	letter-spacing: -.03em !important;
	white-space: nowrap;
	color: transparent !important;
	-webkit-text-stroke: 1.5px var(--rz-red);
}

.rz-404 .rz-hud p {
	color: rgba(255, 255, 255, .55) !important;
}

.rz-404 .rz-404__title .elementor-heading-title {
	font-size: clamp(30px, 5vw, 72px) !important;
}

.rz-404 .rz-lead p,
.rz-404 .rz-404__text p {
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
}

/* Boutons d'envoi des formulaires Elementor (contact, demande de stage) */
body:not(.home) .page_content_wrap .elementor-widget-form .elementor-button {
	border-radius: 0 !important;
	padding: 16px 26px !important;
	font-family: var(--rz-mono) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	background-color: var(--rz-red) !important;
	color: var(--rz-black) !important;
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
	transition: transform .35s var(--rz-out), filter .3s ease;
}

body:not(.home) .page_content_wrap .elementor-widget-form .elementor-button * {
	color: var(--rz-black) !important;
	font: inherit !important;
	letter-spacing: inherit !important;
}

body:not(.home) .page_content_wrap .elementor-widget-form .elementor-button:hover {
	transform: translateY(-2px);
	filter: brightness(1.08);
}
