/* app363 : contact direct (en-tête ordinateur + barre mobile + menu). Voir contact.js. Décision de Rui, 14/10/2026.
   Charte : bleu #2563EB, navy #05203C, filets #E6EBF4, jamais de barre de couleur à gauche, jamais de gris clair. */

/* Dès le départ : ni l'ancien bouton téléphone de l'en-tête, ni l'ancienne barre du bas (contact.js les remplace). */
html.a363ct .hdr .wrap>a.btn[href^="tel:"]{display:none}
html.a363ct .tabbar{display:none!important}

/* ---- En-tête : Nous appeler + Prendre rendez-vous (+ bouton menu sur téléphone) ---- */
.a363c-act{display:flex;align-items:center;gap:10px;margin-left:auto;flex:none}
.a363c-act .btn{white-space:nowrap;margin-left:0}
.a363c-act .btn .sh{display:none}
.a363c-burger{display:none;width:42px;height:42px;flex:none;align-items:center;justify-content:center;border:1.5px solid var(--line2,#D6DEEC);border-radius:11px;background:#fff;color:var(--txt,#05203C);font-size:22px;cursor:pointer;padding:0}
.a363c-burger:focus-visible{outline:2px solid var(--acc,#2563EB);outline-offset:2px}

/* Ordinateur : le menu (police condensée 22 px) et le logo occupent 840 px sur 1 200. Il reste 338 px :
   « Prendre rendez-vous » (242 px) + le téléphone en ICÔNE SEULE (44 px, numéro dans l'infobulle et le libellé vocal). */
.a363c-tel span{display:none}
.a363c-tel{padding:0!important;width:44px;justify-content:center}
.a363c-tel i{margin:0!important}

/* ---- Téléphone / tablette : barre fixe de contact, rendez-vous court, bouton menu ---- */
@media(max-width:1260px){
  html.a363ct .hdr .nav{display:none}
  .a363c-burger{display:inline-flex}
  .a363c-act{gap:8px}
  .a363c-act .btn .lg{display:none}.a363c-act .btn .sh{display:inline}
  .a363c-tel{display:none}
  html.a363ct body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){.a363c-act .a363c-rdv{padding:0 10px;font-size:14px}.a363c-act .a363c-rdv i{display:none}}

.a363c-bar{display:none}
@media(max-width:1260px){
  .a363c-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);
    background:#fff;border-top:1px solid #EEF2F7;box-shadow:0 -4px 14px rgba(5,32,60,.06);display:grid;grid-template-columns:repeat(3,1fr)}
  .a363c-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:600 12px var(--sans,'Rubik',system-ui,sans-serif);color:var(--txt,#05203C);text-decoration:none;white-space:nowrap;-webkit-tap-highlight-color:transparent}
  .a363c-bar a i{font-size:22px;color:var(--acc,#2563EB)}
  .a363c-bar a.wa i{color:#16A34A}
  .a363c-bar a:active{background:#F4F7FD}
}

/* ---- Panneau menu (téléphone) ---- */
.a363c-dim{display:none;position:fixed;inset:0;z-index:99999;background:rgba(5,32,60,.38);opacity:0;transition:opacity .2s}
.a363c-dim.open{opacity:1}
.a363c-sheet{display:none;position:fixed;left:0;right:0;bottom:0;z-index:100000;max-height:86%;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:22px 22px 0 0;
  padding:8px 14px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -18px 44px -18px rgba(5,32,60,.35);transform:translateY(100%);transition:transform .24s cubic-bezier(.4,0,.2,1)}
.a363c-sheet.open{transform:none}
.a363c-top{display:flex;align-items:center;justify-content:space-between;padding:6px 2px 8px;position:sticky;top:0;background:#fff;z-index:1}
.a363c-sheet .a363c-t{font-family:var(--disp,'Barlow Condensed',system-ui,sans-serif);text-transform:uppercase;font-weight:900;font-size:24px;color:var(--txt,#05203C)}
.a363c-x{width:40px;height:40px;border:1.5px solid var(--line2,#D6DEEC);border-radius:11px;background:#fff;color:var(--txt,#05203C);font-size:20px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.a363c-sheet a.r,.a363c-sheet a.s{display:flex;align-items:center;gap:12px;color:var(--txt,#05203C);text-decoration:none;border-radius:12px}
.a363c-sheet a.r{min-height:50px;padding:0 12px;font-size:17px;font-weight:700}
.a363c-sheet a.r i{font-size:22px;color:var(--acc,#2563EB);flex:none}
.a363c-sheet a.s{min-height:44px;padding:0 12px 0 34px;font-size:15px;font-weight:500;color:var(--txt2,#33465F)}
.a363c-sheet a.s i{font-size:19px;color:var(--acc,#2563EB);flex:none}
.a363c-sheet a.on{background:var(--accbg,#EAF1FF)}
.a363c-sheet a:active{background:var(--bg2,#F4F7FD)}
.a363c-sheet .mrow{margin:2px 0 6px;padding:8px 12px 10px 34px;border-top:0}
.a363c-sheet .mlbl{font-size:14px;margin-bottom:8px}
html.a363c-lock{overflow:hidden}
@media(prefers-reduced-motion:reduce){.a363c-sheet,.a363c-dim{transition:none}}
@media(min-width:1261px){.a363c-dim,.a363c-sheet{display:none!important}}

/* La bulle du chat (widget.js) remonte au-dessus de la barre de contact ; son infobulle est masquée comme sur téléphone. */
@media(max-width:1260px){
  html.a363ct .a363-tab{bottom:calc(78px + env(safe-area-inset-bottom));right:14px}
  html.a363ct .a363-tease{display:none!important}
  html.a363ct .a363-menu{bottom:calc(138px + env(safe-area-inset-bottom))}
}

/* Ordinateur : avec les deux boutons de contact, on resserre un peu le menu (22 px comme le site le fait déjà sous 1 120 px)
   pour que logo + menu + boutons tiennent dans le conteneur dès 1 261 px, sans toucher à la hiérarchie du menu. */
@media(min-width:1261px){
  html.a363ct .hdr .wrap{gap:4px}
  html.a363ct .hdr .nl{font-size:22px;padding:10px 9px 12px}
  html.a363ct .hdr .nl::after{left:9px;right:9px}
  html.a363ct .hdr .nav{margin-right:8px}
  .a363c-act{gap:8px}
  .a363c-act .a363c-rdv{padding:0 14px}
}

/* Le bandeau de consentement aux cookies reste lisible et cliquable : il se place AU-DESSUS de la barre de contact. */
@media(max-width:1260px){html.a363ct #a363-consent{bottom:calc(78px + env(safe-area-inset-bottom))}}
/* Sur petit écran le bandeau occupe toute la largeur : il passe au-dessus de la bulle du chat (qui est à droite), sinon elle cache « Accepter ». */
@media(max-width:760px){html.a363ct #a363-consent{bottom:calc(140px + env(safe-area-inset-bottom))}}

/* Avec la barre de contact, la bulle du chat remonte (78 px du bas) : la dernière ligne du pied de page (liens légaux, ©) passe
   au-dessus d'elle au lieu de passer dessous. */
@media(max-width:1260px){html.a363ct footer.foot{padding-bottom:56px}}
