.elementor-11 .elementor-element.elementor-element-9bb8f2e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:-1px;--padding-bottom:-1px;--padding-left:-1px;--padding-right:-1px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for container, class: .elementor-element-9bb8f2e *//* =========================
   Header Premium — Brasserie / Bar à vins
   Elementor Theme Builder (widget HTML)
   Version CLEAN (sans doublons / contradictions)
   ========================= */

/* ============ Variables ============ */
:root{
  /* Fond menu (forcé) */
  --hb-bg: #1e1e1e;
  --hb-bg-solid: #1e1e1e;

  --hb-ink: #f4f4f2;
  --hb-muted: rgba(244,244,242,.72);
  --hb-line: rgba(244,244,242,.14);

  --hb-accent: #b48a3a;   /* doré */
  --hb-accent2:#7c2a36;   /* bordeaux */
  --hb-radius: 18px;

  --hb-shadow: 0 18px 60px rgba(0,0,0,.35);
  --hb-shadow2: 0 12px 28px rgba(0,0,0,.28);

  --hb-wrap: min(1200px, calc(100% - 40px));

  /* Hauteur header (pour overlay mobile) */
  --hb-h: 64px;
}

/* ============ Header full width (anti liseré / décalage Elementor) ============ */
.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .e-con{
  max-width: 100% !important;
}
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .e-con{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============ Header sticky ============ */
.hb-header{
  position: sticky;
  top: 0;
  z-index: 9999;

  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;

  background: var(--hb-bg-solid) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.hb-inner{
  width: var(--hb-wrap);
  margin: 0 auto !important;
  padding: 12px 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
}

/* ============ Brand ============ */
.hb-brand{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--hb-ink);
}

.hb-logo{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background:
    radial-gradient(18px 18px at 35% 35%, rgba(255,255,255,.20), transparent 60%),
    linear-gradient(135deg, rgba(180,138,58,.95), rgba(124,42,54,.95));
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.14);
}

/* Logo image (si utilisée) */
.hb-logo-img{
  height: 50px;
  max-height: 50px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.5));
}

.hb-brandText{
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}
.hb-brandName{
  font-weight: 800;
  letter-spacing: .02em;
  font-size: 15px;
}
.hb-brandTag{
  font-size: 12px;
  color: var(--hb-muted);
  margin-top: 3px;
}

/* ============ Desktop nav ============ */
.hb-nav{
  display: flex;
  justify-content: center;
}
.hb-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 10px;
  align-items: center;
}
.hb-menu > li{ position: relative; }

.hb-menu a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  color: var(--hb-ink);
  text-decoration: none;
  font-weight: 650;
  font-size: 14px;
  border: 1px solid transparent;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.hb-menu a:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
  transform: translateY(-1px);
}
.hb-menu a.is-active{
  background: rgba(180,138,58,.14);
  border-color: rgba(180,138,58,.28);
}

/* ============ Dropdown stable (anti “nerveux”) ============ */
.hb-hasSub > a::after{
  content: "▾";
  font-size: 12px;
  color: rgba(244,244,242,.75);
  transform: translateY(-1px);
}

/* Pont invisible (évite le “trou” entre item et sous-menu) */
.hb-hasSub::after{
  content:"";
  position:absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 16px;
  background: transparent;
}

.hb-sub{
  list-style: none;
  margin: 0;
  padding: 10px;

  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  min-width: 280px;

  border-radius: var(--hb-radius);
  background: #1e1e1e !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: var(--hb-shadow);

  /* État fermé (pas de display:none) */
  display: block !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  pointer-events: none;

  transition:
    opacity .16s ease,
    transform .16s ease,
    visibility 0s linear .16s;

  z-index: 99999;
}

.hb-hasSub:hover .hb-sub,
.hb-hasSub:focus-within .hb-sub,
.hb-sub:hover{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition:
    opacity .16s ease,
    transform .16s ease,
    visibility 0s;
}

.hb-sub li a{
  width: 100%;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 600;
  font-size: 13.5px;
  color: rgba(244,244,242,.92);
  display: block;
  border: 1px solid transparent;
}
.hb-sub li a:hover{
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.12);
}

/* ============ CTA (droite) ============ */
.hb-cta{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  align-items: center;
}

.hb-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;

  text-decoration: none;
  font-weight: 750;
  font-size: 13.5px;

  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--hb-ink);

  box-shadow: 0 10px 26px rgba(0,0,0,.28);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
.hb-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 36px rgba(0,0,0,.34);
  border-color: rgba(255,255,255,.20);
}

.hb-btn--primary{
  border: none !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #b48a3a 0%, #7c2a36 100%) !important;
}
.hb-btn--primary:hover{ filter: brightness(1.10); }

/* ============ Burger ============ */
.hb-burger{
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  box-shadow: var(--hb-shadow2);
  position: relative;
  cursor: pointer;
}
.hb-burger span{
  position: absolute;
  left: 12px;
  right: 12px;
  height: 2px;
  background: rgba(244,244,242,.90);
  border-radius: 99px;
  transition: transform .18s ease, top .18s ease, opacity .18s ease;
}
.hb-burger span:nth-child(1){ top: 14px; }
.hb-burger span:nth-child(2){ top: 21px; }
.hb-burger span:nth-child(3){ top: 28px; }

/* ============ Mobile panel overlay ============ */
.hb-mobile{
  position: fixed;
  top: var(--hb-h);
  left: 0;
  right: 0;
  height: calc(100vh - var(--hb-h));
  z-index: 9998;

  background: #1e1e1e !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;

  display: none;
  overflow-y: auto;
}

.hb-header.hb-open .hb-mobile{ display: block; }

.hb-mobileInner{
  width: var(--hb-wrap);
  margin: 0 auto;
  padding: 18px 0 22px !important;
  display: grid;
  gap: 10px !important;
}

/* Items mobile */
.hb-mLink{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;

  padding: 14px 16px !important;
  border-radius: 16px !important;

  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.035) !important;

  color: rgba(244,244,242,.92);
  text-decoration:none;
  font-weight: 800 !important;
  letter-spacing: .01em;
}
.hb-mLink:hover{
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.16) !important;
}

/* Accordion */
.hb-acc{
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.03) !important;
  overflow: hidden;
}
.hb-acc > summary{
  list-style: none;
  cursor: pointer;
  padding: 14px 16px !important;
  color: rgba(244,244,242,.92);
  font-weight: 900 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hb-acc > summary::-webkit-details-marker{ display:none; }
.hb-acc > summary::after{ content:"▾"; opacity:.85; }
.hb-acc[open] > summary::after{ content:"▴"; }

.hb-accLinks{
  display:grid;
  gap: 6px !important;
  padding: 8px 14px 12px !important;
  border-top: 1px solid rgba(255,255,255,.10);
}
.hb-accLinks a{
  display:block;
  padding: 8px 12px !important;
  border-radius: 10px !important;

  color: rgba(244,244,242,.88);
  text-decoration:none;

  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.08) !important;

  font-weight: 600 !important;
  font-size: 13.5px !important;

  margin-left: 6px !important;
}
.hb-accLinks a::before{
  content: "—";
  opacity: .40 !important;
  margin-right: 8px !important;
}
.hb-accLinks a:hover{
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important;
}

/* CTA Réserver (si lien contient res(er)ver / reservation) */
.hb-mobileInner a[href*="reservation"],
.hb-mobileInner a[href*="reserver"]{
  background: linear-gradient(135deg, rgba(180,138,58,.95), rgba(124,42,54,.90)) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.45) !important;
}
.hb-mobileInner a[href*="reservation"]:hover,
.hb-mobileInner a[href*="reserver"]:hover{
  filter: brightness(1.08);
}

/* ============ Responsive behavior ============ */
@media (max-width: 980px){
  .hb-inner{
    grid-template-columns: auto auto;
    justify-content: space-between;
  }
  .hb-nav{ display:none; }
  .hb-cta{ display:none; }
  .hb-burger{ display: inline-block; }

  /* Burger -> X when open */
  .hb-header.hb-open .hb-burger span:nth-child(1){ top: 21px; transform: rotate(45deg); }
  .hb-header.hb-open .hb-burger span:nth-child(2){ opacity: 0; }
  .hb-header.hb-open .hb-burger span:nth-child(3){ top: 21px; transform: rotate(-45deg); }
}

/* ============ FIX DÉFINITIF — liens bleus au tap (mobile) ============ */
.hb-header a,
.hb-header button,
.hb-burger{
  -webkit-tap-highlight-color: transparent !important;
  tap-highlight-color: transparent !important;
}

/* On verrouille TOUS les états des liens du header */
.hb-header a,
.hb-header a:link,
.hb-header a:visited,
.hb-header a:hover,
.hb-header a:focus,
.hb-header a:focus-visible,
.hb-header a:active{
  color: var(--hb-ink) !important;
  text-decoration: none !important;
}

/* CTA (boutons) */
.hb-btn,
.hb-btn:link,
.hb-btn:visited,
.hb-btn:hover,
.hb-btn:focus,
.hb-btn:focus-visible,
.hb-btn:active{
  color: rgba(255,255,255,.95) !important;
  text-decoration: none !important;
}
.hb-btn--primary,
.hb-btn--primary:link,
.hb-btn--primary:visited,
.hb-btn--primary:hover,
.hb-btn--primary:focus,
.hb-btn--primary:focus-visible,
.hb-btn--primary:active{
  color: #ffffff !important;
}

/* Option : outline mobile */
@media (max-width: 980px){
  .hb-header a:focus{ outline: none !important; }
}/* End custom CSS */