@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap');

:root{
    --bg-900: #060607;
    --bg-800: #0f1112;
    --card-900: rgba(255,255,255,0.03);
    --muted: #9aa3ad;
    --accent: #ff6b35;
    --glass: rgba(255,255,255,0.03);
    --focus: 0 0 0 3px rgba(255,107,53,0.18);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
    background: linear-gradient(180deg,var(--bg-900) 0%, #0b0d0e 60%);
    color:#e6eef6;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/* Header */
header{width:100%;max-width:1100px;margin-bottom:20px;padding:0 16px}

/* Flags */
.flag-container{position:fixed;top:18px;right:18px;z-index:40}
.flag{width:44px;height:auto;border-radius:6px;box-shadow:0 6px 18px rgba(2,6,23,0.6)}

/* Cards / container */
.container{width:100%;max-width:1100px;display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}

.card{
    position:relative;overflow:hidden;border-radius:14px;cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-start;
    min-height:160px;background:linear-gradient(180deg, rgba(0,0,0,0.25), rgba(0,0,0,0.6));backdrop-filter:blur(6px);
    transition:transform .28s cubic-bezier(.2,.9,.2,1),box-shadow .2s;
    box-shadow:0 6px 18px rgba(2,6,23,0.6);
    border:1px solid rgba(255,255,255,0.04);
}

.card:focus{outline:none;box-shadow:var(--focus);transform:translateY(-3px)}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 40px rgba(2,6,23,0.8)}

.card::after{content:'';position:absolute;inset:0;background-repeat:no-repeat;background-size:cover;background-position:center;opacity:0.18;filter:grayscale(.05) contrast(1.05)}

/* background images placeholders - override per page */
.grill::after{background-image:url('grill.jpg')}
.fastfood::after{background-image:url('fastfood.jpg')}
.pizza::after{background-image:url('pizza.jpg')}

.card-inner{position:relative;z-index:3;padding:22px 22px;display:flex;flex-direction:column;gap:6px}
.title{font-size:1.2rem;font-weight:700;color:#fff;letter-spacing:0.4px}
.subtitle{color:var(--muted);font-size:0.92rem}

.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:linear-gradient(90deg,rgba(0,0,0,0.28),rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.04);font-weight:600;color:var(--accent);width:max-content}

/* make buttons accessible and full clickable */
.card-button{all:unset;display:block;width:100%;height:100%}

@media(min-width:700px){
    .container{grid-template-columns:repeat(3,1fr)}
    .card{min-height:320px}
}

/* --- Grill-specific / page-level styles (restored) --- */

/* decorative background image for grill page */
.background-image{position:fixed;inset:0;background:url('apgrill.png') center/cover no-repeat;opacity:0.12;filter:grayscale(0.05) blur(2px);z-index:0}

header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;backdrop-filter:blur(6px);background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent);border-bottom:1px solid rgba(255,255,255,0.04)}
header h1{font-size:1.4rem;color:#fff;font-weight:700}
.grill-text{display:inline-block;color:var(--accent);font-weight:700;margin-left:8px}

nav ul{list-style:none;display:flex;gap:18px;padding:0;margin:0}
nav ul li{margin:0}
nav a{color:var(--muted);text-decoration:none;font-weight:600;padding:8px 12px;border-radius:8px;transition:all .18s;display:inline-block}
nav a:hover, nav a:focus{color:#fff;background:rgba(255,255,255,0.03);transform:translateY(-2px)}

/* Hero / Accueil */
#accueil{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72vh;padding:48px 18px;text-align:center}
#accueil::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.35),rgba(0,0,0,0.6));z-index:1}
#accueil h2{position:relative;z-index:2;font-size:2.4rem;margin-bottom:12px}
.rating{position:relative;z-index:2;color:#ffd369;font-weight:700;margin-bottom:16px}
.rating span{font-size:1rem;color:#fff;margin-left:8px}

/* Buttons modern (grill) */
.btn-telephone,.btn-localiser,.btn-flyers{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;background:linear-gradient(90deg,var(--accent),#ff854f);color:#fff;text-decoration:none;font-weight:700;box-shadow:0 8px 24px rgba(255,107,53,0.12);border:1px solid rgba(255,255,255,0.04);transition:transform .18s,box-shadow .18s;margin:8px}
.btn-telephone:hover,.btn-localiser:hover,.btn-flyers:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(2,6,23,0.6)}

/* Modal (flyer) */
.modal{display:none;position:fixed;inset:0;background:rgba(2,6,23,0.85);z-index:120;backdrop-filter:blur(6px);align-items:center;justify-content:center}
.modal-content{position:relative;max-width:1100px;width:95%;display:flex;align-items:center;justify-content:center;gap:14px}
.flyer-img{max-width:48%;height:auto;border-radius:8px;box-shadow:0 12px 40px rgba(2,6,23,0.6);cursor:zoom-in;transition:transform .25s;display:none}
.flyer-img.zoomed{transform:scale(1.25);cursor:zoom-out}
.modal .flyer-img:first-child{display:block}
.close{position:absolute;top:20px;right:20px;color:#fff;font-size:34px;cursor:pointer}

.prev,.next{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:28px;padding:10px;border-radius:8px;background:rgba(0,0,0,0.35);cursor:pointer}
.prev{left:8px}.next{right:8px}

/* Reviews */
#avis{padding:4rem 1.2rem;position:relative;z-index:9999}
#avis h2{font-size:1.8rem;margin-bottom:18px;color:#fff}
.popular-dishes{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:18px;align-items:start}
.dish-tile{background:var(--card-900);border-radius:10px;border:1px solid rgba(255,255,255,0.04);overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;min-height:120px;justify-content:flex-start}
.dish-tile .dish-img{width:88px;height:88px;border-radius:8px;object-fit:cover;border:1px solid rgba(255,255,255,0.04)}
.dish-tile .dish-name{color:#fff;font-size:0.95rem;text-align:center}
.dish-tile .dish-sub{color:var(--muted);font-size:0.82rem}

@media(min-width:700px){
    .popular-dishes{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));}
}

/* Larger hero for popular dishes shown before reviews */
.popular-hero{max-width:1100px;margin:28px auto;padding:20px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));border:1px solid rgba(255,255,255,0.04);box-shadow:0 8px 28px rgba(2,6,23,0.6)}
.popular-hero h2{font-size:1.4rem;margin-bottom:10px;color:#fff}
.popular-hero p{color:var(--muted);margin-bottom:14px}
.popular-hero .popular-dishes{margin:0}
.review-container{overflow:hidden;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;position:relative;z-index:10000;width:100%}
.review-track{display:flex;gap:18px;transition:transform .5s ease;width:100%}
.review{position:relative;flex:0 0 100%;max-width:100%;background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));padding:18px;border-radius:12px;box-shadow:0 8px 26px rgba(2,6,23,0.6);scroll-snap-align:start}
.review-header{display:flex;align-items:center;margin-bottom:10px}
.review-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;margin-right:12px;border:2px solid #ffd369}
.review-info h3{font-size:1rem;margin:0;color:#ffd369}
.stars{color:#ffd369}
.review p{color:#e6eef6;line-height:1.6}

/* Contact & Footer */
#contact, footer{padding:3rem 1rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,0.2));color:var(--muted)}

/* small screens tweaks */
@media(max-width:768px){
    header{padding:14px}
    #accueil{min-height:64vh;padding:28px}
    #accueil h2{font-size:1.6rem}
    .flyer-img{max-width:80%}
    .review{min-width:84%}
}

/* Review carousel controls & indicators */
.review-carousel{position:relative;width:100%;max-width:1100px;margin:0 auto}
.reviews-controls{position:absolute;top:50%;left:8px;right:8px;display:flex;justify-content:space-between;pointer-events:none;z-index:30}
.reviews-controls button{pointer-events:auto;background:rgba(0,0,0,0.45);border:none;color:#fff;font-size:22px;padding:8px 12px;border-radius:10px;backdrop-filter:blur(4px);cursor:pointer;transition:transform .12s}
.reviews-controls button:hover{transform:translateY(-2px)}
.review-indicators{display:flex;gap:8px;justify-content:center;margin-top:12px}
.review-indicator{width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,0.12);cursor:pointer;border:1px solid rgba(255,255,255,0.04)}
.review-indicator.active{background:var(--accent);box-shadow:0 4px 10px rgba(255,107,53,0.12)}

/* pause on hover/focus */
.review-carousel:focus-within .review-container,
.review-carousel:hover .review-container{transition:transform .25s ease}

