/* Restaurant du Téléphérique — modern refresh (keeps existing blue/orange identity) */

:root{
  --brand-blue: #60a5fa;   /* tailwind blue-400 */
  --brand-blue-2:#93c5fd;  /* blue-300 */
  --brand-amber:#f59e0b;   /* amber-500 */
  --brand-orange:#fdba74;  /* orange-300 */
  --ink:#0f172a;           /* slate-900 */
  --muted:#475569;         /* slate-600 */
  --surface:#ffffff;
  --ring: rgba(96,165,250,.35);
}

html{ scroll-behavior:smooth; }
body{
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--ink);
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(147,197,253,.55), transparent 60%),
    radial-gradient(900px 400px at 95% 10%, rgba(245,158,11,.20), transparent 55%),
    linear-gradient(to bottom, #f8fafc, #ffffff);
  min-height: 100vh;
}

h1,h2,h3{
  font-family: "Playfair Display", "Josefin Sans", serif;
  letter-spacing: .2px;
}

a:focus-visible, button:focus-visible{
  outline: 3px solid var(--ring);
  outline-offset: 3px;
  border-radius: 12px;
}

/* Subtle “instagrammable” treatment helpers */
.glass{
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(148,163,184,.35);
  box-shadow: 0 20px 40px rgba(15,23,42,.10);
}

.hero-overlay{
  background: linear-gradient(to bottom, rgba(2,6,23,.55), rgba(2,6,23,.35), rgba(2,6,23,.55));
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .75rem;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.72rem;
}

.badge-accent{
  background: var(--brand-amber);
  color:#fff;
  box-shadow: 0 10px 25px rgba(245,158,11,.25);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.85rem 1.05rem;
  border-radius: 16px;
  font-weight: 700;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  box-shadow: 0 14px 30px rgba(2,6,23,.10);
}
.btn:active{ transform: translateY(1px); box-shadow: 0 10px 22px rgba(2,6,23,.10); }

.btn-primary{
  color:#fff;
  background: linear-gradient(135deg, var(--brand-amber), #fb923c);
}
.btn-primary:hover{ filter: brightness(1.03); }

.btn-secondary{
  color:#0f172a;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(148,163,184,.4);
}
.btn-secondary:hover{ background:#fff; }

.container-site{
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Header behavior */
#main-header{
  transition: padding .18s ease, box-shadow .18s ease, background .18s ease;
}
#main-header.is-scrolled{
  box-shadow: 0 18px 40px rgba(2,6,23,.18);
}
#main-header .logo{
  transition: transform .18s ease;
}
#main-header.is-scrolled .logo{
  transform: scale(.92);
}

/* Reveal animation */
.reveal{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* Supprime l'espace entre la dernière section et le footer */
main > section:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Supprime un éventuel espace causé par le body */
body {
  margin: 0;
}

/* Assure que le footer colle bien */
footer {
  margin-top: 0 !important;
}


/* Floating reservation CTA (Zenchef) */
#cta-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 10px 25px rgba(0,0,0,.18);
  background:linear-gradient(90deg, var(--brand-amber, #f59e0b), var(--brand-orange, #fdba74));
  color:#0b1220;
}
#cta-float:hover{ transform: translateY(-1px); }
@media (min-width: 1024px){
  #cta-float{ right:24px; bottom:24px; padding:14px 18px; }
}
@media (max-width: 768px) {
  body {
    padding-top: var(--header-offset) !important;
  }

  body::before {
    content:"";
    display:block;
    height: 12px;
  }

  body > :first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 768px) {
  /* RESTAURANT */
  body.page-restaurant #header + section {
    padding-top: 84px !important;   /* compensation header */
    margin-top: 0 !important;
  }
  body.page-restaurant #header + section > *:first-child {
    margin-top: 16px;              /* petit espace esthétique */
  }

  /* PRIVATISATION / EVENTS */
  body.page-privatisation #header + section {
    padding-top: 84px !important;
    margin-top: 0 !important;
  }
  body.page-privatisation #header + section > *:first-child {
    margin-top: 16px;
  }

  /* GROUPES PARTICULIERS */
  body.page-groupes-particuliers #header + section {
    padding-top: 84px !important;
    margin-top: 0 !important;
  }
  body.page-groupes-particuliers #header + section > *:first-child {
    margin-top: 16px;
  }

  /* GROUPES PROFESSIONNELS */
  body.page-groupes-professionnels #header + section {
    padding-top: 84px !important;
    margin-top: 0 !important;
  }
  body.page-groupes-professionnels #header + section > *:first-child {
    margin-top: 16px;
  }
}

footer .container {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}