.elementor-6666 .elementor-element.elementor-element-3d54426c > .elementor-background-overlay{background-color:#17181A;opacity:0.7;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-6666 .elementor-element.elementor-element-3d54426c{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:40px 40px 80px 40px;}.elementor-6666 .elementor-element.elementor-element-1abb946c.elementor-element{--flex-grow:0;--flex-shrink:0;}#elementor-popup-modal-6666 .dialog-widget-content{animation-duration:0s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-6666{background-color:rgba(0,0,0,.8);justify-content:center;align-items:flex-start;pointer-events:all;}#elementor-popup-modal-6666 .dialog-message{width:100vw;height:auto;}@media(max-width:1024px){.elementor-6666 .elementor-element.elementor-element-3d54426c{padding:40px 30px 80px 30px;}}@media(max-width:767px){.elementor-6666 .elementor-element.elementor-element-3d54426c{padding:0px 0px 0px 0px;}.elementor-6666 .elementor-element.elementor-element-13bb6278{width:10%;}.elementor-6666 .elementor-element.elementor-element-13bb6278 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-6666 .elementor-element.elementor-element-1abb946c > .elementor-widget-container{margin:30px 0px 0px 0px;}#elementor-popup-modal-6666 .dialog-widget-content{margin:0px 0px 0px 0px;}#elementor-popup-modal-6666 .dialog-message{padding:0px 0px 0px 0px;}}/* Start custom CSS *//* ================== MENU FULL PAGE — CLOS DES VIGNES (CSS V14) ================== */
/* Police (si non chargée globalement) */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

/* ---------- Variables & portée ---------- */
#cdvMenu{
  --text:#0f172a;          /* slate-900 */
  --muted:#475569;         /* slate-600 */
  --line:#E5E7EB;          /* gray-200 */
  --line-strong:#DBDFE6;
  --surface:#fff;
  --surface-weak:#F8FAFC;
  --cta:#111827;           /* anthracite */
  --radius:16px;
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

/* ---------- Overlay fullpage (blur pur, sans voile) ---------- */
#cdvMenu.menu{
  position:fixed; inset:0; z-index:9999; display:none;
  background:transparent;                                  /* aucune teinte */
  backdrop-filter:blur(22px) saturate(150%);               /* verre poli */
  -webkit-backdrop-filter:blur(22px) saturate(150%);
  overflow-y:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
#cdvMenu.menu::before{ content:none }                      /* pas de pseudo-couche */
#cdvMenu.menu::-webkit-scrollbar{ display:none }
#cdvMenu.is-open{ display:block }

/* ---------- Layout interne ---------- */
#cdvMenu .panel{ position:relative; padding:18px 16px 40px; background:transparent }
#cdvMenu .top{
  position:sticky; top:0; z-index:10;
  display:flex; justify-content:flex-end;
  padding:8px 0 10px;
  background:transparent;                                   /* pas de bande sombre */
  backdrop-filter:none; -webkit-backdrop-filter:none;
}

/* Bouton Fermer (compact premium) */
#cdvMenu .close{
  -webkit-appearance:none; appearance:none;
  display:inline-flex; align-items:center; gap:8px;
  height:40px; padding:0 12px;
  background:#fff; color:#111827;
  border:1px solid var(--line); border-radius:999px;
  font:600 14px/1 "Plus Jakarta Sans",system-ui,sans-serif; letter-spacing:.01em;
  box-shadow:0 2px 10px rgba(17,24,39,.08);
  width:auto; max-width:calc(100% - 24px);
}
#cdvMenu .close svg{ width:18px; height:18px; color:#111827; flex:0 0 18px }

/* Icônes de titre */
#cdvMenu .ico{ width:20px; height:20px; color:#9AA4B2 }

/* ---------- Cartes de section ---------- */
#cdvMenu .group{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface);
  padding:14px;
  margin-bottom:14px;
}
#cdvMenu .group--reserve{
  border-color:var(--line-strong);
  box-shadow:0 6px 20px rgba(17,24,39,.06);
}

/* Titres (uniformes, y compris “RÉSERVER”) */
#cdvMenu .group__title{
  display:flex; align-items:center; gap:8px;
  margin:0 0 10px;
  font-size:15px; font-weight:700; letter-spacing:.03em;
  text-transform:uppercase; color:var(--text);
}

/* ---------- Listes ---------- */
#cdvMenu .group__links,
#cdvMenu .reserve__list{
  list-style:none; margin:0; padding:0; display:grid; gap:8px;
}

/* Lien carte (sous-sections) */
#cdvMenu .group__links a{
  position:relative; overflow:visible;                /* autorise badges flottants */
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 12px;
  border:1px solid var(--line); border-radius:12px;
  background:var(--surface);
  color:var(--muted); text-decoration:none; font-weight:600;
  transition: background .2s, border-color .2s, color .2s;
}
#cdvMenu .group__links a:hover{
  background:#F3F4F6; border-color:#CBD5E1; color:var(--text);
}

/* ---------- Boutons de réservation ---------- */
#cdvMenu .reserve__btn{
  position:relative; overflow:visible;                 /* badges flottants */
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:14px 12px;
  border:1px solid var(--line); border-radius:12px;
  background:var(--surface);
  color:var(--muted); text-decoration:none; font-weight:600;
  transition: background .2s, border-color .2s, color .2s;
}
#cdvMenu .reserve__btn:hover{
  background:#F3F4F6; border-color:#CBD5E1; color:var(--text);
}

/* CTA sombre (jamais de texte qui s’éteint au hover) */
#cdvMenu .reserve__btn--primary,
#cdvMenu .reserve__btn--primary:hover{
  background:var(--cta) !important;
  border-color:var(--cta) !important;
  color:#fff !important;
}
#cdvMenu .reserve__text{
  flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
#cdvMenu .arrow{ width:20px; height:20px; color:#9AA4B2; flex:0 0 20px }
#cdvMenu .reserve__btn--primary .arrow{ color:#E5E7EB !important }
#cdvMenu .reserve__btn--primary:hover .arrow{ color:#fff !important }

/* ---------- Badges (chips) ---------- */
#cdvMenu .chip{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px; font-weight:700; letter-spacing:.02em;
  line-height:1;
  background:#E5F3E9; color:#0B7A34; border:1px solid #C9EAD3; /* success par défaut */
}

/* Position flottante en haut/droite (comme le screen) */
#cdvMenu .has-badge{ position:relative }
#cdvMenu .chip--float{
  position:absolute; top:-12px; right:14px; z-index:2;
  pointer-events:none; box-shadow:0 4px 10px rgba(17,24,39,.12);
}
#cdvMenu .chip--success{ /* hérite du vert par défaut */ }
#cdvMenu .chip--dark{
  background:#111827; color:#fff; border:1px solid #111827;
  padding:5px 10px; font-size:11px;
}

/* ---------- Focus accessibilité ---------- */
#cdvMenu :where(a,button):focus-visible{
  outline:2px solid #111827; outline-offset:2px; border-radius:10px;
}

/* ---------- Micro-ajustements mobiles ---------- */
@media (max-width:380px){
  #cdvMenu .chip--float{ top:-10px; right:10px }
  #cdvMenu .chip{ padding:5px 9px; font-size:10.5px }
}/* End custom CSS */