/* Ferefen - Icones d'en-tete (compte, favoris, suivi, panier) */

/* --- Base : rangee horizontale (en-tete bureau) --- */
.ff-hicons {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

.ff-hicon {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: #010000;
	line-height: 0;
	text-decoration: none !important;
	transition: color .2s ease;
}

.ff-hicon:hover,
.ff-hicon:focus {
	color: #FF6600;
}

.ff-hicon__ico {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.ff-hicon svg {
	width: 24px;
	height: 24px;
	stroke: currentColor;
	stroke-width: 1.8;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	display: block;
}

.ff-hicon__badge {
	position: absolute;
	top: -9px;
	right: -11px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: #FF6600;
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	box-sizing: border-box;
	pointer-events: none;
}

.ff-hicon__badge.is-empty {
	display: none;
}

/* Libelles masques visuellement hors de la barre, mais lisibles par les lecteurs d'ecran */
.ff-hicons:not(.ff-hicons--bar) .ff-hicon__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 1100px) {
	.ff-hicons:not(.ff-hicons--bar) {
		gap: 14px;
	}
}

/* --- Variante barre : mobile et tablette --- */
.ff-hicons--bar {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: space-between;
	gap: 2px;
	width: 100%;
	margin: 0;
	padding: 12px 6px 8px;
	background: #FFFFFF;
	border-top: 1px solid #EDEFF3;
	box-sizing: border-box;
}

.ff-hicons--bar .ff-hicon {
	flex: 1 1 0;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 48px;
	line-height: 1.15;
	color: #1E3888;
}

.ff-hicons--bar .ff-hicon:hover,
.ff-hicons--bar .ff-hicon:focus {
	color: #FF6600;
}

.ff-hicons--bar .ff-hicon svg {
	width: 22px;
	height: 22px;
}

.ff-hicons--bar .ff-hicon__badge {
	top: -7px;
	right: -10px;
}

.ff-hicons--bar .ff-hicon__label {
	display: block;
	max-width: 100%;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Tres petits ecrans : on resserre au lieu de casser la ligne */
@media (max-width: 380px) {
	.ff-hicons--bar {
		padding: 7px 4px;
	}

	.ff-hicons--bar .ff-hicon svg {
		width: 20px;
		height: 20px;
	}

	.ff-hicons--bar .ff-hicon__label {
		font-size: 10px;
	}
}

/* Le module Texte de Divi qui porte la barre ne doit rien ajouter */
.et_pb_text_inner > .ff-hicons--bar {
	margin: 0;
}

/* --- Compactage de l'en-tete mobile / tablette ---
 * Le logo n'avait aucune limite de hauteur : une largeur de 12rem suffisait
 * a creer un grand bloc vide sous le logo. On borne la hauteur et on centre.
 */
@media (max-width: 980px) {
	.et_pb_menu .et_pb_menu_inner_container {
		align-items: center !important;
		min-height: 0 !important;
	}

	.et_pb_menu .et_pb_menu__logo-wrap,
	.et_pb_menu .et_pb_menu__logo {
		display: flex !important;
		align-items: center !important;
		min-height: 0 !important;
	}

	.et_pb_menu .et_pb_menu__logo img {
		max-height: 58px !important;
		max-width: 100% !important;
		width: auto !important;
		height: auto !important;
		display: block;
	}

	.et_pb_menu .et_pb_menu__wrap {
		min-height: 0 !important;
		align-items: center !important;
	}

	.et_pb_menu .et_pb_menu__menu {
		display: none !important;
	}

	.et_pb_menu .et_pb_menu__icon {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.et_pb_menu .et_mobile_nav_menu {
		margin: 0 !important;
		display: flex;
		align-items: center;
	}

	/* Le burger etait regle a 14vw : ~50px sur un telephone, et il grandit
	 * avec l'ecran. C'est lui qui imposait la hauteur de toute la ligne. */
	.et_pb_menu .mobile_nav,
	.et_pb_menu .et_mobile_nav_menu .mobile_menu_bar {
		line-height: 1 !important;
		margin: 0 !important;
	}

	.et_pb_menu .mobile_menu_bar:before {
		font-size: var(--ff-burger, 40px) !important;
		line-height: 1 !important;
		top: 0 !important;
	}

	.et_pb_menu .et_pb_menu__icon.et_pb_menu__search-button {
		font-size: var(--ff-search, 24px) !important;
	}

	/* Le bloc du logo reservait 12rem de large en dur : largeur maitrisee,
	 * et il ne se laisse plus comprimer par les icones. */
	.et_pb_menu .et_pb_menu_inner_container > .et_pb_menu__logo-wrap,
	.et_pb_menu .et_pb_menu__logo-slot {
		width: var(--ff-logo-w, 230px) !important;
		max-width: var(--ff-logo-w, 230px) !important;
		flex: 0 0 auto !important;
	}

	.et_pb_menu .et_pb_menu__icon {
		line-height: 1 !important;
	}

	/* Barre d'icones resserree */
	.ff-hicons--bar {
		padding: 7px 6px 6px;
	}

	.ff-hicons--bar .ff-hicon {
		min-height: 40px;
		gap: 4px;
	}

	.ff-hicons--bar .ff-hicon svg {
		width: 20px;
		height: 20px;
	}

	.ff-hicons--bar .ff-hicon__label {
		font-size: 10.5px;
	}

	/* --- Ordre de la ligne d'en-tete ---
	 * logo | icones | loupe + burger (le burger termine la ligne, a droite)
	 */
	/* Le logo pousse tout le reste a droite (margin-right:auto) : les icones,
	 * la loupe et le burger forment alors un groupe au rythme regulier,
	 * separes par un espacement unique. */
	.et_pb_menu .et_pb_menu_inner_container {
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		column-gap: var(--ff-gap, 16px) !important;
	}

	.et_pb_menu .et_pb_menu_inner_container > .et_pb_menu__logo-wrap {
		order: 0;
		flex: 0 1 auto;
		margin-right: auto !important;
	}

	.et_pb_menu .et_pb_menu_inner_container > .et_pb_text {
		order: 1;
		flex: 0 0 auto;
		margin: 0 !important;
		padding: 0 !important;
	}

	.et_pb_menu .et_pb_menu_inner_container > .et_pb_menu__wrap {
		order: 2;
		flex: 0 0 auto;
		column-gap: var(--ff-gap, 16px) !important;
	}

	/* Dans la ligne du menu, les icones passent en mode compact sans libelles
	 * (il n'y a pas la place : les mots etaient tronques en "Com..." / "Favo...")
	 */
	.et_pb_menu .ff-hicons--bar {
		width: auto;
		padding: 0;
		border-top: 0;
		background: transparent;
		gap: var(--ff-gap, 14px);
		justify-content: flex-end;
	}

	.et_pb_menu .ff-hicons--bar .ff-hicon {
		flex: 0 0 auto;
		flex-direction: row;
		gap: 0;
		min-height: 44px;
		min-width: 0;
	}

	.et_pb_menu .ff-hicons--bar .ff-hicon svg {
		width: var(--ff-icon, 19px);
		height: var(--ff-icon, 19px);
	}

	.et_pb_menu .ff-hicons--bar .ff-hicon__badge {
		min-width: 15px;
		height: 15px;
		line-height: 15px;
		font-size: 9.5px;
		padding: 0 4px;
		top: -6px;
		right: -8px;
	}

	.et_pb_menu .ff-hicons--bar .ff-hicon__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}
}

@media (max-width: 767px) {
	.et_pb_menu .et_pb_menu_inner_container {
		column-gap: var(--ff-gap-m, 11px) !important;
	}

	.et_pb_menu .et_pb_menu_inner_container > .et_pb_menu__logo-wrap,
	.et_pb_menu .et_pb_menu__logo-slot {
		width: var(--ff-logo-w-m, 170px) !important;
		max-width: var(--ff-logo-w-m, 170px) !important;
	}

	.et_pb_menu .mobile_menu_bar:before {
		font-size: var(--ff-burger-m, 38px) !important;
	}

	.et_pb_menu .et_pb_menu__icon.et_pb_menu__search-button {
		font-size: var(--ff-search-m, 24px) !important;
	}

	.et_pb_menu .et_pb_menu__wrap {
		column-gap: var(--ff-gap-m, 11px) !important;
	}

	.et_pb_menu .ff-hicons--bar {
		gap: var(--ff-gap-m, 9px);
	}

	.et_pb_menu .ff-hicons--bar .ff-hicon svg {
		width: var(--ff-icon-m, 18px);
		height: var(--ff-icon-m, 18px);
	}

	/* Sur telephone, la ligne est pleine : on retire "Suivi de commande",
	 * la moins consultee. Elle reste dans le pied de page et le menu. */
	.et_pb_menu .ff-hicons--bar .ff-hicon--package {
		display: none !important;
	}
}

/* Ecrans tres etroits : tout est reduit de 15 % a partir des valeurs
 * telephone reglees dans Reglages > Ferefen En-tete. */
@media (max-width: 380px) {
	.et_pb_menu .et_pb_menu_inner_container > .et_pb_menu__logo-wrap,
	.et_pb_menu .et_pb_menu__logo-slot {
		width: calc(var(--ff-logo-w-m, 170px) * .85) !important;
		max-width: calc(var(--ff-logo-w-m, 170px) * .85) !important;
	}

	.et_pb_menu .mobile_menu_bar:before {
		font-size: calc(var(--ff-burger-m, 38px) * .89) !important;
	}

	.et_pb_menu .et_pb_menu__icon.et_pb_menu__search-button {
		font-size: calc(var(--ff-search-m, 24px) * .9) !important;
	}

	.et_pb_menu .et_pb_menu_inner_container,
	.et_pb_menu .et_pb_menu__wrap {
		column-gap: calc(var(--ff-gap-m, 11px) * .78) !important;
	}

	.et_pb_menu .ff-hicons--bar {
		gap: calc(var(--ff-gap-m, 11px) * .78);
	}

	.et_pb_menu .ff-hicons--bar .ff-hicon svg {
		width: calc(var(--ff-icon-m, 18px) * .94);
		height: calc(var(--ff-icon-m, 18px) * .94);
	}
}
