/* Café Minnaya, modèle « 1g — Arches ». Charte du brief, thème clair unique. */
:root{
  --flower:#FFF8EC;   /* fond principal */
  --tan:#D9BD8E;      /* bandeaux, accents */
  --tan-light:#EADBC0;/* photos en attente, cartes secondaires */
  --raisin:#2B292B;   /* texte, boutons */
  --hover:#9C7F4E;    /* survol des liens */
  --body:rgba(43,41,43,.75);
  --line:rgba(43,41,43,.14);
  --f-title:"Playfair Display",Georgia,"Times New Roman",serif;
  --f-text:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --side:64px;
  --maxw:1200px;
  color-scheme:light;
}
@media (max-width:760px){:root{--side:20px}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:150px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--flower);color:var(--raisin);font-family:var(--f-text);font-weight:300;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
@media (max-width:760px){body{font-size:15px}html{scroll-padding-top:90px}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s}
a:hover{color:var(--hover)}
:focus-visible{outline:2px solid var(--raisin);outline-offset:3px}
h1,h2,h3{font-family:var(--f-title);font-weight:400;margin:0;text-wrap:balance;color:var(--raisin)}
h2{font-size:44px;line-height:1.15}
h3{font-size:22px;line-height:1.3}
@media (max-width:760px){h2{font-size:30px}}
p{margin:0}
em{font-style:italic}
.txt{color:var(--body);max-width:62ch}
.center{text-align:center;margin-inline:auto}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--side)}
.section{padding-block:96px}
@media (max-width:760px){.section{padding-block:72px}}
.kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;color:var(--raisin)}
.stack{display:grid;gap:18px;justify-items:center;text-align:center}
.skip{position:absolute;left:-999px;top:8px;background:var(--raisin);color:var(--flower);padding:8px 16px;border-radius:999px;z-index:50}
.skip:focus{left:16px}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--raisin);color:var(--flower);font:400 14px/1.2 var(--f-text);padding:14px 32px;border-radius:999px;text-decoration:none;border:1px solid var(--raisin);cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--raisin)}
.btn-line{background:transparent;color:var(--raisin)}
.btn-line:hover{background:var(--raisin);color:var(--flower)}
.btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* Header centré */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--flower);border-bottom:1px solid var(--line)}
.site-head .wrap{display:grid;justify-items:center;gap:6px;padding-block:18px 14px;position:relative}
.logo{font-family:var(--f-title);font-size:34px;line-height:1.1;text-decoration:none;color:var(--raisin)}
.logo:hover{color:var(--raisin)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:40px}
.nav a{font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;font-weight:400;padding-block:6px;display:inline-block}
.nav a[aria-current="page"]{border-bottom:1px solid var(--raisin)}
.burger{display:none}
@media (max-width:760px){
  .site-head .wrap{grid-template-columns:44px 1fr 44px;align-items:center;padding-block:12px}
  .logo{font-size:26px;grid-column:2;justify-self:center}
  .burger{display:inline-grid;place-items:center;grid-column:3;width:44px;height:44px;background:none;border:0;padding:0;cursor:pointer;color:var(--raisin)}
  .burger span,.burger span::before,.burger span::after{display:block;width:22px;height:1.5px;background:currentColor;position:relative;transition:transform .2s}
  .burger span::before,.burger span::after{content:"";position:absolute;left:0}
  .burger span::before{top:-7px}.burger span::after{top:7px}
  .burger[aria-expanded="true"] span{background:transparent}
  .burger[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
  .burger[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}
  .nav{grid-column:1/-1;width:100%}
  .nav ul{flex-direction:column;align-items:center;gap:4px;padding-block:12px 8px}
  .nav a{padding-block:10px}
  .js .nav:not(.open){display:none}
}

/* Hero */
.hero{padding-block:88px 72px}
.hero h1{font-size:72px;line-height:1.05}
.hero h1 em{display:block}
.hero .sub{margin-top:22px;color:var(--body)}
@media (max-width:760px){.hero{padding-block:56px 48px}.hero h1{font-size:40px}}

/* Arches */
.arch,.frame{overflow:hidden;background:var(--tan-light);position:relative;max-width:100%}
.arch{border-radius:999px 999px 0 0}
.arch img,.frame img{width:100%;height:100%;object-fit:cover}
.ph{display:grid;place-items:center;width:100%;height:100%;background:var(--tan-light);color:var(--body);font-size:13px;letter-spacing:.04em;padding:24px;text-align:center}
.trio{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:32px;align-items:end}
.trio a{display:grid;gap:18px;text-decoration:none;text-align:center}
.trio .arch{height:400px}
.trio a:nth-child(2) .arch{height:520px}
.trio h3{transition:color .2s}
.trio a:hover h3{color:var(--hover)}
@media (max-width:900px){.trio{gap:16px}.trio .arch{height:auto;aspect-ratio:2/3}.trio a:nth-child(2) .arch{height:auto;aspect-ratio:2/2.6}}
@media (max-width:560px){.trio{gap:10px}.trio h3{font-size:16px}.trio a{gap:10px}}

/* Bandeau tan */
.band{background:var(--tan)}
.band .txt{color:var(--raisin)}
.visit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:40px;text-align:center}
.visit address{font-style:normal}
.visit .hours-line{font-size:14px}
@media (max-width:700px){.visit{grid-template-columns:1fr;gap:36px}}
.band-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;margin-top:40px}

/* Footer */
.site-foot{background:var(--raisin);color:var(--flower);padding-block:72px 40px}
.site-foot a{color:var(--flower)}
.site-foot a:hover{color:var(--tan)}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.site-foot .logo{color:var(--flower);font-size:30px}
.site-foot h4{font:400 13px/1.4 var(--f-text);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;color:var(--tan)}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px}
.site-foot .muted{color:rgba(255,248,236,.72)}
.foot-hours{font-variant-numeric:tabular-nums}
.foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,248,236,.18);display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:rgba(255,248,236,.72)}

/* Page header (pages internes) */
.page-head{padding-block:80px 24px}
.page-head h1{font-size:56px;line-height:1.1}
.page-head h1 em{font-style:italic}
@media (max-width:760px){.page-head{padding-block:48px 8px}.page-head h1{font-size:36px}}

/* Carte */
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px}
.chips a{font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:8px 18px;border:1px solid var(--line);border-radius:999px;font-weight:400}
.chips a:hover{border-color:var(--raisin);color:var(--raisin);background:var(--tan-light)}
.cat{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:72px;align-items:start;padding-block:72px;border-top:1px solid var(--line)}
.cat:nth-of-type(even){grid-template-columns:minmax(0,1fr) minmax(0,320px)}
.cat:nth-of-type(even) .cat-photo{order:2}
.cat-photo{position:sticky;top:170px}
.cat-photo .frame{aspect-ratio:2/3}
.cat-body{display:grid;gap:8px;min-width:0}
.cat-body h2{margin-bottom:6px}
.cat-note{color:var(--body);font-size:14px;margin-bottom:12px}
.dishes{list-style:none;margin:0;padding:0}
.dish{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding-block:18px;border-bottom:1px dashed var(--line)}
.dish h3{font-size:22px}
.dish .price{font-family:var(--f-title);font-size:20px;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;align-self:baseline}
.dish p{grid-column:1/-1;color:var(--body);font-size:15px}
.tag{display:inline-block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--raisin);border-radius:999px;padding:0 9px;margin-left:8px;vertical-align:middle;font-family:var(--f-text);font-weight:400;line-height:1.8}
.extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px 32px;margin-top:20px;padding:24px 28px;background:var(--tan-light);font-size:14px}
.extras h4{grid-column:1/-1;margin:0 0 4px;font:400 13px/1.4 var(--f-text);letter-spacing:.14em;text-transform:uppercase}
.extras div{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}
.formules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.formule{background:var(--tan);padding:56px 40px;text-align:center;display:grid;gap:14px;justify-items:center;align-content:start}
.formule .big{font-family:var(--f-title);font-size:44px;line-height:1}
.formule ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}
@media (max-width:860px){
  .cat,.cat:nth-of-type(even){grid-template-columns:1fr;gap:32px;padding-block:56px}
  .cat:nth-of-type(even) .cat-photo{order:0}
  .cat-photo{position:static;width:min(220px,60%);margin-inline:auto}
  .dish h3{font-size:19px}.dish .price{font-size:18px}
  .formules{grid-template-columns:1fr;gap:20px}.formule{padding:44px 24px}
  .formule .big{font-size:34px}
}

/* Le lieu */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:end;max-width:880px;margin-inline:auto}
.duo .frame{aspect-ratio:4/3}
.duo figure{margin:0}
.duo figcaption{text-align:center;margin-top:14px;font-family:var(--f-title);font-size:22px}
@media (max-width:560px){.duo{gap:14px}.duo figcaption{font-size:16px}}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.split .frame{aspect-ratio:2/3;max-width:380px;margin-inline:auto;width:100%}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:40px}}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;text-align:center}
.values h3{margin-bottom:10px}
@media (max-width:760px){.values{grid-template-columns:1fr;gap:36px}}
.todo{border:1px dashed var(--hover);border-radius:16px;padding:16px 20px;color:var(--body);font-size:14px;background:rgba(234,219,192,.4)}

/* Galerie */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.gallery figure{margin:0}
.gallery .frame{aspect-ratio:2/3}
.gallery figure:nth-child(3n+2){transform:translateY(48px)}
@media (max-width:760px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery figure:nth-child(3n+2){transform:none}.gallery figure:nth-child(even){transform:translateY(28px)}}

/* Infos */
.cafes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
@media (max-width:860px){.cafes{grid-template-columns:1fr}}
.cafe{background:var(--tan-light);padding:48px 40px 40px;display:grid;gap:18px;align-content:start;text-align:center}
@media (max-width:560px){.cafe{padding:36px 20px 28px}}
.cafe address{font-style:normal}
.hours{width:100%;max-width:340px;margin-inline:auto;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:15px;text-align:left}
.hours td{padding:6px 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right}
.hours tr.today td{font-weight:500}
.map{aspect-ratio:4/3;width:100%;overflow:hidden;background:var(--tan);display:grid;place-items:center;text-align:center;padding:24px}
.map iframe{width:100%;height:100%;border:0;display:block}
.map.has-frame{padding:0}
.access{font-size:14px;color:var(--body)}
.rules{list-style:none;margin:0 auto;padding:0;max-width:720px;display:grid}
.rules li{padding:14px 0;border-bottom:1px solid var(--line);text-align:center;color:var(--body)}
.form{max-width:720px;margin:40px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form .full{grid-column:1/-1}
@media (max-width:620px){.form{grid-template-columns:1fr}}
.field{display:grid;gap:6px}
.field label{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:400}
.field input,.field select,.field textarea{font:300 15px/1.6 var(--f-text);color:var(--raisin);background:transparent;border:1px solid rgba(43,41,43,.35);border-radius:14px;padding:12px 16px;width:100%}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--raisin);outline-offset:1px}
.form .btns{grid-column:1/-1}
.form-msg{grid-column:1/-1;text-align:center;font-size:14px;color:var(--raisin)}
details{border-bottom:1px solid var(--line);max-width:760px;margin-inline:auto}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-family:var(--f-title);font-size:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--f-text);font-weight:300}
details[open] summary::after{content:"–"}
details p{padding-bottom:18px;color:var(--body)}

/* Mentions */
.legal{max-width:760px;margin-inline:auto;display:grid;gap:36px}
.legal h2{font-size:28px;margin-bottom:10px}
.legal dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 24px;margin:0;color:var(--body)}
.legal dt{color:var(--raisin);font-weight:400}
.legal dd{margin:0}
@media (max-width:560px){.legal dl{grid-template-columns:1fr}.legal dd{margin-bottom:8px}}
.extras div span:last-child{white-space:nowrap}
@media (max-width:560px){
  .trio{grid-template-columns:1fr 1fr;gap:20px 14px}
  .trio a:nth-child(2){grid-column:1/-1;order:-1;width:78%;justify-self:center}
  .trio a:nth-child(2) .arch{aspect-ratio:4/5}
  .trio .arch{aspect-ratio:3/4}
  .trio h3{font-size:18px}
}
.duo figcaption span{display:block;font-family:var(--f-text);font-size:14px;color:var(--body);margin-top:2px}
