/* Base */
:root{
  --rose:#f6e8ef;
  --rose-strong:#e9c9d7;
  --text:#1f1f1f;
  --muted:#6b6b6b;
  --bg:#ffffff;
  --accent:#c7447a;
  --card:#ffffff;
  --shadow:0 10px 30px rgba(0,0,0,.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.container{max-width:1120px;margin:0 auto;padding:0 20px}
.section{padding:64px 0}
.section.alt{background:var(--rose)}
h1,h2,h3{line-height:1.2;margin:0 0 12px}
h1{font-size:clamp(28px,4vw,44px)}
h2{font-size:clamp(22px,3vw,32px)}
h3{font-size:clamp(18px,2.2vw,22px)}
.lead{font-size:1.125rem;color:var(--muted)}
.accent{color:var(--accent)}
.center{text-align:center}

a:focus, button:focus, .btn:focus{outline:3px solid rgba(199,68,122,.35); outline-offset:3px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 18px;border-radius:10px;border:1px solid transparent;
  background:var(--accent);color:#fff;text-decoration:none;font-weight:600;
  box-shadow:var(--shadow);transition:transform .06s ease,opacity .2s ease, box-shadow .16s ease;
  will-change: transform;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 14px 36px rgba(0,0,0,.10)}
.btn.ghost{background:transparent;border-color:rgba(0,0,0,.08);color:var(--text)}
.btn.outline{background:#fff;color:var(--accent);border-color:var(--accent)}
.btn.xl{padding:16px 22px;font-size:1.1rem}

/* Topbar */
.topbar{
  position:sticky;top:0;z-index:99;
  backdrop-filter:saturate(180%) blur(10px);
  background:rgba(255,255,255,.85);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.topbar .container{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 20px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.brand img{width:32px;height:32px}
.brand span{font-weight:700}
.brand small{display:block;color:var(--muted)}

/* Hero */
.hero{background:linear-gradient(180deg, #fff, var(--rose));padding:64px 0}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
.hero-ctas{display:flex;gap:12px;margin:20px 0 8px;flex-wrap:wrap}
.reassure{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);padding-left:0;margin:12px 0 0;list-style:none}
.hero-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;box-shadow:var(--shadow);display:block;}

/* Cards Services */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.card{
  background:var(--card);border:1px solid rgba(0,0,0,.06);border-radius:14px;
  padding:18px; box-shadow:var(--shadow);
  transition: transform .12s ease, box-shadow .16s ease, border-color .16s ease;
  will-change: transform;
}
.card:hover{ transform: translateY(-2px); box-shadow:0 16px 40px rgba(0,0,0,.10); border-color: rgba(0,0,0,.09); }
.zones{margin-top:18px;color:var(--muted)}

/* Two columns */
/* Two columns – version flex, 2 colonnes */
.two-col{
  display:flex;
  gap:24px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.two-col > div{ flex:1 1 0; } /* colonnes de largeur équilibrée */
.map-embed{width:100%;aspect-ratio:16/10;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.06)}
.map-embed iframe{width:100%;height:100%;border:0}

/* Contact lines / badges */
.contact-lines{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.contact-lines .line{
  background:#fff;border:1px solid rgba(0,0,0,.08);padding:8px 12px;border-radius:10px;
  text-decoration:none;color:var(--text);
}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.badge{background:#fff;border:1px solid rgba(0,0,0,.08);padding:6px 10px;border-radius:999px;font-size:.9rem}

/* Badge d’état ouvert/fermé — lisible et premium */
.badge.status{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-size:.9rem;
  border:1px solid;
  margin-left:10px;
}
.badge.status.open{
  background:#e8f8ee;
  border-color:#3aa76d33;
  color:#217a43;
}
.badge.status.closed{
  background:#fbe9e9;
  border-color:#d33c3c33;
  color:#a52424;
}

/* RDV */
.cta-stack{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.note{color:var(--muted);margin-top:10px}

/* Footer */
.footer{background:#111;color:#eee;padding:28px 0}
.footer a{color:#eee;text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.4)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}
.hours{list-style:none;padding-left:0;margin:0}
.legal-note{display:block;margin-top:8px;color:#bbb;font-size:.9rem}
.hours li {
  list-style: none;
  margin: 0;           /* supprime tout décalage vertical */
  padding-left: 0;     /* aligne parfaitement à gauche */
}

.hours {
  list-style: none;
  padding-left: 0;
  margin: 0 0 1em;
}

.hours li {
  margin: 2px 0;
}

.hours .closed {
  color: #999; /* gris clair */
  font-style: italic;
}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .2s ease}
.modal.show{opacity:1;pointer-events:auto}
.modal-content{position:relative;margin:10vh auto;max-width:720px;background:#fff;border-radius:12px;padding:20px;box-shadow:var(--shadow)}
.modal-close{position:absolute;top:8px;right:10px;border:0;background:transparent;font-size:26px;cursor:pointer}

/* Mobile CTA sticky (visible < 768px) */
.mobile-cta{
  position:fixed;left:0;right:0;bottom:12px;display:none;
  justify-content:center;gap:10px;z-index:1000;
  pointer-events:none;
}
.mobile-cta .btn{pointer-events:auto}
@media (max-width: 768px){
  .mobile-cta{display:flex}
}
/* Lien "Honoraires" discret */
.inline-link {
  color: var(--text);
  text-decoration: none;
  border-bottom: 1px dotted rgba(0,0,0,.35);
}
.inline-link:hover { opacity: .8; }

/* Image dans la modale */
.fees-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: var(--shadow);
  margin-top: 8px;
}

.footer-links ul {
  list-style: none; /* enlève les puces */
  margin: 0;
  padding: 0;
}

.footer-links li {
  margin: 5px 0; /* espace entre les liens, à ajuster */
}

.hero-img {
  max-width: 300px;
  border-radius: 8px;
  height: auto;
  opacity: 0;
  transform: scale(0.98);
  animation: fadeZoomIn 0.8s ease-out forwards;
}

.bio-text {
  opacity: 0;
  transform: translateY(10px);
  animation: fadeUp 0.8s ease-out forwards;
  animation-delay: 0.3s; /* décalage pour arriver après la photo */
}

@keyframes fadeZoomIn {
  0% {
    opacity: 0;
    transform: scale(0.98);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Mise en page bio : image + texte */
.bio-photo{ flex:0 0 300px; }           /* largeur fixe élégante pour l’image */
.bio-photo img{ width:100%; height:auto; border-radius:12px; }
.bio-text{ flex:1; }                    /* le texte prend le reste de la place */

@media (max-width: 768px){
  .bio-photo{ flex:0 0 100%; }          /* sur mobile : image pleine largeur */
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.two-col {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .two-col {
    flex-direction: column;
  }
  
  .hero-img {
    max-width: 100%;
  }
}

/* Petit espacement sous Prestations */
.services-actions { margin-top: 16px; }

/* Fade-in on scroll */
[data-animate]{opacity:0;transform:translateY(8px);transition:opacity .5s ease, transform .5s ease}
[data-animate].in{opacity:1;transform:translateY(0)}

/* Cookie banner */
#cookieBanner{
  position:fixed; left:0; right:0; bottom:0; z-index:1000;
  background:rgba(17,17,17,.95); color:#fff; padding:12px 16px;
}
#cookieBanner .cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:12px; max-width:1120px; margin:0 auto;}
#cookieBanner .cookie-actions{display:flex; gap:8px; flex-shrink:0;}
#cookieBanner .btn{box-shadow:none;}
#cookieBanner .btn.outline{background:transparent; color:#fff; border-color:rgba(255,255,255,.5)}

/* Responsive */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
/*  .two-col{grid-template-columns:1fr}*/
  .cards{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .cards{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .topbar .container{flex-wrap:wrap}
  .btn{width:100%;justify-content:center}
}
/* Fil d’Ariane */
.crumbs{font-size:.95rem;color:var(--muted);margin-top:10px;margin-bottom:-28px}
.crumbs a{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(0,0,0,.35)}
.crumbs a:hover{opacity:.85}
.crumbs span[aria-hidden="true"]{margin:0 6px;opacity:.6}

/* Listes bio */
.bio-list{margin:8px 0 0 18px}
.bio-list li{margin:6px 0}

/* Signature bio */
.bio-text .signature{
  margin-top:12px;font-style:italic;color:var(--muted);
}

.footer-bottom{
  display:flex;
  justify-content:center;   /* vrai centrage */
  align-items:center;
  text-align:center;
  gap:6px;
  color:#ccc;
  font-size:0.9rem;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08); /* séparateur discret */
}
.footer-bottom .heart{ color: var(--accent); }