@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Noto+Serif+SC:wght@400;600;700&family=Spectral:ital,wght@0,400;0,500;1,400&display=swap";:root{--color-cream: #FDF8F3;--color-gold: #C9A962;--color-rust: #B45309;--color-charcoal: #1A1A1A;--color-terracotta: #E07A5F;--color-sage: #81B29A;--color-dark: #0D0D0D;--font-display: "Playfair Display", serif;--font-body: "Noto Serif SC", serif;--font-accent: "Spectral", serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-charcoal);overflow-x:hidden;line-height:1.8}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:9999}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-cream)}::-webkit-scrollbar-thumb{background:var(--color-gold);border-radius:4px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-dark) 0%,#1a1a2e 100%);padding:2rem;position:relative}.auth-page:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23C9A962' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.auth-container{width:100%;max-width:440px;position:relative;z-index:1}.auth-container.register-container{max-width:500px}.auth-logo{display:block;text-align:center;font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:var(--color-gold);text-decoration:none;margin-bottom:2rem;letter-spacing:.2em}.auth-card{background:#fffffffa;border-radius:16px;padding:2.5rem;box-shadow:0 25px 50px -12px #00000080}.auth-title{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;color:var(--color-charcoal);text-align:center;margin-bottom:.5rem}.auth-subtitle{text-align:center;color:#666;font-size:.95rem;margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-charcoal)}.form-group label .required{color:#ef4444;margin-left:2px}.form-group input{padding:.875rem 1rem;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#fafafa}.form-group input:focus{outline:none;border-color:var(--color-gold);background:#fff;box-shadow:0 0 0 3px #c9a9621a}.form-group input.disabled{background:#f0f0f0;color:#888;cursor:not-allowed}.form-group input::placeholder{color:#aaa}.form-hint{font-size:.75rem;color:#888}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-section{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid #eee}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section-title{font-size:.75rem;font-weight:600;color:var(--color-gold);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}.auth-error{padding:.875rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem}.auth-message{padding:.875rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem}.auth-message.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.auth-message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.auth-button{padding:1rem;background:var(--color-gold);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.auth-button:hover:not(:disabled){background:#b8963a;transform:translateY(-1px)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee;font-size:.9rem;color:#666}.auth-footer a{color:var(--color-gold);text-decoration:none;font-weight:600;margin-left:.5rem}.auth-footer a:hover{text-decoration:underline}.admin-login{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.admin-login-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:1px solid var(--color-charcoal);color:var(--color-charcoal);text-decoration:none;font-size:.875rem;font-weight:500;border-radius:8px;transition:all .3s ease}.admin-login-btn:hover{background:var(--color-charcoal);color:#fff}.back-home{display:block;text-align:center;margin-top:1.5rem;color:#ffffffb3;text-decoration:none;font-size:.9rem;transition:color .2s ease}.back-home:hover{color:var(--color-gold)}.profile-page{padding-top:3rem;padding-bottom:3rem}.profile-container{max-width:500px}.profile-header{display:flex;align-items:center;gap:1.25rem;background:#ffffff1a;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem}.profile-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--color-gold),#e8c547);display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;color:#fff;font-family:Playfair Display,serif}.profile-info h2{color:#fff;font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:.25rem}.profile-info p{color:#fff9;font-size:.9rem}.profile-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab-btn{flex:1;padding:.875rem 1rem;background:#ffffff1a;border:none;border-radius:8px;color:#ffffffb3;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:#ffffff26}.tab-btn.active{background:var(--color-gold);color:#fff}.profile-card{margin-bottom:1rem}.profile-actions{display:flex;justify-content:space-between;align-items:center}.logout-btn{background:transparent;border:1px solid rgba(239,68,68,.5);color:#ef4444;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#ef44441a;border-color:#ef4444}@media(max-width:480px){.auth-page{padding:1rem}.auth-card{padding:1.5rem}.form-row{grid-template-columns:1fr}.profile-header{flex-direction:column;text-align:center}.profile-actions{flex-direction:column;gap:1rem}.back-home{order:2}}.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,var(--color-dark) 0%,#2D1810 100%)}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:url(https://images.unsplash.com/photo-1504674900247-0877df9cc836?w=1920&q=80) center/cover;opacity:.4;animation:zoomIn 20s ease-in-out infinite alternate}@keyframes zoomIn{0%{transform:scale(1)}to{transform:scale(1.1)}}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 0%,var(--color-dark) 100%)}.hero-content{position:relative;z-index:10;text-align:center;padding:2rem;max-width:1200px}.hero-subtitle{font-family:var(--font-accent);font-size:1.2rem;letter-spacing:.5em;color:var(--color-gold);margin-bottom:2rem;opacity:0;animation:fadeInUp 1s ease-out .3s forwards}.hero-title{font-family:var(--font-display);font-size:clamp(3rem,10vw,8rem);font-weight:400;color:var(--color-cream);line-height:1.1;margin-bottom:1.5rem;opacity:0;animation:fadeInUp 1s ease-out .5s forwards}.hero-title span{display:block;font-style:italic;color:var(--color-gold)}.hero-description{font-size:1.3rem;color:#fdf8f3b3;max-width:600px;margin:0 auto 3rem;opacity:0;animation:fadeInUp 1s ease-out .7s forwards}.hero-cta{display:inline-flex;align-items:center;gap:1rem;padding:1.2rem 3rem;background:transparent;border:1px solid var(--color-gold);color:var(--color-gold);font-family:var(--font-display);font-size:1rem;letter-spacing:.2em;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);opacity:0;animation:fadeInUp 1s ease-out .9s forwards}.hero-cta:hover{background:var(--color-gold);color:var(--color-dark)}.hero-cta svg{width:20px;height:20px;transition:transform .4s ease}.hero-cta:hover svg{transform:translate(5px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.nav{position:fixed;top:0;left:0;width:100%;padding:1.5rem 4rem;display:flex;justify-content:space-between;align-items:center;z-index:1000;transition:all .4s ease}.nav.scrolled{background:#0d0d0df2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 4rem}.nav-logo{font-family:var(--font-display);font-size:1.5rem;color:var(--color-cream);letter-spacing:.1em}.nav-links{display:flex;gap:3rem;list-style:none}.nav-links a{color:var(--color-cream);text-decoration:none;font-size:.9rem;letter-spacing:.15em;position:relative;transition:color .3s ease}.nav-links a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--color-gold);transition:width .3s ease}.nav-links a:hover{color:var(--color-gold)}.nav-links a:hover:after{width:100%}.nav-auth{display:flex;align-items:center}.auth-buttons{display:flex;gap:1rem;align-items:center}.btn-login{color:var(--color-cream);text-decoration:none;font-size:.9rem;letter-spacing:.1em;padding:.6rem 1.2rem;transition:color .3s ease}.btn-login:hover{color:var(--color-gold)}.btn-register{color:var(--color-dark);background:var(--color-gold);text-decoration:none;font-size:.9rem;letter-spacing:.1em;padding:.6rem 1.5rem;border-radius:4px;transition:all .3s ease}.btn-register:hover{background:var(--color-cream);transform:translateY(-1px)}.user-menu{position:relative}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-gold),#e8c547);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-dark);transition:all .3s ease}.user-avatar:hover{transform:scale(1.05);box-shadow:0 4px 15px #c9a96266}.user-dropdown{position:absolute;top:calc(100% + .75rem);right:0;min-width:200px;background:#1a1a1afa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(201,169,98,.2);border-radius:8px;overflow:hidden;box-shadow:0 10px 40px #00000080;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.dropdown-name{display:block;font-family:var(--font-display);font-size:1rem;color:var(--color-cream);margin-bottom:.25rem}.dropdown-username{display:block;font-size:.8rem;color:#fdf8f380}.dropdown-divider{height:1px;background:#ffffff1a}.dropdown-item{display:block;width:100%;padding:.875rem 1.25rem;background:transparent;border:none;text-align:left;color:var(--color-cream);font-size:.9rem;cursor:pointer;transition:all .2s ease;text-decoration:none}.dropdown-item:hover{background:#c9a9621a;color:var(--color-gold)}.dropdown-item.logout{color:#ef4444;border-top:1px solid rgba(255,255,255,.1)}.dropdown-item.logout:hover{background:#ef44441a;color:#f87171}section{padding:8rem 4rem}.section-header{text-align:center;margin-bottom:5rem}.section-subtitle{font-family:var(--font-accent);font-size:1rem;color:var(--color-rust);letter-spacing:.3em;margin-bottom:1rem}.section-title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);color:var(--color-charcoal);line-height:1.2}.featured{background:var(--color-cream);padding:4rem 2rem}.featured .section-header{margin-bottom:2.5rem}.dishes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1000px;margin:0 auto}.dish-card{position:relative;border-radius:6px;overflow:hidden;cursor:pointer;aspect-ratio:1/1;box-shadow:0 4px 15px #00000014;transition:all .3s ease}.dish-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001f}.dish-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.dish-card:hover img{transform:scale(1.05)}.dish-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.75) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.25rem;opacity:1}.dish-card-category{font-family:var(--font-accent);font-size:.7rem;color:var(--color-gold);letter-spacing:.2em;margin-bottom:.3rem}.dish-card-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-cream);margin-bottom:.25rem}.dish-card-price{font-family:var(--font-display);font-size:.95rem;color:var(--color-gold)}.gallery{background:var(--color-dark);position:relative;overflow:hidden}.gallery .section-subtitle{color:var(--color-gold)}.gallery .section-title{color:var(--color-cream)}.gallery-strip{display:flex;gap:1.5rem;animation:scroll 30s linear infinite;width:max-content}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.gallery-item{flex-shrink:0;width:400px;height:500px;position:relative;overflow:hidden;border-radius:4px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.1)}.gallery-item-overlay{position:absolute;inset:0;background:linear-gradient(45deg,rgba(201,169,98,.3) 0%,transparent 100%);transition:background .3s ease}.gallery-item:hover .gallery-item-overlay{background:linear-gradient(45deg,rgba(201,169,98,.5) 0%,transparent 100%)}.menu{background:var(--color-cream)}.menu-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.menu-category{text-align:center}.menu-category-icon{width:80px;height:80px;margin:0 auto 1.5rem;border:2px solid var(--color-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.menu-category-title{font-family:var(--font-display);font-size:1.8rem;color:var(--color-charcoal);margin-bottom:2rem}.menu-item{display:flex;justify-content:space-between;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid rgba(0,0,0,.1)}.menu-item-info{text-align:left}.menu-item-name{font-family:var(--font-display);font-size:1.1rem;color:var(--color-charcoal)}.menu-item-desc{font-size:.9rem;color:#666;margin-top:.3rem}.menu-item-price{font-family:var(--font-display);font-size:1.2rem;color:var(--color-rust)}.testimonials{background:linear-gradient(135deg,#2D1810 0%,var(--color-dark) 100%);color:var(--color-cream);position:relative}.testimonials .section-subtitle{color:var(--color-gold)}.testimonials .section-title{color:var(--color-cream)}.testimonials-container{max-width:900px;margin:0 auto;position:relative}.testimonial-slider{overflow:hidden}.testimonial-track{display:flex;transition:transform .5s ease}.testimonial{flex-shrink:0;width:100%;text-align:center;padding:2rem}.testimonial-quote{font-family:var(--font-display);font-size:1.8rem;font-style:italic;line-height:1.6;margin-bottom:2rem}.testimonial-author{display:flex;flex-direction:column;align-items:center;gap:1rem}.testimonial-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--color-gold)}.testimonial-name{font-family:var(--font-display);font-size:1.2rem;color:var(--color-cream)}.testimonial-role{font-size:.9rem;color:var(--color-gold)}.testimonial-dots{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.testimonial-dot{width:12px;height:12px;border-radius:50%;background:#c9a9624d;cursor:pointer;transition:all .3s ease;border:none}.testimonial-dot.active{background:var(--color-gold)}.image-gallery{padding:8rem 0;background:var(--color-cream)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(3,300px);gap:1rem;max-width:1600px;margin:0 auto;padding:0 4rem}.gallery-grid-item{position:relative;overflow:hidden;border-radius:4px}.gallery-grid-item:nth-child(1){grid-column:span 4;grid-row:span 2}.gallery-grid-item:nth-child(2){grid-column:span 3}.gallery-grid-item:nth-child(3){grid-column:span 5}.gallery-grid-item:nth-child(4){grid-column:span 4}.gallery-grid-item:nth-child(5){grid-column:span 4}.gallery-grid-item:nth-child(6){grid-column:span 4;grid-row:span 1}.gallery-grid-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-grid-item:hover img{transform:scale(1.05)}.gallery-grid-overlay{position:absolute;inset:0;background:#0000;transition:background .3s ease}.gallery-grid-item:hover .gallery-grid-overlay{background:#0003}.reservation{background:var(--color-dark);color:var(--color-cream);text-align:center}.reservation .section-subtitle{color:var(--color-gold)}.reservation .section-title{color:var(--color-cream)}.reservation-form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.reservation-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.reservation-input,.reservation-select,.reservation-textarea{padding:1.2rem;background:#ffffff0d;border:1px solid rgba(201,169,98,.3);color:var(--color-cream);font-family:var(--font-body);font-size:1rem;transition:all .3s ease}.reservation-input:focus,.reservation-select:focus,.reservation-textarea:focus{outline:none;border-color:var(--color-gold);background:#ffffff1a}.reservation-select{cursor:pointer}.reservation-select option{background:var(--color-dark)}.reservation-textarea{resize:vertical;min-height:120px}.reservation-submit{padding:1.5rem 3rem;background:var(--color-gold);border:none;color:var(--color-dark);font-family:var(--font-display);font-size:1rem;letter-spacing:.2em;cursor:pointer;transition:all .3s ease}.reservation-submit:hover{background:var(--color-cream);transform:translateY(-2px)}.footer{background:#0a0a0a;color:var(--color-cream);padding:5rem 4rem 2rem}.footer-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:4rem}.footer-brand{font-family:var(--font-display);font-size:2rem;margin-bottom:1.5rem}.footer-desc{color:#fdf8f399;line-height:1.8;margin-bottom:2rem}.footer-social{display:flex;gap:1rem}.footer-social a{width:45px;height:45px;border:1px solid rgba(201,169,98,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-cream);text-decoration:none;transition:all .3s ease}.footer-social a:hover{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-dark)}.footer-title{font-family:var(--font-display);font-size:1.2rem;margin-bottom:1.5rem;color:var(--color-gold)}.footer-links{list-style:none}.footer-links li{margin-bottom:.8rem}.footer-links a{color:#fdf8f399;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:var(--color-gold)}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);color:#fdf8f366;font-size:.9rem}.floating-cta{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;background:var(--color-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;transition:all .3s ease;box-shadow:0 10px 30px #c9a9624d;border:none}.floating-cta:hover{transform:scale(1.1);box-shadow:0 15px 40px #c9a96266}.floating-cta svg{width:24px;height:24px;color:var(--color-dark)}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media(max-width:1024px){.nav{padding:1rem 2rem}.nav-links{display:none}.auth-buttons{gap:.5rem}.btn-login{padding:.5rem .8rem;font-size:.85rem}.btn-register{padding:.5rem 1rem;font-size:.85rem}section{padding:4rem 2rem}.dishes-grid{grid-template-columns:repeat(3,1fr);gap:1rem;max-width:800px}.menu-container{grid-template-columns:1fr;gap:4rem}.footer-content{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,200px);padding:0 2rem}.gallery-grid-item:nth-child(1){grid-column:span 3;grid-row:span 2}.gallery-grid-item:nth-child(2){grid-column:span 3}.gallery-grid-item:nth-child(3){grid-column:span 3}.gallery-grid-item:nth-child(4){grid-column:span 3}.gallery-grid-item:nth-child(5){grid-column:span 3}.gallery-grid-item:nth-child(6){grid-column:span 3}}@media(max-width:768px){.dishes-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.dish-card-title{font-size:.9rem}.dish-card-category{font-size:.65rem}.dish-card-overlay{padding:1rem}.reservation-row{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;gap:2rem}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(6,180px)}.gallery-grid-item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-grid-item:nth-child(2){grid-column:span 1}.gallery-grid-item:nth-child(3){grid-column:span 1}.gallery-grid-item:nth-child(4){grid-column:span 1}.gallery-grid-item:nth-child(5){grid-column:span 1}.gallery-grid-item:nth-child(6){grid-column:span 2}}
