:root{--bleu-nuit:#181c2a;--bleu-nuit-clair:#232846;--orange:#ff6f3c;--orange-hover:#ffa364;--blanc:#fff;--hero-grad-start:#232846;--hero-grad-end:#0d111d}
body{background:var(--bleu-nuit);color:var(--blanc);font-family:'Segoe UI',Arial,sans-serif;margin:0;padding:0}
.container{max-width:1400px;margin:0 auto;padding:2rem 1rem}
header{position:sticky;top:0;z-index:1000;background:var(--bleu-nuit-clair);box-shadow:0 2px 12px rgba(20,20,30,.2)}
header .container{max-width:1200px;margin:0 auto;padding:.8rem 1rem;display:flex;align-items:center}
header h1{color:var(--orange);margin:0}
header nav{margin-left:auto;display:flex;gap:2rem}
header nav a{color:var(--blanc);font-weight:700;text-decoration:none;padding:.45rem .9rem;border-radius:22px}
header nav a:hover,header nav a.active{background:var(--orange);color:var(--bleu-nuit)}
#burger{display:none;width:42px;height:42px;background:transparent;border:2px solid rgba(255,255,255,.5);border-radius:8px;margin-left:auto}
#burger span{display:block;width:28px;height:3px;margin:6px auto;background:var(--orange);border-radius:2px;transition:transform .25s,opacity .2s}
@media (max-width:1024px){#burger{display:block}header nav{position:fixed;right:16px;top:72px;width:260px;display:none;flex-direction:column;gap:0;padding:.6rem;background:var(--bleu-nuit-clair);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.25)}header nav a{display:block;padding:.9rem 1rem;border-radius:10px}header.nav-open nav{display:flex}header.nav-open #burger span:nth-child(1){transform:translateY(9px) rotate(45deg)}header.nav-open #burger span:nth-child(2){opacity:0}header.nav-open #burger span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}}
#menu .menu-container{background:linear-gradient(100deg,var(--bleu-nuit-clair) 78%,rgba(255,111,60,.18) 260%);border-radius:22px;box-shadow:0 6px 32px rgba(20,20,30,.13);padding:2rem 1.2rem}
#menu h2{color:var(--orange);font-size:2rem;margin:0 0 1rem}
.menu-cat{margin-bottom:2.5rem}
.menu-cat h3{color:var(--orange);font-size:1.35rem;margin:.2rem 0 1rem;font-weight:800}
.menu-cat .menu-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.1rem 1.3rem}
.menu-extra{grid-column:1/-1;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#0f1424;padding:1rem;border-radius:16px;margin-bottom:2rem!important}
.menu-extra .menu-title{color:var(--orange);font-weight:800;font-size:1.25rem}
.menu-extra .menu-price{color:var(--orange-hover);font-weight:800;margin-left:.4rem}
.menu-extra .menu-desc{color:#e5e5e5;opacity:.92;font-style:italic;margin-top:.45rem}
.menu-item{display:flex;align-items:flex-start;background:rgba(24,28,42,.97);border-radius:16px;box-shadow:0 3px 18px rgba(20,20,30,.08);padding:.9rem 1.1rem;border-left:4px solid var(--orange);margin:0;min-width:0;width:100%;box-sizing:border-box}
.menu-item:hover{box-shadow:0 5px 20px rgba(255,111,60,.1)}
.menu-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.menu-title{font-size:1.08rem;font-weight:800;color:var(--orange);margin:0 0 .15rem}
.menu-desc{font-size:.99rem;color:#e5e5e5;opacity:.87;font-style:italic}
.menu-price{font-weight:800;color:var(--orange-hover);margin-top:.35rem}
@media (max-width:950px){.container{max-width:98vw;padding:1.4rem .6rem}.menu-cat .menu-list{grid-template-columns:repeat(2,1fr);gap:.8rem .7rem}}
@media (max-width:700px){#burger{display:block}nav{display:none}.menu-cat .menu-list{grid-template-columns:1fr;gap:1rem 0}.container{padding:1rem .25rem}}
#horaires-hero{background:linear-gradient(100deg,var(--hero-grad-start) 0%,var(--hero-grad-end) 100%);color:#fff;padding:56px 16px 64px;margin:0 0 50px;width:100%;display:flex;align-items:center;justify-content:center}
#horaires-hero .hours-wrap{max-width:1200px;width:100%;display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));align-items:start;justify-items:center;gap:32px 80px;text-align:center}
#horaires-hero .hour-icon{width:96px;height:96px;border-radius:50%;background:var(--orange);display:grid;place-items:center;font-size:2.1rem;box-shadow:0 10px 25px rgba(255,111,60,.35);margin:0 auto 14px}
#horaires-hero h3{font:800 2rem/1.1 'Segoe UI',system-ui,sans-serif;margin:4px 0 8px;color:#fff}
#horaires-hero p{margin:0;font-size:1.05rem;line-height:1.6;color:#fff}
#horaires-hero p b,#horaires-hero p small{color:#fff}
@media (max-width:900px){#horaires-hero .hours-wrap{grid-template-columns:1fr;gap:28px}}
.logo-section{position:relative;width:100%;height:98svh;display:flex;align-items:center;justify-content:center;background:#0d111d;overflow:hidden;flex-direction:column;text-align:center}
#stars{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.logo-circle {position: relative;z-index: 2;display: flex;align-items: center;justify-content: center;width: clamp(140px, 28vw, 320px); /* taille min / responsive / max */height: clamp(140px, 28vw, 320px);border-radius: 50%;overflow: hidden;background: rgba(7, 12, 20, 0.6);box-shadow: 0 0 30px rgba(0,0,0,0.4);}
.logo-circle img {animation: pulse 3s ease-in-out infinite !important;width: 100%;height: 100%;object-fit: contain; /* garde les proportions */}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@media (max-width:768px){.logo-circle img{width:100%;height:auto}#slogan{font-size:1.2rem}}
*{box-sizing:border-box}
.about{position:relative;background:rgba(255,255,255,.02);border-left:5px solid var(--orange,#ff6f3c);padding:2rem 2.5rem;margin:2rem auto;width:90%;max-width:1400px;font-style:italic;box-shadow:0 4px 20px rgba(0,0,0,.15);border-radius:8px}
.about h2{font-size:1.8rem;margin-bottom:1rem;font-style:normal;color:#fff}
.about p{margin-bottom:1rem;line-height:1.7;color:rgba(255,255,255,.9)}
.about::before{content:"“";position:absolute;top:-15px;left:15px;font-size:5rem;color:rgba(255,255,255,.05);font-family:serif}
.about::after{content:"”";position:absolute;bottom:-40px;right:15px;font-size:5rem;color:rgba(255,255,255,.05);font-family:serif}
@media (max-width:768px){.about{padding:1.5rem;max-width:95%}}
#burger-du-mois{padding:10px 0}
#burger-du-mois .section-title{text-align:left;font-size:2rem;font-weight:700;color:#ff6f3c;margin-bottom:45px}
.burger-container{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap}
.burger-container img{border-radius:10px;width:100%;max-width:420px;height:auto}
.burger-info h3{color:#fff;font-size:1.4rem;margin-bottom:8px}
.burger-info p{color:#fff;line-height:1.5;max-width:500px}
@media (max-width:768px){.burger-container{flex-direction:column;text-align:center}.burger-container img{max-width:100%}}
#map{padding:50px 0}
#map .container{max-width:1425px;margin:0 auto;background-color:transparent}
#map h2{color:#ff5722;font-size:2rem;margin-bottom:20px;text-align:left}
#map iframe{width:100%;height:500px;border:none;border-radius:10px}
#back-to-top{position:fixed;bottom:20px;right:20px;background:var(--orange);color:var(--blanc);font-size:2rem;width:50px;height:50px;text-align:center;line-height:50px;border-radius:50%;box-shadow:0 4px 8px rgba(0,0,0,.3);cursor:pointer;text-decoration:none;opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease;z-index:999}
@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}
#back-to-top.show{opacity:1;visibility:visible;animation:bounce 1s infinite}
.slogan {position: relative;z-index: 5;margin-top: 8rem;color: var(--orange);font-weight: 700;letter-spacing: .3px;line-height: 1.25;min-height: 1.5em;text-align: center;display: inline-block;white-space: nowrap;text-shadow:0 0 4px  var(--orange),0 0 8px  #0d111d,0 0 12px #0d111d;}
.slogan::after{content:"";display:inline-block;width:.09em;height:1em;background:currentColor;margin-left:.12em;transform:translateY(2px);animation:caret-blink 1s steps(1) infinite}
@keyframes caret-blink{50%{opacity:0}}
@media (max-width:768px){.slogan{font-size:clamp(16px,3.8vw,20px)}}
@media (min-width:769px){.slogan{font-size:clamp(18px,1.6vw,28px)}}
@media (prefers-reduced-motion:reduce){.slogan::after{animation:none}}
.site-footer{background:#0d1117;color:#fff;padding:20px 10px;text-align:center;font-size:.95rem}
.footer-content{max-width:1100px;margin:0 auto}
.footer-links{margin-top:6px}
.footer-link{background:none;border:none;color:var(--orange,#ff6b35);font-weight:600;cursor:pointer;margin:0 10px;padding:4px 6px}
.footer-link:hover{color:#ff8a57}
.modal{position:fixed;inset:0;display:none;z-index:1100}
.modal[aria-hidden="false"]{display:block}
.modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s ease}
.modal[aria-hidden="false"] .modal__overlay{opacity:1}
.modal__dialog{position:relative;width:min(900px,92vw);max-height:min(78vh,1000px);margin:6vh auto;background:var(--bleu-nuit-clair,#1a2033);color:#fff;border-radius:18px;box-shadow:0 10px 40px rgba(0,0,0,.4);transform:translateY(12px) scale(.98);opacity:0;transition:transform .25s ease,opacity .25s ease}
.modal[aria-hidden="false"] .modal__dialog{transform:translateY(0) scale(1);opacity:1}
.modal__header,.modal__footer{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}
.modal__footer{border-top:1px solid rgba(255,255,255,.06);border-bottom:none}
.modal__header h2{margin:0;color:var(--orange,#ff6b35)}
.modal__close{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:10px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.modal__close:hover{background:rgba(255,255,255,.06)}
.modal__body{padding:18px 20px;overflow:auto;max-height:calc(78vh - 130px)}
.modal__body h3{margin:16px 0 6px;color:#fff}
.modal__body a{color:var(--orange,#ff6b35)}
.btn.btn-primary{background:var(--orange,#ff6b35);border:none;padding:10px 16px;border-radius:12px;font-weight:700;color:#0d1117;cursor:pointer}
.btn.btn-primary:hover{filter:brightness(1.05)}
body.modal-open{overflow:hidden}
@media (max-width:768px){.footer-links{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:10px}.footer-link{display:inline-block;color:var(--orange,#ff6b35);font-size:.95rem;font-weight:600;background:none;border:none;padding:6px 8px;cursor:pointer}}
.nav-logo{font-family:'Kaushan Script',cursive;font-size:1.8rem;font-weight:400;color:#ff6f3c}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}
.reveal--visible{opacity:1;transform:none}
.reveal[data-reveal=up]{transform:translateY(24px)}
.reveal[data-reveal=right]{transform:translateX(-24px)}
.reveal[data-reveal=left]{transform:translateX(24px)}
.reveal[data-reveal=zoom]{transform:scale(.96)}
.reveal--visible[data-reveal]{transform:none}
.reveal.stagger>*{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal--visible.stagger>*{opacity:1;transform:none}
.reveal--visible.stagger>*:nth-child(1){transition-delay:.05s}
.reveal--visible.stagger>*:nth-child(2){transition-delay:.15s}
.reveal--visible.stagger>*:nth-child(3){transition-delay:.25s}
.reveal--visible.stagger>*:nth-child(4){transition-delay:.35s}
@media (prefers-reduced-motion:reduce){.reveal,.reveal.stagger>*{transition:none!important;transform:none!important;opacity:1!important}}
@media (max-width:768px){.logo-circle{width:px;height:200px}}
@media (max-width: 500px) {.logo-circle {width: 200px;height: auto;}}
/* Le bouton : visible, au-dessus des étoiles */
.btn-contact{position: relative;z-index: 3;               /* > #stars (z-index:0) */display: inline-block;padding: 8px 26px;margin-top: 50px;margin-bottom: 50px;border-radius: 30px;background: var(--orange);color: var(--blanc);font-weight: 800;text-decoration: none;box-shadow: 0 4px 12px rgba(0,0,0,.35);transition: transform .18s ease, filter .2s ease;}
.logo-section .btn-contact:hover{transform: scale(1.04);filter: brightness(1.05);}
/* Le logo reste au-dessus des étoiles */
.logo-section .logo-circle{ position: relative; z-index: 2; }
/* On annule la grosse marge du slogan dans la hero */
.logo-section .slogan{ margin-top: 0 !important; z-index: 3; }




