/* ══════════════════════════════════════════════════════════════════
   4 MIAU — Perpignan · charte client (sept. 2026)
   Crème + sauge + rose corail + jaune beurre. Funtastic (display) + Raleway.
   Pictos noirs "posés" dans la mise en page, jamais flottants.
   ══════════════════════════════════════════════════════════════════ */

@font-face{
  font-family:"Funtastic";
  src:url("../fonts/Funtastic.woff2") format("woff2"),
      url("../fonts/Funtastic.woff") format("woff");
  font-weight:400;font-style:normal;font-display:swap;
}

:root{
  /* charte */
  --rose:    #F78289;
  --rose-d:  #EE6C75;   /* hover */
  --sauge:   #849F82;
  --sauge-d: #3F4F3E;   /* footer */
  --beurre:  #FBE09D;
  --beurre-2:#FFF3D1;   /* hover de ligne, surfaces douces */
  --bg:      #FFFBF3;   /* crème, tiré du jaune */
  --bg-2:    #F3F6F1;   /* sauge à 10 % */
  --ink:     #2A2624;   /* noir teinté */
  --ink-2:   #5C5450;
  --line:    #E9E2D5;
  --on-dark: #FFFBF3;
  --on-dark-2:#C9D3C7;

  /* typo */
  --display:"Funtastic","Lilita One","Arial Rounded MT Bold",sans-serif;
  --sans:"Raleway","Helvetica Neue",Arial,sans-serif;
  --f-h1:clamp(2.6rem,7vw,5rem);
  --f-h2:clamp(1.9rem,4.2vw,3rem);
  --f-h3:1.25rem;
  --f-body:1.0625rem;
  --f-small:.9375rem;
  --f-eye:.8125rem;

  /* espace */
  --x1:8px;--x2:16px;--x3:24px;--x4:32px;--x5:48px;--x6:64px;--x7:96px;
  --sec:clamp(64px,10vw,128px);
  --wrap:1120px;
  --gut:clamp(16px,4vw,32px);
  --hdr:92px;
  --r:20px;
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --ease-in:cubic-bezier(.5,0,.8,.4);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 72px)}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:var(--f-body);line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit}
table{border-collapse:collapse;width:100%}
::selection{background:var(--beurre);color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-9999px;z-index:200;background:var(--ink);color:var(--on-dark);padding:14px 20px;border-radius:8px}
.skip:focus{left:12px;top:12px}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding-block:var(--sec)}
.sec--soft{background:var(--bg-2)}

/* ── Typo ─────────────────────────────────────────────────────── */
h1,.sec h2,.cat h2,.tester h2{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:.005em}
h1{font-size:var(--f-h1)}
.sec h2,.cat h2,.tester h2{font-size:var(--f-h2)}
h3{font-size:var(--f-h3);font-weight:600;line-height:1.25}
.eye{display:block;font-size:var(--f-eye);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--sauge-d);margin-bottom:var(--x2)}
.lead{font-size:1.125rem;color:var(--ink-2);max-width:62ch}
.mark{position:relative;z-index:0;color:var(--ink);padding-inline:.08em;margin-inline:-.02em;white-space:nowrap}
.mark::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:16%;bottom:12%;background:var(--beurre);border-radius:.22em}
p+p{margin-top:var(--x2)}

/* ── Boutons ──────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:999px;
  background:var(--rose);color:var(--ink);font-weight:700;font-size:var(--f-small);text-decoration:none;
  box-shadow:0 1px 0 rgba(42,38,36,.08),0 6px 14px -8px rgba(247,130,137,.6);
  transition:background-color .15s var(--ease-out),transform .15s var(--ease-out),box-shadow .15s var(--ease-out)}
.btn:hover{background:var(--rose-d);transform:translateY(-1px);box-shadow:0 1px 0 rgba(42,38,36,.08),0 10px 18px -8px rgba(247,130,137,.7);transition-timing-function:var(--ease-out)}
.btn:active{transform:translateY(1px);transition-duration:.1s;transition-timing-function:var(--ease-in)}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn--ghost:hover{background:var(--beurre-2);box-shadow:inset 0 0 0 2px var(--ink)}
.btn--sauge{background:var(--sauge);color:#182018;box-shadow:0 1px 0 rgba(42,38,36,.08),0 6px 14px -8px rgba(132,159,130,.7)}
.btn--sauge:hover{background:#779273}
.btn svg{width:18px;height:18px;flex:none}

/* ── Header ───────────────────────────────────────────────────── */
.hdr{position:sticky;top:0;z-index:50;height:var(--hdr);
  background:rgba(255,251,243,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)}
.hdr__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--x3)}
.hdr__logo{display:flex;align-items:center;text-decoration:none;height:100%}
.hdr__logo img{height:calc(var(--hdr) - 16px);width:auto}
.hdr nav{display:flex;align-items:center;gap:var(--x2)}
.hdr nav a{text-decoration:none;font-weight:600;font-size:var(--f-small);padding:10px 14px;border-radius:999px;
  transition:background-color .15s var(--ease-out)}
.hdr nav a:hover{background:var(--beurre-2)}
.hdr nav a[aria-current="page"]{background:var(--bg-2);color:var(--sauge-d)}
.hdr__tel{min-height:42px;padding:8px 18px}
@media (max-width:640px){
  .hdr nav a:not(.hdr__tel){padding:8px 10px}
  .hdr__tel span{display:none}
}

/* ── Hero ─────────────────────────────────────────────────────── */
.hero{position:relative;overflow:hidden;color:#fff;min-height:min(86vh,720px);display:grid;align-items:center;
  padding-block:clamp(72px,10vw,128px)}
.hero__bg{position:absolute;inset:0;background:var(--sauge-d)}
.hero__bg video,.hero__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__bg video{display:none}
@media (prefers-reduced-motion:no-preference){.hero__bg video{display:block}}
/* voile : lisibilité du texte sur la vidéo */
.hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(28,24,22,.78) 0%,rgba(28,24,22,.55) 55%,rgba(28,24,22,.25) 100%)}
.hero__in{position:relative;max-width:var(--wrap)}
.hero .eye{color:rgba(255,251,243,.85)}
.hero h1{max-width:14ch;margin-bottom:var(--x3);text-wrap:balance}
.hero .lead{color:rgba(255,251,243,.9);margin-bottom:var(--x4)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.btn--light{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85)}
.btn--light:hover{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 2px #fff}
/* chat-suspendu : accroché au haut du viewport, coin droit, en crème (masque) */
.hero__chat{position:absolute;top:-4px;right:clamp(12px,7vw,140px);width:clamp(40px,4.5vw,64px);aspect-ratio:486/1021;
  background:var(--bg);-webkit-mask:url("../brand/chat-suspendu.png") center/contain no-repeat;mask:url("../brand/chat-suspendu.png") center/contain no-repeat;
  pointer-events:none}
.js .hero__chat{transform:translateY(-10px);opacity:0;transition:transform .7s var(--ease-out),opacity .7s var(--ease-out)}
.hero__chat.on{transform:none;opacity:1}
@media (max-width:640px){.hero__chat{width:32px;right:12px}}

/* ── Barre horaires ───────────────────────────────────────────── */
.bar{background:var(--bg-2);border-block:1px solid var(--line)}
.bar__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--x2) var(--x4);padding-block:var(--x3)}
.bar dt{font-size:var(--f-eye);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--sauge-d)}
.bar dd{font-weight:600;font-size:var(--f-small);margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bar dd a{text-decoration:none;border-bottom:2px solid var(--beurre)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--sauge);flex:none;box-shadow:0 0 0 3px rgba(132,159,130,.25)}
.dot--off{background:var(--rose);box-shadow:0 0 0 3px rgba(247,130,137,.22)}
.stars{color:var(--rose);letter-spacing:.05em}

/* ── Pattes : séparateur de section (noires, jamais recolorées) ── */
.paws{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut);height:0;position:relative;pointer-events:none}
.paws img{position:absolute;top:-40px;left:calc(var(--gut) + 6px);width:44px;transform:rotate(-14deg);opacity:.9}
.paws--right img{left:auto;right:calc(var(--gut) + 10px);transform:rotate(22deg)}

/* ── Pictos nourriture (sauge via mask) ───────────────────────── */
.pic{display:inline-block;width:40px;height:40px;background:var(--sauge);flex:none;
  -webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.pic--gyozas{--m:url("../brand/gyozas.png")}
.pic--bol{--m:url("../brand/bol-ramen.png")}
.pic--bol2{--m:url("../brand/bol-ramen-2.png")}
.pic--mochi{--m:url("../brand/mochi.png")}
.pic--baguettes{--m:url("../brand/baguettes.png")}

/* ── Bloc Maison (photo + chat posé) ──────────────────────────── */
.maison{display:grid;gap:var(--x5);align-items:center}
@media (min-width:900px){.maison{grid-template-columns:.9fr 1.1fr;gap:var(--x7)}}
.maison__fig{position:relative;margin-inline:auto;width:min(100%,460px)}
.maison__fig img.photo{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;width:100%}
/* chat-dort : posé à cheval sur le bord bas de la photo, en % de la figure */
.maison__fig .chat{position:absolute;right:-6%;bottom:-9%;width:44%;pointer-events:none;filter:drop-shadow(0 6px 0 var(--bg))}
@media (max-width:560px){.maison__fig .chat{right:2%}}
.maison h2{margin-bottom:var(--x3);max-width:16ch}
.proofs{display:flex;flex-wrap:wrap;gap:var(--x2) var(--x4);margin-top:var(--x4);padding-top:var(--x3);border-top:1px solid var(--line)}
.proofs li{font-weight:600;font-size:var(--f-small);display:flex;align-items:center;gap:10px}
.proofs li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rose);flex:none}

/* ── Incontournables : liste éditoriale ───────────────────────── */
.sec__head{margin-bottom:var(--x5);max-width:70ch}
.sec__head h2{margin-bottom:var(--x2)}
.sec__head .h-sub{font-size:1.125rem;color:var(--ink-2);font-weight:500}
.faves{border-top:1px solid var(--line)}
.faves li{display:grid;grid-template-columns:96px 1fr auto;gap:var(--x2) var(--x3);align-items:center;
  padding-block:var(--x3);border-bottom:1px solid var(--line);
  transition:background-color .15s var(--ease-out)}
.faves li:hover{background:var(--beurre-2);transition-timing-function:var(--ease-out)}
.faves img{width:96px;height:96px;border-radius:14px;object-fit:contain;background:#fff;padding:4px}
.faves h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.faves h3 .code{font-family:var(--display);font-size:1rem;color:var(--sauge-d)}
.faves p{color:var(--ink-2);font-size:var(--f-small);margin-top:4px}
.faves .prix{font-weight:700;font-variant-numeric:tabular-nums;font-size:1.125rem;white-space:nowrap;
  background:var(--rose);padding:6px 12px;border-radius:999px}
@media (max-width:560px){
  .faves li{grid-template-columns:72px 1fr;grid-template-rows:auto auto}
  .faves img{width:72px;height:72px}
  .faves .prix{grid-column:2;justify-self:start;font-size:1rem}
}
.sec__cta{margin-top:var(--x5)}

/* ── Mochi du mois : bandeau beurre ───────────────────────────── */
.mois{background:var(--beurre)}
.mois__in{display:grid;gap:var(--x4);align-items:center;padding-block:var(--x6)}
@media (min-width:800px){.mois__in{grid-template-columns:1.2fr .8fr;gap:var(--x6)}}
.mois h2{font-family:var(--display);font-size:var(--f-h2);line-height:1.05;max-width:14ch;margin-bottom:var(--x2)}
.mois h2 em{font-style:normal;color:var(--ink);background:var(--bg);padding:.02em .18em;border-radius:10px;display:inline-block}
.mois p{max-width:48ch}
.mois .prix{font-family:var(--display);font-size:2rem;margin-top:var(--x2)}
.mois img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;max-height:420px;justify-self:center;width:min(100%,340px)}

/* ── Avis ─────────────────────────────────────────────────────── */
.avis{display:grid;gap:var(--x5);align-items:start}
@media (min-width:900px){.avis{grid-template-columns:.7fr 1.3fr;gap:var(--x7)}}
.note{position:relative;padding-top:var(--x2)}
.note .big{font-family:var(--display);font-size:clamp(4rem,10vw,6.5rem);line-height:.9;letter-spacing:-.01em}
.note .big small{font-size:1.25rem;color:var(--ink-2);font-family:var(--sans);font-weight:700;letter-spacing:0}
.note .stars{font-size:1.4rem;margin-top:8px;display:block}
.note p{color:var(--ink-2);margin-top:8px;font-size:var(--f-small)}
.note a{font-weight:700;border-bottom:2px solid var(--beurre);text-decoration:none}
/* chat-dos : une seule fois, sous la note */
.note .chat{width:min(260px,70%);margin-top:var(--x4);display:block}
.quotes{columns:1;column-gap:var(--x3)}
@media (min-width:640px){.quotes{columns:2}.quotes figure:first-child{margin-top:var(--x5)}}
.quotes figure:first-child{background:var(--beurre-2);border-color:var(--beurre)}
.quotes figure:first-child blockquote{font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1.3}
.quotes figure:first-child cite{color:var(--ink)}
.quotes figure{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--x4);break-inside:avoid;margin-bottom:var(--x3)}
.quotes blockquote{font-size:1.125rem;font-weight:500;line-height:1.5}
.quotes cite{display:block;font-style:normal;color:var(--ink-2);font-size:var(--f-eye);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:var(--x2)}
.quotes .stars{display:block;margin-bottom:12px;font-size:.95rem}

/* ── Instagram : bande de photos ──────────────────────────────── */
.insta__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--x3);flex-wrap:wrap;margin-bottom:var(--x4)}
.insta__head h2{margin:0}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(200px,24vw,280px);gap:var(--x2);
  overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;
  margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scrollbar-width:thin}
.strip a{scroll-snap-align:start;border-radius:14px;overflow:hidden;aspect-ratio:4/5;background:var(--bg-2);display:block}
.strip img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}
.strip a:hover img{transform:scale(1.03)}

/* ── Footer ───────────────────────────────────────────────────── */
.ftr{background:var(--sauge-d);color:var(--on-dark);padding-block:var(--x6) var(--x4)}
.ftr a{color:inherit}
.ftr__grid{display:grid;gap:var(--x5)}
@media (min-width:900px){.ftr__grid{grid-template-columns:1.1fr 1fr 1.2fr;gap:var(--x6)}}
.ftr__logo{display:inline-block;text-decoration:none;margin-bottom:var(--x3);background:var(--bg);border-radius:16px;padding:10px 14px}
.ftr__logo img{width:96px;height:auto}
.ftr h3{font-size:var(--f-eye);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--on-dark-2);margin-bottom:12px}
.ftr p{max-width:44ch}
.ftr .tel-xl{font-family:var(--display);font-size:1.9rem;text-decoration:none;display:inline-block;margin-block:6px 12px}
.ftr .bloc+.bloc{margin-top:var(--x4)}
.horaires th{text-align:left;font-weight:600;padding:8px 0;width:40%;vertical-align:top}
.horaires td{padding:8px 0;color:var(--on-dark);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.5}
.horaires tr[data-today]{color:var(--beurre)}
.horaires tr[data-today] th::after{content:"aujourd'hui";display:block;font-weight:400;font-size:.75em;opacity:.9}
.horaires tr+tr{border-top:1px solid rgba(255,251,243,.12)}
.map{border-radius:14px;overflow:hidden;background:rgba(255,251,243,.08);aspect-ratio:4/3}
.map iframe{width:100%;height:100%;border:0;display:block}
.ftr__links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px;font-weight:600;font-size:var(--f-small)}
.ftr__links a{text-decoration:none;border-bottom:2px solid rgba(255,251,243,.25)}
.ftr__links a:hover{border-color:var(--beurre)}
.ftr small{display:block;margin-top:var(--x5);padding-top:var(--x3);border-top:1px solid rgba(255,251,243,.12);color:var(--on-dark-2);font-size:.8125rem;line-height:1.6}

/* ── LA CARTE ─────────────────────────────────────────────────── */
.carte-hero{padding-block:clamp(32px,4vw,56px) var(--x5)}
.carte-hero__in{display:grid;gap:var(--x4);align-items:center}
@media (min-width:800px){.carte-hero__in{grid-template-columns:1.4fr .6fr}}
.carte-hero h1{margin-bottom:var(--x3)}
.carte-hero img{border-radius:var(--r);aspect-ratio:3/4;object-fit:cover;width:min(100%,300px);justify-self:center}
@media (min-width:800px){.carte-hero img{justify-self:end}}
.cnav{position:sticky;top:var(--hdr);z-index:40;background:rgba(255,251,243,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-block:1px solid var(--line)}
.cnav ul{display:flex;gap:8px;overflow-x:auto;padding-block:12px;scrollbar-width:none;
  margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}
.cnav ul::-webkit-scrollbar{display:none}
.cnav a{display:inline-block;white-space:nowrap;text-decoration:none;font-weight:600;font-size:var(--f-small);
  padding:8px 16px;border-radius:999px;background:var(--bg-2);color:var(--sauge-d);
  transition:background-color .2s var(--ease-out),color .2s var(--ease-out)}
.cnav a:hover{background:var(--beurre-2)}
.cnav a.is-on{background:var(--sauge);color:#182018}
.cat{padding-block:var(--x6);border-bottom:1px solid var(--line)}
#boissons{border-bottom:0}
.cat__head{display:flex;align-items:center;gap:var(--x2);margin-bottom:var(--x4);flex-wrap:wrap}
.cat__head .pic{width:48px;height:48px}
.cat__head .num{font-family:var(--display);font-size:1rem;color:var(--sauge-d);margin-right:4px}
.cat__head .note{font-size:var(--f-small);color:var(--ink-2);flex-basis:100%;padding:0;margin-top:-8px}
.list{display:grid;gap:0}
@media (min-width:900px){.list--2{grid-template-columns:1fr 1fr;column-gap:var(--x6)}}
.item{display:grid;grid-template-columns:auto 1fr auto;column-gap:12px;align-items:baseline;padding:14px 10px;margin-inline:-10px;border-radius:12px;
  border-bottom:1px solid var(--line);transition:background-color .15s var(--ease-out)}
.item:hover{background:var(--beurre-2);transition-timing-function:var(--ease-out)}
.item__code{font-family:var(--display);font-size:.95rem;color:var(--sauge-d);min-width:2ch}
.item__name{font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.item__price{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.item__desc{grid-column:2/4;color:var(--ink-2);font-size:var(--f-small);margin-top:2px}
.list--nocode .item,.item--nocode{grid-template-columns:1fr auto}
.list--nocode .item__desc,.item--nocode .item__desc{grid-column:1/3}
.tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:2px 9px;border-radius:999px;background:var(--beurre);color:var(--ink);line-height:1.5}
.tag--vege{background:var(--bg-2);color:var(--sauge-d)}
.hot{display:inline-block;width:16px;height:18px;flex:none;vertical-align:-3px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath d='M10.8 1.5c.6 3.2-1.2 4.9-2.6 6.6C6.7 9.9 5.4 11.6 5.9 14c-1.4-.7-2.2-2-2.5-3.4-1.5 2-2.4 4.6-1.4 7.1 1.1 2.9 4.1 4.8 8 4.8 4.7 0 8.2-3.1 8.2-7.6 0-5.5-5-7.5-7.4-13.4z' fill='%23F78289' stroke='%232A2624' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M10.3 12.6c1.4 1.8 2.5 3.4 1.9 5.3-.5 1.6-1.9 2.4-3.3 2.2-1.5-.2-2.6-1.4-2.6-3 0-1.9 1.2-2.5 1.5-4 .9.5 1.5 1 2.5-.5z' fill='%23FBE09D'/%3E%3C/svg%3E")}
.hot+.hot{margin-left:-6px}
.maj{color:var(--ink-2);font-size:var(--f-small);padding-block:var(--x4);border-top:1px solid var(--line);text-align:center;padding-inline:clamp(0px,12vw,200px)}
.maj--legal{border-top:0;padding-top:0;margin-top:calc(var(--x4) * -1)}
/* CTA final carte : rose clair + chat-suspendu */
.tester{position:relative;background:#FDE7E9;border-radius:var(--r);padding:clamp(32px,6vw,64px);overflow:hidden;margin-bottom:var(--sec)}
.tester h2{margin-bottom:var(--x2)}
.tester p{max-width:48ch;color:var(--ink-2);margin-bottom:var(--x4)}
.tester .chat{position:absolute;top:-8px;right:clamp(12px,5vw,60px);width:clamp(70px,9vw,140px);pointer-events:none}
@media (max-width:640px){.tester .chat{width:64px;right:8px}}

/* ── Apparition au défilement ─────────────────────────────────── */
/* révélations : uniquement si JS actif (classe .js posée en tête de page) */
.js [data-in]{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.js [data-in].on{opacity:1;transform:none}
.js [data-in]:nth-child(2){transition-delay:.06s}.js [data-in]:nth-child(3){transition-delay:.12s}.js [data-in]:nth-child(4){transition-delay:.18s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-in],.hero__chat{opacity:1;transform:none;transition:none}
  .btn,.strip img,.item,.faves li{transition:none}
}
/* variante sans iframe (viewer claude.ai) : photo cliquable */
.map--photo{position:relative;display:block;text-decoration:none}
.map--photo img{width:100%;height:100%;object-fit:cover}
.map--photo span{position:absolute;left:12px;bottom:12px;background:var(--bg);color:var(--ink);font-weight:700;font-size:var(--f-small);padding:8px 14px;border-radius:999px}
