/* GVS+ — « pages uniquement » : plus de fenêtre ni de bouton X.
   Chaque fenêtre devient une page plein écran ; toutes les pages ont le bouton rouge de retour
   (même action que la touche retour du téléphone). */

/* ---- bouton rouge de retour ---- */
#gvsPageBack{position:absolute;top:calc(env(safe-area-inset-top,0px) + 7px);left:10px;z-index:2147483647;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;display:none;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
#gvsPageBack img{width:36px;height:36px;display:block;object-fit:contain;border-radius:50%;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(227,18,11,.35))}
#gvsPageBack:active{transform:scale(.93)}
#gvsPageBack:focus-visible{outline:3px solid rgba(229,32,47,.35);outline-offset:2px}
body.gvs-pb-on #gvsPageBack{display:flex}
body.gvs-pl-open #gvsPageBack{position:fixed}

/* espace réservé en haut des pages (sous le bouton) */
body.gvs-pb-page .page.active{padding-top:calc(env(safe-area-inset-top,0px) + 58px)!important;box-sizing:border-box}

/* ---- X des fenêtres : supprimés ---- */
.gvs-pl-x{display:none!important}

/* ---- fenêtre → page plein écran ---- */
.gvs-pl:not(.gvs-pl-media){
  position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  margin:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;
  box-sizing:border-box!important;
  padding:0!important;
  background:var(--gvs-pl-bg,#fff)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
  overflow:hidden!important;
}
.gvs-pl:not(.gvs-pl-media)::before{content:""!important;display:block!important;flex:0 0 calc(env(safe-area-inset-top,0px) + 58px)!important;height:calc(env(safe-area-inset-top,0px) + 58px)!important;width:100%!important;background:var(--gvs-pl-bg,#fff)!important}
.gvs-pl:not(.gvs-pl-media) [class*="backdrop"]{display:none!important}
.gvs-pl:not(.gvs-pl-media)>:not([class*="backdrop"]):not(script):not(style){
  flex:1 1 auto!important;min-height:0!important;width:100%!important;max-width:none!important;
  height:auto!important;max-height:none!important;margin:0!important;border-radius:0!important;
  box-shadow:none!important;border:0!important;box-sizing:border-box!important;
  overflow-x:hidden!important;overflow-y:auto!important;transform:none!important;
  -webkit-overflow-scrolling:touch;
}
/* cas particuliers */
.gvs-pl.gvs-apps-modal>.gvs-apps-panel{padding-top:6px!important}
.gvs-pl.gvs-ai-modal>.gvs-ai-shell{overflow:hidden!important;display:flex!important;flex-direction:column!important}
.gvs-pl.gvs-ai-modal .gvs-ai-frame{flex:1 1 auto!important;min-height:0!important;height:auto!important}
.gvs-pl.gvs-cv-modal>.gvs-cv-panel{overflow:hidden!important}
.gvs-pl.gvs-pc-modal>.gvs-pc-modal-panel{overflow:hidden!important}
.gvs-pl .gvs-pc-modal-back,.gvs-pl #gvsPeerModalBack{display:none!important}
.gvs-pl .gvs-hor-panel,.gvs-pl .gvs-hor-body{max-height:none!important}

/* ---- discussions : la flèche « ‹ » devient le même bouton rouge de retour ---- */
html body .gvs-wa-back{font-size:0!important;line-height:0!important;color:transparent!important;width:40px!important;height:40px!important;min-width:40px!important;flex:0 0 40px!important;padding:0!important;border:0!important;border-radius:50%!important;background:url("icons/retour-rouge.svg") center/36px 36px no-repeat!important;filter:drop-shadow(0 2px 3px rgba(227,18,11,.35))}
html body .gvs-wa-back:active{transform:scale(.93)}
/* v4.24 : dans TOUTES les discussions, le bouton rouge est seul en haut (même place que sur les autres pages), au-dessus du profil */
html body .gvs-wa-chat-head:not(.gvs-wa-chat-head-clean){position:relative!important;padding-top:56px!important}
html body .gvs-wa-chat-head .gvs-wa-back{position:absolute!important;top:7px!important;left:10px!important;margin:0!important;width:44px!important;height:44px!important;min-width:44px!important;flex:none!important;background-size:36px 36px!important;z-index:5!important}

/* v4.4 — fenêtres ouvertes depuis la barre du bas (Paramètres, Tous les membres…) :
   la barre du haut (bouton rouge, #gvsHubTabs) est déjà affichée et la fenêtre commence juste dessous.
   La cale blanche de 58 px (+ 8 px d'écart) n'a plus lieu d'être : elle cachait le début du contenu
   et laissait un grand vide. Le contenu défile maintenant seulement derrière le bandeau du bouton de retour,
   et s'arrête net au-dessus de la barre du bas. */
body.gvs-hubtabs-on .gvs-pl:not(.gvs-pl-media){gap:0!important}
body.gvs-hubtabs-on .gvs-pl:not(.gvs-pl-media)::before{display:none!important;content:none!important;height:0!important;flex:0 0 0!important}
/* « Tous les membres GVS+ » : bandeau réseau/batterie et horloge vides = espace perdu en haut */
body.gvs-hubtabs-on #gvsPeerLargeModal #gvsPcSiteStatus,
body.gvs-hubtabs-on #gvsPeerLargeModal #gvsPcSiteClock:empty{display:none!important}
body.gvs-hubtabs-on #gvsPeerLargeModal .gvs-pc-modal-head{padding-top:12px!important}

/* v4.27 — discussions : barre blanche en haut avec le bouton retour rouge seul + ligne de séparation ; ligne photo/nom/icônes en dessous */
html body #gvsWaUserChat .gvs-wa-chat-head,html body #gvsWaAdminChat .gvs-wa-chat-head{padding-top:62px!important;position:fixed!important}
html body #gvsWaUserChat .gvs-wa-chat-head::before,html body #gvsWaAdminChat .gvs-wa-chat-head::before{content:""!important;position:absolute!important;top:0!important;left:0!important;right:0!important;height:56px!important;background:#fff!important;border-bottom:1px solid #d6e4f5!important;z-index:4!important;pointer-events:none!important}
html body.dark #gvsWaUserChat .gvs-wa-chat-head::before,html body.dark #gvsWaAdminChat .gvs-wa-chat-head::before{background:#0B1020!important;border-bottom-color:#22304f!important}
html body #gvsWaUserChat .gvs-wa-chat-head .gvs-wa-back,html body #gvsWaAdminChat .gvs-wa-chat-head .gvs-wa-back{position:absolute!important;top:8px!important;left:12px!important;margin:0!important;width:40px!important;height:40px!important;min-width:40px!important;flex:none!important;background-size:36px 36px!important;z-index:6!important}

/* v4.28 — le bouton rouge était décalé car la grille le plaçait sous le haut du bandeau ; bandeau toujours au-dessus du contenu (couverture du membre) */
html body #gvsWaUserChat .gvs-wa-chat-head .gvs-wa-back,html body #gvsWaAdminChat .gvs-wa-chat-head .gvs-wa-back{grid-column:auto!important;grid-row:auto!important;inset:8px auto auto 12px!important;align-self:auto!important;justify-self:auto!important}
html body #gvsWaUserChat .gvs-wa-chat-head,html body #gvsWaAdminChat .gvs-wa-chat-head{z-index:2147483000!important;background:#fff!important;isolation:isolate}
html body.dark #gvsWaUserChat .gvs-wa-chat-head,html body.dark #gvsWaAdminChat .gvs-wa-chat-head{background:#0B1020!important}

/* v4.29 — bandeau fixe complet : la hauteur englobe la barre du bouton ET la ligne photo/nom/appel/caméra/thème/menu, fond opaque, les messages défilent dessous */
html body.gvs-wa-user-chat-open #gvsWaUserChat .gvs-wa-chat-head,html body.gvs-wa-admin-chat-open #gvsWaAdminChat .gvs-wa-chat-head,html body #gvsWaUserChat .gvs-wa-chat-head,html body #gvsWaAdminChat .gvs-wa-chat-head{height:auto!important;min-height:118px!important;flex:none!important;box-sizing:border-box!important;padding-bottom:8px!important;overflow:visible!important}

/* v4.31 — MODE SOMBRE des discussions : fond/carte sombres, textes clairs, bulles de messages et vocaux bien visibles */
html body.dark #gvsWaUserChat#gvsWaUserChat .gvs-wa-chat-thread,html body.dark #gvsWaAdminChat#gvsWaAdminChat .gvs-wa-chat-thread{background:#0B1020!important;background-color:#0B1020!important;background-image:none!important}
html body.dark #gvsWaUserChat .gvs-wa-chat-thread::before,html body.dark #gvsWaUserChat .gvs-wa-chat-thread::after,html body.dark #gvsWaAdminChat .gvs-wa-chat-thread::before,html body.dark #gvsWaAdminChat .gvs-wa-chat-thread::after{background:none!important;opacity:0!important}
html body.dark #gvsWaUserChat .gvs-wa-private-intro,html body.dark #gvsWaAdminChat .gvs-wa-private-intro,html body.dark #gvsWaUserChat .gvs-wa-empty,html body.dark #gvsWaAdminChat .gvs-wa-empty,html body.dark #gvsWaUserChat .gvs-wa-group-intro,html body.dark #gvsWaAdminChat .gvs-wa-group-intro{background:#0B1020!important;background-color:#0B1020!important;color:#cfd8e6!important;opacity:1!important}
html body.dark #gvsWaUserChat .gvs-wa-private-intro-name,html body.dark #gvsWaAdminChat .gvs-wa-private-intro-name,html body.dark #gvsWaUserChat .gvs-wa-group-intro-title,html body.dark #gvsWaAdminChat .gvs-wa-group-intro-title{color:#f2f5fa!important}
html body.dark #gvsWaUserChat .gvs-wa-private-intro-sub:not(.is-friend),html body.dark #gvsWaAdminChat .gvs-wa-private-intro-sub:not(.is-friend),html body.dark #gvsWaUserChat .gvs-wa-group-intro-sub,html body.dark #gvsWaAdminChat .gvs-wa-group-intro-sub,html body.dark #gvsWaUserChat .gvs-wa-empty,html body.dark #gvsWaAdminChat .gvs-wa-empty{color:#aeb9cc!important}
html body.dark #gvsWaUserChat .gvs-wa-private-intro-sub.is-friend,html body.dark #gvsWaAdminChat .gvs-wa-private-intro-sub.is-friend{color:#7ee8a8!important}
html body.dark #gvsWaUserChat .gvs-wa-chat-thread .gvs-wa-msg.gvs-wa-other:not(.emoji-only) .gvs-wa-text,html body.dark #gvsWaAdminChat .gvs-wa-chat-thread .gvs-wa-msg.gvs-wa-other:not(.emoji-only) .gvs-wa-text,html body.dark #gvsWaUserChat .gvs-wa-chat-thread .gvs-wa-msg.is-voice.gvs-wa-other .gvs-wa-voice,html body.dark #gvsWaAdminChat .gvs-wa-chat-thread .gvs-wa-msg.is-voice.gvs-wa-other .gvs-wa-voice{background:#222b44!important;background-color:#222b44!important;color:#f2f5fa!important;box-shadow:0 0 0 1px #34405f!important}
html body.dark #gvsWaUserChat .gvs-wa-chat-thread .gvs-wa-msg.gvs-wa-own:not(.emoji-only) .gvs-wa-text,html body.dark #gvsWaAdminChat .gvs-wa-chat-thread .gvs-wa-msg.gvs-wa-own:not(.emoji-only) .gvs-wa-text,html body.dark #gvsWaUserChat .gvs-wa-chat-thread .gvs-wa-msg.is-voice.gvs-wa-own .gvs-wa-voice,html body.dark #gvsWaAdminChat .gvs-wa-chat-thread .gvs-wa-msg.is-voice.gvs-wa-own .gvs-wa-voice{background:#2f6fed!important;background-color:#2f6fed!important;color:#fff!important}
html body.dark #gvsWaUserChat .gvs-wa-chat-thread .gvs-wa-msg .gvs-wa-time,html body.dark #gvsWaAdminChat .gvs-wa-chat-thread .gvs-wa-msg .gvs-wa-time,html body.dark #gvsWaUserChat .gvs-wa-chat-thread .gvs-wa-msg small,html body.dark #gvsWaAdminChat .gvs-wa-chat-thread .gvs-wa-msg small{color:#c4cee0!important}
html body.dark #gvsWaUserChat .gvs-wa-chat-thread .gvs-wa-msg .gvs-wa-voice *,html body.dark #gvsWaAdminChat .gvs-wa-chat-thread .gvs-wa-msg .gvs-wa-voice *{color:inherit!important}

/* v4.32 — le bouton retour est aligné pile au-dessus de la photo de profil du bandeau (même axe vertical) */
html body #gvsWaUserChat .gvs-wa-chat-head .gvs-wa-back,html body #gvsWaAdminChat .gvs-wa-chat-head .gvs-wa-back{inset:8px auto auto 22px!important;width:42px!important;height:42px!important;min-width:42px!important;background-size:38px 38px!important}

/* v4.34 — MODE SOMBRE : numéros « Contactez moi au(x) » gardent l'aspect clair (lisible) */
html body.dark #gvsMsgContact .contact-phone{background:#eef4ff!important;border:1px solid #cfe0ff!important;color:#0a5cff!important}
html body.dark #gvsMsgContact .contact-phone,html body.dark #gvsMsgContact .contact-phone *{text-decoration:none!important;text-shadow:none!important;-webkit-text-stroke:0!important;filter:none!important}
html body.dark #gvsMsgContact .contact-phone .cp-num{color:#0a5cff!important}
html body.dark #gvsMsgContact .contact-phone .cp-note{color:#1f9d45!important}
html body.dark #gvsMsgContact .contact-phone .cp-net{color:#fff!important;background:#0a6bd6!important}
html body.dark #gvsMsgContact .contact-phone.cp-mtn .cp-net{background:#ffcc00!important;color:#1a1a1a!important}
html body.dark #gvsMsgContact .contact-phone.cp-moov .cp-net{background:#0a6bd6!important;color:#fff!important}
html body.dark #gvsMsgContact .contact-phone.cp-celtiis .cp-net{background:#0f9d58!important;color:#fff!important}
html body.dark #gvsMsgContact .contact-phone .cp-call{color:#fff!important}

/* v4.35 — noms MTN / MOOV / CELTIIS : texte et fond imposés (lisibles en mode sombre) */
html body.dark #gvsMsgContact#gvsMsgContact .contact-phone .cp-net,html body #gvsMsgContact#gvsMsgContact .contact-phone .cp-net{font-weight:800!important;opacity:1!important;text-decoration:none!important;text-shadow:none!important;-webkit-text-stroke:0!important;mix-blend-mode:normal!important;background-image:none!important}
html body.dark #gvsMsgContact#gvsMsgContact .contact-phone.cp-mtn .cp-net{background-color:#ffcc00!important;color:#111!important;-webkit-text-fill-color:#111!important}
html body.dark #gvsMsgContact#gvsMsgContact .contact-phone.cp-moov .cp-net{background-color:#0a4fb8!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body.dark #gvsMsgContact#gvsMsgContact .contact-phone.cp-celtiis .cp-net{background-color:#0b7a43!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body.dark #gvsMsgContact#gvsMsgContact .contact-phone .cp-num{-webkit-text-fill-color:#0a5cff!important}
html body.dark #gvsMsgContact#gvsMsgContact .contact-phone .cp-note{-webkit-text-fill-color:#1f8a3c!important}

/* v4.39 — DISCUSSIONS : plus de bouton retour rouge ni de barre blanche en haut.
   Un simple chevron « ‹ » (comme Facebook) est placé à gauche de la photo de profil, dans la même ligne que photo / nom / appel / caméra / thème / menu. */
html body #gvsWaUserChat .gvs-wa-chat-head::before,html body #gvsWaAdminChat .gvs-wa-chat-head::before{display:none!important;content:none!important}
html body #gvsWaUserChat .gvs-wa-chat-head,html body #gvsWaAdminChat .gvs-wa-chat-head,
html body.gvs-wa-user-chat-open #gvsWaUserChat .gvs-wa-chat-head,html body.gvs-wa-admin-chat-open #gvsWaAdminChat .gvs-wa-chat-head{
  padding-top:8px!important;padding-bottom:8px!important;padding-left:6px!important;min-height:64px!important;border-bottom:1px solid #d6e4f5!important}
html body.dark #gvsWaUserChat .gvs-wa-chat-head,html body.dark #gvsWaAdminChat .gvs-wa-chat-head{border-bottom-color:#22304f!important}
html body #gvsWaUserChat .gvs-wa-chat-head .gvs-wa-back,html body #gvsWaAdminChat .gvs-wa-chat-head .gvs-wa-back{
  position:static!important;inset:auto!important;top:auto!important;left:auto!important;margin:0!important;
  grid-column:1!important;grid-row:1 / span 2!important;align-self:center!important;justify-self:center!important;
  width:34px!important;height:44px!important;min-width:34px!important;flex:0 0 34px!important;z-index:6!important;
  border-radius:0!important;filter:none!important;box-shadow:none!important;
  background:#111!important;background-image:none!important;
  -webkit-mask:url("icons/retour-chevron.svg") center/30px 30px no-repeat;mask:url("icons/retour-chevron.svg") center/30px 30px no-repeat}
html body.dark #gvsWaUserChat .gvs-wa-chat-head .gvs-wa-back,html body.dark #gvsWaAdminChat .gvs-wa-chat-head .gvs-wa-back{background:#f2f5fa!important}

/* v4.39 — bouton violet « Groupe d'accueil » : texte et icône blancs, bien lisibles */
html body #socialContact a.social,html body #socialContact a.social *,html body a.social.icon-label,html body a.social.icon-label *{
  color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important;-webkit-text-stroke:0!important;text-decoration:none!important;opacity:1!important;font-weight:700!important}
html body #socialContact a.social svg,html body a.social.icon-label svg{color:#fff!important;stroke:#fff!important}

/* v4.39 — TOUS les titres de pages : grands caractères, majuscules */
html body :is(.page,.gvs-pl) :is(.section-title,.profile-general-title) h2,
html body #gvsHubList .gvs-hl-title,html body #gvsHubList .gvs-hl-title :is(h1,h2,span,strong),
html body .gvs-insc-title h2{
  text-transform:uppercase!important;font-size:clamp(20px,6vw,26px)!important;font-weight:800!important;letter-spacing:.4px!important;line-height:1.2!important;overflow-wrap:anywhere}
html body .gvs-insc-title{display:flex;justify-content:center;text-align:center;margin:4px 0 12px!important}

/* v4.40 — accueil : « Actualités » et « Défiler les pages de navigation » plus petits, sur UNE seule ligne (pas de retour à la ligne) */
html body #home .section-title :is(.gvs-news-title,h2),html body #home :is(.gvs-news-title,.gvs-nav-pages-title) h2{
  font-size:clamp(11px,3.7vw,16px)!important;font-weight:800!important;letter-spacing:.2px!important;white-space:nowrap!important;overflow-wrap:normal!important;line-height:1.2!important}
html body #home :is(.gvs-news-title,.gvs-nav-pages-title){justify-content:center!important;text-align:center!important;flex-wrap:nowrap!important}

/* v4.40 — mode sombre : bloc « Contactez moi » identique au mode clair (bouton violet, MTN/MOOV/CELTIIS, textes verts) */
html body.dark #gvsMsgContact .contact-phone .cp-call svg{stroke:#fff!important;color:#fff!important}

/* v4.41 — publications : la photo de profil est cliquable (ouvre la discussion du membre) */
html body .gvs-st-av[data-act="chat-with"]{cursor:pointer;-webkit-tap-highlight-color:transparent}
html body .gvs-st-av[data-act="chat-with"]:active{transform:scale(.94)}

/* v4.41 — pages Mon CV, Mes lettres, Mon horoscope, Applications GVS+… : titre centré, grands caractères, majuscules */
html body :is(.gvs-cv-head,.gvs-hor-head,.gvs-apps-head){justify-content:center!important;text-align:center!important}
html body :is(.gvs-cv-head,.gvs-hor-head,.gvs-apps-head) h2{
  flex:1 1 auto!important;text-align:center!important;text-transform:uppercase!important;
  font-size:clamp(20px,6vw,26px)!important;font-weight:800!important;letter-spacing:.4px!important;line-height:1.2!important}
html body :is(.gvs-cv-head,.gvs-hor-head,.gvs-apps-head) :is(.gvs-cv-close,.gvs-hor-close,.gvs-apps-close){flex:0 0 auto}

/* v4.42 — titres de pages : toujours sur UNE seule ligne (la taille est réduite automatiquement si le titre est long, voir gvs-pages-only.js) */
html body :is(.page,.gvs-pl) :is(.section-title,.profile-general-title) h2,
html body #gvsHubList .gvs-hl-title,
html body :is(.gvs-cv-head,.gvs-hor-head,.gvs-apps-head,.gvs-insc-title) h2{white-space:nowrap!important;overflow-wrap:normal!important}
html body .gvs-po-who[data-act="chat-with"]{cursor:pointer}
