/* Restaurant — compositions éditoriales exclusives à cette page. */
.restaurant-main{--ivory:#FAF7F1;--sand:#E9DDCD;--terra:#B76549;--cacao:#352A25;--turquoise:#246D72;background:var(--ivory);color:var(--cacao)}
.restaurant-main *{box-sizing:border-box}
.restaurant-main figure{margin:0;min-width:0;overflow:hidden}
.restaurant-main img{display:block;width:100%;height:auto;filter:none!important}
.restaurant-main h1,.restaurant-main h2{font-family:Cormorant,Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-.025em}
.restaurant-main h2{font-size:clamp(42px,4.3vw,64px);margin:18px 0 24px}
.restaurant-main p{font:400 16px/1.85 Manrope,Arial,sans-serif;margin:0;max-width:600px}
.restaurant-main .eyebrow{font:600 11px/1.8 Manrope,Arial,sans-serif;color:var(--terra);letter-spacing:.12em}
.restaurant-main .button{min-height:52px;font-size:12px;padding:17px 24px;background:var(--terra);color:#FFFDF9;border-color:var(--terra)}
.restaurant-main .restaurant-hero{position:relative;isolation:isolate;height:clamp(560px,74svh,660px);min-height:560px;background:var(--cacao)}
.restaurant-main .restaurant-hero-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;border-radius:0}
.restaurant-main .restaurant-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 53%}
.restaurant-main .restaurant-hero-copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:48px max(28px,calc((100% - 1200px)/2));background:linear-gradient(90deg,#352a25b8,#352a2555 53%,transparent 85%);color:#FFFDF9}
.restaurant-main .restaurant-hero-copy>.eyebrow{color:var(--sand)}
.restaurant-main .restaurant-hero-copy h1{color:#FFFDF9;font-size:clamp(54px,5.8vw,84px);max-width:800px;margin:24px 0 26px}
.restaurant-main .restaurant-hero-copy p{color:#FFFDF9;max-width:480px;margin-bottom:28px}
.restaurant-main .restaurant-introduction{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;padding:44px max(28px,calc((100% - 1200px)/2));background:var(--ivory);scroll-margin-top:140px}
.restaurant-main .restaurant-introduction h2{margin-bottom:0}
.restaurant-main .restaurant-breakfast{display:grid;grid-template-columns:minmax(0,.37fr) minmax(0,.63fr);gap:32px;align-items:center;padding:48px max(28px,calc((100% - 1200px)/2));background:var(--sand)}
.restaurant-main .breakfast-copy{min-width:0}
.restaurant-main .breakfast-copy h2{font-size:clamp(40px,3.8vw,56px)}
.restaurant-main .breakfast-times{margin:24px 0 0}
.restaurant-main .breakfast-times>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;padding:14px 0;border-top:1px solid #352a2528;font:400 14px/1.6 Manrope,Arial,sans-serif}
.restaurant-main .breakfast-times dt{font-weight:600}
.restaurant-main .breakfast-times dd{margin:0;color:var(--turquoise);font-weight:600;white-space:nowrap}
.restaurant-main .breakfast-photographs{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:18px;align-items:start;min-width:0}
.restaurant-main .breakfast-buffet{grid-column:1/-1;width:90%;border-radius:55px 8px 8px 8px}
.restaurant-main .breakfast-service{grid-column:2;width:100%;margin-top:0;border-radius:8px}
.restaurant-main .restaurant-cuisine{display:grid;grid-template-columns:minmax(0,.64fr) minmax(0,.36fr);gap:32px;align-items:center;padding:48px max(28px,calc((100% - 1200px)/2));background:var(--ivory)}
.restaurant-main .cuisine-photo{width:100%;border-radius:8px 55px 8px 8px}
.restaurant-main .cuisine-photo img{height:auto;object-fit:contain}
.restaurant-main .cuisine-copy{width:100%;max-width:none;min-width:0;padding:0;margin:0;background:transparent;display:block}
.restaurant-main .restaurant-atmosphere{padding:38px max(28px,calc((100% - 1200px)/2));background:var(--turquoise);color:#FFFDF9;display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,.65fr);gap:32px;align-items:center}
.restaurant-main .restaurant-atmosphere>.eyebrow{color:var(--sand)}
.restaurant-main .restaurant-atmosphere h2{margin:0;color:#FFFDF9;font-size:clamp(40px,4vw,60px)}
.restaurant-main .restaurant-contact{padding:48px 28px 54px;text-align:center;background:var(--sand)}
.restaurant-main .restaurant-contact h2{margin:0 auto 22px;max-width:900px}
.restaurant-main .restaurant-contact p{margin:0 auto 26px;max-width:650px}
.restaurant-main .restaurant-telephone{display:block;width:fit-content;margin:22px auto 0;color:var(--turquoise);font:600 14px/1.7 Manrope,Arial,sans-serif}
.restaurant-page .booking[hidden]{display:none!important}
@media(max-width:900px){.restaurant-main .restaurant-hero{height:600px}.restaurant-main .restaurant-hero-copy h1{font-size:clamp(52px,7vw,72px)}.restaurant-main .restaurant-introduction,.restaurant-main .restaurant-breakfast,.restaurant-main .restaurant-cuisine{grid-template-columns:minmax(0,1fr);gap:28px;padding:36px 28px}.restaurant-main .breakfast-copy p{max-width:680px}.restaurant-main .breakfast-times{max-width:520px}.restaurant-main .breakfast-buffet{width:88%}.restaurant-main .restaurant-atmosphere{grid-template-columns:minmax(0,1fr);gap:18px;padding:34px 28px}}
@media(max-width:600px){.restaurant-main .restaurant-hero{height:590px;min-height:550px}.restaurant-main .restaurant-hero-copy{padding:35px 7%;background:linear-gradient(90deg,#352a25bf,#352a2555)}.restaurant-main .restaurant-hero-copy h1{font-size:clamp(44px,11.8vw,60px)}.restaurant-main .restaurant-hero-copy p{font-size:15px}.restaurant-main h2{font-size:42px}.restaurant-main .restaurant-introduction,.restaurant-main .restaurant-breakfast,.restaurant-main .restaurant-cuisine{padding:32px 18px;gap:24px}.restaurant-main .breakfast-photographs{gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.restaurant-main .breakfast-buffet{width:100%;border-radius:32px 8px 8px 8px}.restaurant-main .breakfast-service{grid-column:1/-1;width:78%;justify-self:end}.restaurant-main .cuisine-photo{border-radius:8px 32px 8px 8px}.restaurant-main .restaurant-atmosphere{padding:30px 18px}.restaurant-main .restaurant-contact{padding:36px 18px 42px}.restaurant-main .restaurant-contact .button{max-width:100%}.restaurant-main p{font-size:15px}}
/* Finitions de la page Restaurant uniquement. */
.restaurant-main .restaurant-hero{height:clamp(600px,79svh,700px);min-height:600px}
.restaurant-main .restaurant-hero-photo img{object-position:center 50%}
.restaurant-main .restaurant-hero-copy{padding-top:54px;padding-bottom:60px}
.restaurant-main .restaurant-breakfast{gap:30px;align-items:start;padding-top:44px;padding-bottom:44px}
.restaurant-main .breakfast-copy{align-self:start;padding-top:6px}
.restaurant-main .breakfast-copy h2{margin-top:18px}
.restaurant-main .restaurant-cuisine{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:30px;padding-top:44px;padding-bottom:48px}
.restaurant-main .cuisine-photo{width:100%;align-self:center}
.restaurant-main .cuisine-copy{align-self:center;padding:0;min-width:0}
.restaurant-main .cuisine-copy h2{font-size:clamp(46px,4.4vw,64px);margin:18px 0 24px}
.restaurant-main .cuisine-copy p{font-size:17px;line-height:1.8;max-width:460px}
.restaurant-main .restaurant-atmosphere{grid-template-columns:minmax(0,.23fr) minmax(0,.77fr);padding-top:52px;padding-bottom:52px;gap:36px;min-height:245px}
.restaurant-main .restaurant-atmosphere>.eyebrow{align-self:start;padding-top:10px;max-width:180px}
.restaurant-main .restaurant-atmosphere h2{font-size:clamp(46px,4.8vw,70px);line-height:1.06;max-width:850px}
.restaurant-main .restaurant-contact{padding:48px 28px 52px}
.restaurant-main .restaurant-contact h2{font-size:clamp(48px,4.8vw,70px);line-height:1.07;margin-bottom:22px}
.restaurant-main .restaurant-contact p{font-size:17px;line-height:1.8;margin-bottom:28px}
.restaurant-main .restaurant-contact .button{padding:19px 30px;font-weight:600;min-height:56px;letter-spacing:.06em}
.restaurant-main .restaurant-telephone{margin-top:20px}
@media(max-width:900px){.restaurant-main .restaurant-hero{height:640px;min-height:590px}.restaurant-main .restaurant-breakfast,.restaurant-main .restaurant-cuisine{grid-template-columns:minmax(0,1fr);gap:26px;padding:36px 28px}.restaurant-main .breakfast-copy{padding:0}.restaurant-main .cuisine-copy p{max-width:650px}.restaurant-main .restaurant-atmosphere{grid-template-columns:minmax(0,1fr);gap:18px;min-height:0;padding:40px 28px}.restaurant-main .restaurant-atmosphere>.eyebrow{padding:0;max-width:none}.restaurant-main .restaurant-atmosphere h2{font-size:56px}}
@media(max-width:600px){.restaurant-main .restaurant-hero{height:620px;min-height:580px}.restaurant-main .restaurant-hero-copy{padding:38px 7% 48px}.restaurant-main .restaurant-hero-photo img{object-position:center 50%}.restaurant-main .restaurant-breakfast,.restaurant-main .restaurant-cuisine{padding:32px 18px;gap:24px}.restaurant-main .cuisine-copy h2{font-size:44px;margin:16px 0 20px}.restaurant-main .cuisine-copy p{font-size:16px}.restaurant-main .restaurant-atmosphere{padding:36px 18px;gap:18px}.restaurant-main .restaurant-atmosphere h2{font-size:44px}.restaurant-main .restaurant-contact{padding:38px 18px 42px}.restaurant-main .restaurant-contact h2{font-size:46px}.restaurant-main .restaurant-contact p{font-size:16px}.restaurant-main .restaurant-contact .button{width:100%;max-width:350px}}
/* Correction isolée : présence photographique de « Des saveurs à partager ». */
.restaurant-main .restaurant-cuisine{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;padding:40px max(28px,calc((100% - 1320px)/2)) 44px;align-items:center}
.restaurant-main .restaurant-cuisine>.cuisine-photo{display:block;width:100%;max-width:none;min-width:0;margin:0;align-self:center;height:auto;aspect-ratio:auto}
.restaurant-main .restaurant-cuisine>.cuisine-photo img{display:block;width:100%;max-width:none;height:auto;aspect-ratio:auto;object-fit:contain}
.restaurant-main .restaurant-cuisine>.cuisine-copy{display:block;align-self:center;width:100%;max-width:none;min-width:0;margin:0;padding:0}
.restaurant-main .restaurant-cuisine>.cuisine-copy h2{margin:16px 0 22px}
.restaurant-main .restaurant-cuisine>.cuisine-copy p{max-width:none;margin:0}
@media(max-width:900px){.restaurant-main .restaurant-cuisine{grid-template-columns:minmax(0,1fr);gap:24px;padding:34px 28px}.restaurant-main .restaurant-cuisine>.cuisine-copy{max-width:680px}}
@media(max-width:600px){.restaurant-main .restaurant-cuisine{padding:30px 18px;gap:22px}}

/* Directive 24 — les deux horaires restent groupés et centrés dans leur ligne. */
.restaurant-main .breakfast-times > div{justify-content:center;text-align:center}
