*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);line-height:1.6;background-color:var(--color-bg);font-size:var(--font-body-size);font-weight:var(--font-body-weight)}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-unit)}section{padding:var(--section-padding) 0}section:nth-child(2n){background-color:var(--color-bg-alt)}h1,h2,h3{color:var(--color-text);margin-bottom:1rem;line-height:1.2;font-family:var(--font-heading);font-weight:var(--font-heading-weight)}h1{font-size:var(--font-h1-size)}h2{font-size:var(--font-h2-size);margin-bottom:1.5rem}h3{font-size:var(--font-h3-size)}p{margin-bottom:1rem}.btn{display:inline-block;padding:var(--btn-padding);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--btn-radius);font-size:1rem;font-weight:var(--btn-font-weight);text-align:center;cursor:pointer;transition:background-color .3s ease,transform .15s ease;text-decoration:none}.btn:hover{background-color:var(--color-primary-hover);text-decoration:none}.btn:active{transform:scale(.98)}.btn-secondary{background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary);color:#fff}.hero{position:relative;height:100vh;display:flex;align-items:flex-end;justify-content:center;text-align:var(--hero-text-align, center);background-size:cover;background-position:center;color:#fff;padding:50vh 1rem 2rem}.hero:before{content:"";position:absolute;inset:0;background:var(--hero-overlay, rgba(0, 0, 0, .5))}.hero--compact{min-height:60vh}.hero--split{min-height:70vh;justify-content:flex-start;text-align:left}.hero--split .hero-content{max-width:600px;margin-left:10%}.hero-content{position:relative;z-index:1}.hero h1{font-size:var(--font-h1-size);margin-bottom:1rem;color:#fff}.hero p{font-size:1.25rem;margin-bottom:2rem;opacity:.9}.hero .btn{margin:.25rem}.hero-ctas--vertical{display:flex;flex-direction:column;align-items:center;gap:.75rem}.hero-ctas--horizontal{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:var(--hero-cta-justify, center)}.brand-image-treatment{filter:var(--hero-filter, none)}.about-image{filter:var(--about-filter, none)}.about{text-align:center}.about-content{max-width:800px;margin:0 auto}.about-image{margin:2rem auto;max-width:400px;border-radius:var(--about-image-radius, var(--radius-medium));overflow:hidden;box-shadow:var(--shadow-medium)}.menu-tabs{position:sticky;top:0;z-index:10;margin-bottom:1.25rem;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.menu-tabs-track{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.menu-tabs-track::-webkit-scrollbar{display:none}.menu-tabs-indicator{position:absolute;bottom:0;left:var(--indicator-left, 0);width:var(--indicator-width, 0);height:3px;background:var(--color-primary);border-radius:3px 3px 0 0;transition:left .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);pointer-events:none}.menu-tab{position:relative;padding:.7rem 1rem;font-weight:600;font-size:.95rem;color:var(--color-text-light);white-space:nowrap;text-decoration:none;border:none;background:none;cursor:pointer;transition:color .2s ease;scroll-snap-align:start;min-height:44px;display:flex;align-items:center}.menu-tab:hover{color:var(--color-text);text-decoration:none}.menu-tab.is-active{color:var(--color-primary)}.menu-tabs--pill .menu-tabs-indicator{height:100%;bottom:0;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary),transparent 90%)}.menu-tabs--pill .menu-tab.is-active{position:relative;z-index:1}.menu-category--divider .menu-category-divider{background:linear-gradient(90deg,color-mix(in srgb,var(--color-primary),white 88%) 0%,var(--color-bg) 100%);border-bottom:2px solid color-mix(in srgb,var(--color-primary),transparent 50%);border-radius:0}.menu-category--divider .menu-category-divider:after{display:none}.menu-category--minimal{background:transparent;border:none;box-shadow:none}.menu-category--minimal .menu-category-divider{background:transparent;padding-bottom:.5rem}.menu-category--minimal .menu-category-divider:after{display:none}.menu-category{margin-bottom:2rem;border-radius:var(--radius-large);background:linear-gradient(180deg,var(--color-surface) 0%,color-mix(in srgb,var(--color-surface),var(--color-bg-alt) 50%) 100%);border:1px solid color-mix(in srgb,var(--color-border),white 30%);box-shadow:var(--shadow-card, 0 10px 25px rgba(0, 0, 0, .04));overflow:hidden;scroll-margin-top:3.75rem}.menu-category-panel{padding:0 1rem .2rem}.menu-category-divider{position:relative;margin:0;padding:1rem 1rem .95rem;background:linear-gradient(90deg,color-mix(in srgb,var(--color-primary),white 88%) 0%,var(--color-surface) 100%);color:var(--color-text);font-size:1.15rem;letter-spacing:.01em}.menu-category-divider:after{content:"";position:absolute;left:1rem;right:1rem;bottom:0;height:2px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-primary) 0%,color-mix(in srgb,var(--color-primary),transparent 50%) 100%)}.menu-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--color-border);gap:1rem}.menu-item:last-child{border-bottom:none}.menu-item-info{flex:1;padding-right:1rem}.menu-item-name{font-weight:600;font-size:1.1rem;margin-bottom:.25rem;line-height:1.3}.menu-item-description{color:var(--color-text-light);font-size:.9rem}.menu-item-price{font-weight:700;color:var(--color-primary);white-space:nowrap;min-width:4.5rem;text-align:right}.opening-hours{max-width:600px;margin:0 auto}.opening-hours-table{width:100%;border-collapse:collapse}.opening-hours-table th,.opening-hours-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.opening-hours-table th{background-color:var(--color-bg-alt);font-weight:600}.opening-hours-table tr:last-child td{border-bottom:none}.contact{text-align:center}.contact .btn{display:inline-block;margin:.25rem}.contact--grid .contact-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;max-width:800px;margin:0 auto}.contact--grid .contact-actions .btn{display:flex;align-items:center;justify-content:center;margin:0}.address-section{text-align:center}.address-text{font-size:1.1rem;margin-bottom:2rem}.map-container{max-width:800px;margin:0 auto}.map-consent{background-color:var(--color-bg-alt);border:2px dashed var(--color-border);border-radius:var(--radius-medium);padding:2rem;text-align:center}.map-consent h3{margin-bottom:1rem}.map-consent p{margin-bottom:1.5rem;color:var(--color-text-light)}.map-iframe{width:100%;height:400px;border:none;border-radius:var(--radius-medium)}footer{background-color:var(--color-text);color:#fff;padding:2rem 0;text-align:center}footer a{color:#fff;margin:0 1rem}footer a:hover{text-decoration:underline}footer--detailed{padding:3rem 0}footer--detailed .footer-content{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-unit);display:grid;grid-template-columns:1fr 1fr;gap:2rem;text-align:left}footer--detailed .footer-bottom{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);text-align:center}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-text);color:#fff;padding:1.5rem;z-index:1000;box-shadow:0 -2px 10px #0003}.cookie-banner-content{max-width:var(--max-width);margin:0 auto;display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center}.cookie-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.cookie-btn{padding:.5rem 1rem;border:2px solid white;background:transparent;color:#fff;border-radius:var(--radius-medium);cursor:pointer;font-weight:600;transition:all .3s ease}.cookie-btn:hover,.cookie-btn-primary{background:#fff;color:var(--color-text)}.cookie-btn-primary:hover{background:var(--color-bg-alt)}.cookie-btn-link{border:none;text-decoration:underline;opacity:.85}.cookie-btn-link:hover{opacity:1;background:transparent;color:#fff}.cookie-details{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:420px;text-align:left;padding:1rem;background:#ffffff14;border-radius:var(--radius-medium)}.cookie-toggle{display:flex;align-items:center;gap:.75rem;font-size:var(--font-small-size);cursor:pointer}.cookie-toggle input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:white}.cookie-toggle input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.cookie-toggle-note{font-size:var(--font-small-size);opacity:.6;margin-left:auto}.cookie-settings-btn{position:fixed;bottom:1rem;right:1rem;width:44px;height:44px;border-radius:50%;background:var(--color-text);color:#fff;border:2px solid var(--color-border);cursor:pointer;z-index:999;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:var(--shadow-medium)}.cookie-settings-btn:hover{background:var(--color-primary)}.legal-page{max-width:800px;margin:0 auto;padding:2rem 1rem}.legal-page h1{margin-bottom:2rem;color:var(--color-primary)}.legal-page h2{margin-top:2rem;margin-bottom:1rem}.legal-page p,.legal-page ul{margin-bottom:1rem}.legal-page ul{padding-left:2rem}[data-spacing=compact]{--section-padding: 2rem;--component-gap: 1.25rem}[data-spacing=default]{--section-padding: 3rem;--component-gap: 2rem}[data-spacing=spacious]{--section-padding: 4.5rem;--component-gap: 3rem}@media (min-width: 768px){h1{font-size:3rem}h2{font-size:2.5rem}.hero h1{font-size:3.5rem}.hero p{font-size:1.5rem}.about{text-align:left}.about-content{display:flex;align-items:center;gap:3rem;text-align:left}.about-image{margin:0;flex:0 0 400px}.cookie-banner-content{flex-direction:row;text-align:left;justify-content:space-between}footer--detailed .footer-content{grid-template-columns:2fr 1fr 1fr}}@media (min-width: 1024px){.hero h1{font-size:4rem}section{padding:4rem 0}}@media (max-width: 420px){body{padding-bottom:4.5rem}.menu-tabs{margin:0 -1rem 1rem}.menu-tab{padding:.65rem .85rem;font-size:.9rem}.btn{min-height:46px}.menu-item{padding:1.1rem 0}}.text-center{text-align:center}.mt-2{margin-top:2rem}.mb-2{margin-bottom:2rem}:root{--color-primary: var(--color-primary);--color-secondary: var(--color-secondary);--color-bg: var(--color-bg);--color-bg-alt: var(--color-bg-alt);--color-text: var(--color-text);--color-text-light: var(--color-text-light);--color-border: var(--color-border);--color-surface: var(--color-surface);--color-primary-hover: var(--color-primary-hover);--font-heading: var(--font-heading);--font-body: var(--font-body);--font-h1-size: var(--font-h1-size);--font-h2-size: var(--font-h2-size);--font-h3-size: var(--font-h3-size);--font-body-size: var(--font-body-size);--font-small-size: var(--font-small-size);--font-heading-weight: var(--font-heading-weight);--font-body-weight: var(--font-body-weight);--radius-small: var(--radius-small);--radius-medium: var(--radius-medium);--radius-large: var(--radius-large);--radius-full: var(--radius-full);--shadow-small: var(--shadow-small);--shadow-medium: var(--shadow-medium);--shadow-large: var(--shadow-large);--btn-padding: var(--btn-padding);--btn-font-weight: var(--btn-font-weight);--btn-radius: var(--btn-radius);--section-padding: var(--section-padding);--component-gap: var(--component-gap);--spacing-unit: var(--spacing-unit);--max-width: var(--max-width);--hero-overlay: var(--hero-overlay);--hero-filter: var(--hero-filter);--about-image-radius: var(--about-image-radius)}
