@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Poppins:wght@300;400;500;600&display=swap');

:root {
    --gold: #d4af37;
    --gold-light: #f0d060;
    --gold-dim: rgba(212,175,55,0.12);
    --dark: #0a0a0a;
    --dark-2: #111;
    --dark-3: #1a1a1a;
    --dark-card: #141414;
    --text: #f0ede8;
    --text-muted: #888;
    --border: rgba(212,175,55,0.2);
    --transition: 0.35s cubic-bezier(0.4,0,0.2,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Poppins',sans-serif;background:var(--dark);color:var(--text);overflow-x:hidden;}


header{position:fixed;top:0;width:100%;z-index:200;padding:0;transition:var(--transition);}
header.scrolled .header-inner{background:rgba(8,8,8,0.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:14px 50px;}
.header-inner{display:flex;justify-content:space-between;align-items:center;padding:22px 50px;transition:var(--transition);}

.logo{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:700;color:var(--text);letter-spacing:3px;}
.logo span{color:var(--gold);}

.nav-links{display:flex;gap:36px;}
.nav-links a{color:#aaa;text-decoration:none;font-size:13px;font-weight:400;letter-spacing:1px;text-transform:uppercase;transition:var(--transition);position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:var(--transition);}
.nav-links a:hover{color:var(--gold);}
.nav-links a:hover::after{width:100%;}

.header-actions{display:flex;align-items:center;gap:16px;}
.book-header-btn{padding:10px 22px;background:var(--gold);color:#000;border:none;border-radius:6px;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:var(--transition);}
.book-header-btn:hover{background:var(--gold-light);transform:translateY(-1px);}
.login-btn{display:flex;align-items:center;gap:7px;padding:10px 20px;background:transparent;color:var(--gold);text-decoration:none;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:500;letter-spacing:0.5px;transition:var(--transition);cursor:pointer;font-family:'Poppins',sans-serif;}
.login-btn:hover{background:var(--gold-dim);border-color:var(--gold);}


.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden;
background:linear-gradient(to bottom,rgba(0,0,0,0.75) 0%,rgba(0,0,0,0.55) 50%,rgba(0,0,0,0.85) 100%),linear-gradient(135deg,#0d0b08 0%,#1a1208 50%,#0a0a0a 100%);}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(212,175,55,0.08) 0%,transparent 70%);}


.hero-particles{position:absolute;inset:0;pointer-events:none;}
.h-particle{position:absolute;border-radius:50%;background:var(--gold);animation:hFloat var(--d) var(--dl) ease-in-out infinite;}
@keyframes hFloat{
    0%  {opacity:0;transform:translateY(0) scale(0);}
    15% {opacity:0.6;}
    80% {opacity:0.1;transform:translateY(-160px) scale(0.4);}
    100%{opacity:0;transform:translateY(-220px) scale(0);}
}


.hero-content{position:relative;z-index:2;max-width:860px;padding:0 24px;}
.hero-label{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:28px;opacity:0.85;}

.hero-title{font-family:'Cormorant Garamond',serif;font-weight:700;margin-bottom:24px;line-height:1.08;}
.title-line{display:block;font-size:clamp(52px,8vw,100px);}
.title-line.gold{color:var(--gold);font-style:italic;}

.hero-sub{font-size:16px;color:#bbb;line-height:1.9;margin-bottom:48px;font-weight:300;}

.hero-actions{display:flex;align-items:center;gap:20px;justify-content:center;margin-bottom:60px;flex-wrap:wrap;}
.btn-primary{display:flex;align-items:center;gap:10px;padding:16px 36px;background:linear-gradient(135deg,var(--gold),#c9a227);color:#000;border:none;border-radius:8px;font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:var(--transition);box-shadow:0 4px 24px rgba(212,175,55,0.3);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 36px rgba(212,175,55,0.45);}
.btn-ghost{display:flex;align-items:center;gap:8px;padding:16px 36px;background:transparent;color:var(--text);text-decoration:none;border:1px solid rgba(255,255,255,0.2);border-radius:8px;font-size:14px;font-weight:400;letter-spacing:0.5px;transition:var(--transition);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}

.hero-stats{display:flex;align-items:center;gap:32px;border:1px solid rgba(255,255,255,0.07);border-radius:14px;padding:20px 36px;background:rgba(255,255,255,0.03);backdrop-filter:blur(10px);}
.stat{text-align:center;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:700;color:var(--gold);line-height:1;}
.stat-label{font-size:11px;color:#777;letter-spacing:0.5px;margin-top:4px;text-transform:uppercase;}
.stat-divider{width:1px;height:40px;background:rgba(255,255,255,0.1);}

.hero-scroll-hint{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;}
.scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:0.3;}50%{opacity:1;}}
.hero-scroll-hint span{font-size:10px;color:#777;letter-spacing:3px;text-transform:uppercase;}


.gallery{padding:120px 50px;background:var(--dark-3);}
.section-header{text-align:center;margin-bottom:64px;}
.section-tag{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;opacity:0.8;}
.section-header h2{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5vw,56px);font-weight:700;color:var(--text);margin-bottom:16px;}
.section-header p{font-size:15px;color:var(--text-muted);max-width:500px;margin:0 auto;font-weight:300;line-height:1.8;}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto;}
.image-box{height:380px;border-radius:14px;overflow:hidden;position:relative;cursor:pointer;transition:var(--transition);}
.image-box img{width:100%;height:100%;object-fit:cover;transition:0.6s ease;display:block;}
.image-box:hover img{transform:scale(1.05);}
.image-overlay{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(to top,rgba(0,0,0,0.85),transparent);transform:translateY(4px);transition:var(--transition);}
.image-overlay span{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--gold);font-style:italic;}
.image-box:hover .image-overlay{transform:translateY(0);}


.modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;}
.modal.open{display:flex;}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.88);backdrop-filter:blur(12px);animation:fadeIn 0.3s ease;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

.modal-panel{position:relative;z-index:1;display:flex;width:95%;max-width:820px;max-height:92vh;overflow:hidden;border-radius:20px;border:1px solid rgba(212,175,55,0.25);box-shadow:0 30px 80px rgba(0,0,0,0.8);animation:slideUp 0.45s cubic-bezier(0.34,1.56,0.64,1);}
@keyframes slideUp{from{opacity:0;transform:translateY(60px) scale(0.96);}to{opacity:1;transform:translateY(0) scale(1);}}

.modal-deco{width:120px;background:linear-gradient(to bottom,rgba(212,175,55,0.1),rgba(212,175,55,0.04));border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:30px 16px;flex-shrink:0;}
.modal-deco-text{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:6px;text-transform:uppercase;color:rgba(212,175,55,0.4);writing-mode:vertical-lr;transform:rotate(180deg);}
.modal-deco-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--gold),transparent);}
.modal-deco-stars{font-size:10px;color:rgba(212,175,55,0.3);letter-spacing:4px;}

.modal-body{flex:1;background:var(--dark-card);padding:40px;overflow-y:auto;position:relative;}
.modal-close{position:absolute;top:20px;right:20px;width:36px;height:36px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:50%;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);}
.modal-close:hover{background:rgba(212,175,55,0.15);border-color:var(--gold);color:var(--gold);}

.modal-header{margin-bottom:32px;}
.modal-tag{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);opacity:0.7;margin-bottom:10px;}
.modal-header h2{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:700;color:var(--text);margin-bottom:8px;}
.modal-header p{font-size:13px;color:var(--text-muted);font-weight:300;line-height:1.7;}


.booking-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.booking-field{margin-bottom:24px;}
.booking-field label{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#666;margin-bottom:10px;font-weight:500;}

.booking-field input[type="date"],
.booking-field textarea{width:100%;padding:13px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;color:var(--text);font-family:'Poppins',sans-serif;font-size:14px;outline:none;transition:var(--transition);appearance:none;}
.booking-field input[type="date"]:focus,
.booking-field textarea:focus{border-color:var(--gold);background:rgba(212,175,55,0.05);box-shadow:0 0 0 3px rgba(212,175,55,0.08);}
.booking-field input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(0.5);}
.booking-field textarea{resize:none;line-height:1.6;}
.booking-field textarea::placeholder{color:#444;}

.select-wrap{position:relative;}
.select-wrap select{width:100%;padding:13px 40px 13px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;color:var(--text);font-family:'Poppins',sans-serif;font-size:14px;outline:none;transition:var(--transition);appearance:none;cursor:pointer;}
.select-wrap select:focus{border-color:var(--gold);background:rgba(212,175,55,0.05);}
.select-wrap select option{background:#1a1a1a;color:var(--text);}
.select-wrap select optgroup{background:#111;color:var(--gold);font-style:normal;font-size:11px;letter-spacing:1px;padding:4px 0;}
.sel-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#555;pointer-events:none;}


.guest-counter{display:flex;align-items:center;gap:0;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;overflow:hidden;}
.counter-btn{width:50px;height:50px;background:none;border:none;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0;}
.counter-btn:hover{background:var(--gold-dim);color:var(--gold);}
.counter-display{flex:1;text-align:center;border-left:1px solid rgba(255,255,255,0.06);border-right:1px solid rgba(255,255,255,0.06);}
.counter-display span:first-child{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--gold);display:block;line-height:1.1;margin-top:6px;}
.counter-label{font-size:10px;color:#666;letter-spacing:1px;text-transform:uppercase;display:block;margin-bottom:6px;}


.seating-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.seat-card{padding:16px 10px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:12px;text-align:center;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden;}
.seat-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(212,175,55,0.1),rgba(212,175,55,0.04));opacity:0;transition:var(--transition);}
.seat-card:hover{border-color:rgba(212,175,55,0.35);transform:translateY(-2px);}
.seat-card.selected{border-color:var(--gold);background:rgba(212,175,55,0.08);}
.seat-card.selected::before{opacity:1;}
.seat-card.selected::after{content:'✓';position:absolute;top:8px;right:10px;font-size:11px;color:var(--gold);}
.seat-icon{font-size:24px;margin-bottom:8px;}
.seat-name{font-size:12px;font-weight:600;color:var(--text);letter-spacing:0.3px;}
.seat-desc{font-size:10px;color:#666;margin-top:3px;}

.optional{color:#555;font-size:10px;text-transform:none;letter-spacing:0;font-weight:400;}


.menu-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.menu-tab{padding:7px 18px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:50px;color:#888;font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);}
.menu-tab.active{background:var(--gold-dim);border-color:var(--gold);color:var(--gold);}
.menu-category{display:none;}.menu-category.active{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.menu-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:10px;cursor:pointer;transition:var(--transition);position:relative;}
.menu-item:hover{border-color:rgba(212,175,55,0.3);}
.menu-item.selected{border-color:var(--gold);background:rgba(212,175,55,0.07);}
.menu-item.selected::after{content:'✓';position:absolute;top:8px;right:10px;font-size:10px;color:var(--gold);font-weight:700;}
.menu-item-emoji{font-size:22px;flex-shrink:0;}
.menu-item-info{flex:1;min-width:0;}
.menu-item-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.menu-item-desc{font-size:10px;color:#666;margin-top:2px;}
.menu-item-price{font-size:12px;color:var(--gold);font-weight:600;flex-shrink:0;}


.confirm-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,var(--gold),#c9a227);color:#000;border:none;border-radius:10px;font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:var(--transition);box-shadow:0 4px 20px rgba(212,175,55,0.25);position:relative;overflow:hidden;margin-bottom:16px;}
.confirm-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.2),transparent);opacity:0;transition:var(--transition);}
.confirm-btn:hover{transform:translateY(-2px);box-shadow:0 10px 36px rgba(212,175,55,0.4);}
.confirm-btn:hover::before{opacity:1;}

.booking-note{font-size:11px;color:#555;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;}


.toast{position:fixed;bottom:32px;right:32px;background:var(--dark-card);border:1px solid var(--border);border-radius:14px;padding:18px 24px;display:flex;align-items:center;gap:16px;box-shadow:0 12px 40px rgba(0,0,0,0.7);z-index:2000;transform:translateY(100px);opacity:0;transition:0.5s cubic-bezier(0.34,1.56,0.64,1);}
.toast.show{transform:translateY(0);opacity:1;}
.toast-error{border-color:rgba(248,113,113,0.3);}
.toast-error .toast-icon{background:rgba(248,113,113,0.1);border-color:rgba(248,113,113,0.3);color:var(--red, #f87171);}
.toast-icon{width:40px;height:40px;background:var(--gold-dim);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:16px;flex-shrink:0;}
.toast-text{display:flex;flex-direction:column;gap:3px;}
.toast-text strong{font-size:14px;color:var(--text);}
.toast-text span{font-size:12px;color:var(--text-muted);}


@media(max-width:900px){
    .header-inner{padding:16px 24px;}
    .nav-links{display:none;}
    .hero-stats{gap:20px;padding:16px 24px;flex-wrap:wrap;}
    .gallery{padding:80px 24px;}
    .grid{grid-template-columns:1fr;}
    .image-box{height:260px;}
    .menu-category.active{grid-template-columns:1fr;}
    .modal-deco{display:none;}
    .modal-panel{max-width:98vw;}
    .seating-cards{grid-template-columns:repeat(2,1fr);}
    .booking-row{grid-template-columns:1fr;}
    .menu-cards-grid{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
}


.menu-section{padding:120px 50px;background:var(--dark);}
.menu-section-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:48px;flex-wrap:wrap;}
.ms-tab{padding:11px 28px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:50px;color:#777;font-family:'Poppins',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition);}
.ms-tab:hover{border-color:rgba(212,175,55,0.3);color:#bbb;}
.ms-tab.active{background:var(--gold-dim);border-color:var(--gold);color:var(--gold);}
.ms-category{display:none;max-width:1100px;margin:0 auto;animation:fadeIn 0.35s ease;}
.ms-category.active{display:block;}
.menu-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.menu-card{position:relative;display:flex;align-items:center;gap:16px;padding:20px 20px 20px 20px;background:#111;border:1px solid rgba(255,255,255,0.06);border-radius:14px;transition:var(--transition);}
.menu-card:hover{border-color:rgba(212,175,55,0.3);transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,0.5);}
.menu-card.featured{border-color:rgba(212,175,55,0.25);background:linear-gradient(135deg,rgba(212,175,55,0.06),#111);}
.mc-badge{position:absolute;top:-10px;left:20px;background:linear-gradient(135deg,var(--gold),#c9a227);color:#000;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 12px;border-radius:50px;}
.mc-emoji{font-size:32px;flex-shrink:0;line-height:1;}
.mc-body{flex:1;min-width:0;}
.mc-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;}
.mc-desc{font-size:12px;color:#666;line-height:1.5;}
.mc-price{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;color:var(--gold);flex-shrink:0;white-space:nowrap;}


.contact-section{padding:100px 50px;background:var(--dark-3);}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto;}
.contact-card{background:#111;border:1px solid rgba(255,255,255,0.06);border-radius:16px;padding:32px 28px;text-align:center;transition:var(--transition);}
.contact-card:hover{border-color:rgba(212,175,55,0.3);transform:translateY(-4px);}
.contact-icon{font-size:32px;margin-bottom:14px;}
.contact-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#555;margin-bottom:10px;}
.contact-value{font-size:15px;font-weight:500;color:var(--text);margin-bottom:6px;}
.contact-sub{font-size:12px;color:#555;}



.auth-modal-panel{
    position:relative;z-index:1;width:92%;max-width:400px;
    background:var(--dark-card);border:1px solid rgba(212,175,55,0.25);
    border-radius:22px;padding:36px 32px 28px;
    box-shadow:0 30px 80px rgba(0,0,0,0.85);
    animation:slideUp 0.45s cubic-bezier(0.34,1.56,0.64,1);
}
.auth-modal-logo{
    font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;
    text-align:center;letter-spacing:2px;margin-bottom:4px;
}
.auth-modal-logo span{color:var(--gold);}
.auth-modal-sub{text-align:center;font-size:12px;color:#555;margin-bottom:22px;letter-spacing:0.3px;}


.auth-tabs{display:flex;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);border-radius:10px;padding:3px;margin-bottom:22px;gap:3px;}
.auth-tab{flex:1;padding:9px;background:none;border:none;border-radius:8px;color:#666;font-family:'Poppins',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition);}
.auth-tab.active{background:var(--gold-dim);color:var(--gold);border:1px solid rgba(212,175,55,0.3);}


.auth-form-box{display:none;animation:fadeIn 0.3s ease;}
.auth-form-box.active{display:block;}


.auth-field{margin-bottom:12px;}
.auth-inp-wrap{position:relative;display:flex;align-items:center;}
.auth-inp-wrap svg:first-child{position:absolute;left:13px;color:#444;pointer-events:none;flex-shrink:0;}
.auth-inp-wrap:focus-within svg:first-child{color:var(--gold);}
.auth-inp-wrap input{
    width:100%;padding:11px 40px 11px 38px;
    background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);
    border-radius:9px;color:var(--text);font-family:'Poppins',sans-serif;font-size:13px;
    outline:none;transition:var(--transition);
}
.auth-inp-wrap input:focus{border-color:var(--gold);background:rgba(212,175,55,0.05);}
.auth-inp-wrap input::placeholder{color:#3a3a3a;}
.auth-eye{position:absolute;right:10px;background:none;border:none;color:#555;cursor:pointer;padding:4px;display:flex;align-items:center;}
.auth-eye:hover{color:var(--gold);}


.auth-forgot{text-align:right;margin:-4px 0 14px;}
.auth-forgot a{font-size:11px;color:#555;text-decoration:none;transition:var(--transition);}
.auth-forgot a:hover{color:var(--gold);}


.auth-submit-btn{
    width:100%;padding:13px;margin-top:4px;
    background:linear-gradient(135deg,var(--gold),#c9a227);
    color:#000;border:none;border-radius:9px;
    font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;
    letter-spacing:0.8px;text-transform:uppercase;cursor:pointer;
    transition:var(--transition);box-shadow:0 4px 18px rgba(212,175,55,0.25);
}
.auth-submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(212,175,55,0.4);}


.auth-switch{text-align:center;font-size:12px;color:#555;margin-top:14px;}
.auth-switch a{color:var(--gold);text-decoration:none;font-weight:500;}
.auth-switch a:hover{text-decoration:underline;}
.auth-staff-link{text-align:center;margin-top:10px;}
.auth-staff-link a:hover{color:var(--gold);}

/* ── CHEF SECTION ── */
.chef-section{padding:120px 50px;background:var(--dark);position:relative;}
.chef-container{max-width:1100px;margin:0 auto;display:flex;gap:80px;align-items:center;}
.chef-image{flex:1;position:relative;}
.chef-img-wrapper{border-radius:12px;overflow:hidden;position:relative;padding-bottom:120%;box-shadow:20px 20px 0 rgba(212,175,55,0.1);}
.chef-img-wrapper img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.1);transition:var(--transition);}
.chef-img-wrapper:hover img{filter:grayscale(0%) contrast(1);transform:scale(1.03);}
.chef-content{flex:1;}
.chef-content h2{font-family:'Cormorant Garamond',serif;font-size:42px;line-height:1.2;margin-bottom:24px;}
.chef-content p{font-size:15px;color:var(--text-muted);line-height:1.8;margin-bottom:40px;}
.chef-signature{position:relative;display:inline-block;}
.signature-svg{width:200px;height:70px;display:block;}
.signature-path{stroke-dasharray:1000;stroke-dashoffset:1000;animation:drawSignature 4s ease-out forwards;}
@keyframes drawSignature{to{stroke-dashoffset:0;}}
.chef-name{font-family:'Poppins',sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#555;margin-top:10px;text-align:right;}

/* ── TESTIMONIALS ── */
.testimonials{padding:120px 0;background:var(--dark-card);overflow:hidden;}
.marquee-container{width:100%;overflow:hidden;position:relative;}
.marquee-content{display:flex;width:fit-content;animation:marquee 30s linear infinite;}
.marquee-content:hover{animation-play-state:paused;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.t-card{width:350px;background:var(--dark-3);border:1px solid rgba(255,255,255,0.04);border-radius:12px;padding:30px;margin-right:30px;flex-shrink:0;}
.t-stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:16px;}
.t-text{font-style:italic;font-size:14px;color:#ccc;line-height:1.7;margin-bottom:20px;}
.t-author{font-size:12px;color:var(--gold);font-weight:500;letter-spacing:1px;text-transform:uppercase;}

/* ── FLOOR PLAN MAP LAYOUT ── */
.floor-plan-container{background:var(--dark-3);border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:24px;margin-top:10px;position:relative;}
.floor-plan{display:flex;flex-wrap:wrap;gap:16px;border:2px solid rgba(255,255,255,0.05);border-radius:8px;padding:16px;background:repeating-linear-gradient(45deg,rgba(255,255,255,0.01),rgba(255,255,255,0.01) 10px,transparent 10px,transparent 20px);}
.fp-entrance{width:100%;text-align:center;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:#555;padding-bottom:10px;border-bottom:1px dashed rgba(255,255,255,0.1);margin-bottom:10px;}
.fp-zone{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04);border-radius:8px;padding:16px;position:relative;margin-top:12px;}
.fp-zone-label{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--dark-3);padding:0 8px;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--gold);white-space:nowrap;}
.fp-window{flex:0 0 120px;}
.fp-main{flex:1;min-width:200px;}
.fp-vip{flex:0 0 140px;}
.fp-tables-row.vertical{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:10px;}
.fp-tables-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;justify-items:center;margin-top:10px;}
.fp-tables-col{display:flex;flex-direction:column;gap:16px;align-items:center;margin-top:10px;}

/* Tables styles */
.fp-table{display:flex;align-items:center;justify-content:center;background:var(--dark-2);border:1px solid rgba(255,255,255,0.1);color:#aaa;font-size:11px;font-family:'Poppins',sans-serif;cursor:pointer;transition:var(--transition);position:relative;}
.fp-table::before, .fp-table::after{content:'';position:absolute;background:rgba(255,255,255,0.1);border-radius:2px;}
.fp-table:hover{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,0.05);}
.fp-table.selected{background:var(--gold-dim);border-color:var(--gold);color:var(--gold);box-shadow:0 0 12px rgba(212,175,55,0.3);}

/* Shape variants */
.fp-table.rect{width:40px;height:60px;border-radius:6px;}
.fp-table.rect::before{width:4px;height:40px;left:-6px;} /* Left chairs */
.fp-table.rect::after{width:4px;height:40px;right:-6px;} /* Right chairs */

.fp-table.circle{width:50px;height:50px;border-radius:50%;}
.fp-table.circle::before{width:4px;height:16px;left:-6px;top:17px;} /* Left chair */
.fp-table.circle::after{width:4px;height:16px;right:-6px;top:17px;} /* Right chair */

.fp-table.private{width:80px;height:50px;border-radius:4px;border-style:dashed;}

/* Legend */
.fp-legend{display:flex;justify-content:center;gap:20px;margin-top:16px;font-size:11px;color:#777;}
.l-box{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;vertical-align:middle;}
.l-box.avail{border:1px solid rgba(255,255,255,0.1);background:var(--dark-2);}
.l-box.sel{border:1px solid var(--gold);background:var(--gold-dim);}

.selected-table-display{margin-top:20px;text-align:center;font-size:13px;color:#888;}
#st-label{color:var(--gold);font-weight:600;font-size:14px;}

/* ── FOOTER ── */
.footer{background:var(--dark-2);border-top:1px solid var(--border);padding:80px 50px 30px;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;max-width:1200px;margin:0 auto 60px;}
.footer-brand p{color:#777;font-size:14px;line-height:1.8;margin:20px 0;max-width:300px;}
.social-links{display:flex;gap:16px;}
.social-links a{color:#666;transition:var(--transition);}
.social-links a:hover{color:var(--gold);}
.footer-links h3, .footer-newsletter h3{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--text);margin-bottom:20px;}
.footer-links a{display:block;color:#777;text-decoration:none;font-size:13px;margin-bottom:12px;transition:var(--transition);}
.footer-links a:hover{color:var(--gold);transform:translateX(5px);}
.footer-newsletter p{color:#777;font-size:13px;margin-bottom:20px;}
.nl-form{display:flex;}
.nl-form input{flex:1;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-right:none;padding:12px 16px;border-radius:6px 0 0 6px;color:var(--text);font-family:'Poppins',sans-serif;font-size:13px;outline:none;}
.nl-form input:focus{border-color:var(--gold);}
.nl-form button{background:var(--gold);border:1px solid var(--gold);color:#000;padding:0 20px;border-radius:0 6px 6px 0;cursor:pointer;transition:var(--transition);}
.nl-form button:hover{background:var(--gold-light);}
.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,0.05);color:#555;font-size:12px;}

/* ── LIGHT MODE ── */
body.light-mode {
    --dark: #fcfbf9;
    --dark-2: #f2efe9;
    --dark-3: #e8e4db;
    --dark-card: #ffffff;
    --text: #1a1a1a;
    --text-muted: #555555;
    --border: rgba(212, 175, 55, 0.4);
    --gold-dim: rgba(212, 175, 55, 0.15);
}
body { transition: background-color 0.4s ease, color 0.4s ease; }
.hero::before { transition: background-color 0.4s ease; }
body.light-mode .hero::before { background: linear-gradient(to right, rgba(252, 251, 249, 0.8), rgba(252, 251, 249, 0.4)); }
body.light-mode .t-card { background: var(--dark-card); border-color: rgba(0,0,0,0.05); box-shadow: 0 4px 20px rgba(0,0,0,0.05); }
body.light-mode .t-text { color: #444; }
body.light-mode .nl-form input { background: #fff; border-color: rgba(0,0,0,0.1); color: #000; }
body.light-mode .footer-bottom { border-top: 1px solid rgba(0,0,0,0.05); }

/* Theme Toggle Button */
.theme-toggle {
    background: none; border: none; color: var(--text); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 50%; transition: var(--transition);
}
.theme-toggle:hover { background: var(--gold-dim); color: var(--gold); }
.theme-toggle .sun-icon { display: none; }
body.light-mode .theme-toggle .moon-icon { display: none; }
body.light-mode .theme-toggle .sun-icon { display: block; }

/* User Profile Header */
.user-profile { position: relative; }
.user-avatar {
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--gold-dim); border: 1px solid var(--gold);
    color: var(--gold); display: flex; align-items: center; justify-content: center;
    font-weight: 600; cursor: pointer; transition: var(--transition);
}
.user-avatar:hover { background: var(--gold); color: #000; }
.user-dropdown {
    position: absolute; top: 120%; right: 0;
    background: var(--dark-2); border: 1px solid var(--border);
    border-radius: 8px; padding: 16px; min-width: 160px;
    opacity: 0; pointer-events: none; transform: translateY(-10px);
    transition: var(--transition); box-shadow: 0 10px 30px rgba(0,0,0,0.5); z-index: 100;
}
.user-dropdown.show { opacity: 1; pointer-events: auto; transform: translateY(0); }
.ud-name { font-size: 13px; font-weight: 600; color: var(--text); }
.ud-email { font-size: 11px; color: var(--text-muted); margin-bottom: 8px; }
.user-dropdown hr { border: none; border-top: 1px dashed var(--border); margin: 8px 0; }
.ud-logout {
    display: flex; align-items: center; gap: 8px; font-size: 12px;
    color: #ff6b6b; text-decoration: none; padding: 6px 0; transition: var(--transition);
}
.ud-logout:hover { color: #ff4747; }

/* ── LIGHT MODE COMPONENT OVERRIDES ── */
body.light-mode .menu-card { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 4px 15px rgba(0,0,0,0.03); }
body.light-mode .menu-card:hover { border-color: rgba(212,175,55,0.4); box-shadow: 0 12px 36px rgba(0,0,0,0.08); }
body.light-mode .menu-card.featured { background: linear-gradient(135deg, rgba(212,175,55,0.1), #ffffff); }
body.light-mode .ms-tab { background: #ffffff; border-color: rgba(0,0,0,0.1); color: #555; }
body.light-mode .ms-tab:hover { border-color: rgba(212,175,55,0.4); color: #222; }
body.light-mode .ms-tab.active { background: rgba(212,175,55,0.15); color: #b89124; border-color: #b89124; }
body.light-mode .mc-desc { color: #666; }
body.light-mode .mc-price { color: #b89124; }
body.light-mode .contact-card { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 4px 15px rgba(0,0,0,0.03); }
body.light-mode .contact-card:hover { border-color: rgba(212,175,55,0.4); }

/* ── HEADER ACCESSIBILITY & VISIBILITY ── */
/* Light Mode Top Navigation */
body.light-mode .nav-links a { color: #444; font-weight: 500; }
body.light-mode .nav-links a:hover { color: #000; }
body.light-mode header.scrolled .header-inner { background: rgba(255, 255, 255, 0.96); border-bottom-color: rgba(0,0,0,0.1); }

/* Theme Toggle Button Enhancements (Both Modes) */
.theme-toggle {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    color: var(--text);
}
.theme-toggle:hover {
    background: rgba(255,255,255,0.1);
    border-color: var(--gold);
}
body.light-mode .theme-toggle {
    background: rgba(0,0,0,0.05);
    border: 1px solid rgba(0,0,0,0.1);
    color: #1a1a1a;
}
body.light-mode .theme-toggle:hover {
    background: rgba(0,0,0,0.08);
    border-color: var(--gold);
}
/* ── FLOOR PLAN LIGHT MODE OVERRIDES ── */
body.light-mode .floor-plan-container { background: #fcfbf9; border-color: rgba(0,0,0,0.05); }
body.light-mode .floor-plan { border-color: rgba(0,0,0,0.05); background: repeating-linear-gradient(45deg, rgba(0,0,0,0.01), rgba(0,0,0,0.01) 10px, transparent 10px, transparent 20px); }
body.light-mode .fp-entrance { border-bottom-color: rgba(0,0,0,0.1); color: #555; }
body.light-mode .fp-zone { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.04); }
body.light-mode .fp-zone-label { background: #fcfbf9; color: #b89124; }
body.light-mode .fp-table { background: #ffffff; border-color: rgba(0,0,0,0.12); color: #555; }
body.light-mode .fp-table::before, body.light-mode .fp-table::after { background: rgba(0,0,0,0.12); }
body.light-mode .fp-table:hover { border-color: var(--gold); color: #222; background: rgba(212,175,55,0.08); }
body.light-mode .fp-table.selected { background: rgba(212,175,55,0.15); border-color: var(--gold); color: #b89124; }
body.light-mode .l-box.avail { background: #ffffff; border-color: rgba(0,0,0,0.12); }
body.light-mode .l-box.sel { background: rgba(212,175,55,0.15); border-color: var(--gold); }
