/* v4.8 – placement des icônes uniquement, sans changer les autres sections. */
.qg-site .footer-brand-social { display:flex; align-items:center; gap:20px; min-width:0; }
.qg-site .footer-brand-social .footer-brand { flex:0 0 auto; min-width:0; }
.qg-site .qg-social-icons { display:flex; align-items:center; gap:13px; flex:0 0 auto; }
.qg-site .qg-social-icons a { display:inline-flex; width:32px; height:36px; align-items:center; justify-content:center; color:#fff; text-decoration:none; }
.qg-site .qg-social-icons svg { display:block; width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.qg-site .qg-social-icons a:hover,.qg-site .qg-social-icons a:focus-visible { color:#FF3D0D; }
.qg-site .qg-social-icons a:focus-visible { outline:2px solid #FF3D0D; outline-offset:3px; }
.qg-site .primary-nav .header-social-icons { margin-left:0; gap:9px; }
.qg-site .footer-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,.7fr) minmax(0,.9fr); gap:clamp(18px,2.5vw,42px); }
@media(max-width:1200px) and (min-width:1001px) {
  .qg-site .primary-nav { gap:12px; }
  .qg-site .primary-nav ul { gap:12px; }
  .qg-site .primary-nav .header-social-icons { gap:3px; }
}
@media(max-width:1000px) {
  .qg-site .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .qg-site .primary-nav .header-social-icons { margin:4px 0 8px; }
}
@media(max-width:620px) {
  .qg-site .footer-grid { grid-template-columns:1fr; }
  .qg-site .footer-brand-social { justify-content:flex-start; flex-wrap:wrap; }
}

/* v4.9 — restaurer la taille du logo rond et rapprocher les icônes.
   Le sélecteur v4.5 ciblait un ancien enfant direct du footer. */
@media (min-width:1001px) {
  .qg-site .footer-brand-social { display:flex; align-items:center; justify-content:flex-start; flex-wrap:nowrap; gap:20px; }
}
.qg-site .footer-brand-social > .footer-brand { flex:0 0 128px; width:128px; }
.qg-site .footer-brand-social > .footer-brand img.qg-logo-img {
  display:block; width:128px !important; max-width:100% !important;
  max-height:140px !important; height:auto !important; object-fit:contain !important;
  object-position:center center;
}
.qg-site .footer-brand-social > .footer-social-icons {
  display:flex; flex:0 0 auto; align-items:center; justify-content:flex-start;
  gap:12px; margin:0 !important;
}
@media(max-width:620px) {
  .qg-site .footer-brand-social { gap:18px; flex-wrap:nowrap; }
  .qg-site .footer-brand-social > .footer-brand { flex-basis:112px; width:112px; }
  .qg-site .footer-brand-social > .footer-brand img.qg-logo-img { width:112px !important; }
}

/* v5.0 — footer artwork and social icons: slightly larger, same placement. */
@media (min-width: 1001px) {
  .qg-site .footer-brand-social > .footer-brand { flex: 0 0 150px; width: 150px; }
  .qg-site .footer-brand-social > .footer-brand img.qg-logo-img {
    width: 150px !important; max-height: 165px !important;
  }
}
.qg-site .footer-brand-social > .footer-social-icons svg {
  width: 24px; height: 24px;
}

/* The fixed header must not let the hero text show through it while scrolling. */
.qg-site .site-header,
.qg-site .site-header.scrolled {
  background: #1b3036;
}
/* Keep the initial hero text below the desktop header, without recoloring it. */
@media (min-width: 1001px) {
  .qg-site .qg-founder-hero .hero-content { padding-top: max(155px, 112px); }
}
.qg-site .qg-founder-hero h1 span { color: #FF3D0D; }

/* v5.1 — mobile-only layout: icons between logo and menu, compact footer. */
.qg-site .qg-mobile-header-social { display:none; }
@media (max-width: 1000px) {
  .qg-site .header-inner { gap:clamp(7px,2vw,16px); }
  .qg-site .header-inner > .brand { min-width:0; flex:1 1 auto; }
  .qg-site .qg-mobile-header-social { display:flex; flex:0 0 auto; align-items:center; margin-left:auto; }
  .qg-site .qg-mobile-header-social .qg-social-icons { gap:clamp(2px,1vw,8px); }
  .qg-site .qg-mobile-header-social .qg-social-icons a { width:clamp(27px,7vw,35px); height:36px; }
  .qg-site .qg-mobile-header-social .qg-social-icons svg { width:clamp(19px,5vw,23px); height:clamp(19px,5vw,23px); }
  .qg-site .header-inner > .menu-toggle { flex:0 0 auto; }
  .qg-site .primary-nav .header-social-icons { display:none; }
}
@media (max-width: 620px) {
  .qg-site .site-footer { padding-top:38px; padding-bottom:16px; }
  .qg-site .footer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; row-gap:22px; }
  .qg-site .footer-grid > .footer-brand-social { grid-column:1 / -1; padding-bottom:12px; border-bottom:1px solid #ffffff30; }
  .qg-site .footer-grid > .footer-info { grid-column:1 / -1; padding-top:12px; border-top:1px solid #ffffff30; }
  .qg-site .footer-grid > div { min-width:0; }
  .qg-site .footer-grid strong { display:block; margin-bottom:9px; }
  .qg-site .footer-grid p { margin:0; }
  .qg-site .footer-legal-links { display:flex; flex-wrap:wrap; column-gap:14px; row-gap:7px; }
  .qg-site .footer-legal { margin-top:20px; padding-top:14px; padding-bottom:0; }
  .qg-site .footer-legal p { line-height:1.5; }
}
@media (max-width: 380px) {
  .qg-site .header-inner > .brand img { max-width:100%; }
  .qg-site .header-inner > .menu-toggle { padding:8px; }
  .qg-site .qg-mobile-header-social .qg-social-icons a { width:25px; }
}

/* v5.4.6 — smartphone in landscape: keep the navigation compact.
   Touch + short landscape viewport avoids changing desktop/tablet headers. */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1000px) and (pointer: coarse) {
  .qg-site .site-header .header-inner { height: 76px; gap: 12px; }
  .qg-site .site-header .header-inner > .brand { flex: 0 1 auto; max-width: min(46vw, 340px); margin-right: 0; }
  .qg-site .site-header .brand img.qg-logo-img {
    width: min(var(--qg-logo-desktop-width, 300px), 46vw) !important;
    max-width: 100% !important; max-height: none !important;
    height: auto !important; object-fit: contain;
  }
  .qg-site .qg-mobile-header-social { display: flex; margin-left: auto; }
  .qg-site .site-header .header-inner > .menu-toggle { display: block; margin-left: auto; }
  .qg-site .site-header .primary-nav {
    top: 76px; max-height: calc(100dvh - 76px); overflow-y: auto;
    padding-top: 16px; padding-bottom: 16px;
  }
  .qg-site .site-header .primary-nav .header-social-icons { display: flex; margin: 4px 0 8px; }
}
