/* ======================= ACLG 2025 — CUSTOM CONSOLIDÉ ======================= */
/* --------------------------- Design Tokens (charte) -------------------------- */
:root{
  /* Marque */
  --aclg-blue:   #00557f; /* primaire */
  --aclg-green:  #128234; /* accent / success */
  --aclg-blue-700:#004766; /* pour focus/ombres soutenues */
  --aclg-blue-050:#e6f0f5;

  /* Neutres */
  --aclg-black:  #0b1220;
  --aclg-white:  #ffffff;
  --aclg-muted:  #f8fafc;

  /* Effets */
  --aclg-focus:  rgba(0,85,127,.35);
  --aclg-shadow: 0 2px 10px rgba(0,85,127,.18);
  --aclg-shadow-lg: 0 6px 20px rgba(0,85,127,.22);

  /* Forme/rythme */
  --aclg-radius: 24px;
  --aclg-pad-y:  10px;
  --aclg-pad-x:  24px;

  /* Typo CTA */
  --aclg-cta-weight: 600;
}

/* ================================ Header/Menu ================================ */
/* Logo — ne pas comprimer */
#rs-header .logo-area img{
  height:auto; width:auto; object-fit:contain;
  max-height:56px;
}
@media (max-width: 991.98px){
  #rs-header .logo-area img{ max-height:44px; }
}

/* Desktop : pousser la nav à droite (spécificité forte) */
@media (min-width: 992px){
  #rs-header .menu-area .main-menu{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
  }
  #rs-header .menu-area .main-menu .rs-menu{
    margin-left:auto !important; /* pousse la nav à droite */
    float:none !important;
  }
  /* certains thèmes flottent encore l'ul */
  #rs-header .menu-area .rs-menu ul.nav-menu{
    float:none !important;
  }
  /* cacher le toggle mobile en desktop */
  #rs-header .rs-menu-toggle{ display:none !important; }
}

/* Mobile : ne garder que l’off-canvas, aligner le burger */
@media (max-width: 991.98px){
  #rs-header .menu-area .main-menu,
  #rs-header .menu-area nav.rs-menu{ display:none !important; }

  #rs-header .appointment-cart{ display:flex !important; align-items:center; justify-content:flex-end; }
  #rs-header .nav-expander{
    display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; border-radius:8px;
    color:var(--aclg-blue) !important; background:transparent;
    position:static !important; top:auto !important; margin:0 !important; padding:8px 10px !important;
  }
  #rs-header .nav-expander .fa{ color:var(--aclg-blue) !important; font-size:24px; line-height:1; }
}

/* =========================== Système de CTA global =========================== */
/* Base bouton réutilisable + compat .cta-rdv existant */
.btn, .cta-rdv{
  -webkit-font-smoothing:antialiased;
  font-weight:var(--aclg-cta-weight);
  display:inline-flex; align-items:center; justify-content:center;
  padding:var(--aclg-pad-y) var(--aclg-pad-x);
  border-radius:var(--aclg-radius);
  line-height:1.2; text-decoration:none;
  border:2px solid transparent;
  transition:background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .02s ease;
  min-height:44px; cursor:pointer;
}
.btn i, .cta-rdv i{ margin-inline-end:8px; line-height:1; }
.btn:focus-visible, .cta-rdv:focus-visible{
  outline:2px solid var(--aclg-blue); outline-offset:2px; box-shadow:0 0 0 3px var(--aclg-focus);
}
.btn:active, .cta-rdv:active{ transform:translateY(1px); }
.btn:disabled, .btn[aria-disabled="true"],
.cta-rdv:disabled, .cta-rdv[aria-disabled="true"]{ opacity:.6; cursor:not-allowed; pointer-events:none; }

/* Variantes (fond clair) */
.btn--primary, .rs-menu .nav-menu li .cta-rdv{
  background:var(--aclg-blue); color:var(--aclg-white);
  border-color:transparent; box-shadow:var(--aclg-shadow);
}
.btn--primary:hover, .rs-menu .nav-menu li .cta-rdv:hover{
  background:var(--aclg-accent); color:var(--aclg-white); box-shadow:var(--aclg-shadow-lg);
}
.btn--outline{
  background:transparent; color:var(--aclg-blue); border-color:var(--aclg-blue);
}
.btn--outline:hover{
  background:var(--aclg-blue); color:var(--aclg-white);
}
.btn--ghost{
  background:var(--aclg-blue-050); color:var(--aclg-blue);
}
.btn--ghost:hover{
  background:var(--aclg-blue); color:var(--aclg-white);
}
.btn--block{ display:flex; width:100%; }
.btn--sm{ padding:8px 16px; border-radius:18px; font-size:.95rem; }
.btn--lg{ padding:13px 28px; border-radius:28px; font-size:1.05rem; }

/* Variantes (fond sombre/brand) */
.on-dark .btn--primary,
.bg-brand .btn--primary,
#rs-header.bg-brand .rs-menu .nav-menu li .cta-rdv{
  background:var(--aclg-white);
  color:var(--aclg-blue);
  border-color:var(--aclg-white);
  box-shadow:none;
}
.on-dark .btn--primary:hover,
.bg-brand .btn--primary:hover,
#rs-header.bg-brand .rs-menu .nav-menu li .cta-rdv:hover{
  background:var(--aclg-accent); color:var(--aclg-white); border-color:var(--aclg-accent);
}
.on-dark .btn--outline, .bg-brand .btn--outline{
  background:transparent; color:var(--aclg-white); border-color:var(--aclg-white);
}
.on-dark .btn--outline:hover, .bg-brand .btn--outline:hover{
  background:var(--aclg-white); color:var(--aclg-blue);
}

/* Off-canvas (mobile) — cohérence CTA */
.right_menu_togle .cta-rdv{
  background:var(--aclg-blue); color:var(--aclg-white); border-color:transparent;
  border-radius:24px; padding:10px 18px; display:inline-block;
}
.right_menu_togle .cta-rdv:hover{ background:var(--aclg-accent); color:var(--aclg-white); }

/* ========================== Correctifs de spécificité ======================== */
/* Certains thèmes ciblent profondément la nav : neutraliser les floats */
#rs-header.icon-header .menu-area .header-bottom-area .rs-menu ul.nav-menu{ float:none !important; }
/* S’assurer que la zone header desktop reste claire si désiré */
/* .menu-sticky/.sticky peuvent imposer un fond : on laisse le thème gérer en desktop
   et on garde les hotfix mobiles ci-dessous uniquement sur home. */

/* ===================== Hotfix header mobile (page d’accueil) ================= */
@media (max-width: 991.98px){
  .defult-home #rs-header,
  .defult-home #rs-header .menu-area,
  .defult-home #rs-header .menu-area.menu-sticky,
  .defult-home #rs-header .menu-area.sticky{
    background:#fff !important;
    box-shadow:0 2px 10px rgba(0,0,0,.04);
  }
  .defult-home .menu-area .container .row{ min-height:56px; align-items:center !important; }
}

/* ====================== Utilitaires de fond (facultatif) ===================== */
.bg-white{ background:#fff; }
.bg-muted{ background:var(--aclg-muted); }
.bg-brand{ background:var(--aclg-blue); }
.on-dark{ color:#fff; }

/* =========================== Styles existants conservés ====================== */
.rs-customer3 .customer-item .item-details p { margin:0 0 15px; color:#000; }
.video-responsive{ overflow:hidden; padding-bottom:56.25%; position:relative; height:0; }
.video-responsive iframe{ position:absolute; left:0; top:0; height:100%; width:100%; }
.readon.agency-btn2{ background:none !important; border:2px solid #fff !important; min-width:227px !important; }
.contact-form .form-group select{
  color:#666; opacity:.5; padding-left:8px; padding-right:20px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  border:1px solid #ccc; border-radius:0; height:50px; line-height:50px; cursor:pointer; width:100%; outline:none;
}
.timify-button{ cursor:pointer; }
.breadcrumbs-title{ text-transform:none !important; }
.common-box{ height:300px; text-align:center; display:table-cell; vertical-align:middle; }
.work-column{ height:600px; }
.service-desc h5, .service-desc h4, .service-desc h2, .sec-title h4{ margin:0 0 10px !important; }
.service-desc ul, #rs-about ul{ list-style:inside; }
.work-gallery-caption p{
  display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis;
}
.sec-title p{ margin:10px 0 0; }
.sec-title h3{ margin-bottom:10px; }
.solution-desc p, .solution-desc span{ font-size:14px !important; }
.nivoSlider{ height:600px !important; }
.sl-sub-title{ font-size:30px !important; }
.sec-title3 h3::after{ top:auto; bottom:0; }
.sec-title3 h3{ margin-bottom:12px; }
.service-res-inner .sec-title3{ margin-bottom:0 !important; }
.readoff{
  position:relative; display:inline-block !important;
  background:#fff; padding:15px 33px; line-height:normal;
  border:2px solid var(--aclg-blue); color:#000; transition:all .3s ease; border-radius:30px;
}
.rs-contact-inner .giant-content{ margin-top:100px; }
.modal a.close-modal{ top:1.5px !important; right:1.5px !important; }

/* =======================================================================
   ACLG — CTA 2025 (accent #b8f500, hover text = bleu #00557f)
   A coller en bas de public/build/css/custom.css
   Non-intrusif : ne change pas la structure, uniquement l’apparence des CTA
   ======================================================================= */

/* -------- Design tokens -------- */
:root{
  --aclg-blue:   #00557f;   /* marque (texte hover sur accent) */
  --aclg-accent: #b8f500;   /* accent validé (hero / hover)   */
  --aclg-blue-050:#e6f0f5;  /* fond léger (ghost)             */
  --aclg-white:  #ffffff;
  --aclg-black:  #0b1220;

  --aclg-radius: 24px;
  --aclg-pad-y:  10px;
  --aclg-pad-x:  24px;

  --aclg-cta-weight: 600;
  --aclg-shadow:    0 2px 10px rgba(0,85,127,.18);
  --aclg-shadow-lg: 0 6px 20px rgba(0,85,127,.22);
  --aclg-focus:     rgba(0,85,127,.35);
}

/* -------- Base CTA (réutilisable) -------- */
.btn, .cta-rdv{
  -webkit-font-smoothing:antialiased;
  font-weight:var(--aclg-cta-weight);
  display:inline-flex; align-items:center; justify-content:center;
  padding:var(--aclg-pad-y) var(--aclg-pad-x);
  border-radius:var(--aclg-radius);
  line-height:1.2; text-decoration:none;
  border:2px solid transparent;
  min-height:44px; cursor:pointer;
  transition:background-color .18s ease, color .18s ease,
             box-shadow .18s ease, transform .02s ease, border-color .18s ease;
  box-shadow:var(--aclg-shadow);
}
.btn i, .cta-rdv i{ margin-inline-end:8px; line-height:1; }

.btn:focus-visible, .cta-rdv:focus-visible{
  outline:2px solid var(--aclg-blue);
  outline-offset:2px;
  box-shadow:0 0 0 3px var(--aclg-focus), var(--aclg-shadow);
}
.btn:active, .cta-rdv:active{ transform:translateY(1px); }
.btn:disabled, .btn[aria-disabled="true"],
.cta-rdv:disabled, .cta-rdv[aria-disabled="true"]{
  opacity:.6; cursor:not-allowed; pointer-events:none;
}

/* -------- Tailles -------- */
.btn--sm{ padding:8px 16px; border-radius:18px; font-size:.95rem; }
.btn--lg{ padding:13px 28px; border-radius:28px; font-size:1.05rem; }
.btn--block{ display:flex; width:100%; }

/* ======================================================================
   Variantes sur fond CLAIR (blanc / neutre)
   ====================================================================== */

/* Primary — repos: bleu / blanc  →  hover: accent / texte bleu */
.btn--primary,
.rs-menu .nav-menu li .cta-rdv{
  background:var(--aclg-blue);
  color:var(--aclg-white);
}
.btn--primary:hover,
.rs-menu .nav-menu li .cta-rdv:hover{
  background:var(--aclg-accent);
  color:var(--aclg-blue);           /* ✅ AA (≈6.18:1) */
  box-shadow:var(--aclg-shadow-lg);
}

/* Secondary — accent plein (lisible en clair) */
.btn--secondary{
  background:var(--aclg-accent);
  color:var(--aclg-blue);           /* ✅ AA */
}
.btn--secondary:hover{
  background:var(--aclg-blue);
  color:var(--aclg-white);
}

/* Outline — bord bleu → plein bleu au survol */
.btn--outline{
  background:transparent;
  color:var(--aclg-blue);
  border-color:var(--aclg-blue);
}
.btn--outline:hover{
  background:var(--aclg-blue);
  color:var(--aclg-white);
}

/* Ghost — fond bleu pâle → plein bleu au survol */
.btn--ghost{
  background:var(--aclg-blue-050);
  color:var(--aclg-blue);
}
.btn--ghost:hover{
  background:var(--aclg-blue);
  color:var(--aclg-white);
}

/* ======================================================================
   Variantes sur fond BLEU MARQUE / SOMBRE (sections inversées)
   Activer via un conteneur .bg-brand ou .on-dark
   ====================================================================== */

.bg-brand .btn--primary,
.on-dark  .btn--primary,
#rs-header.bg-brand .rs-menu .nav-menu li .cta-rdv{
  background:var(--aclg-white);
  color:var(--aclg-blue);
  border-color:var(--aclg-white);
  box-shadow:none;
}
.bg-brand .btn--primary:hover,
.on-dark  .btn--primary:hover,
#rs-header.bg-brand .rs-menu .nav-menu li .cta-rdv:hover{
  background:var(--aclg-accent);
  color:var(--aclg-blue);           /* ✅ AA sur accent */
  border-color:var(--aclg-accent);
}

.bg-brand .btn--secondary,
.on-dark  .btn--secondary{
  background:var(--aclg-accent);
  color:var(--aclg-blue);

/* ACLG CTA — garde-fou de spécificité (global) */
#rs-header .menu-area .rs-menu .nav-menu li > a.cta-rdv{
  background: var(--aclg-blue);
  color: var(--aclg-white);
  border-color: transparent;
  box-shadow: var(--aclg-shadow);
}
#rs-header .menu-area .rs-menu .nav-menu li > a.cta-rdv:hover{
  background: var(--aclg-accent);   /* #b8f500 validé */
  color: var(--aclg-blue);          /* texte bleu au hover */
  box-shadow: var(--aclg-shadow-lg);
}

/* ACLG NAV CONSOLIDATION v2025-09-05
   - Rétablit menu à DROITE sans coller le logo
   - Centre verticalement les items ET le CTA
   - Taille CTA raisonnable pour éviter la barre trop haute
   - Scopé au header uniquement, priorités modérées + quelques !important ciblés
*/
@media (min-width: 992px){
  #rs-header .menu-area .main-menu{
    display:flex !important; align-items:center !important;
    /* on ne pousse PAS tout à droite ici */
  }
  #rs-header .menu-area .main-menu > nav.rs-menu{
    /* ce margin-left:auto pousse la nav à droite, sans coller le logo */
    margin-left:auto !important; float:none !important; display:flex !important; width:auto !important;
  }
  #rs-header .menu-area .rs-menu ul.nav-menu{
    display:flex !important; align-items:center !important; margin:0 !important; float:none !important;
  }
  #rs-header .menu-area .rs-menu ul.nav-menu > li > a{
    display:flex !important; align-items:center !important;
    min-height:62px !important; line-height:1.2 !important; padding-top:0 !important; padding-bottom:0 !important;
  }
  /* espace fixe entre logo et nav, même en no-gutters */
  #rs-header .logo-area{ margin-right:24px !important; }

  /* CTA header: compact mais lisible, aligné verticalement */
  #rs-header .menu-area .rs-menu .nav-menu li > a.cta-rdv,
  #rs-header .menu-area .rs-menu .nav-menu li > a.btn.btn--primary.btn--xl{
    padding:12px 28px !important; font-size:1.05rem !important; border-radius:24px !important; line-height:1.2 !important;
  }
}
/* Sur mobile, on garde l’off-canvas; on évite d’afficher la nav desktop */
@media (max-width: 991.98px){
  #rs-header .menu-area nav.rs-menu{ display:none !important; }
}

/* ACLG NAV+MOBILE CONSOLIDATION v2025-09-06
   Objectifs :
   - UN SEUL jeu de règles header/menu/CTA (source de vérité = custom.css)
   - Desktop (>=992px) : nav à droite, centrage vertical, CTA compact et aligné
   - Mobile  (<992px) : menu utilisable sans burger (liste verticale), cibles tactiles >=48px
   - Annule les hauteurs figées héritées (ex. 90px sur <li>)
*/

/* Commun : défuser les hauteurs figées et flottants obsolètes */
#rs-header .menu-area .rs-menu ul.nav-menu > li {
  height: auto; line-height: normal;
}
#rs-header .menu-area .rs-menu { float: none; }

/* ========================= Desktop >= 992px ========================= */
@media (min-width: 992px){
  #rs-header .menu-area .main-menu{
    display:flex; align-items:center;
  }
  /* Pousser la nav à droite sans coller le logo */
  #rs-header .menu-area .main-menu > nav.rs-menu{
    margin-left:auto; display:flex; width:auto;
  }
  #rs-header .menu-area .rs-menu ul.nav-menu{
    display:flex; align-items:center; margin:0;
  }
  #rs-header .menu-area .rs-menu ul.nav-menu > li > a{
    display:flex; align-items:center;
    min-height:60px; line-height:1.2;
    padding:0 16px; margin-right:16px;
  }
  #rs-header .menu-area .rs-menu ul.nav-menu > li:last-child > a{ margin-right:0; }

  /* Espace stable entre logo et nav */
  #rs-header .logo-area{ margin-right:24px; }

  /* CTA header : compact, aligné */
  #rs-header .menu-area .rs-menu .nav-menu li > a.cta-rdv,
  #rs-header .menu-area .rs-menu .nav-menu li > a.btn.btn--primary,
  #rs-header .menu-area .rs-menu .nav-menu li > a.btn.btn--primary.btn--xl{
    display:flex; align-items:center; justify-content:center;
    padding:10px 24px; font-size:1.05rem; line-height:1.2; border-radius:24px;
  }
}

/* ========================= Mobile < 992px ===========================
   NOTE : on n’impose PAS de burger ici (markup inconnu) — on rend la nav utilisable
          si elle est affichée en mobile (fallback sûr).
*/
@media (max-width: 991.98px){
  /* Si la nav apparaît, la rendre lisible en liste verticale */
  #rs-header .menu-area .rs-menu ul.nav-menu{
    display:flex; flex-direction:column; gap:4px; margin:0; padding:8px 0;
  }
  #rs-header .menu-area .rs-menu ul.nav-menu > li > a{
    display:flex; align-items:center;
    min-height:48px; line-height:1.2;
    padding:10px 16px; margin-right:0;
  }
  /* CTA mobile : taille tactile confortable */
  #rs-header .menu-area .rs-menu .nav-menu li > a.cta-rdv,
  #rs-header .menu-area .rs-menu .nav-menu li > a.btn.btn--primary,
  #rs-header .menu-area .rs-menu .nav-menu li > a.btn.btn--primary.btn--xl{
    padding:12px 24px; font-size:1rem; line-height:1.2; border-radius:22px;
  }

  /* Option sécurité : si un toggle .rs-menu-toggle existe, on peut cacher la nav desktop.
     (On évite display:none inconditionnel pour ne pas perdre la navigation si le burger n'existe pas.)
  */
  /* .rs-menu-toggle{ display:block; } */
  /* nav.rs-menu{ display:none; } */ /* décommenter uniquement si burger opérationnel */
}

/* ACLG MOBILE HEADER+CTA+6FACETTES v2025-09-08
   - Aligne logo et burger (neutralise position:absolute du bloc droit en mobile)
   - Affiche un CTA mobile (à côté du burger) — caché en desktop
   - Rend la section "6 facettes" visible et lisible en mobile
*/

/* Desktop : masquer le CTA mobile */
@media (min-width: 992px){
  #rs-header .cta-mobile{ display:none !important; }
}

/* Mobile : header aligné + CTA visible + 6 facettes visibles */
@media (max-width: 991.98px){

  /* 1) Aligner logo ↔ burger : le conteneur droit doit être dans le flux */
  #rs-header .appointment-cart{
    position: static !important;
    top: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px;
    height: auto !important;
  }

  /* Burger : zone tactile confortable */
  #rs-header .appointment-cart a#nav-expander,
  #rs-header .appointment-cart .nav-expander{
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px;
  }

  /* 2) CTA mobile à côté du burger (format compact) */
  #rs-header .appointment-cart .cta-mobile{
    display: inline-flex; align-items: center; justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    font-size: 16px; line-height: 1.2;
    border-radius: 24px;
    white-space: nowrap;
  }

  /* 3) "Menu 6 facettes" : visible et lisible en mobile */
  .features-grid{
    opacity: 1 !important; visibility: visible !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .features-grid .feature-card{
    display: block !important;
  }
}

/* ACLG MOBILE RESTORE NAV v2025-09-08
   But : ré-afficher burger + navigation sous 992px et remettre le bloc droit dans le flux.
   Fondé sur :
   - custom.css (masques : .rs-menu-toggle display:none; nav.rs-menu display:none en mobile)
   - style.css (position:absolute sur .appointment-cart)
*/
@media (max-width: 991.98px){
  /* 1) Afficher le BURGER si custom.css l’a masqué */
  #rs-header .rs-menu-toggle{
    display: inline-flex !important;
    align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px;
  }

  /* 2) Afficher la NAV si custom.css l’a masquée */
  #rs-header .menu-area nav.rs-menu{
    display: block !important;
  }
  /* Optionnel : si .main-menu est aussi masquée chez toi */
  #rs-header .menu-area .main-menu{
    display: block !important;
  }

  /* 3) Remettre le bloc droit dans le flux (style.css le met en absolu) */
  #rs-header.icon-header .middle-header .menu-area .header-bottom-area .appointment-cart{
    position: static !important;
    top: auto !important;
    transform: none !important;
  }
}

/* ACLG MOBILE CONSOLIDATION BLOCK v2025-09-08
   Objectif: mobile stable sans changer le HTML
   - Conserver nav en off-canvas (cachée par défaut)
   - Burger visible (cible tactile OK)
   - Aligner header (neutraliser position:absolute sur .appointment-cart)
*/
@media (max-width: 991.98px){

  /* Nav OFF-CANVAS par défaut (ne pas afficher en continu) */
  #rs-header .menu-area nav.rs-menu,
  #rs-header .menu-area .main-menu{
    display: none !important;
  }

  /* Alignement header: remettre le bloc droit dans le flux + aligner */
  #rs-header.icon-header .middle-header .menu-area .header-bottom-area .appointment-cart{
    position: static !important;
    top: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px;
  }

  /* Burger: visible + cible tactile confortable */
  #rs-header .rs-menu-toggle,
  #rs-header .appointment-cart a#nav-expander,
  #rs-header .appointment-cart .nav-expander{
    display: inline-flex !important;
    align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px;
  }

  /* Logo: hauteur harmonisée sur la ligne */
  #rs-header .logo-area img{
    max-height: 44px; height: auto;
  }
}

/* ACLG MOBILE ALIGN FIX RC1 v2025-09-08
   Neutralise, en mobile, la règle de style.css :
   #rs-header .menu-area.rs-defult-header .appointment-cart { position:absolute; top:50%; transform:translateY(-50%); }
   -> Remet le burger dans le flux & aligne logo/burger sur la même ligne.
*/
@media (max-width: 991.98px){
  #rs-header .menu-area.rs-defult-header .appointment-cart{
    position: static !important;
    top: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px;
  }
  /* Burger: visible + cible tactile */
  #rs-header .appointment-cart a#nav-expander,
  #rs-header .appointment-cart .nav-expander{
    display: inline-flex !important;
    align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px;
  }
  /* Logo: hauteur harmonisée */
  #rs-header .logo-area img{ max-height:44px; height:auto; }
}
