/* Loaded after the primary stylesheet so these rules win on small screens. */
html,body{max-width:100%;overflow-x:hidden}

/* Illustration digestive : mouvement volontairement discret, sans carrousel. */
.page-accueil .hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#effdff 0%,#effdff 48%,#d8f5f7 100%)!important}
.page-accueil .hero::after{content:"";position:absolute;z-index:0;inset:-2% 0 -2% auto;width:56%;background:url('assets/images/hero-digestive-3d.png') right center/cover no-repeat;transform-origin:58% 52%;animation:digestive-illustration 2.8s ease-in-out infinite;will-change:transform,filter;pointer-events:none}
.page-accueil .hero .wrap{position:relative;z-index:1}
@keyframes digestive-illustration{0%,100%{transform:translate3d(0,0,0) scale(1);filter:saturate(1)}50%{transform:translate3d(-10px,-13px,0) scale(1.032);filter:saturate(1.08)}}
@media (prefers-reduced-motion:reduce){.page-accueil .hero::after{animation:none;transform:none}}

/* Cartes d’examens et de consultations, avec visuels utiles et liens accessibles. */
.service-grid-visual{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.service-grid-visual article{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:0!important}
.service-grid-visual article>img{width:100%;height:190px;object-fit:cover;display:block}
.service-grid-visual article>span,.service-grid-visual article>h3,.service-grid-visual article>p,.service-grid-visual article>a{margin-left:26px;margin-right:26px}
.service-grid-visual article>span{position:relative;z-index:1;margin-top:-26px;margin-bottom:14px;box-shadow:0 5px 14px rgba(4,75,90,.13)}
.service-grid-visual article>h3{margin-top:0}
.service-grid-visual article>p{min-height:auto;flex:1}
.service-grid-visual article>a{margin-bottom:26px}

@media (max-width:700px){
  .wrap{width:min(100% - 32px,1160px)}
  .top-reference{min-height:42px;padding:0}.top-reference .wrap{justify-content:center;font-size:.78rem}.top-reference span{display:none!important}
  .head-reference{position:relative!important;top:auto!important}.head-reference>.wrap{display:flex!important;min-height:0!important;flex-wrap:wrap!important;gap:9px!important;padding:12px 0 9px!important}
  .head-reference .brand{width:100%;gap:11px}.head-reference .brand img{width:58px!important;height:58px!important;flex:none}.head-reference .brand strong{font-size:.9rem!important}.head-reference .brand small{font-size:.71rem!important}
  .head-reference .nav{display:flex!important;order:3!important;flex-wrap:nowrap!important;width:100%!important;gap:18px!important;overflow-x:auto!important;justify-content:flex-start!important;padding:9px 1px 5px!important;scrollbar-width:none}.head-reference .nav::-webkit-scrollbar{display:none}.head-reference .nav a{display:block!important;flex:0 0 auto!important;font-size:.8rem!important;white-space:nowrap!important}.head-reference .appointment-button,.head-reference>.wrap>.btn{display:none!important}
  .hero{min-height:555px!important;align-items:flex-start!important;padding:70px 0 42px!important;background-position:66% center!important}.page-accueil .hero::after{inset:0 -14% 0 auto;width:84%;opacity:.7;background-size:auto 100%;background-position:right center}.hero .copy{width:100%!important;max-width:315px!important}.hero h1{font-size:clamp(2.25rem,11vw,2.7rem)!important;line-height:1.08!important;margin:14px 0!important}.hero p{max-width:285px!important;font-size:1rem!important;line-height:1.62!important}.hero .actions{display:grid!important;gap:10px!important;margin-top:24px!important}.hero .actions .btn{width:100%!important;min-height:52px!important}
  .trust{grid-template-columns:1fr!important;margin-top:-22px!important;gap:11px!important}.trust div{padding:18px!important}.section{padding:52px 0!important}.home-about-grid,.procedure-grid,.doctor,.tech,.footer-contact-grid{grid-template-columns:1fr!important;gap:28px!important}.home-about-grid>img{order:0!important;max-width:100%!important;box-shadow:8px 8px 0 #b8efec!important}.service-grid,.note-grid,.grid,.steps{grid-template-columns:1fr!important}.service-grid article{padding:25px 22px!important}.service-grid-visual article{padding:0!important}.service-grid-visual article>img{height:210px}.inner-hero{padding:48px 0 42px!important}.inner-hero h1{font-size:clamp(2rem,9vw,2.5rem)!important}.appointment .wrap{align-items:stretch!important}.appointment b{font-size:1.2rem!important}.footer-contact{padding:34px 0!important}.map-card,.map-card iframe{height:230px!important;min-height:230px!important}.foot-grid{grid-template-columns:1fr!important;gap:24px!important}.foot-bottom{align-items:flex-start!important}.ligature-grid{grid-template-columns:1fr!important}.ligature-visual{position:static!important;width:100%!important;max-width:360px!important}.ligature-visual img{height:250px!important}
}
@media (max-width:480px){.section{padding:44px 0!important}.head-reference .brand{padding-bottom:2px}.head-reference .nav{gap:16px!important}.hero{min-height:535px!important}.hero .eyebrow{max-width:100%;font-size:.66rem!important;white-space:nowrap}.hero .copy{max-width:300px!important}.hero p{max-width:276px!important}.trust{margin-top:-18px!important}.trust div{min-height:86px!important}.footer-contact-grid,.home-about-grid,.procedure-grid{gap:22px!important}}
@media (max-width:390px){.wrap{width:calc(100% - 26px)}.hero{padding-top:58px!important;min-height:525px!important}.hero .copy{max-width:290px!important}.hero h1{font-size:2.2rem!important}.head-reference .nav{gap:14px!important}.top-reference .wrap{font-size:.72rem!important}}

/* La photo du cabinet reste visible sans allonger inutilement la section À propos. */
@media (min-width:801px){
  .home-about-grid{align-items:center!important}
  .home-about-grid>img{max-width:460px!important;aspect-ratio:4/3!important;max-height:345px!important;object-fit:cover!important;object-position:center 42%!important}
}

/* Sur téléphone, on montre le médecin sans laisser la photo portrait prendre tout l'écran. */
@media (max-width:800px){
  .home-about-grid>img{width:100%!important;height:270px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center 30%!important}
}

/* Page Conseils santé : une présentation visuelle et très concise. */
.health-hero{padding:72px 0;background:linear-gradient(115deg,#e6fafa,#fbfffe)}
.health-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,6vw,84px)}
.health-hero h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.02;margin:15px 0;color:#073d59}.health-hero h1 em{font-style:normal;color:#008b97}.health-hero p{font-size:1.15rem;color:#4d6b78;margin:0 0 28px}.health-hero-grid>img{width:100%;height:355px;object-fit:cover;border-radius:26px;box-shadow:14px 14px 0 #b8efec}
.health-tips{background:#fff}.health-tips-title{text-align:center;margin-bottom:30px}.health-tips-title h2{margin:10px 0;color:#073d59;font-size:clamp(2rem,4vw,3rem)}.health-tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.health-tip-grid article{position:relative;overflow:hidden;border:1px solid #d5ebed;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(4,75,90,.08)}.health-tip-grid img{width:100%;height:180px;display:block;object-fit:cover}.health-tip-grid span{display:grid;place-items:center;width:42px;height:42px;margin:-21px 0 0 20px;position:relative;border-radius:50%;background:#009ca5;color:#fff;font-weight:800}.health-tip-grid h3{margin:15px 20px 5px;color:#073d59;font-size:1.2rem}.health-tip-grid p{margin:0 20px 22px;color:#58717c}.health-alert{display:flex;gap:15px;align-items:center;max-width:880px;margin:42px auto 0;padding:18px 22px;border-left:4px solid #ef9222;border-radius:12px;background:#fff6e9;color:#694815}.health-alert b{white-space:nowrap;color:#a35200}
@media(max-width:800px){.health-hero{padding:48px 0}.health-hero-grid{grid-template-columns:1fr;gap:26px}.health-hero-grid>img{height:230px;box-shadow:8px 8px 0 #b8efec}.health-tip-grid{grid-template-columns:1fr}.health-tip-grid img{height:200px}.health-alert{align-items:flex-start;flex-direction:column;gap:6px;margin-top:30px}.health-hero h1{font-size:2.5rem}}
