@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600;700&family=Dancing+Script:wght@400;500;600;700&display=swap";:root{--rosa-primary: #FF7EB3;--rosa-dark: #E05A8D;--rosa-deeper: #C94274;--rosa-light: #FF9EC5;--rosa-lighter: #FFC4DB;--rosa-pale: #FFF0F5;--rosa-glow: rgba(255, 126, 179, .3);--white: #FFFFFF;--off-white: #FFF8FA;--cream: #FFF5F7;--gray-100: #F7F0F2;--gray-200: #E8DCE0;--gray-300: #D4C5CA;--gray-500: #8A7880;--gray-700: #4A3840;--gray-900: #2D1F24;--gold: #D4A574;--gold-light: #E8C8A0;--glass-bg: rgba(255, 255, 255, .95);--glass-bg-dark: #FF7EB3;--glass-border: rgba(255, 255, 255, .6);--glass-border-light: rgba(255, 126, 179, .3);--glass-shadow: 0 8px 32px 0 rgba(255, 126, 179, .15);--glass-blur: 16px;--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, sans-serif;--font-script: "Dancing Script", cursive;--shadow-sm: 0 2px 8px rgba(45, 31, 36, .06);--shadow-md: 0 4px 20px rgba(45, 31, 36, .08);--shadow-lg: 0 8px 40px rgba(45, 31, 36, .12);--shadow-xl: 0 20px 60px rgba(45, 31, 36, .15);--shadow-rosa: 0 8px 30px rgba(196, 100, 122, .2);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-medium: .35s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 50%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--gray-900);background-color:var(--off-white);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}.glass-body{background:var(--rosa-pale)!important;position:relative;z-index:0;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}.moon-background-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,rgba(196,100,122,.18) 0%,transparent 55%),radial-gradient(ellipse at 80% 20%,rgba(60,90,180,.2) 0%,transparent 50%),url(./sky/starry-universe.jpg) no-repeat center center fixed;background-size:cover}.stars-overlay{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.star-dot{position:absolute;background:#fff;border-radius:50%;animation:twinkle var(--dur, 3s) ease-in-out infinite;animation-delay:var(--delay, 0s)}@keyframes twinkle{0%{opacity:var(--min-op, .2);transform:scale(1)}50%{opacity:var(--max-op, .9);transform:scale(1.3)}to{opacity:var(--min-op, .2);transform:scale(1)}}.moon-wrapper{position:absolute;top:50%;left:50%;width:320px;height:320px;margin-top:-160px;margin-left:-160px;transition:transform 4.5s cubic-bezier(.2,.9,.3,1),opacity 4.5s ease}.moon-wrapper.slide-in-right{transform:translate(110vw);opacity:0}.moon-wrapper.active{transform:translate(0);opacity:.95}.moon-wrapper.slide-out-left{transform:translate(-110vw);opacity:0}.moon-element{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 35px rgba(200,220,255,.5)) drop-shadow(0 0 85px rgba(180,160,230,.25))}.moon-real-photo{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{border:none;cursor:pointer;font-family:var(--font-body);font-size:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--rosa-pale)}::-webkit-scrollbar-thumb{background:var(--rosa-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--rosa-primary)}.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 2rem;transition:var(--transition-medium);background:transparent}.header.scrolled{background:var(--glass-bg);border-bottom:1px solid var(--glass-border-light);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-md);padding:.6rem 2rem}.header-inner{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:.75rem}.logo-icon{width:48px;height:48px;background:var(--rosa-pale)!important;text-shadow:none!important;font-size:1.05rem}@media(max-width:768px){.menu-toggle{display:flex}.hero-title{font-size:clamp(2.5rem,10vw,4rem)}.section{padding:4rem 1.5rem}.menu-grid{grid-template-columns:1fr;gap:1.5rem}.dish-modal{max-height:95vh;border-radius:var(--radius-lg)}.dish-modal-image{height:250px}.dish-modal-body{padding:1.5rem}.dish-modal-price-section{flex-direction:column;gap:1rem;align-items:stretch}.dish-modal-buttons{flex-direction:column}.btn{justify-content:center}.order-modal{padding:1.5rem;border-radius:var(--radius-lg)}.order-actions{flex-direction:column}.modal-overlay{padding:1rem}.category-filter{gap:.5rem}.filter-btn{padding:.5rem 1rem;font-size:.82rem}.about-features{grid-template-columns:1fr 1fr}.footer-inner{grid-template-columns:1fr;gap:2rem}}@media(max-width:480px){.dish-card-image{height:200px}.about-features{grid-template-columns:1fr}.dish-modal-name{font-size:1.5rem}}.dish-card.hidden{display:none}.login-modal{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border-light);border-radius:var(--radius-xl);max-width:400px;width:100%;box-shadow:var(--shadow-xl);transform:scale(.9) translateY(20px);transition:var(--transition-medium);padding:2.5rem;position:relative}.modal-overlay.active .login-modal{transform:scale(1) translateY(0)}.login-modal-header{text-align:center;margin-bottom:2rem}.login-error{color:#e74c3c;font-size:.85rem;text-align:center;min-height:1.2rem;margin-bottom:.5rem}.admin-access-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.75rem;padding:.4rem 1rem;background:transparent;color:#ffffff4d;border:1px solid rgba(255,255,255,.1);border-radius:50px;font-size:.72rem;font-weight:400;cursor:pointer;transition:var(--transition-fast)}.admin-access-btn:hover{color:#ffffffb3;border-color:#ffffff4d;background:#ffffff0d}.btn-detalhamento-prato{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1.1rem;background:var(--rosa-pale);color:var(--rosa-primary);border:1px solid var(--rosa-lighter);border-radius:50px;font-size:.82rem;font-weight:600;cursor:pointer;margin:.5rem 0 1rem;transition:var(--transition-fast)}.btn-detalhamento-prato:hover{background:var(--rosa-primary);color:#fff;border-color:var(--rosa-primary)}.detalhamento-modal{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border-light);border-radius:var(--radius-xl);max-width:480px;width:100%;padding:2.2rem;box-shadow:var(--shadow-xl);position:relative;transform:scale(.9) translateY(20px);transition:var(--transition-medium)}.modal-overlay.active .detalhamento-modal{transform:scale(1) translateY(0)}.detalhamento-header{text-align:center;margin-bottom:1.5rem}.detalhamento-icon{width:56px;height:56px;border-radius:50%;background:var(--rosa-pale);color:var(--rosa-primary);font-size:1.6rem;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.detalhamento-title{font-family:var(--font-display);font-size:1.3rem;color:var(--gray-900)}.detalhamento-body{font-size:.95rem;color:var(--gray-700);line-height:1.7;background:var(--gray-100);padding:1.25rem;border-radius:var(--radius-md);max-height:250px;overflow-y:auto}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:var(--glass-bg, rgba(255, 255, 255, .4));backdrop-filter:blur(var(--glass-blur, 16px));-webkit-backdrop-filter:blur(var(--glass-blur, 16px));border:1px solid var(--glass-border, rgba(255, 255, 255, .5));color:var(--black, #000);padding:15px 25px;border-radius:8px;box-shadow:0 8px 32px #00000026;font-weight:500;transform:translate(120%);opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:auto}.toast.show{transform:translate(0);opacity:1}.toast.error{border-left:5px solid #e74c3c}.toast.success{border-left:5px solid #2ecc71}.about-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:4rem}.gallery-item{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition-medium);aspect-ratio:3/4;background:var(--gray-200)}.gallery-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-modal{position:relative;max-width:90vw;max-height:90vh;background:transparent;display:flex;justify-content:center;align-items:center;box-shadow:none;padding:0}.gallery-modal img{max-width:100%;max-height:90vh;border-radius:var(--radius-md);box-shadow:0 10px 40px #00000080;object-fit:contain}.gallery-item{cursor:pointer}.alert-pulse-green{background-color:#2ecc7133!important;border:2px dashed rgba(46,204,113,.6)!important;box-shadow:0 0 20px #2ecc7126}.alert-pulse-yellow{background-color:#f1c40f33!important;border:2px dashed rgba(241,196,15,.6)!important;box-shadow:0 0 20px #f1c40f26}.alert-pulse-red{background-color:#e74c3c33!important;border:2px dashed rgba(231,76,60,.6)!important;box-shadow:0 0 20px #e74c3c33;animation:pulseBorder 2s infinite alternate}@keyframes pulseBorder{0%{border-color:#e74c3c66}to{border-color:#e74c3c}}#ai-chat-toggle:hover{transform:scale(1.1) rotate(15deg);background-color:var(--rosa-dark)!important}#ai-chat-container.active{display:flex!important;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-msg-user{background:var(--rosa-primary, #C4647A)!important;color:#fff!important;padding:10px 12px;border-radius:12px 12px 0;align-self:flex-end;max-width:85%;box-shadow:0 2px 6px #c4647a33}.chat-msg-ai{background:#ffffffd9;border:1px solid rgba(196,100,122,.15);color:var(--gray-900);padding:10px 12px;border-radius:12px 12px 12px 0;align-self:flex-start;max-width:85%}
