/* ==========================================================================
   MUSE · brasserie bistronomique · Montpellier
   Feuille de styles unique, mobile first.
   ========================================================================== */

/* ---------- Polices (auto-hébergées, sous-ensemble latin) ---------- */
@font-face {
  font-family: 'Newsreader';
  src: url('../fonts/newsreader-variable.woff2') format('woff2');
  font-weight: 400 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Newsreader';
  src: url('../fonts/newsreader-italic-variable.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Hanken Grotesk';
  src: url('../fonts/hanken-grotesk-variable.woff2') format('woff2');
  font-weight: 300 600;
  font-style: normal;
  font-display: swap;
}

/* ---------- Jetons ---------- */
:root {
  --ink: #1d1d1b;
  --grey: #5e5e5b;
  --muted: #767672;
  --soft: #b5b5b0;
  --line: #e2e2df;
  --line-strong: #cfcfcb;
  --paper: #ffffff;
  --stone: #f3f3f1;
  --serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --sans: 'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --gutter: 20px;
  --header: 64px;
  --section: clamp(96px, 10vw, 140px);
}
@media (min-width: 720px) {
  :root { --gutter: 48px; }
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 16px/1.65 var(--sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, svg, picture { display: block; max-width: 100%; }
img { height: auto; }
p, h1, h2, h3, figure, blockquote, ul { margin: 0; }
ul { padding: 0; list-style: none; }
a { color: inherit; }
a:hover { color: var(--grey); }
button { font: inherit; color: inherit; }
strong { font-weight: 600; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
/* Ancres : les sections arrivent pile sous l'en-tête fixe ; leur marge haute (≥ 96 px) laisse le titre dégagé. */
[id] { scroll-margin-top: var(--header); }
section[id] { scroll-margin-top: 0; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; left: 12px; top: -60px; z-index: 100;
  background: var(--ink); color: var(--paper); padding: 12px 16px; text-decoration: none;
}
.skip-link:focus { top: 12px; color: var(--paper); }

.wrap {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* ---------- Typographie ---------- */
.kicker {
  display: flex; align-items: center; gap: 14px;
  font: 500 12px/1 var(--sans);
  letter-spacing: .18em; text-transform: uppercase;
}
.kicker::after { content: none; }
.kicker .rule { display: block; width: 40px; height: 1px; background: currentColor; }
.h2 {
  font: 400 clamp(42px, 6.4vw, 92px)/1 var(--serif);
  letter-spacing: -.025em;
  text-wrap: balance;
}
.h3-serif {
  font: 400 clamp(36px, 4.6vw, 64px)/1 var(--serif);
  letter-spacing: -.02em;
}
.lead {
  font: 400 clamp(20px, 1.9vw, 25px)/1.4 var(--serif);
}
.lead strong { font-weight: 500; }
.lead-xl {
  font: 400 clamp(23px, 2.6vw, 36px)/1.3 var(--serif);
  letter-spacing: -.01em;
}
.lead-l {
  font: 400 clamp(26px, 3vw, 40px)/1.15 var(--serif);
  letter-spacing: -.015em;
}
.meta {
  font: 400 12px/1.5 var(--sans);
  letter-spacing: .16em; text-transform: uppercase; color: var(--grey);
}
.small-caps-label {
  font: 500 11px/1 var(--sans);
  letter-spacing: .16em; text-transform: uppercase; color: var(--grey);
}
.stack { display: flex; flex-direction: column; gap: 18px; }

/* ---------- Boutons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 22px;
  font: 500 13px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase;
  text-decoration: none; white-space: nowrap;
  border: 1px solid var(--ink); background: transparent; color: var(--ink);
  cursor: pointer; transition: background-color .2s, color .2s, border-color .2s;
}
.btn:hover { background: var(--ink); color: var(--paper); }
.btn--dark { background: var(--ink); color: var(--paper); }
.btn--dark:hover { background: #000; color: var(--paper); }
.btn--light { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.btn--light:hover { background: transparent; color: var(--paper); }
.btn--ghost-light { color: var(--paper); border-color: var(--paper); }
.btn--ghost-light:hover { background: var(--paper); color: var(--ink); }
.btn--sm { min-height: 44px; padding: 0 18px; }
.btn svg { flex: none; }
.btn-row { display: flex; flex-wrap: wrap; gap: 10px; }

.round-btn {
  width: 44px; height: 44px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ink); background: var(--paper); color: var(--ink);
  cursor: pointer; padding: 0; transition: background-color .2s, color .2s;
}
.round-btn:hover { background: var(--ink); color: var(--paper); }
.round-btn--dark { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* ---------- En-tête fixe ---------- */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}
.site-header__bar {
  height: var(--header);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.site-header__logo { display: flex; align-items: center; min-height: 44px; color: var(--ink); }
.site-header__logo svg { height: 24px; width: auto; }
.site-nav { display: none; }
.site-nav a {
  font: 500 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase;
  text-decoration: none; padding: 16px 0;
}
.site-header__actions { display: flex; align-items: center; gap: 4px; }
.icon-link {
  width: 44px; height: 44px; display: none; align-items: center; justify-content: center;
}
.burger {
  width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
  background: none; border: 0; padding: 0; cursor: pointer;
}
.burger .icon-close { display: none; }
.burger[aria-expanded='true'] .icon-open { display: none; }
.burger[aria-expanded='true'] .icon-close { display: block; }
.mobile-nav {
  border-top: 1px solid var(--line);
  background: var(--paper);
  padding: 4px var(--gutter) 28px;
  max-height: calc(100dvh - var(--header));
  overflow-y: auto;
}
.mobile-nav[hidden] { display: none; }
.mobile-nav a.mobile-nav__item {
  display: flex; justify-content: space-between; align-items: center;
  min-height: 60px; border-bottom: 1px solid var(--line);
  font: 400 28px/1 var(--serif); text-decoration: none;
}
.mobile-nav__item span:last-child { font: 400 12px/1 var(--sans); letter-spacing: .18em; }
.mobile-nav__extra {
  display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 24px;
  font: 500 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase;
}
.mobile-nav__extra a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; text-decoration: none; }

@media (min-width: 1100px) {
  .site-nav { display: flex; align-items: center; gap: 30px; }
  .icon-link { display: inline-flex; }
  .burger, .mobile-nav { display: none !important; }
}

/* ---------- Accueil ---------- */
.hero { padding-top: calc(var(--header) + clamp(28px, 5vw, 64px)); padding-bottom: clamp(28px, 4vw, 48px); }
.hero__title { position: relative; color: var(--ink); }
.hero__title svg { width: 100%; height: auto; }
.hero__row {
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between;
  gap: 28px 48px; margin-top: clamp(18px, 2.4vw, 32px);
}
.hero__tag { font: 600 clamp(19px, 2.2vw, 30px)/1.05 var(--sans); letter-spacing: -.01em; }
.hero__aside { display: flex; flex-direction: column; gap: 22px; max-width: 540px; }
.hero__quote { font: italic 400 clamp(22px, 2.4vw, 32px)/1.2 var(--serif); }
.hero__media img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; object-position: center top; }
@media (min-width: 900px) {
  .hero__media img { aspect-ratio: 2 / 1; object-position: center; }
}

/* ---------- Bandeau des Muses ---------- */
.muses {
  overflow: hidden; white-space: nowrap;
  border-bottom: 1px solid var(--ink);
  padding: 18px 0;
}
.muses__track {
  display: inline-flex;
  font: 300 13px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase;
  animation: muses 140s linear infinite;
}
.muses__track span { padding-right: 40px; }
.muses__track b { font-weight: 500; }
@keyframes muses { to { transform: translateX(-50%); } }

/* ---------- Sections ---------- */
.section { padding-block: var(--section); }
.section--stone { background: var(--stone); }
.section--top-line { border-top: 1px solid var(--line); }
.split {
  display: flex; flex-wrap: wrap; gap: 32px 64px; margin-top: 32px; align-items: flex-start;
}
.split > * { flex: 1 1 420px; min-width: 0; }
.split__text { max-width: 640px; padding-top: 8px; }
.split--center { align-items: center; gap: 40px 64px; }

/* Galerie et curseurs horizontaux */
.slider { position: relative; }
.slider__track {
  display: flex; gap: 12px;
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.slider__track::-webkit-scrollbar { display: none; }
.slider__track > * { flex: 0 0 auto; scroll-snap-align: start; }
.slider__nav { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.gallery .slider__track { padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); }
.gallery img { width: clamp(240px, 62vw, 420px); aspect-ratio: 4 / 5; object-fit: cover; }

/* Muse / concept / restaurant */
.muse-block {
  display: flex; flex-wrap: wrap; gap: 24px 64px;
  border-top: 1px solid var(--ink); padding-top: 28px;
}
.muse-block > h3 { flex: 1 1 220px; align-self: flex-start; }
.muse-block > div { flex: 3 1 520px; max-width: 880px; display: flex; flex-direction: column; gap: 20px; }
.two-cols { display: flex; flex-wrap: wrap; gap: 20px 40px; }
.two-cols > p { flex: 1 1 280px; }
.concept-img img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.restaurant { display: flex; flex-wrap: wrap-reverse; gap: 40px 64px; align-items: center; }
.restaurant > div { flex: 1 1 420px; max-width: 620px; }
.restaurant > figure { flex: 1 1 340px; max-width: 540px; margin-left: auto; }
.restaurant img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.pt-section { padding-top: clamp(72px, 9vw, 128px); }

/* ---------- Infos pratiques ---------- */
.infos { display: flex; flex-wrap: wrap; gap: 48px 64px; margin-top: clamp(32px, 4vw, 56px); }
.infos__main { flex: 999 1 520px; min-width: 0; }
.infos__side { flex: 1 1 320px; max-width: 480px; display: flex; flex-direction: column; gap: 16px; }
.infos__side img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.info-row {
  display: flex; flex-wrap: wrap; gap: 12px 32px;
  padding: 26px 0; border-top: 1px solid var(--ink);
}
.info-row:last-child { border-bottom: 1px solid var(--ink); }
.info-row > h3 { flex: 0 0 170px; align-self: flex-start; padding-top: 6px; }
.info-row > div { flex: 1 1 300px; display: flex; flex-direction: column; gap: 14px; }
.address { font: 400 clamp(21px, 1.9vw, 26px)/1.35 var(--serif); font-style: normal; }
.text-link {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
  font: 500 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase;
  text-underline-offset: 5px;
}
.hours {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1px; background: var(--line-strong); border: 1px solid var(--line-strong);
}
.hours > div { background: var(--stone); padding: 18px 16px; display: flex; flex-direction: column; gap: 8px; }
.hours dt { display: flex; flex-direction: column; gap: 8px; font: 400 21px/1.15 var(--serif); }
.hours dd { margin: 0; font: 500 15px/1 var(--sans); }
.social { display: flex; flex-wrap: wrap; gap: 8px 32px; }
.social a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; text-decoration: none; font-size: 17px; }
.rating {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px;
  padding: 20px 22px; background: var(--paper); border: 1px solid var(--ink); text-decoration: none;
}
.rating:hover { color: var(--ink); background: var(--stone); }
.rating__score { display: flex; align-items: center; gap: 14px; }
.rating__value { font: 400 54px/1 var(--serif); letter-spacing: -.02em; }
.rating__stars { position: relative; display: inline-flex; line-height: 0; }
.rating__stars-base, .rating__stars-fill { display: flex; }
.rating__stars-base { color: var(--line-strong); }
.rating__stars-fill {
  position: absolute; inset: 0 auto 0 0; overflow: hidden; white-space: nowrap;
  width: var(--fill, 100%);
}
.rating__stars svg { flex: none; }
.rating__count { font-size: 14px; line-height: 1; color: var(--grey); margin-top: 6px; }
.rating__cta { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 500 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }

/* ---------- Gastéréa ---------- */
.gasterea {
  background: var(--ink); color: var(--paper); text-align: center;
  padding: clamp(88px, 12vw, 168px) var(--gutter);
}
.gasterea__name, .gasterea__line { font: 500 clamp(32px, 5.8vw, 84px)/1.04 var(--sans); letter-spacing: .01em; }
.gasterea__line { font-weight: 300; }
.gasterea__author { margin-top: clamp(36px, 4vw, 56px); font: 600 16px/1.4 var(--sans); }
.gasterea__book { margin-top: 2px; font: 400 18px/1.4 var(--serif); }

/* ---------- La carte ---------- */
.carte-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 48px; margin-top: 32px; }
.tabs {
  display: flex; flex-wrap: wrap; gap: 0 clamp(20px, 3vw, 44px);
  margin-top: clamp(28px, 3vw, 44px); border-bottom: 1px solid var(--line-strong);
}
.tab {
  background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px;
  padding: 10px 0 12px; min-height: 48px; cursor: pointer;
  font: 400 clamp(26px, 3vw, 40px)/1 var(--serif); color: var(--muted);
}
.tab[aria-selected='true'] { color: var(--ink); border-bottom-color: var(--ink); }
.tab:hover { color: var(--ink); }
.no-js .tabs { display: none; }
.panel { display: flex; flex-wrap: wrap; gap: 36px 64px; margin-top: clamp(28px, 3vw, 48px); }
.panel[hidden] { display: none; }
.no-js .panel + .panel { padding-top: 48px; border-top: 1px solid var(--line); }
.panel__text { order: 2; flex: 1 1 300px; max-width: 460px; display: flex; flex-direction: column; gap: 16px; }
.panel__slider { flex: 999 1 560px; min-width: 0; }
@media (min-width: 960px) {
  .panel__text { order: 0; }
}
.panel__title {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  padding-bottom: 14px; border-bottom: 1px solid var(--ink);
}
.panel__title h3 { font: 400 30px/1 var(--serif); }
.panel__title span { font: 500 14px/1 var(--sans); }
.panel__slider .slider__track { gap: 16px; padding-bottom: 4px; }
.page-btn {
  width: clamp(250px, 74vw, 380px); padding: 0; border: 1px solid #d9d9d6;
  background: var(--paper); cursor: zoom-in;
}
.page-btn img { width: 100%; aspect-ratio: 595 / 842; object-fit: contain; background: var(--paper); }
.page-btn--photo img { object-fit: cover; }
.slider__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; }
.slider__foot p { font-size: 13px; line-height: 1.4; color: var(--grey); }

/* Visionneuse */
.lightbox {
  width: 100vw; height: 100dvh; max-width: none; max-height: none;
  margin: 0; padding: 0; border: 0; background: rgba(255, 255, 255, .985); color: var(--ink);
}
.lightbox[open] { display: flex; flex-direction: column; }
.lightbox::backdrop { background: rgba(29, 29, 27, .4); }
.lightbox__bar {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 16px; border-bottom: 1px solid var(--line);
}
.lightbox__label { font: 500 12px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.lightbox__actions { display: flex; gap: 6px; }
.lightbox__body { flex: 1; overflow: auto; display: flex; justify-content: center; align-items: flex-start; padding: 16px; }
.lightbox__body img { width: min(100%, 980px); box-shadow: 0 0 0 1px var(--line); }

/* ---------- Le lieu ---------- */
.facts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 24px 32px;
  margin-block: clamp(40px, 5vw, 72px) clamp(32px, 4vw, 56px);
}
.facts > div { border-top: 1px solid var(--ink); padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.facts dt { font: 400 clamp(26px, 2.4vw, 34px)/1.05 var(--serif); }
.facts dt.facts__big { font-size: clamp(34px, 3.4vw, 48px); line-height: 1; }
.facts dd { margin: 0; font-size: 14px; line-height: 1.4; color: var(--grey); }
.mosaic { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
.mosaic figure { height: 100%; }
.mosaic picture { height: 100%; }
.mosaic img { width: 100%; height: 100%; object-fit: cover; }
.mosaic__tall img { aspect-ratio: 4 / 5; }
.mosaic__std img { aspect-ratio: 5 / 4; }
@media (min-width: 760px) {
  .mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mosaic__tall { grid-row: span 2; }
  .mosaic__tall img { aspect-ratio: auto; }
}

/* ---------- Coworking ---------- */
.cowork { display: flex; flex-wrap: wrap; gap: 40px 64px; margin-top: 32px; align-items: flex-start; }
.cowork > div:first-child { flex: 1 1 420px; max-width: 640px; }
.cowork > div:last-child { flex: 1 1 380px; }
.cowork img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.numbered {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0 20px; margin-top: 20px;
}
.numbered li { display: flex; flex-direction: column; gap: 6px; padding: 16px 16px 18px 0; border-top: 1px solid var(--ink); }
.numbered li span:first-child { font: 400 12px/1 var(--sans); letter-spacing: .16em; color: var(--grey); }
.numbered li span:last-child { font: 400 21px/1.15 var(--serif); }
.numbered--wide { margin-top: 0; }
.numbered--wide li span:last-child { font-size: 22px; line-height: 1.1; }

/* ---------- Privatisation ---------- */
.privat { display: flex; flex-wrap: wrap; gap: 48px 64px; margin-top: clamp(32px, 4vw, 56px); align-items: flex-start; }
.privat > div:first-child { flex: 1 1 480px; max-width: 680px; display: flex; flex-direction: column; gap: 20px; }
.privat > aside { flex: 1 1 380px; max-width: 560px; }
.privat aside img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pills li { border: 1px solid var(--ink); border-radius: 999px; padding: 8px 14px; font-size: 14px; line-height: 1.2; }
.contact-card {
  background: var(--ink); color: var(--paper);
  padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; gap: 18px;
}
.contact-card h3 { font: 400 clamp(28px, 2.6vw, 38px)/1.1 var(--serif); }
.contact-card p { font-size: 15px; line-height: 1.6; color: #d6d6d2; }
.contact-card .btn-row { margin-top: 4px; }

/* ---------- Pied de page ---------- */
.site-footer { background: var(--ink); color: var(--paper); border-top: 1px solid #4a4a47; }
.site-footer a { color: var(--paper); text-decoration: none; }
.site-footer a:hover { color: var(--soft); }
.site-footer__logo { width: min(100%, 560px); color: var(--paper); }
.site-footer__logo svg { width: 100%; height: auto; }
.site-footer__tag { margin-top: 14px; font: 600 clamp(17px, 1.6vw, 22px)/1 var(--sans); }
.site-footer__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 36px 40px;
  margin-top: clamp(48px, 6vw, 80px); padding-top: 28px; border-top: 1px solid #4a4a47;
}
.site-footer__grid h2 { font: 500 11px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--soft); margin-bottom: 12px; }
.site-footer__grid p, .site-footer__grid li { font-size: 15px; line-height: 1.6; }
.site-footer__grid li a { display: inline-flex; align-items: center; min-height: 32px; }
.site-footer__legal {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px;
  margin-top: clamp(48px, 6vw, 72px); padding-top: 20px; border-top: 1px solid #4a4a47;
  font-size: 13px; line-height: 1.6; color: var(--soft);
}

.site-footer__legal a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 255, 255, .35); }
.site-footer__legal a:hover { text-decoration-color: currentColor; }

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .muses__track { animation: none; }
  * { transition: none !important; }
}
.site-footer a.btn--light { color: var(--ink); }
.site-footer a.btn--light:hover { color: var(--paper); }

/* ---------- Mentions légales ---------- */
.site-header__logo img { height: 24px; width: auto; }
.legal { padding-top: calc(var(--header) + clamp(48px, 7vw, 96px)); padding-bottom: var(--section); max-width: 1100px; }
.legal .h2 { margin: 28px 0 clamp(32px, 4vw, 56px); }
.legal .info-row > div p + p { margin-top: 0; }
.legal__list { margin: 4px 0 0; display: grid; gap: 10px; }
.legal__list > div { display: flex; flex-wrap: wrap; gap: 2px 16px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.legal__list dt { flex: 0 0 240px; color: var(--grey); font-size: 14px; line-height: 1.6; }
.legal__list dd { margin: 0; flex: 1 1 240px; }
.legal .info-row > h2 { flex: 0 0 220px; align-self: flex-start; padding-top: 6px; line-height: 1.4; }

/* Flèches des curseurs : grisées en butée, masquées sans défilement */
.slider__nav[hidden] { display: none; }
.round-btn:disabled { opacity: .25; cursor: default; pointer-events: none; }

/* En-tête de la page légale sur petit écran */
.legal-page .site-header .text-link { white-space: nowrap; }
@media (max-width: 519px) {
  .legal-page .site-header .text-link { display: none; }
}
