/* Base de style : fiche Refero « Essie Wine » (trois grands champs de couleur pleine reliés par de l'air, serif éditorial, étiquettes
   en petites capitales, filets d'1 px, aucun coin arrondi, aucune ombre). Champs recomposés aux couleurs de la façade : bordeaux,
   or de l'enseigne et écru de la nappe ; la nappe à carreaux rouge apparaît en bandeau. */
@font-face{font-family:Garamond;src:url(fonts/garamond.woff2?v=1) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:Garamond;src:url(fonts/garamond-italic.woff2?v=1) format("woff2");font-weight:400 600;font-style:italic;font-display:swap}
@font-face{font-family:Figtree;src:url(fonts/figtree.woff2?v=1) format("woff2");font-weight:400 700;font-display:swap}
:root{
  --vin:#6e1325;--vin2:#560e1d;--rouge:#b3202e;--or:#c9a24a;--or2:#8a6b1f;--ecru:#e9dcc3;--ecru2:#dccdb0;--lin:#efe3cc;--encre:#2a1418;--sec:#52403f;--creme:#f1e6cf;
  --titre:Garamond,"EB Garamond",Georgia,serif;--corps:Figtree,system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ecru);color:var(--encre);font-family:var(--titre);font-size:20px;line-height:1.6;padding-bottom:64px}
img{display:block;max-width:100%;height:auto}a{color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.annonce{background:var(--vin2);color:var(--creme);text-align:center;font-family:var(--corps);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:7px 12px}
.site-header{position:sticky;top:0;z-index:30;background:var(--ecru);border-bottom:1px solid rgba(42,20,24,.4)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;width:min(100% - 40px,1360px);margin-inline:auto}
.marque{white-space:nowrap;font-family:var(--titre);font-style:italic;font-weight:500;font-size:22px;text-decoration:none;color:var(--vin);padding:8px 0}
.nav{display:none;gap:30px;margin-left:auto;margin-right:26px}
.nav a{font-family:var(--corps);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:16px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a.on{border-bottom-color:var(--rouge);color:var(--rouge)}
.pilule{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:0;background:var(--or);color:var(--vin2);font-family:var(--corps);font-size:13.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--or);transition:background .3s,color .3s}
.pilule:hover{background:transparent;color:var(--or)}
.pilule-petite{min-height:42px;padding:0 18px;font-size:12.5px;background:var(--vin);color:var(--creme);border-color:var(--vin)}
.pilule-petite:hover{background:transparent;color:var(--vin)}
.pilule-vin{background:var(--vin);color:var(--creme);border-color:var(--vin)}
.pilule-vin:hover{background:transparent;color:var(--vin)}
.pilule-contour{background:transparent;color:var(--vin);border-color:var(--vin)}
.pilule-contour:hover{background:var(--vin);color:var(--creme)}
.pilule-or{background:var(--or);color:var(--vin2)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin:0}
.actions-centre{justify-content:center}
.lien{font-family:var(--corps);font-size:13.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--or);border-bottom:1px solid currentColor;padding:12px 0 4px;display:inline-block}
.lien-fonce{color:var(--vin);margin-top:26px}
.mini{font-family:var(--corps);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px;color:var(--or)}
.mini-fonce{color:var(--rouge)}
h1,h2{font-family:var(--titre);font-weight:400;margin:0;line-height:1.02;letter-spacing:-.01em}
h1 em,.pied-marque em{font-style:italic}
h2{font-size:clamp(34px,5.6vw,62px);margin-bottom:24px}
/* Champ bordeaux */
.hero{background:var(--vin);color:var(--creme)}
.hero-in{width:min(100% - 40px,1360px);margin-inline:auto;display:grid;gap:36px;padding:44px 0 60px}
h1{font-size:clamp(54px,15vw,150px);line-height:.94;margin:0 0 24px;color:var(--or)}
.hero-sous{font-size:21px;max-width:26em;margin:0 0 28px;color:#eadbc3}
.hero-photo{margin:0;border:1px solid var(--or);padding:8px}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.vichy{height:26px;background:
  repeating-linear-gradient(0deg,rgba(179,32,46,.75) 0 13px,transparent 13px 26px),
  repeating-linear-gradient(90deg,rgba(179,32,46,.75) 0 13px,transparent 13px 26px),var(--ecru)}
/* Carte */
.carte{padding:88px 20px 76px}
.carte-in{width:min(100%,1240px);margin-inline:auto;display:grid;gap:44px}
.carte-sous{font-size:21px;color:var(--sec);margin:0 0 30px;max-width:30em}
.plats{list-style:none;margin:0;padding:0;border-top:1px solid rgba(42,20,24,.4)}
.plats li{display:flex;flex-direction:column;padding:20px 0;border-bottom:1px solid rgba(42,20,24,.4)}
.plats b{font-weight:500;font-style:italic;font-size:clamp(26px,3.6vw,36px);line-height:1.1;color:var(--vin)}
.plats span{font-family:var(--corps);font-size:15.5px;color:var(--sec);margin-top:4px}
.note{font-family:var(--corps);font-size:14px;color:var(--sec);margin:26px 0 0;max-width:46em}
.carte-photo{margin:0}
.carte-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
/* Salle : champ or */
.salle{background:var(--or);color:var(--vin2)}
.salle-in{width:min(100%,1240px);margin-inline:auto;display:grid;gap:40px;padding:88px 20px 56px}
.salle-photo{margin:0}
.salle-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.salle .mini{color:var(--vin2)}
.salle h2{color:var(--vin2)}
.salle-texte p:not(.mini){max-width:32em;margin:0 0 22px}
.liste{list-style:none;margin:0;padding:0;max-width:36em;font-family:var(--corps);font-size:15.5px}
.liste li{padding:12px 0;border-top:1px solid rgba(86,14,29,.45)}
.liste li:last-child{border-bottom:1px solid rgba(86,14,29,.45)}
.salle-large{margin:0}
.salle-large img{width:100%;aspect-ratio:16/8;object-fit:cover;object-position:50% 60%}
/* Terrasse */
.terrasse{padding:88px 20px}
.terrasse-in{width:min(100%,1240px);margin-inline:auto;display:grid;gap:40px}
.terrasse-texte p:not(.mini){max-width:30em;margin:0;color:var(--sec)}
.terrasse-photo{margin:0}
.terrasse-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
/* Avis */
.avis{background:var(--ecru2)}
.avis-in{width:min(100% - 40px,1240px);margin-inline:auto;padding:84px 0}
.avis-grille{display:grid;margin-top:8px;border-top:1px solid rgba(42,20,24,.45)}
.avis blockquote{margin:0;padding:28px 0;border-bottom:1px solid rgba(42,20,24,.45)}
.avis blockquote p{font-style:italic;font-size:clamp(24px,2.8vw,31px);line-height:1.2;margin:0 0 12px}
.avis footer{font-family:var(--corps);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sec)}
/* Réservation : champ bordeaux */
.resa{background:var(--vin);color:var(--creme);text-align:center;padding:92px 20px}
.resa-in{width:min(100%,780px);margin-inline:auto}
.resa-in h2{font-size:clamp(42px,8.6vw,90px);margin-bottom:12px;color:var(--or)}
.resa-in p{margin:0 0 26px;font-size:21px}
/* Infos */
.infos-in{width:min(100% - 40px,1240px);margin-inline:auto;display:grid;gap:64px;padding:84px 0}
.infos h2{font-size:clamp(32px,4.8vw,54px)}
.horaires{width:100%;max-width:560px;border-collapse:collapse}
.horaires th,.horaires td{text-align:left;padding:13px 0;border-bottom:1px solid rgba(42,20,24,.4);font-weight:400}
.horaires th{font-family:var(--corps);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;width:32%}
.horaires td{font-size:19px}
.horaires tr.today{background:rgba(179,32,46,.13)}
.horaires tr.today th::after{content:" · aujourd'hui";font-weight:500;color:var(--rouge);text-transform:none;letter-spacing:0}
address{font-style:normal;margin:0 0 22px;font-size:21px;line-height:1.6}
.venir-photo{margin:0 0 24px}
.venir-photo img{width:100%;aspect-ratio:16/10;object-fit:cover}
.pied{background:var(--vin2);color:#cdbba5;text-align:center;padding:52px 20px 44px;font-family:var(--corps);font-size:14px}
.pied-marque{font-family:var(--titre);font-weight:400;font-size:clamp(38px,8vw,80px);color:var(--or);margin:0 0 12px;line-height:1.05}
.pied p{margin:0 0 10px}.pied a{color:var(--creme);display:inline-block;padding:13px 0}
.petit{font-size:12.5px;max-width:62em;margin-inline:auto!important}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:center;min-height:58px;background:var(--vin);color:var(--or);font-family:var(--corps);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-top:1px solid var(--or)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.pilule{transition:none}}
@media (min-width:900px){
  body{padding-bottom:0}.callbar{display:none}.nav{display:flex}
  .hero-in{grid-template-columns:1fr 1.1fr;align-items:center;gap:64px;padding:76px 0 88px}
  h1{font-size:clamp(70px,8.8vw,130px)}
  .carte-in{grid-template-columns:1.1fr 1fr;gap:88px;align-items:center}
  .salle-in{grid-template-columns:1fr 1.1fr;gap:88px;align-items:center}
  .salle-large img{aspect-ratio:21/8}
  .terrasse-in{grid-template-columns:1fr 1.2fr;gap:88px;align-items:center}
  .avis-grille{grid-template-columns:repeat(3,1fr);border-top:0;gap:40px}
  .avis blockquote{border-top:1px solid rgba(42,20,24,.45);border-bottom:0}
  .infos-in{grid-template-columns:1fr 1fr;gap:110px}
}
