:root{
  --ink:#2B1424; --plum:#5A2745; --plum-dark:#3E1A31; --mauve:#7A3D57; --rose:#F6E4E4; --bg:#FDF7F6;
  --line:#D9B9C0; --muted:#4A3340; --honey:#C98B3A; --honey-soft:#F8E7C9; --green-soft:#E4F0E6; --red-soft:#F4D9D9;
  --display:'Bodoni Moda',Georgia,serif; --body:'Figtree',system-ui,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.5}
img{max-width:100%}
a{color:var(--mauve)}
a:hover{color:var(--plum)}
:focus-visible{outline:3px solid var(--honey);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:500;margin:0;line-height:1.1}
.wrap{max-width:1280px;margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.btn,.btn2{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;font:600 17px var(--body);text-decoration:none;cursor:pointer;border:2px solid var(--plum)}
.btn{background:var(--plum);color:#fff}
.btn:hover{background:var(--plum-dark);border-color:var(--plum-dark);color:#fff}
.btn2{background:transparent;color:var(--plum)}
.btn2:hover{background:var(--rose);color:var(--plum-dark)}
.btn:disabled{background:#D9C7CC;border-color:#D9C7CC;color:#5A4350;cursor:not-allowed}

/* En-tête */
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 48px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}
.brand img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.brand span{font-family:var(--display);font-size:24px;font-weight:600}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.nav a:not(.btn){color:var(--ink);text-decoration:none;font-weight:500;padding:12px 6px}
.nav a:not(.btn):hover{color:var(--mauve)}

/* Accueil */
.hero{display:flex;flex-wrap:wrap;align-items:flex-end;gap:56px;padding:48px 48px 88px}
.hero-text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:28px}
.hero h1{font-size:clamp(40px,6vw,68px);letter-spacing:-.02em}
.hero p{margin:0;font-size:20px;line-height:1.55;max-width:34em;color:var(--muted)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}
.hours{margin:8px 0 0;display:grid;grid-template-columns:auto 1fr;column-gap:24px;row-gap:6px;font-size:16px;color:var(--muted)}
.hours dt{font-weight:600}.hours dd{margin:0}
.hero-photos{flex:1 1 380px;min-width:0;display:flex;align-items:flex-end;justify-content:center;gap:20px}
.arch{object-fit:cover;border-radius:999px 999px 20px 20px;display:block}
.hero-photos .a1{width:min(300px,56%);aspect-ratio:3/4.6}
.hero-photos .a2{width:min(210px,40%);aspect-ratio:3/4.4;margin-bottom:56px}

.band{padding:80px 48px}
.band h2{font-size:clamp(32px,4vw,44px);margin-bottom:14px}
.band.rose{background:var(--rose)}
.band.dark{background:var(--plum-dark);color:#FBEFEF}
.band.dark h2{color:#fff}
.lead{margin:0;font-size:18px;line-height:1.55;color:var(--muted);max-width:60em}

.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px 64px;margin-top:48px}
.cat h3{font-size:26px;font-weight:600;margin-bottom:4px}
.cat .note{margin:0 0 12px;font-size:15px;color:#5A4350}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:17px}
.row b{font-weight:600;color:var(--plum);white-space:nowrap}
.row span{font-weight:500}

.gallery{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start;margin-top:40px}
.gallery figure{margin:0;flex:1 1 220px;max-width:280px}
.gallery figure:nth-child(even){margin-top:40px}
.gallery img{width:100%;aspect-ratio:3/4;border-radius:999px 999px 16px 16px;object-fit:cover;display:block}
.gallery figcaption{margin-top:12px;font-size:17px;font-weight:600;text-align:center}

.steps{margin:48px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px}
.steps li{display:flex;flex-direction:column;gap:10px;font-size:17px;line-height:1.55}
.steps .n{font-family:var(--display);font-size:52px;line-height:1;color:#E6B66F}
.steps .t{font-size:22px;font-weight:600;color:#fff}

.salon{display:flex;flex-wrap:wrap;gap:64px;padding:88px 48px;align-items:flex-start}
.salon>img{flex:1 1 380px;min-width:0;max-width:560px;width:100%;aspect-ratio:1/1}
.salon .info{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:32px}
.salon h2{font-size:clamp(32px,4vw,44px);margin-bottom:14px}
.contact{display:flex;flex-direction:column;gap:6px;font-size:17px}
.rules{display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.55;max-width:34em;padding:20px 22px;border-radius:16px;background:var(--rose)}
.rules b{font-size:17px}
.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:32px 48px;border-top:1px solid #E5CDD0;font-size:15px;color:#5A4350}

@media (max-width:640px){
  .top,.hero,.band,.salon,.foot{padding-left:20px;padding-right:20px}
  .hero{padding-top:24px;padding-bottom:56px;gap:36px}
  .band{padding-top:56px;padding-bottom:56px}
  .salon{padding-top:56px;padding-bottom:56px;gap:36px}
  .hero-photos .a2{margin-bottom:32px}
}

/* Photos d'ambiance au-dessus de chaque catégorie du catalogue */
.cat-photos{display:flex;gap:8px;margin:0 0 10px}
.cat:has(.cat-photos){margin-top:0;padding-top:24px;border-top:1px solid var(--line,#e6cfd6)}
.cat:first-child:has(.cat-photos){margin-top:0;padding-top:0;border-top:0}
.cat-photos img{width:84px;height:112px;object-fit:cover;border-radius:999px 999px 12px 12px;background:var(--rose)}
