:root{--color-white: #FFFFFF;--color-off-white: #FAFAFA;--color-black: #1A1A1A;--color-black-soft: #2D2D2D;--color-yellow: #E8B923;--color-yellow-light: #F5D547;--color-yellow-dark: #C99B1E;--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--shadow: 0 4px 20px rgba(0, 0, 0, .08);--shadow-strong: 0 8px 30px rgba(0, 0, 0, .12);--radius: 12px;--radius-sm: 8px;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-black);background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;max-width:100vw}#root{min-height:100vh;display:flex;flex-direction:column;min-width:0;max-width:100%;overflow-x:hidden}a{color:var(--color-yellow-dark);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-yellow)}img{max-width:100%;height:auto;display:block}.placeholder-box{background:var(--color-off-white);border:2px dashed var(--color-yellow);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--color-black-soft);font-size:.9rem;text-align:center;padding:1.5rem}.container{width:100%;max-width:1200px;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem;min-width:0}@media(min-width:768px){.container{padding-left:2rem;padding-right:2rem}}@media(min-width:1024px){.container{padding-left:2.5rem;padding-right:2.5rem}}.btn{display:inline-block;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;text-align:center;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition),transform .15s ease}.btn-primary{background-color:var(--color-yellow);color:var(--color-black)}.btn-primary:hover{background-color:var(--color-yellow-light);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--color-black);border:2px solid var(--color-black)}.btn-outline:hover{background:var(--color-black);color:var(--color-white)}.page-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--color-black);margin:0 0 .5rem}.page-subtitle{font-size:1.1rem;color:var(--color-black-soft);margin:0 0 2rem}.header{background-color:var(--color-black);color:var(--color-white);position:sticky;top:0;z-index:100;box-shadow:var(--shadow);width:100%;min-width:0;overflow-x:hidden}.header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;padding-bottom:1rem;gap:1rem}.logo-link{color:inherit}.logo-link:hover{color:var(--color-yellow)}.logo-placeholder{font-size:1.25rem;font-weight:700;color:var(--color-yellow);letter-spacing:.02em;min-width:100px;min-height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:var(--radius-sm);padding:.5rem .75rem}.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2rem}.nav-list a{color:var(--color-white);font-weight:500}.nav-list a:hover,.nav-list a.active{color:var(--color-yellow)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;background:transparent;border:none;cursor:pointer;color:var(--color-white)}.nav-toggle-bar{display:block;width:100%;height:2px;background:currentColor;border-radius:1px;transition:transform .2s,opacity .2s}.nav-toggle.open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle.open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-mobile{display:none;background:var(--color-black-soft);padding:1rem}.nav-mobile.open{display:block}.nav-list-mobile{flex-direction:column;gap:.5rem}.nav-list-mobile a{display:block;padding:.75rem}@media(max-width:767px){.nav{display:none}.nav-toggle{display:flex}}@media(min-width:768px){.nav-mobile{display:none!important}}.footer{background-color:var(--color-black);color:var(--color-white);margin-top:auto}.footer-inner{display:grid;gap:2rem;padding-top:2.5rem;padding-bottom:2rem}@media(min-width:640px){.footer-inner{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.footer-inner{grid-template-columns:repeat(3,1fr);gap:3rem}}.footer-block{max-width:320px}.footer-title{font-size:1.1rem;font-weight:700;margin:0 0 .75rem;color:var(--color-yellow)}.footer-text,.footer-address p{margin:0 0 .5rem;font-size:.95rem;opacity:.9;line-height:1.5}.footer-address a{color:var(--color-yellow-light)}.footer-address a:hover{color:var(--color-white)}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:.5rem}.footer-links a{color:var(--color-white);opacity:.9}.footer-links a:hover{color:var(--color-yellow)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1rem 0}.footer-copy{margin:0;font-size:.875rem;opacity:.8;text-align:center}.layout{min-height:100vh;display:flex;flex-direction:column;min-width:0;max-width:100%;overflow-x:hidden}.main{flex:1;min-width:0;overflow-x:hidden}.hero{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-image-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,var(--color-black-soft) 0%,var(--color-black) 100%);display:flex;align-items:center;justify-content:center;color:#ffffff80;font-size:clamp(.85rem,2vw,1rem);padding:2rem;text-align:center}.hero-overlay{position:relative;z-index:1;width:100%;padding:2rem 0;text-align:center}.hero-title{font-size:clamp(2rem,6vw,3.5rem);font-weight:800;color:var(--color-white);margin:0 0 .5rem;letter-spacing:-.02em}.hero-subtitle{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--color-yellow);margin:0 0 1.5rem;font-weight:500}.hero-cta{margin-top:.5rem}.section{padding:3rem 0;min-width:0}@media(min-width:768px){.section{padding:4rem 0}}.intro-grid{display:grid;gap:2rem;align-items:center}@media(min-width:768px){.intro-grid{grid-template-columns:1fr 1fr;gap:3rem}}.intro-image-placeholder{aspect-ratio:3/2;min-height:220px;border-radius:var(--radius);background:var(--color-off-white);border:2px dashed var(--color-yellow);display:flex;align-items:center;justify-content:center;color:var(--color-black-soft);font-size:.9rem;padding:1.5rem;text-align:center}.section-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--color-black);margin:0 0 1rem}.intro-text{margin:0 0 1.5rem;color:var(--color-black-soft);max-width:480px}.intro-content .btn{margin-top:.25rem}.menu-page .page-title,.menu-page .page-subtitle{text-align:center}.menu-hero{padding-top:2rem;padding-bottom:1rem}.menu-hero-image-placeholder{width:100%;max-width:900px;margin:0 auto 1.5rem;aspect-ratio:3/1;min-height:140px;border-radius:var(--radius);background:var(--color-off-white);border:2px dashed var(--color-yellow);display:flex;align-items:center;justify-content:center;color:var(--color-black-soft);font-size:.9rem;padding:1rem;text-align:center}.menu-sections{display:flex;flex-direction:column;gap:2.5rem;min-width:0}.menu-section{background:var(--color-off-white);border-radius:var(--radius);border:1px solid rgba(0,0,0,.08);overflow:hidden}.menu-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;font-family:inherit;font-size:1.2rem;font-weight:700;color:var(--color-black);text-align:left;background:transparent;border:none;cursor:pointer;transition:background-color .2s ease,color .2s ease}.menu-section-header:hover{background:#0000000a}.menu-section-header:focus-visible{outline:2px solid var(--color-yellow);outline-offset:2px}.menu-section-title{margin:0}.menu-section-chevron{flex-shrink:0;width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-1px;transition:transform .25s ease}.menu-section--expanded .menu-section-chevron{transform:rotate(-135deg);margin-top:4px}.menu-section-content{overflow:hidden;max-height:0;transition:max-height .3s ease}.menu-section--expanded .menu-section-content{max-height:2000px}.menu-section-content .menu-list{padding:1rem 1.25rem 1.25rem;border-top:1px solid rgba(0,0,0,.06)}@media(min-width:768px){.menu-section-header{padding:1.25rem 1.5rem;font-size:1.35rem}.menu-section-content .menu-list{padding:1rem 1.5rem 1.5rem}}.menu-list{list-style:none;margin:0;padding:0}.menu-item{padding:.75rem 0;border-bottom:1px solid rgba(0,0,0,.06)}.menu-item:last-child{border-bottom:none}.menu-item-main{display:flex;justify-content:space-between;align-items:center;gap:1rem}.menu-item-link{display:block;padding:.25rem 0;color:inherit}.menu-item-link:hover .menu-item-name{color:var(--color-yellow-dark)}.menu-item-info{display:flex;align-items:center;gap:.75rem}.menu-item-image{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm)}.menu-loading,.menu-error{text-align:center;padding:2rem;color:var(--color-black-soft)}.menu-error{color:#c00}.menu-item-name{font-weight:600;color:var(--color-black)}.menu-item-price{color:var(--color-yellow-dark);font-weight:600;white-space:nowrap}.menu-item-desc{margin:.25rem 0 0;font-size:.9rem;color:var(--color-black-soft)}.menu-image-placeholder-wrap{margin-top:3rem;min-width:0;max-width:100%;overflow:hidden}.menu-image-placeholder{aspect-ratio:2/1;min-height:200px;width:100%;max-width:100%;box-sizing:border-box}.menu-item-page{background:var(--color-white)}.menu-item-back-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.9rem;color:var(--color-black-soft);margin-bottom:1.5rem}.menu-item-back-link:hover{color:var(--color-yellow-dark)}.menu-item-card{display:grid;gap:2rem;background:var(--color-off-white);border-radius:var(--radius);border:1px solid rgba(0,0,0,.06);padding:1.5rem;box-shadow:var(--shadow)}@media(min-width:768px){.menu-item-card{grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);align-items:stretch;padding:2rem}}.menu-item-media{border-radius:var(--radius);overflow:hidden;background:var(--color-black-soft);aspect-ratio:1 / 1;width:100%}.menu-item-image-large{width:100%;height:100%;object-fit:cover;display:block}.menu-item-image-placeholder{width:100%;height:100%;min-height:200px;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;background:linear-gradient(135deg,#2d2d2d,#1a1a1a);color:#fffc}.menu-item-image-placeholder-text{font-size:.95rem}.menu-item-content{display:flex;flex-direction:column;gap:.75rem}.menu-item-section{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-black-soft);margin:0}.menu-item-title{font-size:clamp(1.6rem,3vw,2rem);margin:0;font-weight:700;color:var(--color-black)}.menu-item-price-large{font-size:1.1rem;font-weight:600;color:var(--color-yellow-dark);margin:.25rem 0 .75rem}.menu-item-diet-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.menu-diet-chip{padding:.2rem .6rem;border-radius:999px;background:#e8b9231f;color:var(--color-black);font-size:.8rem;font-weight:500}.menu-item-ingredients,.menu-item-desc{font-size:.95rem;color:var(--color-black-soft);margin:0}.menu-item-desc{margin-top:.5rem}.menu-item-macros-grid{display:grid;gap:.75rem;margin-top:1rem}@media(min-width:640px){.menu-item-macros-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.menu-item-macros-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.menu-macro-chip{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:999px;background:#0000000a}.menu-macro-icon{width:22px;height:22px;border-radius:999px;background:var(--color-black-soft);position:relative}.menu-macro-icon:after{content:"";position:absolute;inset:5px;border-radius:inherit;border:2px solid rgba(255,255,255,.8)}.macro-calories{background:#e67e22}.macro-protein{background:#2ecc71}.macro-fat{background:#e74c3c}.macro-carbs{background:#3498db}.menu-macro-text{display:flex;flex-direction:column;gap:.15rem}.menu-macro-label{font-size:.75rem;font-weight:600;color:var(--color-black-soft)}.menu-macro-value{font-size:.9rem;font-weight:500;color:var(--color-black)}.contact-page .page-title,.contact-page .page-subtitle{text-align:center}.contact-grid{display:grid;gap:2rem;min-width:0}@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:2.5rem}}.contact-info{display:flex;flex-direction:column;gap:1.5rem}.contact-card{background:var(--color-off-white);border-radius:var(--radius);padding:1.5rem;border:1px solid rgba(0,0,0,.06)}.contact-card-title{font-size:1.1rem;font-weight:700;color:var(--color-black);margin:0 0 .75rem;color:var(--color-yellow-dark)}.contact-address{font-style:normal;margin:0;line-height:1.6;color:var(--color-black-soft);word-wrap:break-word;overflow-wrap:break-word}.contact-phone{font-size:1.1rem;font-weight:600;color:var(--color-black)}.contact-map-wrap{min-width:0;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(0,0,0,.06);background:var(--color-off-white)}.contact-map-iframe{display:block;width:100%;height:280px;border:0}@media(min-width:768px){.contact-map-iframe{height:320px}}.admin-page .page-title,.admin-page .page-subtitle{text-align:left}.admin-auth-subtitle{margin-bottom:1.5rem}.admin-auth-card{max-width:400px;background:var(--color-off-white);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);padding:1.5rem}.admin-auth-tabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:1px solid rgba(0,0,0,.12)}.admin-auth-tab{padding:.5rem 1rem;border:none;background:none;font-family:inherit;font-size:.95rem;font-weight:500;color:var(--color-black-soft);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.admin-auth-tab:hover{color:var(--color-black)}.admin-auth-tab--active{color:var(--color-black);border-bottom-color:var(--color-yellow)}.admin-auth-form{display:flex;flex-direction:column;gap:1rem}.admin-auth-form .admin-message{margin-bottom:0}.admin-auth-field{display:flex;flex-direction:column;gap:.35rem}.admin-auth-label{font-size:.875rem;font-weight:500;color:var(--color-black-soft)}.admin-auth-field input{padding:.6rem .75rem;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem}.admin-auth-field input:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 2px #e8b92333}.admin-auth-submit{margin-top:.25rem}.admin-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-page-header .page-title{margin-bottom:.25rem}.admin-page-header .page-subtitle{margin-bottom:0}.admin-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;flex-shrink:0}.admin-btn-signout{flex-shrink:0}.admin-loading{padding:2rem;color:var(--color-black-soft)}.admin-message{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1.5rem}.admin-message.success{background:#e8f5e9;color:#2e7d32}.admin-message.error{background:#ffebee;color:#c62828}.admin-sections{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.admin-section{background:var(--color-off-white);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);padding:1.25rem}.admin-section-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.admin-section-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem 0;margin:0;margin-right:.5rem;border:none;background:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;flex-shrink:0}.admin-section-chevron{display:inline-block;width:.6rem;height:.6rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s ease}.admin-section:not(.admin-section--collapsed) .admin-section-chevron{transform:rotate(135deg)}.admin-section-title-text{font-weight:600;font-size:1.1rem;text-align:left}.admin-section--collapsed .admin-section-header{margin-bottom:0}.admin-section--collapsed .admin-section-toggle{flex:1;min-width:0}.admin-section-title-input{flex:1;min-width:200px;font-size:1.1rem;font-weight:600;padding:.5rem .75rem;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-sm);font-family:inherit}.admin-section-actions{display:flex;gap:.5rem}.admin-item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.admin-item-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-white);border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.06)}.admin-item-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem 0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;flex-shrink:0}.admin-item-chevron{display:inline-block;width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s ease}.admin-item-row:not(.admin-item-row--collapsed) .admin-item-chevron{transform:rotate(135deg)}.admin-item-name-text{font-weight:500;text-align:left}.admin-item-row--collapsed .admin-item-toggle{flex:1;min-width:0}.admin-item-fields{flex:1;display:grid;gap:.5rem;min-width:0}@media(min-width:640px){.admin-item-fields{grid-template-columns:1.2fr 110px 140px 1.2fr}}.admin-file-input-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.admin-item-image-cell{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.admin-item-image-preview-wrap{width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-off-white);border:1px solid rgba(0,0,0,.1);flex-shrink:0}.admin-item-image-preview{width:100%;height:100%;object-fit:cover}.admin-item-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:.75rem;color:var(--color-black-soft);text-align:center;padding:.25rem}.admin-item-image-actions{display:flex;flex-wrap:wrap;gap:.35rem}.admin-btn-remove-image:disabled{opacity:.5;cursor:not-allowed}.admin-item-fields input{padding:.5rem .75rem;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem}.admin-item-fields input:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 2px #e8b92333}.admin-item-macros{display:flex;flex-direction:column;gap:.5rem}@media(min-width:768px){.admin-item-macros{flex-direction:row;flex-wrap:wrap}}.admin-macro-field label{display:flex;flex-direction:column;gap:.2rem}.admin-macro-label{font-size:.75rem;font-weight:500;color:var(--color-black-soft)}.admin-macro-field input{width:100%}.admin-item-diet{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.85rem;color:var(--color-black-soft)}.admin-diet-label{font-weight:600}.admin-diet-option{display:inline-flex;align-items:center;gap:.25rem}.btn-sm{padding:.4rem .75rem;font-size:.875rem}.btn-danger{background:transparent;color:#c62828;border:1px solid #c62828}.btn-danger:hover:not(:disabled){background:#c62828;color:var(--color-white)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.admin-actions{display:flex;flex-wrap:wrap;gap:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.08)}.admin-actions .btn-primary{margin-left:auto}.qr-page{background:var(--color-white)}.qr-page-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--color-black);margin:0 0 .5rem;text-align:center}.qr-page-subtitle{font-size:1rem;color:var(--color-black-soft);margin:0 0 2rem;text-align:center}.qr-code-card{max-width:360px;margin:0 auto;padding:2rem;background:var(--color-off-white);border-radius:var(--radius);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:1.25rem}.qr-code-svg{display:block;width:280px;height:280px;background:var(--color-white);padding:12px;border-radius:var(--radius-sm)}.qr-code-url{font-size:.85rem;color:var(--color-black-soft);margin:0;word-break:break-all;text-align:center}.qr-code-hint{font-size:.9rem;color:var(--color-black-soft);margin:0;text-align:center;font-style:italic}
