/* =========================================================
   L'EDEN - HEADER CSS (consolidé premium + correctifs)
   ========================================================= */
@font-face {
  font-family: 'Brown Sugar';
  src: url('../fonts/brown-sugar.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root{
  --eden-blue: #0B3056;
  --eden-text: #111;
  --eden-white: #fff;
  --eden-padX: 24px;
  --eden-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}

/* Accessibilité */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}
.skip-link:focus {
  position: static !important;
  width: auto; height: auto;
  margin: 8px; padding: 8px 12px;
  background: #000; color: #fff;
  z-index: 1000;
}

/* Reset scope */
.eden-header, .eden-header * { box-sizing: border-box; }
html, body { overflow-x: hidden; }

.eden-header {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 100;
  width: 100%;
  max-width: 100%;
  color: var(--eden-white);
  font-family: 'Roboto', system-ui, -apple-system, Segoe UI, Arial, sans-serif;
}
.eden-header::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,0));
  pointer-events: none; z-index: -1;
}
.eden-row { width: 100%; padding-left: var(--eden-padX); padding-right: var(--eden-padX); }

/* ===== TOPBAR ===== */
.eden-topbar { color: #fff; }
.eden-topbar__row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px var(--eden-padX);
  border-bottom: 1px solid rgba(255,255,255,.5);
  font-size: 14px; opacity: .95;
}
.eden-topbar__row a { color: inherit; text-decoration: none; }
.eden-topbar__tel { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 4px 10px; line-height: 1; font-weight: 500; border-radius: 8px; border: 1px solid rgba(255,255,255,.6); background: rgba(0,0,0,.15); backdrop-filter: saturate(140%) blur(2px); }
.eden-topbar__tel:hover { background: rgba(255,255,255,.2); }
.eden-topbar__addr { display: flex; gap: 8px; font-style: normal; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ===== MAINBAR ===== */
.eden-mainbar {
  color: #fff;
  transition: background .4s cubic-bezier(.4,0,.2,1),
              box-shadow .4s cubic-bezier(.4,0,.2,1),
              color .4s cubic-bezier(.4,0,.2,1);
}
.eden-mainbar__row {
  display: grid;
  grid-template-columns: 1fr auto 1fr; /* logo / nav / actions */
  align-items: center;
  padding: 10px var(--eden-padX);
  column-gap: 16px;
  width: 100%;
}

/* Logo */
.eden-logo{
  justify-self: start;
  font-family: 'Brown Sugar', serif;
  font-size: 32px; line-height: 1;
  color: #0B3056; text-decoration: none; white-space: nowrap;
  align-self: end;
}
.eden-logo:hover{
  text-decoration: none;
  color: #0B3056;
}

/* Nav desktop */
.eden-nav { justify-self: center; }
.eden-menu {
  display: flex; gap: 28px;
  list-style: none; margin: 0; padding: 0;
}
.eden-menu a {
  color: inherit; text-decoration: none;
  opacity: .9; padding: 6px 2px;
  border-radius: 4px;
  transition: opacity .3s ease;
}
.eden-menu:hover > li > a { opacity: .35; }
.eden-menu > li > a:hover,
.eden-menu a[aria-current="page"] { opacity: 1; }

/* CTAs */
.eden-actions { display: flex; align-items: center; gap: 10px; justify-self: end; }
.eden-btn {
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 6px;
  min-height: 36px;
  padding: 6px 14px;
  line-height: 1;
  font-size: 14px;
  font-weight: 600; text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  white-space: nowrap;
}
.eden-btn--primary { background: var(--eden-blue)!important; color: #fff; border: 2px solid var(--eden-blue); }
.eden-btn--primary:hover {
  filter: brightness(1.05);
  background: transparent ;
}
.eden-pdf-open,
.eden-pdf-open--wines {
  text-decoration: none!important;
background: var(--eden-blue); color: #fff!important; border: 2px solid var(--eden-blue);
}
.eden-pdf-open:hover,
.eden-pdf-open--wines :hover {
  filter: brightness(1.05);
  color: var(--eden-blue)!important;
background: transparent !important;
border: 2px solid var(--eden-blue)!important;
}
.eden-btn--secondary { border: 2px solid var(--eden-blue); background: transparent; color: var(--eden-blue); }
.eden-btn--secondary:hover { background: var(--eden-blue); color: #fff; }

/* État par défaut (non sticky) : actions blanches */
.eden-mainbar .eden-btn--secondary { border-color: var(--eden-white); color: var(--eden-white); }
.eden-mainbar .eden-btn--secondary:hover { background: var(--eden-white); color: var(--eden-blue); }
.eden-mainbar .eden-burger { color: var(--eden-white); }

/* Sticky */
.eden-mainbar.is-sticky {
  position: fixed; top: 0; left: 0; right: 0;
  background: #fff; color: var(--eden-text);
  box-shadow: var(--eden-shadow);
}
.eden-mainbar.is-sticky .eden-btn--secondary { border-color: var(--eden-blue); color: var(--eden-blue); }
.eden-mainbar.is-sticky .eden-btn--secondary:hover { background: var(--eden-blue); color: var(--eden-white); }
.eden-mainbar.is-sticky .eden-burger { color: var(--eden-blue); }

/* Burger */
.eden-burger {
  display: none;
  position: relative;
  width: 40px; height: 36px;
  border: 0; background: transparent; cursor: pointer;
  color: var(--eden-white);
  -webkit-tap-highlight-color: transparent;
}
.eden-burger--dark { color: #111; }
.eden-burger span {
  position: absolute;
  left: 6px; right: 6px; height: 2px; background: currentColor;
  border-radius: 2px; transform-origin: 50% 50%;
  transition: transform .38s cubic-bezier(.4,0,.2,1), opacity .28s ease, background-color .28s ease;
}
.eden-burger span:nth-child(1){ top: 12px; }
.eden-burger span:nth-child(2){ top: 22px; }
.eden-burger.is-open span:nth-child(1){ transform: translateY(5px) rotate(45deg); transition-delay: .05s; }
.eden-burger.is-open span:nth-child(2){ transform: translateY(-5px) rotate(-45deg); transition-delay: .07s; }
.eden-burger:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 8px; }

/* Menu mobile full */
.eden-mobile {
  position: fixed; inset: 0; z-index: 500;
  background: #fff; color: #111; height: 100dvh;
  overflow-y: auto; -webkit-overflow-scrolling: touch;
}
.eden-mobile[hidden] { display: none; }
.eden-mobile__inner {
  min-height: 100%;
  display: flex; flex-direction: column; gap: 24px;
  padding: 20px var(--eden-padX);
}
.eden-mobile__head { display: flex; justify-content: space-between; align-items: center; }
.eden-mobile__nav { margin-top: 16px; }
.eden-mobile-menu {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 18px; font-size: 18px;
}
.mobil-btn.eden-btn--primary{
  background-color: #07233d!important;
  border: 2px solid #07233d!important;
  color: #fff!important;
  transition: all;
}

/* Social */
.eden-mobile__social { margin-top: 24px; border-top: 1px solid rgba(0,0,0,.08); padding-top: 16px; }
.eden-mobile-social {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 16px; font-size: 16px;
}
.eden-mobile-social a { color: var(--eden-text); text-decoration: none; opacity: .85; transition: opacity .3s ease; }
.eden-mobile-social a:hover { opacity: 1; }

/* CTAs mobile */
.eden-mobile__ctas {
  margin-top: auto; position: sticky; bottom: 0;
  padding: 14px var(--eden-padX) max(14px, env(safe-area-inset-bottom));
  background: linear-gradient(180deg, rgba(255,255,255,0), #fff 60%);
  border-top: 1px solid rgba(0,0,0,.06);
  display: flex; flex-direction: column; gap: 14px;
}
.eden-mobile .eden-btn { width: 100%; justify-content: center; }

/* Liens mobile en bleu Eden */
.eden-mobile a,
.eden-mobile a:visited { color: var(--eden-blue) !important; text-decoration: none; font-weight: 500; }
.eden-mobile a:hover { color: #07233d; }

/* Responsive */
@media (max-width: 991px) {
  .eden-nav { display: none; }
  .eden-burger { display: inline-flex; align-items: center; justify-content: center; }
  .eden-btn { min-height: 34px; padding: 0 12px; font-size: 13px; }
  .eden-actions { gap: 8px; }
  .eden-mainbar__row { display: flex; justify-content: space-between; }
  body.has-sticky-offset { padding-top: var(--eden-sticky-offset, 64px); }
}



/* Ajustements petits mobiles */
@media (max-width: 600px) {
  :root { --eden-padX: 25px; }
  .eden-row, .eden-topbar__row { padding-left: 25px; padding-right: 25px; }
  .eden-logo { font-size: 28px; }
  /* Stack topbar content to avoid collisions on phones */
  .eden-topbar__addr { font-size: 12px; }
  .eden-topbar__tel { align-self: flex-end; font-size: 12px; padding: 6px 10px; }
}

@media (max-width: 450px) {
  /* Priorité au numéro : on garde seulement la ville côté adresse */
  .eden-topbar__addr span:nth-child(1),
  .eden-topbar__addr span:nth-child(2) { display: none; } /* rue + CP masqués */
  .eden-topbar__addr { font-size: 12px; }
  /* Re-range en une seule ligne et pousse le téléphone à droite */
  .eden-topbar__row { flex-direction: row; align-items: center; gap: 8px; }
  .eden-topbar__tel { margin-left: auto; }
}

/* Micro-écrans : cache “Privatiser” */
@media (max-width: 360px) {
  .eden-btn--priv { display: none !important; }
  .eden-logo { font-size: 24px; }
  /* Keep the address ultra-short on very small screens: hide postal code and city */
  .eden-topbar__row { gap: 4px; }
}

/* Accessibilité & motion */
body.no-scroll { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* Mode compact header (auto-hide "Privatiser") */
.eden-header.is-compact .eden-btn--priv { display: none !important; }

/* Admin bar compatibilité */
@media (min-width: 783px) {
  body.admin-bar .eden-mainbar.is-sticky { top: 32px; }
  
}
@media (max-width: 782px) {
  body.admin-bar .eden-mainbar.is-sticky { top: 46px; }
}
/*@media (max-width: 450px) {
  .eden-btn--priv { display: none !important; }
}*/
