/* Base de style : fiche Refero « Fallen Grape » (vignoble à l'heure dorée : tons chauds de papier, encre brune, terracotta/abricot,
   filets bruns d'1 px à la place des ombres, deux voix typographiques : un serif humaniste et une sans condensée). Retourné en version
   nocturne (toile brun noyer, texte sable, abricot du soleil couchant) pour coller aux photos de la plage au crépuscule ;
   le nom reprend l'enseigne : « le samaná » en minuscules, sans empattements. */
@font-face{font-family:Jost;src:url(fonts/jost.woff2?v=1) format("woff2");font-weight:300 600;font-display:swap}
@font-face{font-family:Fraunces;src:url(fonts/fraunces.woff2?v=1) format("woff2");font-weight:300 500;font-display:swap}
:root{
  --noyer:#241812;--noyer2:#1b110c;--noyer3:#30211a;--sable:#ead9c2;--sable2:#cdb99d;--abricot:#efa164;--abricot2:#c97a3a;--sauge:#d8deb7;--trait:rgba(234,217,194,.24);
  --titre:Fraunces,Georgia,serif;--corps:Jost,system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--noyer);color:var(--sable);font-family:var(--corps);font-size:18px;font-weight:300;line-height:1.65;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(--noyer2);color:var(--sable2);text-align:center;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:7px 12px}
.site-header{position:sticky;top:0;z-index:30;background:var(--noyer);border-bottom:1px solid var(--trait)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;width:min(100% - 40px,1360px);margin-inline:auto}
.marque{font-weight:500;font-size:26px;letter-spacing:-.02em;text-decoration:none;color:var(--abricot);padding:8px 0}
.nav{display:none;gap:30px;margin-left:auto;margin-right:26px}
.nav a{font-size:13.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:16px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a.on{border-bottom-color:var(--abricot);color:var(--abricot)}
.pilule{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:9999px;background:var(--abricot);color:var(--noyer2);font-family:var(--corps);font-size:16px;font-weight:500;text-decoration:none;border:1px solid var(--abricot);transition:background .3s,color .3s}
.pilule:hover{background:transparent;color:var(--abricot)}
.pilule-petite{min-height:42px;padding:0 20px;font-size:15px}
.pilule-contour{background:transparent;color:var(--sable);border-color:var(--sable2)}
.pilule-contour:hover{background:var(--sable);color:var(--noyer2);border-color:var(--sable)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin:0}
.actions-centre{justify-content:center}
.lien{font-weight:500;text-decoration:none;color:var(--abricot);border-bottom:1px solid currentColor;padding:12px 0 3px;display:inline-block}
.mini{font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin:0 0 16px;color:var(--abricot)}
h1,h2{font-family:var(--titre);font-weight:300;margin:0;line-height:1.05;letter-spacing:-.025em}
h2{font-size:clamp(34px,5.6vw,60px);margin-bottom:24px;color:var(--sable)}
/* Héros */
.hero{position:relative;background:var(--noyer2);overflow:hidden}
.hero-img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 55%}
.hero-voile{display:none}
.hero-in{position:relative;width:min(100% - 40px,1360px);margin-inline:auto;padding:34px 0 52px}
h1{font-family:var(--corps);font-weight:500;font-size:clamp(64px,21vw,230px);letter-spacing:-.05em;line-height:.9;margin:0 0 20px;color:var(--abricot)}
.hero-sous{font-size:19px;max-width:28em;margin:0 0 28px;color:#e1cfb6}
/* Face à la mer */
.mer{padding:0}
.mer-in{display:grid;gap:0}
.mer-photo{margin:0}
.mer-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.mer-texte{padding:56px 20px 72px;width:min(100%,640px)}
.mer-texte p:not(.mini){margin:0 0 18px;color:#dfccb2}
.note-nom{font-size:15px;color:var(--sable2)!important;border-top:1px solid var(--trait);padding-top:18px;margin-top:26px!important}
/* Table */
.table{background:var(--noyer3);padding:88px 20px 72px;border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.table-in{width:min(100%,1240px);margin-inline:auto;display:grid;gap:40px}
.prix{font-size:19px;margin:0;color:var(--sable2)}
.prix b{font-family:var(--titre);font-weight:400;font-size:34px;color:var(--abricot);margin-right:8px}
.plats{list-style:none;margin:0;padding:0;border-top:1px solid var(--trait)}
.plats li{display:flex;flex-direction:column;padding:18px 0;border-bottom:1px solid var(--trait)}
.plats b{font-family:var(--titre);font-weight:400;font-size:clamp(24px,3.4vw,34px);line-height:1.15;color:var(--sable)}
.plats span{color:var(--sable2);margin-top:2px}
.note{font-size:14.5px;color:var(--sable2);margin:24px 0 0;max-width:46em}
.note-centre{width:min(100%,1240px);margin:34px auto 0}
/* Cadre */
.cadre{padding:88px 20px 40px}
.cadre-in{width:min(100%,1240px);margin-inline:auto;display:grid;gap:36px}
.cadre-texte p:not(.mini){max-width:32em;margin:0;color:#dfccb2}
.photos2{display:grid;gap:12px}
.photos2 figure,.deco{margin:0}
.photos2 img,.deco img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cadre-bas{margin-top:56px;align-items:center}
.liste{list-style:none;margin:0;padding:0}
.liste li{padding:14px 0;border-top:1px solid var(--trait);font-size:17px}
.liste li:last-child{border-bottom:1px solid var(--trait)}
/* Avis */
.avis{border-top:1px solid var(--trait)}
.avis-in{width:min(100% - 40px,1240px);margin-inline:auto;padding:84px 0}
.avis-grille{display:grid;margin-top:8px;border-top:1px solid var(--trait)}
.avis blockquote{margin:0;padding:28px 0;border-bottom:1px solid var(--trait)}
.avis blockquote p{font-family:var(--titre);font-weight:300;font-size:clamp(23px,2.7vw,30px);line-height:1.25;letter-spacing:-.015em;margin:0 0 12px}
.avis footer{font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--sable2)}
.avis .lien{margin-top:24px}
/* Réservation */
.resa{background:var(--abricot);color:var(--noyer2);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(--noyer2)}
.resa-in p{margin:0 0 26px;font-size:19px}
.resa .pilule{background:var(--noyer2);color:var(--sable);border-color:var(--noyer2)}
.resa .pilule:hover{background:transparent;color:var(--noyer2)}
/* 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 var(--trait);font-weight:300}
.horaires th{font-weight:500;width:30%}
.horaires tr.today{background:rgba(239,161,100,.16)}
.horaires tr.today th::after{content:" · aujourd'hui";font-weight:300;color:var(--abricot)}
address{font-style:normal;margin:0 0 22px;font-size:19px;line-height:1.7}
.venir-photo{margin:0 0 24px}
.venir-photo img{width:100%;aspect-ratio:16/10;object-fit:cover}
.pied{background:var(--noyer2);color:#bfae97;text-align:center;padding:52px 20px 44px;font-size:14px}
.pied-marque{font-weight:500;font-size:clamp(48px,11vw,110px);letter-spacing:-.05em;color:var(--abricot);margin:0 0 12px;line-height:.95}
.pied p{margin:0 0 10px}.pied a{color:var(--sable);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(--abricot);color:var(--noyer2);font-weight:500;font-size:16px;text-decoration:none}
.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{min-height:min(92vh,880px);display:flex;align-items:flex-end}
  .hero-img{position:absolute;inset:0;height:100%;aspect-ratio:auto;object-position:50% 60%}
  .hero-voile{display:block;position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,17,12,.9) 0%,rgba(27,17,12,.55) 45%,rgba(27,17,12,.05) 100%)}
  .hero-in{padding:120px 0 72px}
  h1{font-size:clamp(120px,16vw,250px)}
  .mer-in{grid-template-columns:1.2fr 1fr;align-items:center}
  .mer-photo img{aspect-ratio:auto;height:100%;min-height:600px}
  .mer-texte{padding:80px max(20px,calc((100vw - 1240px)/2)) 80px 72px;width:auto}
  .table-in{grid-template-columns:1fr 1.1fr;gap:96px;align-items:start}
  .photos2{grid-template-columns:1fr 1fr}
  .cadre-in:first-child{grid-template-columns:1fr 1.4fr;gap:72px;align-items:center}
  .cadre-bas{grid-template-columns:1.1fr 1fr;gap:72px}
  .avis-grille{grid-template-columns:repeat(3,1fr);border-top:0;gap:40px}
  .avis blockquote{border-top:1px solid var(--trait);border-bottom:0}
  .infos-in{grid-template-columns:1fr 1fr;gap:110px}
}
