*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;text-rendering:optimizeLegibility}:root{--primary: #7a1f1f;--primary-hover: #932626;--accent: #d4a373;--danger: #c0392b;--success: #2e7d32;--bg: #f7f4f1;--surface: #fff;--border: #e6e2de;--text: #2a2a2a;--text-muted: #6b6b6b;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-base: 16px;--line-height-base: 1.5;--h1-size: 2.5rem;--h2-size: 2rem;--h3-size: 1.25rem;--font-weight-heading: 600;--font-weight-medium: 500;--container-max: 1200px;--content-max: 800px;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 40px;--space-6: 64px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 10px 30px rgba(0, 0, 0, .08);--transition-fast: .2s ease;--transition-medium: .3s ease;--input-padding-y: var(--space-2);--input-padding-x: var(--space-3);--focus-ring: 0 0 0 3px rgba(122, 31, 31, .15);--danger-ring: 0 0 0 3px rgba(192, 57, 43, .15);--button-padding-y: var(--space-2);--button-padding-x: var(--space-4);--breakpoint-md: 768px;--calendar-bg: var(--surface);--calendar-text: var(--text);--calendar-accent: var(--primary);--calendar-accent-hover: var(--primary-hover);--calendar-today-border: var(--primary);--calendar-selected-bg: var(--primary);--calendar-selected-text: #fff;--calendar-disabled-text: var(--text-muted);--calendar-shadow: var(--shadow-sm);--calendar-radius: var(--radius-md) }h1,h2,h3,h4{font-weight:var(--font-weight-heading);line-height:1.2}h1{font-size:var(--h1-size);margin-bottom:var(--space-3)}h2{font-size:var(--h2-size);margin-bottom:var(--space-4);text-align:center}h3{font-size:var(--h3-size)}p{color:var(--text-muted)}strong{color:var(--text)}@media (max-width:var(--breakpoint-md)){h1{font-size:calc(var(--h1-size)-.5rem)}h2{font-size:calc(var(--h2-size)-.25rem)}header nav ul{flex-direction:column;gap:var(--space-2)}section ul[role=list]{grid-template-columns:1fr}form{padding:var(--space-4)}.mat-calendar{font-size:.875rem}}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-4)}.section{padding:var(--space-6) 0}.flex{display:flex;gap:var(--space-3);flex-wrap:wrap}.flex-center{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}header[role=banner]{background:var(--surface);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}header .logo img{border-radius:50%;object-fit:cover;max-width:80px;height:auto}header nav ul{display:flex;gap:var(--space-4);list-style:none;margin-top:var(--space-2);flex-wrap:wrap;justify-content:center}header nav a{text-decoration:none;color:var(--text);font-weight:var(--font-weight-medium);position:relative}header nav a:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--primary);transition:var(--transition-medium)}header nav a:hover:after{width:100%}footer[role=contentinfo]{background:var(--surface);margin-top:var(--space-6);padding:var(--space-5) var(--space-4);border-top:1px solid var(--border);text-align:center;display:flex;flex-direction:column;gap:var(--space-5)}footer address{font-style:normal;color:var(--text-muted)}footer a{text-decoration:none;color:var(--primary);font-weight:var(--font-weight-medium)}footer nav ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;line-height:1}footer nav ul li{padding:var(--space-1) var(--space-3);border-right:1px solid var(--text-muted)}footer nav ul li:first-child{padding-left:0}footer nav ul li:last-child{padding-right:0;border-right:none}header[role=banner]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:0}div[aria-label="Restaurant Logo"]{position:relative;width:100%;aspect-ratio:4 / 1;overflow:hidden;background:var(--surface)}div[aria-label="Restaurant Logo"] img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}header[role=banner] h1{margin:0;font-size:clamp(1.6rem,6vw,var(--h1-size, 2.8rem));font-weight:var(--font-weight-heading);line-height:1;letter-spacing:-.02em;text-align:center;text-transform:uppercase;text-wrap:balance;overflow-wrap:break-word;color:var(--primary)}header[role=banner] p{margin:0 var(--space-3);font-size:clamp(.95rem,2vw,1.125rem);line-height:1.45;text-align:justify;color:var(--text-muted)}section[aria-labelledby=menu-heading]{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}section[aria-labelledby=menu-heading] h2{margin:0 0 var(--space-4);font-size:var(--h3-size);text-transform:uppercase;font-weight:400;line-height:1.1;letter-spacing:-.02em;text-align:center;text-wrap:balance;color:var(--bg);padding:var(--space-3);background-color:var(--primary);border-radius:var(--radius-md)}section[aria-labelledby=menu-heading] h3{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-3);padding-bottom:var(--space-1);font-size:clamp(1.15rem,3vw,var(--h3-size, 1.5rem));font-weight:var(--font-weight-heading);line-height:1.2;color:var(--primary);border-bottom:2px solid var(--border)}section[aria-labelledby=menu-heading] ul[role=list]{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin:0;padding:0;list-style:none}section[aria-labelledby=menu-heading] article{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}section[aria-labelledby=menu-heading] article:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}section[aria-labelledby=menu-heading] article img{flex-shrink:0;width:88px;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm)}section[aria-labelledby=menu-heading] article>div{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0}section[aria-labelledby=menu-heading] article header{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);justify-content:space-between}section[aria-labelledby=menu-heading] article h4{margin:0;font-size:1rem;font-weight:var(--font-weight-heading);line-height:1.2;letter-spacing:-.01em;color:var(--text)}section[aria-labelledby=menu-heading] article p{margin:0;font-size:.92rem;line-height:1.45;color:var(--text-muted)}section[aria-labelledby=menu-heading] article .item-price{font-weight:var(--font-weight-heading);line-height:1;color:var(--success);font-size:var(--h3-size)}section[aria-labelledby=menu-heading] article p[aria-label]{display:inline-flex;align-items:center;gap:4px;width:fit-content;margin-top:var(--space-1);padding:2px 6px;font-size:.8rem;font-weight:var(--font-weight-medium);background:var(--surface-muted);border-radius:var(--radius-xs)}@media(min-width:640px){header[role=banner] h1{line-height:1.05}section[aria-labelledby=menu-heading] ul[role=list]{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-4)}section[aria-labelledby=menu-heading] article img{width:120px}section[aria-labelledby=menu-heading] article header{flex-direction:row;justify-content:space-between;align-items:baseline;gap:var(--space-2)}}.lang-switcher-group{display:inline-flex;gap:var(--space-1);background-color:var(--border);padding:2px;margin:var(--space-3);border-radius:var(--radius-sm)}.lang-btn{line-height:1;flex:1;padding:var(--space-2) var(--space-4);font-family:var(--font-family);font-size:12px;font-weight:var(--font-weight-medium);color:var(--text-muted);background-color:var(--bg);border:none;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.5px}.lang-btn:hover{color:var(--primary)}.lang-btn.active{background-color:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.lang-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.info-wrapper{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3);justify-content:center}#menu-group{margin-top:var(--space-3)}
