/*
Theme Name:   Siiimple Essentiel
Theme URI:    https://www.siiimple.fr
Description:  Salient Child Theme par l'agence de marketing Siiimple.
Author:       Siiimple
Author URI:   https://www.siiimple.fr
Template:     salient
Version:      1.0
Text Domain:  siiimple
*/
@import url('https://fonts.googleapis.com/css?family=Rubik:500&subset=latin-ext');
header#top #logo { font-family: Fira Sans; font-weight: 200; letter-spacing: normal; }
body[data-form-style="minimal"] .span_12.light .minimal-form-input label span.text .text-inner, .wpcf7-submit { color: #fff !important; font-family: Rubik; font-size: 14px !important; letter-spacing: .15px; }
.wpcf7 h2 { margin-bottom: 24px; }
.nectar-flickity[data-controls="material_pagination"]:not(.masonry) .flickity-viewport { margin-top: 36px; }
#breadcrumbs { font-size: 14px; }
#full_width_portfolio #breadcrumbs { padding-top: calc(100vw * 0.03); }
.single-post #breadcrumbs { max-width: 1000px; margin: 0 auto !important; }
.page-header-overlay-color:after { opacity: 0.6; }
.nectar_fullscreen_zoom_recent_projects .project-slide .project-info h1, .nectar_fullscreen_zoom_recent_projects .project-slide .project-info p { max-width: 100% !important; }
body .portfolio-items .col p, body .container-wrap[data-nav-pos="after_project_2"] .bottom_controls li span:not(.text) { font-family: Fira Sans !important; text-transform: lowercase !important; font-weight: 400 !important; }
header#top nav > ul > li[class*="button_bordered"] > a:before, #header-outer.transparent header#top nav > ul > li[class*="button_bordered"] > a:before { border: 1px solid #fff; }
.nectar-fancy-box[data-style="default"] .inner *, .nectar-fancy-box[data-style="parallax_hover"] .inner * { font-size: .95em; }
.nectar-fancy-box[data-style="default"] .inner p, .nectar-fancy-box[data-style="parallax_hover"] .inner p { font-weight: 100; }
body.using-mobile-browser .wpb_row .nectar-video-wrap, body.using-mobile-browser #page-header-bg .nectar-video-wrap { max-height: 100%; }
html .container-wrap { padding-bottom: 0; }
#logo i[class*="fa-"], #logo span[class*="fa-"] { font-size: 1.0875em; padding-left: 10px; }
#footer-outer #copyright { font-size: 16px !important; }
.author .page-header-no-bg .col.section-title { font-size: 20px; color: #a5a7a9; line-height: 1.6; text-align: left; }
.author .col.section-title h1 { padding-bottom: 15px; }
.author .col.section-title p { padding-bottom: 10px; }
.author .page-header-no-bg .fa { padding-right: 12px; }
.archive.author .row .col.section-title span, .archive.category .row .col.section-title span, .archive.tag .row .col.section-title span, .archive.date .row .col.section-title span { text-transform: none; font-weight: normal; }
#error-404 ul.sitemap { margin: 50px 0 0 0; }
#error-404 ul.sitemap li { list-style: none; }
@media only screen and (max-width: 1280px) and (min-width: 1001px) {
	.nectar-button.large { font-size: 12px; }
	body.material:not([data-button-style^="rounded"]) .nectar-button.has-icon.large { padding-left: 37px !important; }
}
@media only screen and (max-width: 1000px) {
	body[data-header-resize="0"] .container-wrap, body[data-header-resize="0"] .project-title { padding-top: 5px; }
	.nectar-fancy-box[data-style="color_box_hover"] .box-inner-wrap { padding: 5%; }
}

/* Sous 1024px : retirer le padding vertical du header (gain de hauteur) */
@media only screen and (max-width: 1024px) {
	#header-outer { padding-top: 0 !important; padding-bottom: 0 !important; }
}

/* ===== Header mobile (<=999px) ===== */
@media only screen and (max-width: 999px) {
	/* 1) Barre secondaire : LinkedIn + tagline sur UNE ligne (au lieu de 2) */
	#header-secondary-outer .container > nav {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		flex-wrap: nowrap;
	}
	#header-secondary-outer #social { margin: 0 !important; float: none; }
	#header-secondary-outer .nectar-center-text {
		position: static !important;
		transform: none !important;
		margin: 0 !important;
		white-space: nowrap;
	}
	/* 2) Logo */
	a#logo { padding: 0.5%; }

	/* Réduire le padding du conteneur header en mobile */
	body #header-outer[data-full-width="true"] header > .container { padding: 0 10px !important; }

	/* Espace blanc en haut : colonne WPBakery avec margin-top:5vh inline -> 0 sur mobile */
	.wpb_column[style*="margin-top: 5vh"],
	.vc_column_container[style*="margin-top: 5vh"] { margin-top: 0 !important; }

	/* 3) Barre secondaire injectée dans le header (entre logo et recherche) */
	body #header-outer #header-secondary-outer,
	body #header-secondary-outer { display: none !important; height: 0 !important; }
	#header-outer #top > .container > .row { display: flex; align-items: center; flex-wrap: nowrap; }
	/* Les colonnes logo/menu passent en largeur auto (sinon 25%/75% écrasent le bloc central) */
	#header-outer #top > .container > .row > .col.span_3,
	#header-outer #top > .container > .row > .col.span_9 { width: auto !important; flex: 0 0 auto; }
	#anc-mobile-secondary {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		
		min-width: 0;
		padding: 0 8px;
	}
	#anc-mobile-secondary .nectar-center-text {
		position: static !important;
		transform: none !important;
		margin: 0 !important;
		color: var(--anc-navy);
		font-size: 14px;
		font-weight: 600;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	#anc-mobile-secondary #social { margin: 0 !important; float: none; }
	#anc-mobile-secondary #social a,
	#anc-mobile-secondary #social i { color: var(--anc-navy); }
	/* En haut de page (header transparent) : texte blanc pour rester lisible sur le hero */
	#header-outer.transparent #anc-mobile-secondary .nectar-center-text,
	#header-outer.transparent #anc-mobile-secondary #social a,
	#header-outer.transparent #anc-mobile-secondary #social i { color: #fff; }

	/* #header-space : height fixe (injecté en JS) -> 0 sur la home pour coller le hero en haut */
	body.home #header-space { display: none !important; height: 0 !important; min-height: 0 !important; }
}

/* ===========================================================================
   Header : items du menu sur UNE ligne + scroll horizontal quand ça déborde
   (au lieu de passer sur 2 lignes ou d'être coupé). Au-dessus du breakpoint
   Salient (>1000px) ; en dessous -> burger natif. Gère un nombre d'items
   variable (rubriques créées par le client).
   =========================================================================== */
/* 1) Libellés sur une seule ligne (fix validé) */
a .menu-title-text { white-space: nowrap; }
#header-outer.transparent #top nav > .sf-menu > li > a { display: flex; flex-wrap: nowrap; }

/* 2) Le menu principal défile horizontalement si trop large */
@media only screen and (min-width: 1001px) {
	/* Permettre aux conteneurs de rétrécir pour que l'overflow du menu s'active */
	#header-outer #top .col.span_9,
	#header-outer #top .col.span_9 nav { min-width: 0; }
	#header-outer #top .col.span_9 nav { max-width: 100%; }

	#header-outer #top nav > ul.sf-menu:not(.buttons) {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		width: 100%;                    /* borne la largeur -> overflow actif */
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;          /* Firefox */
		-ms-overflow-style: none;       /* IE/Edge */
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
	}
	#header-outer #top nav > ul.sf-menu:not(.buttons)::-webkit-scrollbar { display: none; }
	#header-outer #top nav > ul.sf-menu:not(.buttons) > li { flex: 0 0 auto; float: none; }

	/* Sous-menus en fixed (coords posées par le JS) : échappent au clip + évitent
	   le flash de sous-menu coupé au survol. */
	#header-outer #top nav > ul.sf-menu:not(.buttons) > li > ul { position: fixed; }
}

/* Flèche d'indication de scroll (ajoutée par anc-menu-scroll.js) */
.anc-menu-scroll-arrow {
	display: none;            /* affichée par le JS quand il reste des items à droite */
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	background: rgba(255, 255, 255, .92);
	color: var(--anc-navy);
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
}
.anc-menu-scroll-arrow:hover { background: #fff; }

/* ===== Mobile <=767px ===== */
@media only screen and (max-width: 767px) {
	#anc-mobile-secondary .nectar-center-text { font-size: 11px; }
}

/* Sous-menus : largeur auto pour ne pas tronquer les libellés longs
   (ex. « Gestion de flotte / Suivi des matériels »), mais items EN COLONNE
   (les li Salient sont float:left -> on force le stack vertical). */
#header-outer #top nav ul.sf-menu ul {
	width: auto !important;
	min-width: 240px;
}
#header-outer #top nav ul.sf-menu ul li {
	float: none !important;
	display: block !important;
	width: 100% !important;
}
#header-outer #top nav ul.sf-menu ul li a {
	white-space: nowrap;
}
/* ============================================================================
 * Footer ANC personnalisé (remplace l'ancienne section contact + footer Salient)
 * ========================================================================== */
#footer-outer, #footer-widgets { display: none !important; }

.anc-footer {
	background: var(--anc-navy, #24356c);
	color: #fff;
	padding: 56px clamp(16px, 5vw, 64px) 0;
}
.anc-footer a { color: #fff; text-decoration: none; }
.anc-footer__inner {
	max-width: 1200px; margin: 0 auto;
	display: grid; grid-template-columns: 1.2fr 1fr 1fr;
	gap: clamp(28px, 4vw, 64px);
	align-items: start;
	padding-bottom: 44px;
}
.anc-footer__logo { width: 150px; height: auto; display: block; margin-bottom: 18px; }
.anc-footer__tagline { font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.85); margin: 0; }
.anc-footer__tagline span { color: var(--anc-yellow, #dbab2f); font-weight: 600; }
.anc-footer__title { color: #fff; font-size: clamp(20px, 2vw, 26px); font-weight: 800; margin: 0 0 18px; }
.anc-footer__btn {
	display: inline-flex; align-items: center; gap: 8px;
	background: var(--anc-yellow, #dbab2f); color: #fff !important;
	padding: 13px 28px; border-radius: 999px; font-weight: 700;
	transition: background .2s;
}
.anc-footer__btn:hover { background: #c2962a; }
.anc-footer__contact { font-size: 16px; line-height: 1.8; }
.anc-footer__contact p { margin: 0 0 4px; }
.anc-footer__name { font-weight: 700; font-size: 17px; margin: 0 0 8px !important; }
.anc-footer__contact a:hover { color: var(--anc-yellow, #dbab2f); }
.anc-footer__bottom {
	border-top: 1px solid rgba(255,255,255,.15);
	max-width: 1200px; margin: 0 auto; padding: 18px 0;
	display: flex; justify-content: space-between; align-items: center;
	font-size: 13px; color: rgba(255,255,255,.7); gap: 12px;
}
.anc-footer__bottom a:hover { color: #fff; }
@media (max-width: 880px) {
	.anc-footer__inner { grid-template-columns: 1fr; gap: 32px; text-align: center; }
	.anc-footer__logo { margin-left: auto; margin-right: auto; }
	.anc-footer__bottom { flex-direction: column; text-align: center; }
}
