/* ================= GLOBAL STYLES ================= */
body {
    background-color: #0b0b0b;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    overflow-x: hidden;
    font-size: 1rem;
    margin: 0;
    padding: 0;
}

h1,h2,h3,h4,h5,h6 { 
    font-family: 'Playfair Display', serif; 
    margin: 0 0 0.5em 0; 
}

.section-padding { padding:100px 0; }
.bg-dark { background-color: #0f0f0f !important; }
.bg-darker { background-color: #0a0a0a !important; }
.text-gold { color: #f67021; }

.btn-gold { 
    background-color: #f67021; 
    color: #000; 
    font-weight:600; 
    border-radius:30px; 
    padding:6px 20px;
    transition:0.3s; 
    display:inline-block;
}
.btn-gold:hover { 
    background-color:#b8962f; 
    color:#000; 
}

/* ================= NAVBAR ================= */
.navbar { 
    padding:20px 0; 
    transition:0.4s; 
    background:transparent; 
    overflow:hidden;
}
.navbar.scrolled { background: rgba(0,0,0,0.8); backdrop-filter: blur(8px); padding:10px 0; }
.navbar-brand img {
    max-width: 100%;
    height: auto;
}
.navbar-nav .nav-item {
    margin: 0 5px;
}
.nav-link { 
    font-size:clamp(0.8rem,1vw,1.1rem); 
    padding:8px 12px; 
    color:#fff !important; 
    transition:0.3s; 
    white-space: nowrap;
}
.nav-link:hover, .nav-link.active { color:#f67021 !important; }

/* Navbar collapse on mobile */
.navbar-collapse {
    justify-content: flex-end;
}
.navbar-collapse.show {
    background:#0b0b0b; 
    padding:15px 0; 
    border-radius:5px;
}

/* ================= HERO ================= */
.hero-section { position:relative; height:100vh; overflow:hidden; }
#heroCarousel { position:absolute; inset:0; width:100%; height:100%; z-index:1; }
.carousel-inner,.carousel-item { height:100%; }
.hero-slide { height:100%; width:100%; background-size:cover; background-position:center; animation: zoomSlide 9s ease-in-out infinite alternate; }
.carousel-item { opacity:0; transition:opacity 1.5s ease-in-out; }
.carousel-item.active { opacity:1; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(10,10,10,0.85), rgba(10,10,10,0.45), rgba(10,10,10,0.85)); z-index:2; }
.hero-section .container { position:relative; z-index:3; height:100%; display:flex; align-items:center; justify-content:center; text-align:center; }
.hero-title { font-size:clamp(2rem,6vw,5rem); font-weight:700; color:#fff; }
.hero-subtitle { font-size:clamp(1.5rem,4vw,3.5rem); font-weight:600; color:#f67021; }
.hero-text { font-size:clamp(1rem,2.5vw,1.5rem); color:#ffffffd9; }

.scroll-indicator { position:absolute; bottom:20px; width:100%; text-align:center; z-index:3; }
.scroll-mouse { width:28px; height:48px; border:2px solid #ffffffa8; border-radius:18px; margin:0 auto; position:relative; }
.scroll-wheel { width:6px; height:10px; background:#fff; border-radius:4px; position:absolute; top:8px; left:50%; transform:translateX(-50%); animation:scrollWheel 1.5s infinite; }
@keyframes scrollWheel { 0% { opacity:1; top:8px; } 100% { opacity:0; top:22px; } }
@keyframes zoomSlide { 0% { transform:scale(1); } 100% { transform:scale(1.12); } }

/* ================= ABOUT ================= */
.about-image-wrapper img { border-radius:10px; width:100%; }
.section-label { letter-spacing:3px; color:#f67021; font-size:clamp(0.7rem,1.2vw,1rem); }
.section-title { font-size:clamp(2rem,4vw,3rem); margin-bottom:20px; text-transform:uppercase; }
.section-text { color:#ccc; font-size:clamp(0.9rem,1.8vw,1.2rem); }

/* ================= MENU ================= */
.menu-category-title { font-size:clamp(1.5rem,3vw,2.2rem); margin-bottom:20px; color:#f67021; }
.menu-item-name { font-size:clamp(1rem,2vw,1.5rem); }
.menu-item-price { font-size:clamp(0.9rem,1.5vw,1.2rem); color:#f67021; font-weight:600; }
.menu-item-description { font-size:clamp(0.85rem,1.3vw,1.1rem); color:#aaa; }

/* ================= GALLERY / SWIPER ================= */
.swiper-container {
    width: 100%;
    overflow: hidden;
    padding-bottom: 20px;
}

.swiper-wrapper {
    display: flex;
    gap: 1rem; /* space between slides */
}

.swiper-slide {
    flex-shrink: 0;
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 0.5rem;
    display: block;
}

/* ================= FOOTER ================= */
.footer-brand { font-size:clamp(1.2rem,2.5vw,2rem); color:#f67021; }
.footer-text { color:#aaa; line-height:1.7; font-size:clamp(0.85rem,1.5vw,1rem); }
.footer-title { text-transform:uppercase; font-size:clamp(0.9rem,1.5vw,1.2rem); color:#f67021; }
.footer-links a { color:#f67021 !important; margin-right:16px; font-size:clamp(0.85rem,1.3vw,1rem); }
.social-links a { font-size:clamp(1.2rem,2vw,1.5rem); color: #f67021; }

/* ================= RESPONSIVE MEDIA QUERIES ================= */

/* Large Desktop > 1400px */
@media (min-width: 1400px) {
    .hero-title { font-size:6rem; }
    .hero-subtitle { font-size:4rem; }
    .hero-text { font-size:1.8rem; }
}

/* Desktop 1200px - 1399px */
@media (min-width: 1200px) and (max-width: 1399px) {
    .hero-title { font-size:5rem; }
    .hero-subtitle { font-size:3.5rem; }
    .hero-text { font-size:1.5rem; }
}

/* Laptop 992px - 1199px */
@media (min-width: 992px) and (max-width: 1199px) {
    .hero-title { font-size:4.5rem; }
    .hero-subtitle { font-size:3rem; }
    .hero-text { font-size:1.3rem; }
}

/* Tablet 768px - 991px */
@media (min-width: 768px) and (max-width: 991px) {
    .navbar-nav { text-align:center; }
    .hero-title { font-size:3.5rem; }
    .hero-subtitle { font-size:2.5rem; }
    .hero-text { font-size:1.2rem; }
    .about-image-wrapper img { margin-bottom:30px; }
    .btn-gold { width:60%; margin:0 auto; display:block; }
}

/* Large Mobile 576px - 767px */
@media (min-width: 576px) and (max-width: 767px) {
    .hero-title { font-size:3rem; }
    .hero-subtitle { font-size:2rem; }
    .hero-text { font-size:1rem; }
    .menu-item-name { font-size:1rem; }
    .btn-gold { width:80%; margin:0 auto; display:block; }
}

/* Mobile < 576px */
@media (max-width: 575px) {
    .navbar-collapse { text-align:center; }
    .hero-title { font-size:2rem; }
    .hero-subtitle { font-size:1.5rem; }
    .hero-text { font-size:0.9rem; }
    .section-title { font-size:2rem; }
    .menu-item-name { font-size:0.9rem; }
    .menu-item-price { font-size:0.85rem; }
    .scroll-mouse { width:20px; height:36px; }
    .scroll-wheel { width:4px; height:8px; }
    .btn-gold { width:100%; margin:10px 0; display:block; }
    .swiper-wrapper { gap: 0.5rem; }
}
