:root {
  --color-primary: #008dab;
  --color-secondary: #FF4D4D;
  --color-nav: #4d4d4d;
}


/* âœ… Texte par dÃ©faut en noir */
body { color: #000 !important; }

/* âœ… Liens hors menu = primary, sans fond */
a:link, a:visited, #header #info a { 
  color: var(--color-primary) !important; 
  text-decoration: none !important; 
}

/* âœ… Survol liens hors menu */
a:hover { 
  color: var(--color-secondary) !important; 
  text-decoration: underline !important; 
  background: transparent !important; 
}

/* âœ… Menu nav en blanc uniquement */
#nav, #nav * { color: #fff !important; }

#nav {
  position: absolute !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  left: 0 !important;
  width: 220px !important;
  top: 180px !important;
  background: var(--color-nav) !important;
  white-space: normal !important;
  font-size: inherit !important;
  font-weight: normal !important;
  line-height: inherit !important;
}

/* Hover du nav : fond primary, texte blanc */
#nav ul li:hover a { 
  color: #fff !important; 
  background-color: var(--color-primary) !important; 
}

/* Bandeau header en primary (mÃªme avec inline) */
#header-logo { background-color: var(--color-primary) !important; }
div#header-logo[style] { background-color: var(--color-primary) !important; }

/* #logo transparent pour ne pas recouvrir */
#header-logo #logo { background: transparent !important; }

/* SÃ©curitÃ© si pseudo-Ã©lÃ©ments recouvrent */
#header-logo::before, #header-logo::after { 
  background: none !important; 
  box-shadow: none !important; 
}

/* RÃ©cap en noir */
#recap-text { color: #000 !important; }

/* Boutons non sÃ©lectionnÃ©s = fond secondaire */
.btn-outline-primary, 
.btn-outline-secondary, 
.btn-outline-dark, 
.btn-outline-danger {
  background-color: var(--color-secondary) !important;
  color: #fff !important;
  border: 1px solid var(--color-secondary) !important;
  opacity: 1 !important;
}

/* Boutons sÃ©lectionnÃ©s / actifs = fond primary */
.btn-check:checked + .btn, .btn.active {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

/* Divers ajustements */
#linkUserTransactions::before, #linkUserPrintLogs::before { content: none !important; }
#plan-image:hover { transform: scale(1.1) !important; }
#web-print-intro-msg font { color: #fff !important; font-size: 1rem !important; }

.flex.row { justify-content: center !important; }
.flex.row .widget { width: 180px !important; margin: 10px !important; text-align: center !important; }

a[href="/app?service=action/1/UserWebPrint/0/$ActionLink"].btn {
  font-size: 1.5rem !important;
  font-weight: bold !important;
  padding: 10px 20px !important;
  border-radius: 10px !important;
  background-color: var(--color-secondary) !important;
  color: #fff !important;
  text-align: center !important;
  display: inline-block !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform 0.3s ease !important;
}
a[href="/app?service=action/1/UserWebPrint/0/$ActionLink"].btn:hover {
  transform: scale(1.1) !important;
  background-color: var(--color-primary) !important;
}

#header { background: var(--color-primary) !important; }

#info .info-content > span.user:after {
  content: '' !important;
  width: 12px !important;
  height: 7px !important;
  opacity: .5 !important;
  background: url(./custom/img/se-deconnecter-white-icon.png) -800px -600px !important;
  background-size: 1000px 1000px !important;
  display: inline-block !important;
  margin-left: 4px !important;
  vertical-align: middle !important;
}

.pagination b { color: #fff !important; }

input[type="submit"]:not([disabled]):hover,
#content-wrapper.mf-overlay .ui-button:hover,
.ui-state-default:hover,
.btn:hover,
.ui-state-default:hover {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  text-decoration: none !important;
}

#nav strong a:link,
#nav strong a:active,
#nav strong a:visited {
  font-weight: normal !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 0 var(--color-secondary) !important;
  background: rgba(0,0,0,.2) !important;
}

#header-logo img { 
  position: static !important; 
  padding: 0 !important; 
  width: 85% !important; 
  height: 85% !important; 
}

/* Base : s'assurer que le logo ne dÃ©borde jamais */
#logo img { 
  max-width: 100% !important; 
  height: auto !important; 
  display: block !important; 
  margin: 0 auto !important; 
}

#logo { background: var(--color-nav) !important; }
#nav li strong { font-weight: normal !important; background: var(--color-primary) !important; }

.wizard-steps ul li.active { color: #fff !important; }

input[type=radio]:checked:after {
  background: var(--color-secondary) url(../images/sprite.png?20230713153656806) -795px -395px !important;
  border-color: var(--color-secondary) !important;
  background-size: 1000px 1000px !important;
}

.wizard-steps ul li.active:before { 
  border-color: var(--color-secondary) !important; 
  background: var(--color-primary) !important; 
}

.displayNameColumnHeader, .displayNameColumnValue {
  width: 400px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

.results { table-layout: auto !important; width: 100% !important; }

table.results th {
  text-align: left !important;
  padding: 8px 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  color: #fff !important;
  background: var(--color-primary) !important;
  font-size: .8rem !important;
  line-height: 1 !important;
  font-weight: normal !important;
  white-space: nowrap !important;
}

/* Bandeau latÃ©ral derriÃ¨re le menu (desktop) */
#container:before {
  content: '' !important;
  background: var(--color-nav) !important;
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 220px !important;
  z-index: 0 !important;
  box-shadow: inset -3px 0 6px rgba(0, 0, 0, 0.2) !important;
}

input[type="checkbox"]:checked:after { 
  background: var(--color-secondary) !important; 
  border-color: var(--color-secondary) !important; 
}

/* Filtres/badges */
.filtered {
  background: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
  text-decoration: none !important;
  color: #fff !important;
}

/* Aides en gris (lisibles sur fond clair) */
.smallText, .help-block { 
  font-size: .875rem !important; 
  color: #565959 !important; 
  margin: 0 !important; 
}

/* Boutons gÃ©nÃ©riques */
input[type="submit"], 
input[value="Log in"], 
input[type="button"], 
#content-wrapper.mf-overlay .ui-button, 
#upsell-info .ui-button, 
.ui-state-default, 
button, 
#continueLink a, 
.ui-state-default, 
.btn {
  color: #fff !important;
  white-space: nowrap !important;
  font-weight: normal !important;
  cursor: pointer !important;
  background: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
  text-decoration: none !important;
}

/* ===================================================================== */
/* ===================== RESPONSIVE TOUCH-UPS ======================= */
/* ===================================================================== */

/* <= 992px : logo rÃ©duit + tables scrollables */
@media (max-width: 992px) {
  #header-logo img, #logo img { max-height: 46px !important; width: auto !important; }
  .results { display: block !important; width: 100% !important; overflow-x: auto !important; }
  .displayNameColumnHeader, .displayNameColumnValue {
    white-space: normal !important; overflow: visible !important; text-overflow: clip !important; width: auto !important;
  }
}

/* <= 768px : nav passe en barre haute full-width, on libÃ¨re l'espace Ã  gauche */
@media (max-width: 768px) {
  #header-logo img, #logo img { max-height: 40px !important; }
  #container:before { display: none !important; }
  body { padding-left: 0 !important; }
  #nav {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    background: var(--color-nav) !important;
    z-index: 999 !important;
    padding: 6px 8px !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
  }
  #nav ul {
    display: block !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #nav ul li { display: inline-block !important; margin: 0 8px 0 0 !important; }
  #nav ul li a { display: inline-block !important; padding: 8px 10px !important; border-radius: 8px !important; }
  .flex.row .widget { width: 150px !important; margin: 8px !important; text-align: center !important; }
  #web-print-intro-msg font, .smallText, .help-block { font-size: 0.9rem !important; }
}

/* <= 480px : logo micro + boutons compacts + en-tÃªtes de tableau resserrÃ©s */
@media (max-width: 480px) {
  #header-logo img, #logo img { max-height: 32px !important; }
  .btn, input[type="submit"], .ui-button, button { padding: 8px 12px !important; font-size: 0.95rem !important; }
  table.results th { padding: 6px 0.75rem !important; font-size: 0.75rem !important; }
  a[href="/app?service=action/1/UserWebPrint/0/$ActionLink"].btn {
    font-size: 1.1rem !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
  }
}

/* <= 380px : micro-ajustements pour trÃ¨s petits Ã©crans */
@media (max-width: 380px) {
  #nav { padding: 4px 6px !important; }
  #nav ul li a { padding: 6px 8px !important; font-size: 0.9rem !important; }
  .btn, input[type="submit"], .ui-button, button { padding: 7px 10px !important; font-size: 0.9rem !important; }
}

/* ===================================================================== */
/* ===================== MASQUER BOUTON EMAIL ======================= */
/* ===================================================================== */
li a[href^="https://null?email=jp.quessot%40capmonetique.com"] {
  display: none !important;
}
/* Masquer le lien "Email" (toutes variantes) */
a[href^="https://null?email=jp.quessot%40capmonetique.com"],
a[href^="http://null?email=jp.quessot%40capmonetique.com"],
a[href*="null?email=jp.quessot@capmonetique.com" i],
a[href*="null?email=" i][href*="capmonetique.com" i],
a[href^="mailto:jp.quessot@capmonetique.com" i]{
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Si ton navigateur supporte :has(), on masque aussi le <li> parent */
li:has(> a[href*="null?email=" i]){
  display: none !important;
}

/* Sous-menu "Besoin d'aide ?" : cachÃ© par dÃ©faut, ouvert avec la classe .open */
.help-submenu { display: none !important; z-index: 9999 !important; }
.help-submenu.open { display: block !important; }

/* Meilleure position sur mobile : plein Ã©cran (marges), pas hors-champ */
@media (max-width: 768px){
  .help-submenu{
    position: fixed !important;
    left: 8px !important; right: 8px !important;
    top: 70px !important;         /* ajuste si ton header est plus haut */
    width: auto !important;
    max-height: 70vh !important;
    overflow:auto !important;
    border-radius: 10px !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.2) !important;
  }
}
/* === NAV: sous-menus accordÃ©on UNIQUEMENT pour "Historique" & "Besoin d'aide ?" === */
/* Le JS ajoute .has-sub au <li> et .nav-submenu au <div> du sous-menu */
#nav li.has-sub > .nav-submenu{
  position: static !important;   /* plus de flyout Ã  droite */
  left: auto !important; top: auto !important; width: 100% !important;
  display: none !important;      /* cachÃ© par dÃ©faut */
  margin: 6px 0 0 0 !important; padding: 10px !important;
  background: #fff !important; border: 1px solid var(--color-primary) !important;
  border-radius: 8px !important; box-shadow: 0 4px 10px rgba(0,0,0,.08) !important;
  z-index: 1 !important;
}
#nav li.has-sub.open > .nav-submenu{ display: block !important; }

/* Petit chevron sur le lien parent */
#nav li.has-sub > a{ position: relative !important; padding-right: 28px !important; }
#nav li.has-sub > a::after{
  content:"â–¾"; position:absolute; right:10px; top:50%;
  transform: translateY(-50%) rotate(0deg); transition: transform .2s ease;
}
#nav li.has-sub.open > a::after{ transform: translateY(-50%) rotate(180deg); }

/* Mobile: ne dÃ©borde pas */
@media (max-width: 768px){
  #nav li.has-sub > .nav-submenu{
    max-height: 70vh !important; overflow:auto !important;
  }
}
.btn-outline-primary,
.btn-outline-dark,
.btn-outline-danger,
.btn-outline-secondary {
  opacity: 0.6;
  transition: all 0.2s ease-in-out;
}

.btn-check:checked + .btn {
  opacity: 1;
  transform: scale(1.05);
  font-weight: 600;
  box-shadow: 0 0 6px rgba(0,0,0,0.15);
}

.btn:hover {
  opacity: 0.9;
  transform: scale(1.03);
}
/* Desktop par dÃ©faut */
.dz-preview.dz-file-preview{
  width: 220px !important;
  height: 220px !important;
  margin: 10px !important;
}
.dz-preview .dz-image,
.dz-preview .dz-details{ width:100% !important; height:100% !important; }
.dz-preview .dz-image img,
.dz-preview .dz-details img{ width:100% !important; height:100% !important; object-fit: contain !important; }

/* â‰¤ 992px (tablette) */
@media (max-width: 992px){
  .dz-preview.dz-file-preview{ width: 180px !important; height: 180px !important; margin: 8px !important; }
}

/* â‰¤ 576px (mobile) */
@media (max-width: 576px){
  .dz-preview.dz-file-preview{ width: 140px !important; height: 140px !important; margin: 6px !important; }
}

/* â‰¤ 400px (petit mobile) */
@media (max-width: 400px){
  .dz-preview.dz-file-preview{ width: 120px !important; height: 120px !important; margin: 5px !important; }
}
#file-format-details {
  background: #eef5ff;              
  border: 1px solid #c8dbff;        
  border-radius: 10px;              
  padding: 6px 10px;                
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 12px;                
  color: #3b4a64;                   
  margin-top: 8px;
  display: inline-block;            
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

#file-format-details p {
  margin: 0;
  white-space: normal;
}

#file-format-details::before {
  content: "â„¹ï¸ ";
  font-size: 13px;
  vertical-align: middle;
  margin-right: 4px;
}

input[type="button"],
input[type="submit"],
button {
  border-radius: 10px !important;    
  transition: background-color 0.2s, filter 0.2s;
}

input[type="button"]:hover,
input[type="submit"]:hover,
button:hover {
  filter: brightness(0.95);
}
  /* ðŸ–¥ï¸ Desktop : garder les boutons en haut, cacher le solde du header, masquer le footer */
  @media (min-width: 769px){
    #header .inserted-balance,
    #info .inserted-balance,
    #usernameButton .inserted-balance{
      display: none !important;
    }

    [data-drapeau-insere="true"]{
      display: flex !important;
      visibility: visible !important;
    }

    .user-info-footer{
      display: none !important;
    }
  }

  /* ðŸ“± Mobile : cacher les icÃ´nes du haut, montrer le footer (et forcer son affichage) */
  @media (max-width: 768px){
    [data-drapeau-insere="true"]{
      display: none !important;
      visibility: hidden !important;
    }

    /* âœ… Forcer lâ€™affichage du footer sur mobile */
    .user-info-footer{
      display: flex !important;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: fixed;
      left: 0; right: 0; bottom: 0;
      z-index: 9999;
    }
  }

/* ====== FORCER LE COMPORTEMENT PAR DEFAUT ====== */
/* Desktop (>=769px) : icÃ´nes en haut visibles, footer cachÃ© */
@media (min-width: 769px){
  [data-drapeau-insere="true"]{
    display: flex !important;
    visibility: visible !important;
    position: fixed;        /* au cas oÃ¹ */
    top: 10px; right: 10px; /* au cas oÃ¹ */
    z-index: 1000;          /* au cas oÃ¹ */
  }
  .user-info-footer{
    display: none !important;
  }
}

/* Mobile (<=768px) : icÃ´nes du haut cachÃ©es, footer visible en bas */
@media (max-width: 768px){
  [data-drapeau-insere="true"]{
    display: none !important;
    visibility: hidden !important;
  }
  .user-info-footer{
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 9999;
  }
  body{ padding-bottom: 90px; } /* pour Ã©viter que le footer masque le contenu */
}
/* Mobile : garder les couleurs naturelles des icÃ´nes du footer */
@media (max-width: 768px){
  .user-info-footer .uif-actions img{
    filter: none !important;
    mix-blend-mode: normal !important;
  }
}
/* Cache n'importe quel lien "Email" basé sur l'URL null?email= */
#nav a[href*="null?email="],
#nav a[href*="%user_email%"] {
  display: none !important;
}

/* Optionnel: si <li> reste visible sans lien à l'intérieur, on le masque aussi */
#nav li:has(> a[href*="null?email="]),
#nav li:has(> a[href*="%user_email%"]) {
  display: none !important;
}
@media (max-width: 992px), (pointer: coarse) {
  /* Les sous-menus s’affichent sous l’item en plein largeur */
  #nav li > a + div {
    position: static !important;
    left: 0 !important;
    top: auto !important;
    width: 100% !important;
    margin-top: 6px !important;
  }
}
