/* Shared header: reserve logo space and constrain the search field. */
header .wrap.top{box-sizing:border-box;display:grid;width:100%;max-width:1510px;margin:0 auto;padding:12px 28px;grid-template-columns:218px minmax(0,1fr) auto;gap:24px;align-items:center}
header .top > a.brand{grid-column:1;grid-row:1;display:block;width:218px;min-width:0;max-width:100%;margin:0;justify-self:start}
header .brand-logo{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
header .top > .search{grid-column:2;grid-row:1;display:flex;box-sizing:border-box;width:100%;max-width:640px;min-width:0;justify-self:center;margin:0;overflow:hidden}
header .search input{box-sizing:border-box;flex:1 1 0%;width:0;min-width:0;max-width:100%;padding:12px 14px}
header .search button{box-sizing:border-box;flex:0 0 48px;width:48px}
header .top > .account{display:block;grid-column:3;grid-row:1;white-space:nowrap;margin:0}
@media(max-width:1180px){
 header .wrap.top{grid-template-columns:200px minmax(0,1fr);gap:20px}
 header .top > a.brand{width:200px}
 header .top > .account{display:none}
}
@media(max-width:760px){
 header .wrap.top{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px 16px}
 header .top > a.brand{grid-column:1;grid-row:1;width:172px;justify-self:center}
 header .top > .search{grid-column:1;grid-row:2;width:100%;max-width:100%}
}/* Navigation: keep every label visible without clipping the row. */
header nav .wrap.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;width:100%;max-width:1510px;height:auto;min-height:48px;margin:0 auto;padding:0 28px;gap:0 26px;overflow:visible;white-space:normal}
header nav .nav a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:auto;min-height:48px;padding:0 2px;line-height:1.3;white-space:nowrap;font-size:12px;letter-spacing:.4px;border-bottom:2px solid transparent}
header nav .nav a.active{border-bottom-color:var(--olive2);color:#ddd7b2}
header nav .nav a[href]:hover{color:#ddd7b2}
header nav .nav a[href]:focus-visible{outline:2px solid var(--olive2);outline-offset:-3px}
@media(max-width:760px){header nav .wrap.nav{padding:4px 16px;gap:0 18px}header nav .nav a{min-height:44px;font-size:11px}}

/* Palette et plaques assorties au pied de page. */
body > header{background:linear-gradient(120deg,#303726,#20271c);border-bottom:1px solid #74795a;box-shadow:0 5px 18px #0004;color:#e2dbc2}
header .top > a.brand{padding:5px 8px;background:#010302;border:1px solid #74795a;border-radius:5px;box-shadow:inset 0 0 0 3px #262d20,0 4px 10px #1114}
header .top > .search{background:linear-gradient(145deg,#3b4430,#242b1e);border:1px solid #8e9070;border-radius:5px;box-shadow:inset 0 0 0 3px #262d20,0 4px 10px #1113}
header .search input{background:transparent;color:#ebe3c7;border:0}
header .search input::placeholder{color:#bcbda9;opacity:1}
header .search button{background:#303926;color:#ded8b9;border:0;border-left:1px solid #74795a;cursor:pointer}
header .top > .account{color:#ded8b9}
header nav{background:transparent;border-top:1px solid #535b42}
header nav .wrap.nav{padding-top:7px;padding-bottom:7px;gap:6px 10px}
header nav .nav a{min-height:36px;padding:8px 12px;color:#ded8b9;border:1px solid transparent;border-radius:4px;letter-spacing:1px;transition:background .18s,border-color .18s,color .18s}
header nav .nav a.active,header nav .nav a[href]:hover{background:linear-gradient(145deg,#3b4430,#242b1e);border:1px solid #8e9070;color:#fff1be;box-shadow:inset 0 0 0 2px #262d20,0 3px 7px #1113}
header .search:focus-within{outline:2px solid #e0cb8c;outline-offset:2px}
header nav .nav a[href]:focus-visible{outline:2px solid #e0cb8c;outline-offset:2px}
@media(max-width:760px){header nav .wrap.nav{gap:5px 6px}header nav .nav a{min-height:40px;padding:7px 9px;font-size:11px}}
/* Logo intégré à la palette olive et ivoire. */
header .top > a.brand{background:transparent;border:0;border-radius:0;box-shadow:none;padding:4px 0;isolation:auto}
header .brand-logo{mix-blend-mode:normal;filter:drop-shadow(0.5px 0 0 #b5b699) drop-shadow(-0.5px 0 0 #b5b699);}
/* Fond commun exact : aucune couche sombre supplémentaire dans le menu. */
:root{--brand-olive-background:linear-gradient(120deg,#303726,#20271c);--brand-cream:#e2dbc2;--brand-edge:#74795a}
body > header,body .socialFooter{background:var(--brand-olive-background);color:var(--brand-cream)}
body > header{backdrop-filter:none;border-bottom-color:var(--brand-edge)}
body > header nav,body > header .wrap.top,body > header nav .wrap.nav{background:transparent}
header .brand-logo{mix-blend-mode:normal;filter:none}
/* Identité originale, encre noire et contour ivoire. */
header .brand-logo{mix-blend-mode:normal;filter:drop-shadow(0.65px 0 0 #e2dbc2) drop-shadow(-0.65px 0 0 #e2dbc2) drop-shadow(0 0.65px 0 #e2dbc2) drop-shadow(0 -0.65px 0 #e2dbc2)}
header .brand-logo{filter:none;mix-blend-mode:normal}
@media(min-width:1181px){header .wrap.top{grid-template-columns:290px minmax(0,1fr) auto}header .top > a.brand{width:290px}}
@media(max-width:760px){header .top > a.brand{width:230px;max-width:calc(100% - 85px)}}
/* Icônes homogènes, tracé ivoire lisible. */
.uiIcon{display:inline-block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}
header .account .uiIcon{width:24px;height:24px;margin:0 5px;color:#e2dbc2}
header .search button{display:grid;place-items:center}
.heart .uiIcon{width:23px;height:23px;filter:drop-shadow(0 1px 2px #000)}
.cart .uiIcon{width:21px;height:21px;color:#f0e8ce}
header .account .uiIcon:hover{color:#fff1be}