/* V2 shared components. No scroll-dependent header colours or icon fonts. */
.geiq56-v2-socials {
  --social-ink:#252936;
  --social-muted:#505967;
  --social-rule:#d9d8dc;
  display:grid;
  gap:16px;
  color:var(--social-ink);
  text-align:left;
}
html[data-theme="dark"] .geiq56-v2-socials {
  --social-ink:#f2eff4;
  --social-muted:#c5becb;
  --social-rule:#403b46;
}
.geiq56-v2-socials .geiq56-v2-socials__title {
  margin:0 0 5px;
  font:600 12px/1.5 var(--font-body,Inter,system-ui,sans-serif);
  color:var(--social-muted);
}
.geiq56-v2-socials__name {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
/* Match the established 20px optical height of the word Geiq in the footer.
   The longer Multisectoriel name keeps its natural width rather than shrinking. */
.geiq56-v2-socials .geiq56-v2-socials__brand {
  --social-brand-unit:20px;
  display:block;
  width:max-content;
  max-width:100%;
  line-height:1;
}
.geiq56-v2-socials .geiq56-v2-socials__brand-light {
  display:block;
  width:auto;
  height:calc(var(--social-brand-unit) * 1.415);
  max-width:100%;
  max-height:none;
  object-fit:contain;
}
.geiq56-v2-socials .geiq56-v2-socials__brand--btp .geiq56-v2-socials__brand-light {
  height:calc(var(--social-brand-unit) * 1.409449);
}
.geiq56-v2-socials .geiq56-v2-socials__brand-dark { display:none; }
html[data-theme="dark"] .geiq56-v2-socials .geiq56-v2-socials__brand-light { display:none; }
html[data-theme="dark"] .geiq56-v2-socials .geiq56-v2-socials__brand-dark {
  position:relative;
  display:block;
  width:calc(var(--social-brand-unit) * 1.415761 * var(--logo-ratio));
  height:calc(var(--social-brand-unit) * 1.415761);
  max-width:100%;
  overflow:hidden;
}
html[data-theme="dark"] .geiq56-v2-socials .geiq56-v2-socials__brand-dark img {
  position:absolute;
  display:block;
  width:var(--logo-source-width);
  max-width:none;
  height:auto;
  left:var(--logo-source-left);
  top:var(--logo-source-top);
  border:0;
  background:transparent;
}
.geiq56-v2-socials__links { display:flex; flex-wrap:wrap; gap:4px 16px; }
.geiq56-v2-socials a {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:0;
  color:var(--social-ink);
  text-decoration:none;
  font:500 13px/1.5 var(--font-body,Inter,system-ui,sans-serif);
}
.geiq56-v2-socials a svg { flex:none; width:18px; height:18px; }
.geiq56-v2-socials a:hover { text-decoration:underline; text-underline-offset:4px; }
.geiq56-v2-socials a:focus-visible,
.geiq56-v2-social-menu > summary:focus-visible { outline:2px solid currentColor; outline-offset:4px; border-radius:3px; }
.geiq56-v2-socials__legacy { border-top:1px solid var(--social-rule); padding-top:4px; }
.geiq56-v2-social-menu { position:relative; }
.geiq56-v2-social-menu > summary {
  cursor:pointer;
  display:flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 14px;
  border:1px solid rgb(227 0 67 / 14%);
  border-radius:999px;
  background:rgb(227 0 67 / 4%);
  list-style:none;
  white-space:nowrap;
  color:inherit;
  font:600 13px/1.5 var(--font-body,Inter,system-ui,sans-serif);
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.geiq56-v2-social-menu > summary::-webkit-details-marker { display:none; }
.geiq56-v2-social-menu > summary::marker { content:""; }
.geiq56-v2-social-menu > summary:hover,
.geiq56-v2-social-menu[open] > summary {
  border-color:rgb(227 0 67 / 32%);
  background:rgb(227 0 67 / 9%);
  color:#ba0038;
  box-shadow:0 4px 14px rgb(155 0 43 / 8%);
}
.geiq56-v2-social-menu__networks {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding-left:12px;
  border-left:1px solid rgb(227 0 67 / 20%);
  color:#ba0038;
}
.geiq56-v2-social-menu__networks svg { width:14px; height:14px; flex:none; }
html[data-theme="dark"] .geiq56-v2-social-menu > summary {
  border-color:rgb(255 115 154 / 25%);
  background:rgb(255 115 154 / 6%);
}
html[data-theme="dark"] .geiq56-v2-social-menu > summary:hover,
html[data-theme="dark"] .geiq56-v2-social-menu[open] > summary {
  color:#ff9db9;
  border-color:rgb(255 115 154 / 50%);
  background:rgb(255 115 154 / 12%);
}
html[data-theme="dark"] .geiq56-v2-social-menu__networks {
  color:#ff9db9;
  border-color:rgb(255 115 154 / 28%);
}
.geiq56-v2-social-menu > .geiq56-v2-socials {
  position:absolute;
  z-index:5;
  top:calc(100% + 12px);
  right:0;
  width:280px;
  max-width:calc(100vw - 32px);
  padding:20px;
  background:#faf9f7;
  border:1px solid var(--social-rule);
  border-radius:12px;
  box-shadow:0 12px 32px rgb(0 0 0 / 12%);
}
html[data-theme="dark"] .geiq56-v2-social-menu > .geiq56-v2-socials { background:#151318; }
/* Compact only the two menu surfaces. The footer keeps its editorial layout. */
.geiq56-v2-social-menu > .geiq56-v2-socials { gap:0; }
.geiq56-v2-social-menu .geiq56-v2-socials__entity {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:52px;
  padding:3px 0;
}
.geiq56-v2-social-menu .geiq56-v2-socials__entity + .geiq56-v2-socials__entity { border-top:1px solid var(--social-rule); }
.geiq56-v2-social-menu .geiq56-v2-socials__title { margin:0; min-width:0; }
.geiq56-v2-social-menu .geiq56-v2-socials__links { flex-wrap:nowrap; gap:0; }
.geiq56-v2-social-menu .geiq56-v2-socials__links a,
.geiq56-v2-social-menu .geiq56-v2-socials__legacy a {
  display:grid;
  place-items:center;
  flex:none;
  width:44px;
  height:44px;
  min-height:44px;
  border-radius:50%;
}
.geiq56-v2-social-menu .geiq56-v2-socials__links a:hover,
.geiq56-v2-social-menu .geiq56-v2-socials__legacy a:hover { background:rgb(227 0 67 / 9%); text-decoration:none; }
.geiq56-v2-social-menu .geiq56-v2-socials__links a > span,
.geiq56-v2-social-menu .geiq56-v2-socials__legacy a > span {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.geiq56-v2-social-menu .geiq56-v2-socials__legacy {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  padding-top:4px;
  font-size:12px;
  color:var(--social-muted);
}
.geiq56-v2-social-menu .geiq56-v2-socials__legacy-label { color:var(--social-muted); font-size:12px; }
.site-header__right > .geiq56-v2-social-menu > .geiq56-v2-socials { width:280px; padding:12px; }
/* The existing WordPress drawer remains scrollable if users expand both menus,
   while the ordinary collapsed state leaves every main navigation link visible. */
body .site-header__inner .geiq56-burger-nav__socials:has(.geiq56-v2-social-menu--drawer) {
  display:block !important;
  padding:4px 16px 12px !important;
}
.geiq56-burger-nav__socials .geiq56-v2-social-menu--drawer { width:100%; }
.geiq56-burger-nav__socials .geiq56-v2-social-menu--drawer > summary {
  justify-content:flex-start;
  min-height:44px;
  padding:0 12px;
  border:0;
  border-radius:12px;
  background:transparent;
  box-shadow:none;
  font-size:14px;
}
.geiq56-burger-nav__socials .geiq56-v2-social-menu--drawer > summary:hover,
.geiq56-burger-nav__socials .geiq56-v2-social-menu--drawer[open] > summary {
  background:rgb(227 0 67 / 7%);
  box-shadow:none;
}
.geiq56-v2-social-menu--drawer .geiq56-v2-social-menu__signpost { display:grid; place-items:center; width:18px; height:18px; color:#b40037; }
.geiq56-v2-social-menu--drawer .geiq56-v2-social-menu__signpost svg { width:18px; height:18px; }
.geiq56-v2-social-menu--drawer .geiq56-v2-social-menu__chevron {
  width:9px;
  height:9px;
  margin-left:auto;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  transition:transform .2s ease;
}
.geiq56-v2-social-menu--drawer[open] .geiq56-v2-social-menu__chevron { transform:rotate(225deg); }
.geiq56-burger-nav__socials .geiq56-v2-social-menu--drawer > .geiq56-v2-socials {
  position:static;
  width:100%;
  max-width:none;
  padding:5px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html[data-theme="dark"] .geiq56-burger-nav__socials .geiq56-v2-social-menu--drawer > .geiq56-v2-socials { background:transparent; }
html[data-theme="dark"] .geiq56-v2-social-menu--drawer .geiq56-v2-social-menu__signpost { color:#ff9db9; }
@media (prefers-reduced-motion:reduce) {
  .geiq56-v2-social-menu--drawer .geiq56-v2-social-menu__chevron { transition:none; }
}
@media (min-width:701px) {
  /* The old compact capsule capped at 620px, assuming two bare social icons.
     Reserve the unbroken brand signature before adding the wider disclosure;
     keep the original logo, height and scroll transition entirely unchanged. */
  .site-header .site-header__inner.wp-block-group:has(> .site-header__right > .geiq56-v2-social-menu) {
    min-width:min(680px,100%);
    column-gap:20px !important;
  }
  .site-header__inner > .site-logo-wrap,
  .site-header__right > .geiq56-v2-social-menu { flex-shrink:0 !important; }
}
@media (prefers-reduced-motion:reduce) {
  .geiq56-v2-social-menu > summary { transition:none; }
}
/* WP's items-justified-right means flex-end. In this vertical, scrollable
   list it clips the logo above the scroll origin when V2 socials need room.
   Keep only the root list top-aligned; its existing scroll remains intact. */
html body[class] .site-header__inner .geiq56-burger-nav .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
  justify-content:flex-start !important;
}
html body[class] .geiq56-burger-nav .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content,
html body[class] .geiq56-burger-nav .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content .wp-block-navigation-item__label {
  font-weight:600 !important;
  text-decoration:underline;
  text-underline-offset:5px;
}
html body[class] .geiq56-burger-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
  box-shadow:inset 3px 0 0 currentColor;
}
html[data-theme="dark"] body[class] .geiq56-burger-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content { color:#ff739a !important; }
@media (max-width:700px) {
  /* Full entity links remain in the mobile drawer and footer. */
  .site-header__right > .geiq56-v2-social-menu { display:none; }
}
