/* BoHypnose – Canvas Header + Gap Fix */
:root{
  --bhH-bg:#eef1f5;
  --bhH-bg2:#e6eaf0;
  --bhH-line:rgba(15,23,42,.10);
  --bhH-ink:#0b1220;
  --bhH-card:#ffffff;
  --bhH-card2:#f7f8fb;
  --bhH-ctaBg:#0b1220;
  --bhH-ctaInk:#ffffff;
  --bhH-shadow:0 18px 55px rgba(2,6,23,.14);
  --bhH-max:1180px;
  --bhH-h:72px; /* set by JS */
}
html, body{ overflow-x:hidden; }
body{ margin:0 !important; }

/* Canvas pages: reserve space for fixed header */
body.elementor-template-canvas{ padding-top: var(--bhH-h) !important; }

/* Kill hidden header/spacers that create “gap” on some pages */
body.elementor-template-canvas .elementor-location-header,
body.elementor-template-canvas header.site-header,
body.elementor-template-canvas .site-header,
body.elementor-template-canvas .page-header,
body.elementor-template-canvas .header{ display:none !important; }

body.elementor-template-canvas .site,
body.elementor-template-canvas #page,
body.elementor-template-canvas #content,
body.elementor-template-canvas .site-content,
body.elementor-template-canvas .site-main,
body.elementor-template-canvas .entry-content{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.elementor-template-canvas .elementor-top-section:first-of-type{ margin-top:0 !important; }

/* ===== Sticky header styles ===== */
.bhH, .bhH *{ box-sizing:border-box; }
.bhH a{ text-decoration:none !important; }

.bhH{
  position: fixed !important;
  left:0 !important; right:0 !important; top:0 !important;
  z-index: 2147483647 !important;
  background: linear-gradient(180deg, var(--bhH-bg), var(--bhH-bg2)) !important;
  border-bottom: 1px solid var(--bhH-line) !important;
  box-shadow: 0 10px 28px rgba(2,6,23,.10) !important;
}
.bhH__in{
  max-width: var(--bhH-max);
  margin:0 auto;
  padding:12px 16px;
  display:flex; align-items:center; gap:14px;
}
.bhH__brand{ display:flex; align-items:center; gap:10px; color: var(--bhH-ink) !important; white-space:nowrap; }
.bhH__logoSvg{ width:34px; height:34px; flex:0 0 auto; border-radius:999px; box-shadow: 0 0 0 6px rgba(47,111,237,.14); }
.bhH__brandText{ display:flex; flex-direction:column; line-height:1.05; }
.bhH__brandName{ font:950 15px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial; letter-spacing:-.01em; color: var(--bhH-ink); }
.bhH__brandTag{ margin-top:3px; font:700 12px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial; color: rgba(15,23,42,.62); }

.bhH__links{ margin-left:auto; display:flex; align-items:center; gap:8px; }
.bhH__link{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 12px; border-radius:999px;
  color: rgba(15,23,42,.86) !important;
  font:850 14px/1.05 system-ui,-apple-system,Segoe UI,Roboto,Arial;
  border:1px solid transparent; background:transparent;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
  white-space:nowrap;
}
.bhH__link:hover{ background: rgba(255,255,255,.75); border-color: rgba(15,23,42,.08); transform: translateY(-1px); }

.bhH__cta{
  display:inline-flex; align-items:center; gap:10px;
  padding:11px 14px; border-radius:999px;
  background: var(--bhH-ctaBg); color: var(--bhH-ctaInk) !important;
  font:950 14px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial;
  box-shadow: 0 14px 28px rgba(2,6,23,.18);
  transition: transform .12s ease, filter .12s ease;
  white-space:nowrap;
}
.bhH__cta:hover{ transform: translateY(-1px); filter: brightness(1.03); }

.bhH__dd{ position:relative; }
.bhH__panel{
  position:absolute; top: calc(100% + 10px); left:50%;
  transform: translateX(-50%) translateY(6px);
  width: min(600px, calc(100vw - 24px));
  background: var(--bhH-card) !important;
  border: 1px solid rgba(15,23,42,.10);
  border-radius:20px; box-shadow: var(--bhH-shadow);
  overflow:hidden; opacity:0; pointer-events:none;
  transition: opacity .16s ease, transform .16s ease;
  z-index: 2147483647;
}
.bhH__dd::after{ content:""; position:absolute; left:-60px; right:-60px; top:100%; height:34px; }
@media (min-width:921px){
  .bhH__dd:hover .bhH__panel,
  .bhH__dd:focus-within .bhH__panel{
    opacity:1; pointer-events:auto; transform: translateX(-50%) translateY(0);
  }
}
.bhH__panelIn{ display:grid; grid-template-columns: 1fr 1fr; }
.bhH__col{ padding:14px; }
.bhH__col + .bhH__col{ border-left: 1px solid rgba(15,23,42,.08); background: var(--bhH-card2); }
.bhH__head{ margin:0 0 10px; font:950 12px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial; letter-spacing:.10em; text-transform:uppercase; color: rgba(15,23,42,.62); }
.bhH__item{
  display:flex; gap:10px; padding:11px 12px;
  border-radius:14px; border:1px solid transparent;
  color: rgba(15,23,42,.92) !important;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.bhH__item:hover{ background: rgba(15,23,42,.04); border-color: rgba(15,23,42,.06); transform: translateY(-1px); }
.bhH__item b{ display:block; font:950 13px/1.25 system-ui,-apple-system,Segoe UI,Roboto,Arial; }
.bhH__item small{ display:block; margin-top:3px; font:650 12px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Arial; color: rgba(15,23,42,.64); }

.bhH__burger{
  display:none; margin-left:auto;
  border:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.75);
  border-radius:12px; padding:10px 12px;
  cursor:pointer; color: var(--bhH-ink);
  font:950 14px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial;
}
@media (max-width:920px){
  .bhH__links{ display:none; }
  .bhH__burger{ display:inline-flex; align-items:center; gap:10px; }
  .bhH__panel{ display:none !important; }
}
.bhH__drawer{ display:none; border-top:1px solid rgba(15,23,42,.10); background: linear-gradient(180deg,#fff,#f7f8fb) !important; }
.bhH__drawer.is-open{ display:block; }
.bhH__drawerIn{ max-width: var(--bhH-max); margin:0 auto; padding:12px 16px 16px; display:grid; gap:10px; }
.bhH__dItem{
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 12px; border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.92);
  font:950 14px/1.1 system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color: rgba(15,23,42,.92) !important;
}
.bhH__dCta{ background: var(--bhH-ctaBg) !important; border:1px solid rgba(11,18,32,.10) !important; color:#fff !important; }
