/* ===== Hippoclean — feuille de style ===== */
:root{
  --navy:#062a4f;
  --blue:#0a6fd1;
  --sky:#38b6ff;
  --foam:#eaf6ff;
  --ink:#16263a;
  --muted:#5b6b7f;
  --white:#ffffff;
  --radius:18px;
  --shadow:0 10px 30px rgba(6,42,79,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}
h1,h2,h3{font-family:"Baloo 2",sans-serif;line-height:1.15}
a{color:var(--blue)}
img{max-width:100%;display:block}
.container{width:min(1120px,100% - 32px);margin-inline:auto}

/* ===== Emplacements d'images =====
   Déposez simplement le fichier portant le nom indiqué dans le dossier img/ :
   tant qu'il est absent, un cadre pointillé affiche le nom attendu. */
.slot{position:relative;overflow:hidden;border-radius:var(--radius);background:
  repeating-linear-gradient(45deg,#dcefff 0 12px,#eef7ff 12px 24px);
  border:2px dashed #8cc7f5;min-height:200px}
.slot::after{content:"📷  img/" attr(data-slot);position:absolute;inset:0;display:grid;place-items:center;
  font:600 .95rem "Inter",sans-serif;color:#2b6ea6;text-align:center;padding:1rem}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.slot:has(img){border-style:solid;border-color:transparent}

/* ===== En-tête ===== */
.topbar{position:sticky;top:0;z-index:50;background:rgba(6,42,79,.96);backdrop-filter:blur(6px)}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.logo img{height:40px;width:auto}
.logo span{font-family:"Baloo 2",sans-serif;font-weight:800;font-size:1.7rem;letter-spacing:.04em;color:var(--white);line-height:1}
.nav{display:flex;gap:.25rem;list-style:none;flex-wrap:wrap}
.nav a{color:#cfe6ff;text-decoration:none;font-weight:600;padding:.5rem .8rem;border-radius:999px;font-size:.95rem}
.nav a:hover{background:rgba(255,255,255,.12);color:var(--white)}
.nav .cta{background:var(--sky);color:var(--navy)}
.nav .cta:hover{background:var(--white);color:var(--navy)}

/* ===== Bandeau principal ===== */
.hero{position:relative;color:var(--white);background:linear-gradient(135deg,var(--navy),var(--blue));overflow:hidden}
.hero .container{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center;padding:4.5rem 0 5.5rem}
.hero h1{font-size:clamp(2.3rem,5vw,3.6rem);margin-bottom:1rem}
.hero h1 span{color:var(--sky)}
.hero p.lead{font-size:1.15rem;color:#d8ecff;max-width:34ch;margin-bottom:1.8rem}
.badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}
.badge{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:.4rem .9rem;border-radius:999px;font-size:.9rem;font-weight:600}
.btn{display:inline-block;background:var(--sky);color:var(--navy);text-decoration:none;font-weight:700;padding:.85rem 1.5rem;border-radius:999px;margin-right:.6rem}
.btn.ghost{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.6)}
.hero .slot{min-height:340px;border-color:rgba(255,255,255,.5);box-shadow:0 20px 50px rgba(0,0,0,.25)}
.wave{position:absolute;bottom:-1px;left:0;width:100%;height:60px}

/* ===== Sections ===== */
section{padding:5rem 0}
.section-title{text-align:center;margin-bottom:3rem}
.section-title h2{font-size:clamp(1.9rem,4vw,2.6rem);color:var(--navy)}
.section-title p{color:var(--muted);max-width:56ch;margin:.5rem auto 0}
.kicker{display:inline-block;color:var(--blue);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin-bottom:.4rem}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem}
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.card .slot{border-radius:0;border-width:0 0 2px 0;min-height:190px}
.card-body{padding:1.4rem 1.5rem 1.6rem}
.card h3{font-size:1.4rem;color:var(--navy);margin-bottom:.4rem}
.card p{color:var(--muted)}
.card .note{margin-top:.8rem;font-size:.88rem;background:var(--foam);color:#1d5a8c;padding:.55rem .8rem;border-radius:10px}

/* Paiement */
.payment{background:var(--foam)}
.pay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem}
.pay{background:var(--white);border-radius:var(--radius);padding:1.8rem;text-align:center;box-shadow:var(--shadow)}
.pay .ico{font-size:2.4rem;margin-bottom:.6rem}
.pay h3{color:var(--navy);font-size:1.25rem;margin-bottom:.3rem}
.pay p{color:var(--muted);font-size:.95rem}

/* Horaires */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.split .slot{min-height:380px}
.hours{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem}
.hours h3{color:var(--navy);font-size:1.35rem;margin:1.2rem 0 .6rem}
.hours h3:first-child{margin-top:0}
.row{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px dashed #d4e3f1}
.row:last-child{border-bottom:0}
.row strong{color:var(--navy)}
.open-tag{display:inline-block;background:#18b26b;color:#fff;font-weight:700;border-radius:999px;padding:.3rem .9rem;font-size:.85rem;margin-bottom:.8rem}

/* Accès & contact */
.access{background:linear-gradient(180deg,var(--foam),var(--white))}
.access-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:2rem;align-items:stretch}
.info{background:var(--navy);color:var(--white);border-radius:var(--radius);padding:2.2rem;display:flex;flex-direction:column;gap:1.4rem}
.info h3{font-size:1.1rem;color:var(--sky);text-transform:uppercase;letter-spacing:.06em}
.info p,.info a{color:var(--white);font-size:1.15rem;text-decoration:none}
.info a:hover{text-decoration:underline}
.map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:380px}
.map iframe{width:100%;height:100%;min-height:380px;border:0}

/* Pied de page */
footer{background:var(--navy);color:#9fc3e6;padding:2rem 0;font-size:.9rem}
footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
footer a{color:var(--white)}

/* ===== Mobile ===== */
@media (max-width:860px){
  .hero .container,.split,.access-grid{grid-template-columns:1fr}
  .hero .container{padding:3rem 0 4.5rem}
  .hero .slot{min-height:240px}
  .split .slot{min-height:260px}
  .topbar .container{flex-direction:column;padding:.7rem 0;min-height:auto}
  .logo img{height:32px}
  .logo span{font-size:1.4rem}
  section{padding:3.5rem 0}
}
