/* ===== HubSpot Banner – Global (safe) ===== */
:root{
  --hs-banner-h: 64px;  /* mis à jour dynamiquement */
  --hs-gap: 0px;        /* 0 = aucun espace entre bannière et menu */
  --hdr-h: 72px;        /* mis à jour dynamiquement */
}

/* (A) Neutraliser les wrappers qui laissent un espace dans le flux */
[id^="hs-web-interactives-top-anchor"],
[id^="hs-web-interactives-bottom-anchor"],
[id^="hs-web-interactives-floating-container"]{
  display: block !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* (B) Forcer la vraie hauteur de l’iframe de bannière */
iframe[title="Popup CTA"],
iframe[aria-label="Popup CTA"],
[id^="hs-web-interactives-top-"] iframe{
  display: block !important;
  border: 0 !important;
  height: var(--hs-banner-h) !important;
  max-height: var(--hs-banner-h) !important;
  min-height: var(--hs-banner-h) !important;
}

/* (C) Bannière FIXE en haut uniquement quand elle est présente */
body.hsb-on iframe[title="Popup CTA"],
body.hsb-on iframe[aria-label="Popup CTA"],
body.hsb-on [id^="hs-web-interactives-top-"] iframe{
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 9999 !important;
}

/* (D) Pas de padding global quand la bannière est active */
body.hsb-on{ padding-top: 0 !important; }

/* (E) Header FIXE collé sous la bannière (on ne change pas sa taille) */
body.hsb-fix header.hsb-target,
body.hsb-fix .hsb-target{
  position: fixed !important;
  top: calc(var(--hs-banner-h) + var(--hs-gap)) !important;
  left: 0; right: 0; width: 100%;
  z-index: 9998 !important;
  margin-top: 0 !important;
  border-top: 0 !important;
}

/* (F) Spacer pour préserver la place du header dans le flux */
body.hsb-fix #hs-header-spacer{
  display: block;
  height: var(--hdr-h);
}
#hs-header-spacer{ display: none; }

/* (G) Si la bannière est fermée : header revient tout en haut */
body.hsb-nobanner header.hsb-target,
body.hsb-nobanner .hsb-target{
  top: 0 !important;
}
