/* Génestine — Menu overlay fullscreen. Externalisé depuis inc/menu-overlay.php. */
/* ── Overlay ─────────────────────────────────────────── */
.gmo {
  position: fixed; inset: 0; z-index: 9999;
  display: grid; grid-template-columns: 1.05fr 1fr;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;
  overflow: hidden;
}
.gmo.is-open { opacity: 1; visibility: visible; pointer-events: auto; }

/* ── Panneaux ────────────────────────────────────────── */
.gmo__panel--left {
  background: #1c3a0f;
  background-image: radial-gradient(circle at 1px 1px, rgba(201,168,76,.08) 1px, transparent 1.2px);
  background-size: 6px 6px;
  padding: 56px 64px 48px;
  overflow-y: auto;
  display: flex; flex-direction: column;
}
.gmo__panel--right {
  background: linear-gradient(180deg, #0f2508 0%, #221810 100%);
  padding: 56px 64px 48px;
  overflow-y: auto;
  display: flex; flex-direction: column; gap: 36px;
  position: relative;
}

/* ── Header panel ────────────────────────────────────── */
.gmo__panel-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 20px; margin-bottom: 45px;
}
.gmo__logo { filter: brightness(0) invert(1); height: 52px; width: auto; display: block; }

/* ── Fermer ──────────────────────────────────────────── */
.gmo__close {
  background: transparent;
  border: 1px solid rgba(201,168,76,.4);
  color: var(--cream, #fbfaf5);
  font-family: var(--sans-caps, 'Cormorant SC', serif);
  font-size:19px; letter-spacing: .3em; text-transform: uppercase;
  padding: 10px 18px; cursor: pointer;
  transition: border-color .2s, background .2s;
}
.gmo__close:hover { border-color: var(--gold-light, #e0c070); background: rgba(201,168,76,.1); }

/* ── Tag ─────────────────────────────────────────────── */
.gmo__tag {
  font-family: var(--sans-caps, 'Cormorant SC', serif);
  font-size:19px; letter-spacing: .35em;
  color: var(--gold-light, #e0c070);
  text-transform: uppercase;
}

/* ── Nav ─────────────────────────────────────────────── */
.gmo__nav { display: flex; flex-direction: column; gap: 40px; }
.gmo__section-meta { display: flex; align-items: baseline; gap: 14px; margin-bottom: 6px; }
.gmo__rule-line {
  flex: 1; height: 1px;
  background: linear-gradient(90deg, rgba(201,168,76,.5), transparent);
}
.gmo__section-title {
  font-family: var(--serif-display, 'OldAlfie', Georgia, serif);
  font-size: 52px; font-weight: 400; margin: 0 0 10px; line-height: 1;
}
.gmo__section-title a { color: var(--cream, #fbfaf5); text-decoration: none; }
.gmo__section-title a:hover { color: var(--gold-light, #e0c070); }
.gmo__list { list-style: none; padding: 0; margin: 0; }
.gmo__list-item { border-bottom: 1px solid rgba(201,168,76,.15); }
.gmo__link {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 9px 0; color: var(--cream, #fbfaf5); text-decoration: none;
  transition: color .2s;
}
.gmo__link:hover { color: var(--gold-light, #e0c070); }
.gmo__link-title {
  font-family: var(--serif-display, 'OldAlfie', Georgia, serif);
  font-size:24px;
}
.gmo__link-sub {
  font-family: var(--sans-caps, 'Cormorant SC', serif);
  font-size:14px; opacity: .5; letter-spacing: .2em;
  text-align: right; max-width: 55%;
}

/* ── Feature ─────────────────────────────────────────── */
.gmo__feature-title {
  font-family: var(--serif-display, 'OldAlfie', Georgia, serif);
  font-size: 64px; font-weight: 400; margin: 10px 0 4px; line-height: 1;
  color: var(--cream, #fbfaf5);
}
.gmo__feature-meta {
  font-family: var(--sans-caps, 'Cormorant SC', serif);
  font-size:19px; opacity: .7; letter-spacing: .3em;
  color: var(--cream, #fbfaf5); margin-bottom: 24px;
}
.gmo__feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; }
.gmo__bottle-ph { background: rgba(90,160,100,.18); min-height: 150px; border-radius: 4px; }
.gmo__bottle-img { width: 100%; height: 100%; object-fit: contain; max-height: 220px; }
.gmo__feature-text {
  font-family: var(--serif-body, 'Cormorant Garamond', Georgia, serif);
  font-size:18px; line-height: 1.6; opacity: .85; color: var(--cream, #fbfaf5);
}
.gmo__feature-text p { margin: 0; }
.gmo__discover-link {
  display: inline-flex; margin-top: 18px;
  font-family: var(--sans-caps, 'Cormorant SC', serif);
  font-size:19px; letter-spacing: .3em;
  color: var(--gold-light, #e0c070); text-decoration: none;
  border-bottom: 1px solid currentColor; padding-bottom: 3px;
}

/* ── Filet ───────────────────────────────────────────── */
.gmo__orn-rule { display: flex; align-items: center; gap: 14px; }
.gmo__orn-rule__line {
  flex: 1; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.4), transparent);
}

/* ── Liens secondaires ───────────────────────────────── */
.gmo__secondary-list { list-style: none; padding: 0; margin: 12px 0 0; }
.gmo__secondary-list li { border-bottom: 1px solid rgba(201,168,76,.15); }
.gmo__secondary-link {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 11px 0; color: var(--cream, #fbfaf5); text-decoration: none;
  transition: color .2s;
}
.gmo__secondary-link:hover { color: var(--gold-light, #e0c070); }
.gmo__secondary-title {
  font-family: var(--serif-display, 'OldAlfie', Georgia, serif);
  font-size:24px;
}

/* ── Contact ─────────────────────────────────────────── */
.gmo__contact {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px;
  font-family: var(--mono, 'JetBrains Mono', monospace);
  font-size:19px; letter-spacing: .15em; text-transform: uppercase;
  color: rgba(251,250,245,.7);
}
.gmo__contact p { margin: 4px 0 0; }
.gmo__contact a { color: inherit; text-decoration: none; }
.gmo__contact a:hover { color: var(--gold-light, #e0c070); }

/* ── Footer overlay ──────────────────────────────────── */
.gmo__footer {
  margin-top: auto;
  display: flex; justify-content: space-between;
  font-family: var(--mono, 'JetBrains Mono', monospace);
  font-size:14px; letter-spacing: .3em; text-transform: uppercase;
  opacity: .4; color: var(--cream, #fbfaf5);
}
.gmo__footer a { color: inherit; text-decoration: none; transition: color .2s, opacity .2s; }
.gmo__footer a:hover { color: var(--gold-light, #e0c070); opacity: 1; }
.gmo__social { display: inline-flex; gap: 8px; }

/* Réseaux sociaux — masqué desktop (présent dans le footer du panneau droit) */
.gmo__social-mobile { display: none; }

/* ── Bouton hamburger (dans header Elementor) ────────── */
#genestine-menu-trigger {
  display: inline-flex; align-items: center; gap: 12px;
  background: transparent; border: 0; cursor: pointer; padding: 0;
  font-family: var(--sans-caps, 'Cormorant SC', serif);
  font-size:15px; letter-spacing: .3em; text-transform: uppercase;
  color: var(--ink, #1a1a1a);
}
#genestine-menu-trigger:hover { color: var(--gold-deep, #a88934); }
.gmt-lines { display: flex; flex-direction: column; gap: 5px; width: 22px; }
.gmt-lines span { display: block; height: 1px; background: currentColor; }

/* ── Header principal — centrage vertical + taille bouton ── */
.genestine-header.elementor-section { min-height: 84px; }
.genestine-header .elementor-container { min-height: 84px; }
.genestine-header .elementor-row {
  align-items: center !important;
  min-height: 84px;
}
.genestine-header .elementor-widget-wrap {
  justify-content: center !important;
  align-items: center !important;
}
.genestine-header .elementor-widget-image img {
  max-height: 75px !important;
  width: auto !important;
}

/* ── Burger : léger décalage vers le bas ── */
#genestine-menu-trigger { margin-top: 0; }

/* ── CTA group (dans header Elementor) ──────────────── */
.gh-cta-group { display: flex; align-items: center; gap: 20px; justify-content: flex-end; }

/* ── Bouton "Nos produits" dans le menu ──────────────── */
.gmo__produits-cta {
  display: none; /* masqué sur desktop (on a le bouton header) */
}

/* ── Mobile ──────────────────────────────────────────── */
@media (max-width: 900px) {
  .gmo { grid-template-columns: 1fr; }
  .gmo__panel--right { display: none; }
  .gmo__panel--left { padding: 40px 28px; }
  .gmo__section-title { font-size: 40px; }
  .gmo__feature-title { font-size: 44px; }
  /* Masquer le bouton "Nos produits" du header Elementor */
  .gh-cta-group { display: none !important; }
  /* Afficher le bouton "Nos produits" dans le burger */
  .gmo__produits-cta {
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 36px;
    padding: 16px 28px;
    background: rgba(201,168,76,.12);
    border: 1px solid rgba(201,168,76,.5);
    font-family: var(--sans-caps, 'Cormorant SC', serif);
    font-size:21px; letter-spacing: .32em; text-transform: uppercase;
    color: var(--gold-light, #e0c070); text-decoration: none;
    transition: background .2s, border-color .2s;
  }
  .gmo__produits-cta:hover {
    background: rgba(201,168,76,.22);
    border-color: rgba(201,168,76,.8);
    color: #fff;
  }
  /* Réseaux sociaux dans le burger (panneau droit masqué en mobile) */
  .gmo__social-mobile {
    display: flex; gap: 30px; margin-top: 40px; padding-top: 28px;
    border-top: 1px solid rgba(201,168,76,.18);
    font-family: var(--sans-caps, 'Cormorant SC', serif);
    font-size:20px; letter-spacing: .28em; text-transform: uppercase;
  }
  .gmo__social-mobile a { color: var(--gold-light, #e0c070); text-decoration: none; }
  .gmo__social-mobile a:hover { color: #fff; }
}
