/* Charte Clinique Marie-Jeanne — inspirée du panneau signalétique fourni.
   Violet institutionnel, verts de santé, blanc lumineux, hiérarchie forte et lisibilité avant décoration. */
:root{
  --clinic-purple:#4a2862;
  --clinic-purple-deep:#321b49;
  --clinic-purple-soft:#6f5386;
  --clinic-mint:#c9e9d1;
  --clinic-green:#b9d75a;
  --clinic-green-deep:#5d8f55;
  --clinic-ink:#2d2440;
  --clinic-white:#fffefa;
  --clinic-cloud:#f4f5f1;
  --clinic-line:rgba(74,40,98,.16);
  --purple:var(--clinic-purple);
  --purple-dark:var(--clinic-purple-deep);
  --coral:var(--clinic-green);
  --ink:var(--clinic-ink);
  --muted:#675f73;
  --cream:var(--clinic-white);
  --soft:var(--clinic-cloud);
  --mint:var(--clinic-mint);
}
body{background:var(--clinic-white);color:var(--clinic-ink);font-family:"Manrope",Arial,sans-serif}
body:before{background:linear-gradient(90deg,rgba(185,215,90,.08),transparent 38%,rgba(201,233,209,.12))}
h1,h2,h3,h4,.footer-top h2,.brand-mark+span strong{font-family:"Manrope",Arial,sans-serif;font-weight:800;letter-spacing:-.045em;color:var(--clinic-purple-deep)}
h1 em,h2 em,.hero-copy h1 em,.inner-grid h1 em,.section-heading-row h2 em,.specialties-intro h2 em,.care-grid h2 em,.contact-grid h2 em,.map-section h2 em{color:var(--clinic-green-deep);font-family:"Manrope",Arial,sans-serif;font-style:normal}
.eyebrow,.header-social-label,.section-index,.hero-coordinate,.footer-fact>span>span,.footer-agenda .agenda-heading{color:var(--clinic-purple-soft);font-weight:800;letter-spacing:.14em}
.utility-bar{background:var(--clinic-purple-deep);color:var(--clinic-white);border-bottom:4px solid var(--clinic-green)}
.utility-bar a{color:var(--clinic-mint)}
.status-dot{background:var(--clinic-green);box-shadow:0 0 0 4px rgba(185,215,90,.18)}
.site-header{background:rgba(255,254,250,.96);border-bottom:1px solid var(--clinic-line)}
.navbar-brand strong{color:var(--clinic-purple-deep)}
.navbar-brand small{color:var(--clinic-green-deep)}
.brand-mark{border:2px solid var(--clinic-green);background:var(--clinic-mint)}
.nav-link{color:var(--clinic-purple-deep)}
.nav-link:hover,.nav-link:focus{color:var(--clinic-green-deep)}
.btn-coral{background:var(--clinic-purple);border-color:var(--clinic-purple);color:white;box-shadow:0 10px 20px rgba(74,40,98,.2)}
.btn-coral:hover,.btn-coral:focus{background:var(--clinic-purple-deep);border-color:var(--clinic-purple-deep);color:#fff}
.btn-light{background:var(--clinic-mint);color:var(--clinic-purple-deep);border-color:var(--clinic-mint)}
.btn-light:hover{background:var(--clinic-green);border-color:var(--clinic-green);color:var(--clinic-purple-deep)}
.text-link,.footer-action,.map-link{color:var(--clinic-purple)}
.text-link:hover,.footer-action:hover,.map-link:hover{color:var(--clinic-green-deep)}
.language-toggle{border-color:var(--clinic-purple);color:var(--clinic-purple)}
.language-toggle:hover{background:var(--clinic-mint);border-color:var(--clinic-green-deep)}
.header-socials a,.social-links a{background:var(--clinic-mint);color:var(--clinic-purple);border-color:transparent}
.header-socials a:hover,.social-links a:hover{background:var(--clinic-green);color:var(--clinic-purple-deep)}
.mega-menu,.service-menu{border:1px solid var(--clinic-line);box-shadow:0 22px 60px rgba(50,27,73,.2);background:var(--clinic-white)}
.mega-intro{background:var(--clinic-purple);color:#fff}
.mega-intro strong,.mega-intro p{color:#fff}
.mega-grid .dropdown-item:hover,.service-menu .dropdown-item:hover{background:var(--clinic-mint);color:var(--clinic-purple-deep)}
.mega-grid .dropdown-item i,.service-menu .dropdown-item i{color:var(--clinic-green-deep)}
.hero-section{background:linear-gradient(120deg,var(--clinic-mint) 0%,#f8fbf6 58%,#fffefa 100%)}
.hero-copy h1{color:var(--clinic-purple-deep)}
.hero-note{background:var(--clinic-purple);color:#fff;border-left:5px solid var(--clinic-green)}
.hero-note small{color:var(--clinic-green)}
.hero-proof{color:var(--clinic-purple)}
.hero-proof i{color:var(--clinic-green-deep);background:var(--clinic-mint)}
.signal-strip{border-top-color:var(--clinic-line);border-bottom-color:var(--clinic-line)}
.signal-strip b{color:var(--clinic-green-deep)}
.intro-section,.care-section,.contact-section{background:var(--clinic-white)}
.services-section,.map-section{background:var(--clinic-mint)}
.service-card{border-color:transparent;box-shadow:0 14px 28px rgba(50,27,73,.1)}
.service-card.service-coral,.service-card.service-indigo,.service-card.service-mint{background:var(--clinic-purple);color:#fff}
.service-card.service-coral .service-top,.service-card.service-indigo .service-top,.service-card.service-mint .service-top,.service-card h3,.service-card p{color:#fff}
.service-card .card-arrow{color:var(--clinic-green)}
.specialties-section{background:var(--clinic-purple);color:#fff}
.specialties-section h2,.specialties-section p,.specialties-section .eyebrow,.specialties-section .section-index{color:#fff}
.specialties-section h2 em{color:var(--clinic-green)}
.specialty-row{border-bottom-color:rgba(255,255,255,.24);color:#fff}
.specialty-row:hover{background:rgba(201,233,209,.12);border-color:var(--clinic-green)}
.specialty-row>i:first-of-type,.specialty-row>span{color:var(--clinic-green)}
.specialty-row strong small{color:var(--clinic-mint)}
.inner-hero{background:linear-gradient(135deg,var(--clinic-mint),#fffefa 72%)}
.inner-aside em{color:var(--clinic-purple-soft)}
.aside-rule{background:var(--clinic-green)}
.inner-grid h1{color:var(--clinic-purple-deep)}
.care-image:after{background:var(--clinic-green)}
.care-number{color:var(--clinic-green-deep)}
.contact-facts span i{color:var(--clinic-green-deep)}
.contact-form,.membership-card,.membership-form{border-color:var(--clinic-line);box-shadow:0 18px 45px rgba(50,27,73,.08)}
.form-heading{color:var(--clinic-purple-deep)}
.form-status{background:var(--clinic-mint);color:var(--clinic-purple-deep)}
.site-footer{background:var(--clinic-purple-deep);color:#fff;border-top:8px solid var(--clinic-green)}
.site-footer h2,.site-footer .eyebrow,.site-footer .footer-fact>span,.site-footer .footer-fact strong,.site-footer .footer-fact a{color:#fff}
.site-footer .footer-fact i{color:var(--clinic-green)}
.site-footer .footer-fact strong a,.site-footer .map-link{color:var(--clinic-green)!important}
.footer-agenda{border-top-color:rgba(201,233,209,.26)}
.agenda-heading{color:var(--clinic-green)!important}
.agenda-row b{color:var(--clinic-mint)!important}
.footer-bottom{border-top-color:rgba(201,233,209,.25)}
.footer-bottom a,.footer-bottom span{color:rgba(255,255,255,.78)}
.footer-brand img{background:var(--clinic-mint);border:2px solid var(--clinic-green)}
.footer-map iframe,.map-large iframe{border:5px solid rgba(201,233,209,.72);box-shadow:0 18px 38px rgba(20,10,28,.25);filter:saturate(.72) hue-rotate(18deg)}
.form-control:focus,.form-select:focus{border-color:var(--clinic-green-deep);box-shadow:0 0 0 .2rem rgba(185,215,90,.28)}
@media(max-width:767px){.header-socials{background:var(--clinic-mint);border-color:var(--clinic-line)}.mega-menu,.service-menu{background:var(--clinic-white)}.hero-section{background:var(--clinic-mint)}}

/* Desktop navigation correction — align the specialties panel with its trigger and keep all 14 items visible. */
@media (min-width:1200px){
  .site-header .navbar-nav>.nav-item.dropdown:first-of-type>.mega-menu{
    left:-15px!important;
    right:auto!important;
    transform:none!important;
    width:min(760px,calc(100vw - 64px));
    max-height:calc(100vh - 150px);
    overflow-y:auto;
  }
}
@media (max-width:1199.98px){
  .site-header .mega-menu{left:0!important;right:0!important;transform:none!important;width:auto;max-height:none;overflow:visible}
}
