/* ============================================================
   JET ATLAS — ht-table (« À table » cinematic panel + service timeline)
   Ported 1:1 from home-two.css (incl. mobile vertical timeline).
   Timeline animates when ht-core.js adds .is-in to .ht-rest__time.
   ============================================================ */
.ht-rest { background: var(--ht-paper2); padding: clamp(72px,11vw,140px) 0; }
.ht-rest__panel { position: relative; border-radius: 24px; overflow: hidden; min-height: clamp(420px,56vh,580px); display: flex; align-items: flex-end; isolation: isolate; box-shadow: 0 44px 90px -50px rgba(10,10,10,0.55); }
.ht-rest__media { position: absolute; inset: -8% 0; z-index: -2; will-change: transform; }
.ht-rest__media img { width: 100%; height: 100%; object-fit: cover; }
.ht-rest__panel::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8,8,8,0.55) 0%, rgba(8,8,8,0.5) 42%, rgba(8,8,8,0.92) 100%), radial-gradient(50% 56% at 86% 12%, var(--ht-rest-glow, rgba(220,255,0,0.14)), transparent 62%); }
.ht-rest__panel .ht-h2 { color: var(--ht-white); }
.ht-rest__panelin { position: relative; z-index: 1; padding: clamp(28px,4vw,58px); display: flex; flex-direction: column; gap: 16px; align-items: flex-start; max-width: 660px; }
.ht-rest__lead-light { font-size: clamp(15px,1.4vw,18px); line-height: 1.62; color: rgba(255,255,255,0.86); max-width: 46ch; }
.ht-rest__time { position: relative; margin-top: clamp(36px,4vw,58px); display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding-top: 7px; }
.ht-rest__timeline { position: absolute; top: 7px; left: 16%; right: 16%; height: 2px; background: var(--ht-line); }
.ht-rest__timeline span { display: block; height: 100%; width: 0; background: var(--ht-lime); transition: width 1.3s var(--ht-ease) .2s; }
.ht-rest__time.is-in .ht-rest__timeline span { width: 100%; }
.ht-stop { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.ht-stop__dot { width: 14px; height: 14px; border-radius: 50%; background: var(--ht-paper2); border: 2px solid var(--ht-lime); box-shadow: 0 0 0 5px var(--ht-paper2); position: relative; z-index: 1; transform: scale(0); transition: transform .5s var(--ht-ease); }
.ht-rest__time.is-in .ht-stop__dot { transform: scale(1); transition-delay: calc(var(--i) * 0.18s + 0.25s); }
.ht-stop__name { font-family: var(--ht-serif); font-style: italic; font-size: clamp(22px,2.4vw,30px); color: var(--ht-ink); }
.ht-stop__hours { font-family: var(--ht-data); font-size: 14px; color: var(--ht-mut); letter-spacing: 0.3px; }
.ht-rest__foot { margin-top: clamp(34px,4vw,52px); display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.ht-rest__note { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ht-ui); font-size: 13px; font-weight: 700; letter-spacing: 0.3px; color: var(--ht-ink); background: var(--ht-lime); padding: 10px 18px; border-radius: 999px; box-shadow: 0 12px 28px -12px rgba(220,255,0,0.6); text-align: center; }

@media (max-width: 1024px) {
  .ht-rest__panelin { align-items: center; text-align: center; }
  .ht-rest__time { display: flex; flex-direction: column; gap: 0; align-items: stretch; max-width: 360px; margin-inline: auto; padding-top: 0; }
  .ht-rest__timeline { display: none; }
  .ht-stop { flex-direction: row; align-items: center; gap: 16px; text-align: left; padding: 18px 0; position: relative; }
  .ht-stop::before { content: ""; position: absolute; left: 6px; top: 0; bottom: 0; width: 2px; background: rgba(220,255,0,0.4); z-index: 0; }
  .ht-stop:first-child::before { top: 50%; }
  .ht-stop:last-child::before { bottom: 50%; }
  .ht-stop__dot { position: relative; z-index: 1; flex: 0 0 14px; }
  .ht-stop__name { flex: 0 0 auto; }
  .ht-stop__hours { margin-left: auto; }
}
