:root{
  --ink:#1c1a17; --muted:#6b645c; --gold:#b08d57; --gold-dark:#8c6d3f;
  --cream:#f7f3ee; --line:#e6ddd2; --white:#fff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;color:var(--ink);background:var(--white);line-height:1.7;font-weight:300}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:12px;color:var(--gold-dark);font-weight:500;margin-bottom:14px}
.btn{display:inline-block;background:var(--gold);color:#fff;padding:14px 30px;border-radius:2px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:.25s;border:none;cursor:pointer}
.btn:hover{background:var(--gold-dark)}
.btn-outline{background:transparent;border:1px solid var(--gold);color:var(--gold-dark)}
.btn-outline:hover{background:var(--gold);color:#fff}
.section{padding:100px 0}
.section.cream{background:var(--cream)}
.center{text-align:center}
h2.title{font-size:clamp(34px,4.5vw,52px);font-weight:600;line-height:1.1}
.lead{color:var(--muted);max-width:640px;margin:16px auto 0}

/* Topbar */
.topbar{background:var(--ink);color:#d8cfc4;font-size:12.5px}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:42px}
.topbar a:hover{color:#fff}
.topbar .tb-left span{margin-right:26px}
.topbar .tb-social a{margin-left:16px}

/* Nav */
header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .container{display:flex;align-items:center;justify-content:space-between;height:80px}
.logo{display:flex;align-items:center}
.logo img{height:40px;width:auto;display:block;filter:brightness(0)}
.menu{display:flex;gap:34px;list-style:none;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.menu a{position:relative;padding:6px 0;color:var(--muted);transition:.2s}
.menu a:hover,.menu a.active{color:var(--ink)}
.menu a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:.25s}
.menu a:hover::after,.menu a.active::after{width:100%}
.burger{display:none;background:none;border:none;font-size:26px;color:var(--ink);cursor:pointer}

/* Hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;color:#fff;
  background:linear-gradient(rgba(28,26,23,.45),rgba(28,26,23,.55)),url('../images/hero.jpg') center/cover no-repeat}
.hero .container{max-width:760px}
.hero .eyebrow{color:#e9d9c2}
.hero h1{font-size:clamp(46px,7vw,88px);line-height:1.02;font-weight:600;margin-bottom:22px}
.hero p{font-size:19px;max-width:520px;margin-bottom:34px;color:#f0e9e0}
.hero .actions{display:flex;gap:16px;flex-wrap:wrap}

/* Page banner (sous-pages) */
.banner{background:var(--ink);color:#fff;padding:80px 0;text-align:center}
.banner h1{font-size:clamp(40px,6vw,64px);font-weight:600}
.banner .eyebrow{color:#e9d9c2;display:block}

/* Intro split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.intro-imgs{position:relative}
.intro-imgs img:first-child{border-radius:3px;box-shadow:0 30px 60px rgba(0,0,0,.18)}
.intro-imgs img:last-child{position:absolute;width:52%;right:-24px;bottom:-40px;border:8px solid #fff;border-radius:3px;box-shadow:0 20px 40px rgba(0,0,0,.2)}
.intro-txt p{color:var(--muted);margin-bottom:16px}
.signature{font-family:'Cormorant Garamond';font-style:italic;font-size:22px;color:var(--gold-dark);margin-top:8px}

/* Prices */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:56px}
.price-col h3{font-size:26px;margin-bottom:8px}
.price-col .sub{color:var(--muted);font-size:14px;margin-bottom:24px}
.price-row{display:flex;align-items:baseline;justify-content:space-between;padding:13px 0;border-bottom:1px dashed var(--line)}
.price-row .dots{flex:1;border-bottom:1px dotted #cfc4b5;margin:0 12px;transform:translateY(-4px)}
.price-row .amt{font-family:'Cormorant Garamond';font-size:22px;font-weight:600;color:var(--gold-dark);white-space:nowrap}

/* Hours */
.hours{background:var(--ink);color:#e8ded2}
.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:74px 24px}
.hours-today .eyebrow{color:#e9d9c2}
.status{font-family:'Cormorant Garamond';font-size:clamp(36px,4.4vw,50px);font-weight:600;line-height:1.05;display:flex;align-items:center;gap:16px;margin-bottom:12px}
.status .dot{width:11px;height:11px;border-radius:50%;flex:none}
.status-open{color:var(--gold)}
.status-open .dot{background:#7bb87b;box-shadow:0 0 0 0 rgba(123,184,123,.6);animation:pulse 2.4s infinite}
.status-closed{color:#b9ae9f}
.status-closed .dot{background:#7d746a}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(123,184,123,0)}100%{box-shadow:0 0 0 0 rgba(123,184,123,0)}}
.status-detail{color:#c9bfb2;margin-bottom:26px;font-size:16px}
.hours-week{list-style:none}
.hours-week li{display:flex;justify-content:space-between;align-items:baseline;padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.09)}
.hours-week li:last-child{border-bottom:none}
.hours-week .d{letter-spacing:.02em;color:#d8cfc4}
.hours-week .h{font-family:'Cormorant Garamond';font-size:19px;color:#e8ded2}
.hours-week li.closed .h{color:#7d746a}
.hours-week li.today{border-color:transparent}
.hours-week li.today .d{color:#fff;font-weight:500}
.hours-week li.today .d::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:10px;vertical-align:middle}
.hours-week li.today .h{color:var(--gold)}

/* Fidélité — carte à tampons */
.loyalty{background:var(--cream);padding:90px 24px}
.loyalty-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.loyalty-title{font-size:clamp(30px,3.6vw,44px);font-weight:600;line-height:1.08;margin:6px 0 16px}
.loyalty-title sup{font-size:.55em}
.loyalty-text p{color:var(--muted);max-width:430px}
.loyalty-text strong{color:var(--gold-dark);font-weight:600}
.stamp-card{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.stamp{aspect-ratio:1;border-radius:50%;border:1.5px dashed #cdbfa9;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond';font-size:22px;color:#b6a892;background:#fff}
.stamp-reward{border:none;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff;font-family:'Jost',sans-serif;font-weight:600;font-size:14px;letter-spacing:.02em;box-shadow:0 14px 26px rgba(176,141,87,.32)}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:56px}
.review{background:#fff;border:1px solid var(--line);border-radius:4px;padding:32px}
.review .quote{font-family:'Cormorant Garamond';font-size:54px;color:var(--gold);line-height:.6;height:26px}
.review p{color:var(--muted);font-size:14.5px;margin-bottom:18px}
.review .who{font-weight:500}
.review .stars{color:var(--gold);font-size:13px;letter-spacing:2px}

/* Brands */
.brands{display:flex;align-items:center;justify-content:center;gap:64px;flex-wrap:wrap;opacity:.75}
.brands img{height:52px;filter:grayscale(1);transition:.3s}
.brands img:hover{filter:none;opacity:1}

/* Galerie */
.grid-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.grid-gal a{overflow:hidden;border-radius:3px}
.grid-gal img{width:100%;height:280px;object-fit:cover;transition:.4s;cursor:pointer}
.grid-gal img:hover{transform:scale(1.06)}
#lightbox{position:fixed;inset:0;background:rgba(20,18,16,.92);display:none;align-items:center;justify-content:center;z-index:100;padding:30px}
#lightbox.open{display:flex}
#lightbox img{max-width:90vw;max-height:88vh;border-radius:3px}
#lightbox .close{position:absolute;top:22px;right:30px;color:#fff;font-size:40px;cursor:pointer;line-height:1}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:start}
.map-embed{height:380px;border-radius:4px;overflow:hidden}
.map-embed iframe{width:100%;height:100%;border:0;display:block}
.map-placeholder{height:100%;background:var(--cream);border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:30px}
.map-placeholder p{color:var(--muted);max-width:320px;font-size:14px}
.map-alt{color:var(--gold-dark);font-size:13px;text-decoration:underline}
.info-list{list-style:none}
.info-list li{padding:10px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.info-list strong{color:var(--ink)}

/* Bouton ghost (refuser cookies) */
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}

/* Bannière cookies */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:120;background:rgba(20,18,16,.97);backdrop-filter:blur(6px);color:#e6ddd2;border-top:2px solid var(--gold)}
.cookie-banner[hidden]{display:none}
.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:20px 24px}
.cookie-text{font-size:13.5px;max-width:760px;line-height:1.6}
.cookie-text a{color:var(--gold);text-decoration:underline}
.cookie-actions{display:flex;gap:12px;flex-shrink:0}
.cookie-actions .btn{padding:11px 22px;font-size:12px}

/* Pages légales */
.legal-content{max-width:820px;margin:0 auto}
.legal-content h2{font-size:26px;margin:36px 0 12px}
.legal-content p,.legal-content li{color:var(--muted);margin-bottom:12px}
.legal-content ul{padding-left:22px}
.legal-content .todo{background:#fbf3e6;border-left:3px solid var(--gold);padding:10px 14px;color:#8c6d3f;font-size:14px}

/* Footer */
footer.site{background:#141210;color:#a49a8d;padding:70px 0 30px;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}
footer.site h4{font-family:'Cormorant Garamond';color:#fff;font-size:22px;margin-bottom:18px;font-weight:600}
footer.site a:hover{color:#fff}
footer.site li{list-style:none;margin-bottom:9px}
.fcopy{border-top:1px solid #2a2622;margin-top:50px;padding-top:24px;text-align:center;font-size:12.5px;color:#6d655b}
.flegal{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.flegal a{color:#a49a8d}
.flegal a:hover{color:#fff}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:820px){
  .split,.price-grid,.reviews,.fgrid,.contact-grid,.hours-grid,.loyalty-inner{grid-template-columns:1fr;gap:40px}
  .grid-gal{grid-template-columns:1fr 1fr}
  .intro-imgs img:last-child{position:static;width:60%;margin:16px auto 0}
  .topbar .tb-left{display:none}
  .burger{display:block}
  .menu{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;background:#fff;padding:20px 24px;gap:18px;border-bottom:1px solid var(--line)}
  .menu.open{display:flex}
  .reviews .review:nth-child(3){display:none}
  .cookie-inner{flex-direction:column;align-items:flex-start;gap:16px}
  .cookie-actions{width:100%}
  .cookie-actions .btn{flex:1;text-align:center}
}
