/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/*
 * Specs from html/Accueil.dc.html — typo + header one-line desktop
 * @keyframes cdz-pulse → assets/css/components.css
 */

@media (prefers-reduced-motion: reduce) {
	.cdz-panne .elementor-button-icon {
		animation: none !important;
	}
}

/* —— Footer labels (JetBrains Mono stack = source) —— */
.cdz-footer-label .elementor-heading-title {
	font-family: var(--font-mono) !important;
	font-size: 10.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--color-secondary) !important;
	margin: 0 0 4px !important;
	line-height: 1.4 !important;
}

.cdz-footer .cdz-footer-legal-note,
.cdz-footer .elementor-location-footer .elementor-widget-text-editor p {
	font-family: var(--font-body);
}

.cdz-footer-logo img {
	height: 22px !important;
	width: auto !important;
	max-width: none !important;
}

/* —— Header desktop: one line + exact typography —— */
@media (min-width: 1025px) {
	.elementor-location-header .cdz-header,
	.elementor-location-header .cdz-header.e-con {
		border-bottom: 1px solid var(--color-border-dark);
	}

	.elementor-location-header .cdz-header.e-con,
	.elementor-location-header .cdz-header > .e-con,
	.elementor-location-header .cdz-header .e-con-inner {
		flex-wrap: nowrap !important;
		align-items: center !important;
		min-height: 56px;
		max-height: none;
	}

	.elementor-location-header .cdz-header > .e-con {
		overflow: visible;
	}

	/* Logo: height 22px like source (not a wide width that blows the row) */
	.elementor-location-header .cdz-header-logo,
	.elementor-location-header .cdz-header-logo .elementor-widget-container,
	.elementor-location-header .cdz-header-logo a {
		flex-shrink: 0 !important;
		line-height: 0;
	}

	.elementor-location-header .cdz-header-logo img {
		height: 22px !important;
		width: auto !important;
		max-width: none !important;
		display: block !important;
	}

	/* Row: logo left · menu flush right · actions — vertically centered */
	.elementor-location-header .cdz-header-inner,
	.elementor-location-header .cdz-header-inner.e-con,
	.elementor-location-header .cdz-header-inner > .e-con-inner {
		justify-content: flex-start !important;
		align-items: center !important;
		gap: 20px !important;
	}

	.elementor-location-header .cdz-header-logo,
	.elementor-location-header .cdz-header-inner .elementor-widget-theme-site-logo {
		flex: 0 0 auto !important;
		align-self: center !important;
	}

	/* Nav: grow + align items to the right, centered on the horizontal axis */
	.elementor-location-header .cdz-header-nav,
	.elementor-location-header .cdz-header-inner .elementor-widget-nav-menu {
		flex: 1 1 auto !important;
		min-width: 0;
		margin-left: auto !important;
		margin-right: 0 !important;
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		align-self: center !important;
	}

	.elementor-location-header .cdz-header-nav .elementor-widget-container,
	.elementor-location-header .cdz-header-inner .elementor-widget-nav-menu .elementor-widget-container {
		width: 100%;
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
	}

	.elementor-location-header .elementor-nav-menu--main,
	.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		white-space: nowrap !important;
		width: auto !important;
		margin-left: auto !important;
		margin-right: 0 !important;
	}

	.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li {
		flex-shrink: 0;
		white-space: nowrap;
	}

	.elementor-location-header .elementor-nav-menu--main .elementor-item,
	.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li > a.elementor-item,
	.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li > a {
		font-family: var(--font-body) !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
		color: var(--color-inverse) !important;
		padding: 4px 0 !important;
		white-space: nowrap !important;
		height: auto !important;
	}

	.elementor-location-header .cdz-header.e-con,
	.elementor-location-header .cdz-header > .e-con {
		min-height: 56px !important;
	}

	.elementor-location-header .elementor-widget-nav-menu .elementor-widget-container,
	.elementor-location-header .elementor-widget-button .elementor-widget-container {
		padding: 0 !important;
	}

	.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children > a.elementor-item,
	.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children > a {
		font-weight: 600 !important;
	}

	.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children > a .sub-arrow {
		color: var(--color-accent) !important;
		font-size: 9px !important;
		margin-left: 7px;
	}

	/* Actions: width follows content (not a % that forces shrink/overlap) */
	.elementor-location-header .cdz-header-actions,
	.elementor-location-header .cdz-header-actions.e-con {
		flex: 0 0 auto !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 18px !important;
		width: auto !important;
		max-width: none !important;
		min-width: max-content !important;
		white-space: nowrap;
	}

	.elementor-location-header .cdz-header-actions > .elementor-element,
	.elementor-location-header .cdz-header-actions .e-con-inner > .elementor-element {
		flex: 0 0 auto !important;
		flex-shrink: 0 !important;
		width: auto !important;
		max-width: none !important;
		min-width: max-content !important;
	}

	.elementor-location-header .cdz-header-actions .elementor-widget-container {
		padding: 0 !important;
		width: auto !important;
		max-width: none !important;
	}

	.elementor-location-header .cdz-header-phone {
		display: none !important;
	}

	.elementor-location-header .cdz-panne .elementor-button,
	.elementor-location-header .cdz-header-actions .elementor-button {
		white-space: nowrap !important;
		display: inline-flex !important;
		align-items: center !important;
		width: max-content !important;
		max-width: none !important;
		flex-shrink: 0 !important;
	}

	.elementor-location-header .cdz-panne {
		margin-inline-end: 0;
	}

	.elementor-location-header .cdz-panne .elementor-button {
		font-family: var(--font-body) !important;
		font-size: 14.5px !important;
		font-weight: 600 !important;
		color: var(--color-urgence) !important;
		background: transparent !important;
		padding: 0 !important;
	}

	.elementor-location-header .cdz-header-cta .elementor-button {
		font-family: var(--font-display) !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		color: var(--color-primary) !important;
		background-color: var(--color-accent) !important;
		border-radius: var(--radius-sm) !important;
		padding: 12px 22px !important;
	}

	.elementor-location-header .cdz-header-cta .elementor-button:hover {
		background-color: var(--color-inverse) !important;
		color: var(--color-primary) !important;
	}
}

.cdz-panne .elementor-button-icon {
	font-size: 7px !important;
	animation: cdz-pulse 1.4s ease-in-out infinite;
}

.cdz-panne .elementor-button-icon i {
	width: 7px;
	height: 7px;
}
