/* ================================================================
   EA HEADER V3.5 — Top bar + header + mega-menus + drawer mobile
   Charte : Navy #0D1144 · Manrope · Premium Trust
   ================================================================ */

:root {
	--ea-navy:      #0D1144;
	--ea-navy-2:    #1A1F5C;
	--ea-white:     #ffffff;
	--ea-ink:       #0D1144;
	--ea-ink-soft:  #4B5366;
	--ea-line:      #E5E7EE;
	--ea-line-2:    #D8DCE8;
	--ea-bg-soft:   #F7F8FB;
	--ea-accent:    #C9A86A;
	--ea-radius:    10px;
	--ea-radius-sm: 6px;
	--ea-shadow:    0 8px 24px rgba(13,17,68,.08);
	--ea-shadow-mega: 0 20px 60px rgba(13,17,68,.18);
	--ea-ease:      cubic-bezier(.2,.8,.2,1);
	--ea-font:      "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ea-h-topbar:  36px;
	--ea-h-header:  72px;
}

/* Reset interne header (n'affecte pas le reste du site) */
.ea-topbar, .ea-topbar *,
.ea-header, .ea-header *,
.ea-drawer, .ea-drawer *,
.ea-mega,   .ea-mega   * {
	box-sizing: border-box;
	font-family: var(--ea-font);
}

.ea-topbar a, .ea-header a, .ea-drawer a, .ea-mega a {
	color: inherit;
	text-decoration: none;
	transition: color .15s var(--ea-ease), background .15s var(--ea-ease);
}

.ea-icon { width: 18px; height: 18px; display: inline-block; vertical-align: middle; flex: 0 0 auto; }
.ea-icon--star { color: var(--ea-accent); width: 14px; height: 14px; }
.ea-icon--chev { width: 12px; height: 12px; transition: transform .2s var(--ea-ease); }

/* ================================================================
   TOP BAR
   ================================================================ */

.ea-topbar {
	background: var(--ea-navy);
	color: #E8EAF5;
	font-size: 12.5px;
	line-height: 1;
	height: var(--ea-h-topbar);
	display: flex;
	align-items: center;
}
.ea-topbar__inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 24px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.ea-topbar__left, .ea-topbar__right {
	display: flex;
	align-items: center;
	gap: 8px;
	letter-spacing: .01em;
}
.ea-topbar__sep { opacity: .35; }
.ea-topbar__tel {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: #fff;
}
.ea-topbar__tel:hover { color: var(--ea-accent); }

@media (max-width: 1019px) {
	.ea-topbar { display: none; }
}

/* ================================================================
   HEADER PRINCIPAL
   ================================================================ */

.ea-header {
	background: #fff;
	border-bottom: 1px solid var(--ea-line);
	height: var(--ea-h-header);
	display: flex;
	align-items: center;
	position: sticky;
	top: 0;
	z-index: 900;
}
.ea-header__inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 24px;
	width: 100%;
	display: grid;
	grid-template-columns: auto auto 1fr auto;
	align-items: center;
	gap: 24px;
}

/* Logo */
.ea-header__logo {
	display: inline-flex;
	align-items: center;
	font-weight: 800;
	font-size: 18px;
	letter-spacing: .04em;
	color: var(--ea-navy);
	white-space: nowrap;
}
.ea-logo__dash { color: var(--ea-accent); margin: 0 1px; }

/* Lien logo + image (WP Custom Logo ou attachment slug) */
.ea-logo-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
	line-height: 1;
}
.ea-logo-link:focus-visible {
	outline: 2px solid var(--ea-navy);
	outline-offset: 3px;
	border-radius: 4px;
}
.ea-logo-img {
	display: block;
	height: 40px;
	width: 240px;
	max-width: 280px;
	object-fit: contain;
	object-position: left center;
}
@media (max-width: 1019px) {
	.ea-logo-img { height: 34px; width: 200px; }
}
@media (max-width: 540px) {
	.ea-logo-img { height: 28px; width: 160px; }
}

/* Hamburger (mobile only) */
.ea-burger {
	display: none;
	width: 44px;
	height: 44px;
	background: transparent;
	border: 1px solid var(--ea-line-2);
	border-radius: var(--ea-radius-sm);
	color: var(--ea-navy);
	cursor: pointer;
	align-items: center;
	justify-content: center;
}
.ea-burger:hover { background: var(--ea-bg-soft); }
.ea-burger:focus-visible { outline: 2px solid var(--ea-navy); outline-offset: 2px; }

/* Nav primaire */
.ea-nav-primary { display: block; }
.ea-nav-primary__list {
	display: flex;
	align-items: center;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.ea-nav-item { position: relative; }
.ea-nav-item > a,
.ea-nav-toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 12px 14px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ea-ink);
	background: transparent;
	border: 0;
	border-radius: var(--ea-radius-sm);
	cursor: pointer;
	white-space: nowrap;
	letter-spacing: -.005em;
}
.ea-nav-item > a:hover,
.ea-nav-toggle:hover { background: var(--ea-bg-soft); color: var(--ea-navy); }
.ea-nav-item > a:focus-visible,
.ea-nav-toggle:focus-visible { outline: 2px solid var(--ea-navy); outline-offset: 2px; }

.ea-nav-item--has-mega[data-open="true"] > .ea-nav-toggle { background: var(--ea-bg-soft); }
.ea-nav-item--has-mega[data-open="true"] .ea-icon--chev { transform: rotate(180deg); }

/* Split nav-item : label cliquable (lien direct) + chevron-only (mega toggle) */
.ea-nav-item--split {
	display: inline-flex;
	align-items: center;
	gap: 0;
}
.ea-nav-item--split > .ea-nav-link {
	display: inline-flex;
	align-items: center;
	padding: 12px 4px 12px 14px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ea-ink);
	background: transparent;
	border-radius: var(--ea-radius-sm) 0 0 var(--ea-radius-sm);
	text-decoration: none;
	white-space: nowrap;
	letter-spacing: -.005em;
	cursor: pointer;
}
.ea-nav-item--split > .ea-nav-link:hover {
	background: var(--ea-bg-soft);
	color: var(--ea-navy);
}
.ea-nav-toggle--chev-only {
	padding: 12px 10px 12px 4px;
	border-radius: 0 var(--ea-radius-sm) var(--ea-radius-sm) 0;
}
.ea-nav-toggle--chev-only:hover {
	background: var(--ea-bg-soft);
}
.ea-nav-item--split[data-open="true"] > .ea-nav-link,
.ea-nav-item--split[data-open="true"] > .ea-nav-toggle--chev-only { background: var(--ea-bg-soft); }

/* Nav utilitaire (search + compte + panier + CTA) */
.ea-nav-utility {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	justify-self: end;
}
.ea-icon-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 12px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ea-ink);
	background: transparent;
	border: 0;
	border-radius: var(--ea-radius-sm);
	cursor: pointer;
}
.ea-icon-btn:hover { background: var(--ea-bg-soft); color: var(--ea-navy); }
.ea-icon-btn:focus-visible { outline: 2px solid var(--ea-navy); outline-offset: 2px; }
.ea-icon-btn__lbl { display: inline-block; }

@media (max-width: 1199px) {
	.ea-icon-btn__lbl { display: none; }
}

/* Cart badge */
.ea-cart { position: relative; }
.ea-cart-badge {
	position: absolute;
	top: 2px;
	right: 4px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	background: var(--ea-navy);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	border-radius: 9px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.ea-cart-badge:empty,
.ea-cart-badge[data-ea-cart-count="0"] { display: none; }

/* CTA principal */
.ea-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	background: var(--ea-navy);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .005em;
	border-radius: var(--ea-radius-sm);
	border: 1px solid var(--ea-navy);
	white-space: nowrap;
}
.ea-cta:hover { background: var(--ea-navy-2); border-color: var(--ea-navy-2); }
.ea-cta:focus-visible { outline: 2px solid var(--ea-accent); outline-offset: 2px; }
.ea-cta--block { display: flex; width: 100%; justify-content: center; padding: 14px; }

/* ================================================================
   MEGA-MENUS
   ================================================================ */

.ea-mega {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 560px;
	background: #fff;
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
	box-shadow: var(--ea-shadow-mega);
	padding: 24px;
	z-index: 950;
	margin-top: 8px;
	animation: ea-mega-in .15s var(--ea-ease);
}
.ea-mega[hidden] { display: none; }

@keyframes ea-mega-in {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0); }
}

.ea-mega__inner { display: block; }
.ea-mega__grid {
	display: grid;
	gap: 24px;
}
.ea-mega__grid--3 { grid-template-columns: repeat(3, 1fr); min-width: 480px; }
.ea-mega__grid--4 { grid-template-columns: repeat(4, 1fr); min-width: 760px; }

.ea-mega__col, .ea-mega__block ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ea-mega__col li a,
.ea-mega__block ul a {
	display: block;
	padding: 6px 10px;
	font-size: 14px;
	color: var(--ea-ink);
	border-radius: var(--ea-radius-sm);
	font-weight: 500;
}
.ea-mega__col li a:hover,
.ea-mega__block ul a:hover { background: var(--ea-bg-soft); color: var(--ea-navy); }

.ea-mega__title {
	display: block;
	margin-bottom: 10px;
	padding: 0 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ea-navy);
}
.ea-mega__title:hover { color: var(--ea-accent); }

.ea-mega__footer {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--ea-line);
	font-size: 13px;
	font-weight: 600;
}
.ea-mega__footer a:hover { color: var(--ea-accent); }

/* ================================================================
   DRAWER MOBILE
   ================================================================ */

.ea-drawer { display: none; }
.ea-drawer:not([hidden]) {
	display: block;
	position: fixed;
	inset: 0;
	z-index: 1000;
}
.ea-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(13,17,68,.45);
	animation: ea-fade-in .2s var(--ea-ease);
}
@keyframes ea-fade-in { from { opacity: 0; } to { opacity: 1; } }
.ea-drawer__panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(360px, 88vw);
	background: #fff;
	padding: 24px 20px;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 20px;
	animation: ea-slide-in .25s var(--ea-ease);
	box-shadow: var(--ea-shadow-mega);
}
@keyframes ea-slide-in { from { transform: translateX(-100%); } to { transform: translateX(0); } }

.ea-drawer__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 36px;
	height: 36px;
	background: transparent;
	border: 0;
	color: var(--ea-navy);
	cursor: pointer;
	border-radius: var(--ea-radius-sm);
}
.ea-drawer__close:hover { background: var(--ea-bg-soft); }

.ea-drawer__account {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	background: var(--ea-bg-soft);
	border-radius: var(--ea-radius-sm);
	font-weight: 600;
	color: var(--ea-navy);
	margin-top: 32px;
}

.ea-drawer__nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-top: 1px solid var(--ea-line);
	padding-top: 12px;
}
.ea-drawer__nav > li > a,
.ea-drawer__nav summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 12px;
	font-size: 16px;
	font-weight: 600;
	color: var(--ea-navy);
	border-radius: var(--ea-radius-sm);
	cursor: pointer;
	list-style: none;
}
.ea-drawer__nav summary::-webkit-details-marker { display: none; }
.ea-drawer__nav summary::after {
	content: '＋';
	color: var(--ea-ink-soft);
	font-weight: 400;
}
.ea-drawer__nav details[open] summary::after { content: '−'; }
.ea-drawer__nav details ul {
	list-style: none;
	margin: 0 0 8px;
	padding: 0 0 0 12px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.ea-drawer__nav details ul a {
	display: block;
	padding: 10px 12px;
	font-size: 14px;
	font-weight: 500;
	color: var(--ea-ink);
	border-radius: var(--ea-radius-sm);
}
.ea-drawer__nav details ul a:hover { background: var(--ea-bg-soft); }
.ea-drawer__nav > li > a:hover { background: var(--ea-bg-soft); }

.ea-drawer__foot {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--ea-line);
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 14px;
	color: var(--ea-ink-soft);
}
.ea-drawer__foot a { font-weight: 700; color: var(--ea-navy); font-size: 16px; }

body.ea-drawer-open { overflow: hidden; }

/* ================================================================
   RESPONSIVE
   ================================================================ */

@media (max-width: 1019px) {
	:root { --ea-h-header: 64px; }
	.ea-header__inner {
		grid-template-columns: auto 1fr auto;
		gap: 12px;
	}
	.ea-burger { display: inline-flex; }
	.ea-nav-primary { display: none; }
	.ea-nav-utility .ea-search-trigger,
	.ea-nav-utility .ea-icon-btn:not(.ea-cart),
	.ea-nav-utility .ea-cta { display: none; }
	.ea-nav-utility { gap: 4px; }
}

@media (max-width: 540px) {
	.ea-header__inner { padding: 0 16px; }
	.ea-header__logo { font-size: 16px; }
}

/* ================================================================
   PRINT
   ================================================================ */

@media print {
	.ea-topbar, .ea-header, .ea-drawer, .ea-mega { display: none !important; }
}
