.hero{position:relative;height:100vh;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1}.hero-content{position:relative;z-index:2;padding:var(--space-lg)}.scroll-down{margin-top:var(--space-lg);cursor:pointer;display:flex;flex-direction:column;align-items:center;font-size:var(--text-sm);opacity:.8;transition:opacity .3s ease}.scroll-down:hover{opacity:1}.scroll-text{color:#fff;transition:color .3s ease}.scroll-down:hover .scroll-text{color:var(--color-accent)}.arrow{font-size:var(--text-lg);margin-bottom:var(--space-xs);color:var(--color-text);animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.unser-gasthaus{background-color:var(--color-bg-light)}.unser-gasthaus .grid{display:flex;flex-wrap:wrap;gap:var(--space-lg);max-width:1200px;margin:0 auto}.unser-gasthaus .left,.unser-gasthaus .right{flex:1;min-width:300px;display:flex;flex-direction:column;gap:var(--space-lg)}.unser-gasthaus .main-img,.unser-gasthaus .image-caption img{width:100%;height:auto;border-radius:8px}.unser-gasthaus .image-caption h4{margin:.5rem 0 .25rem;font-size:var(--text-base)}.unser-gasthaus .image-caption p{margin:0}@media (max-width: 1024px){.unser-gasthaus .grid{flex-direction:column}}.menu-section{background-color:var(--color-bg-dark)}.menu-buttons{display:flex;justify-content:center;gap:var(--space-md);margin:var(--space-lg) 0;flex-wrap:wrap}.menu-button{background-color:var(--color-bg-light);color:var(--color-text);padding:.6rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:700;transition:background-color .3s ease;font-size:var(--text-sm)}.menu-button:hover{background-color:var(--color-accent)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);max-width:1200px;margin:0 auto}.menu-left ul,.menu-right ul{list-style:none;padding:0;margin:0}.menu-left li,.menu-right li{margin-bottom:var(--space-lg);border-bottom:1px dotted #ccc;padding-bottom:var(--space-sm);position:relative;font-size:var(--text-base)}.highlighted{background-color:var(--color-bg-light);padding:var(--space-md);border-radius:6px;border-left:3px solid var(--color-text);position:relative}.highlighted:before{content:attr(data-date);position:absolute;top:-.8rem;left:.5rem;background-color:var(--color-accent);color:var(--color-text);font-size:var(--text-xs);padding:.2rem .4rem;border-radius:4px;font-weight:700;white-space:nowrap}.heading-gap{margin-bottom:2rem!important}@media (max-width: 1024px){.menu-grid{grid-template-columns:1fr}}.kartoffelsalat-section{position:relative;min-height:400px;display:flex;align-items:center;justify-content:center;text-align:left;overflow:hidden;padding:var(--space-lg)}.kartoffelsalat-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:90% 33%;z-index:0}.kartoffelsalat-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1}.kartoffelsalat-content{position:relative;z-index:2;max-width:900px}.gallery-section{padding:var(--space-xl) var(--space-md);text-align:center;background-color:var(--color-bg-light)}.gallery-container{--swiper-theme-color: var(--color-accent);--swiper-navigation-color: var(--color-text);--swiper-pagination-color: var(--color-accent);border:3px solid var(--color-text);border-radius:10px;padding:var(--space-md);max-width:1200px;margin:0 auto;background-color:transparent;position:relative}.gallery-swiper{width:100%}.gallery-swiper-slide{width:250px!important;max-width:90vw;box-sizing:border-box;flex-shrink:0}.gallery-slide{display:flex;flex-direction:column;align-items:center}.gallery-image{width:100%;aspect-ratio:1 / 1;object-fit:cover;object-position:center;border-radius:8px;box-shadow:0 2px 10px var(--color-bg-dark)}.gallery-caption{margin-top:var(--space-xs);font-size:var(--text-base);color:var(--color-text);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.swiper-button-prev,.swiper-button-next{color:var(--color-text);transition:color .3s ease;cursor:pointer}.swiper-button-prev:after,.swiper-button-next:after{color:var(--color-text)}.swiper-button-prev:hover,.swiper-button-next:hover,.swiper-button-prev:hover:after,.swiper-button-next:hover:after{color:var(--color-accent)}.custom-pagination{display:flex;justify-content:center;gap:var(--space-xs);margin-top:var(--space-xs)}.custom-pagination .swiper-pagination-bullet{width:8px;height:8px;border-radius:50%;background:var(--color-text);opacity:.8;transition:all .3s;cursor:pointer}.custom-pagination .swiper-pagination-bullet-active{background:var(--color-accent);opacity:1}@media (max-width: 1024px){.gallery-caption{font-size:var(--text-sm)}.gallery-swiper-slide{width:180px!important}}.about-section{background-color:var(--color-bg-dark)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);max-width:1200px;margin:0 auto}.about-left,.about-right{display:flex;flex-direction:column;gap:var(--space-lg)}.about-main-img,.about-image-caption img{width:100%;height:auto}.about-main-img,.about-image-caption img{border-radius:8px}.about-caption{font-style:italic}.body-text.error{margin-top:var(--space-md)}@media (max-width: 1024px){.about-grid{grid-template-columns:1fr}}.reviews-section{position:relative;padding:var(--space-xxl) var(--space-md);text-align:center;overflow:hidden}.reviews-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.reviews-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1}.section-header{position:relative;z-index:2;max-width:900px;margin:0 auto var(--space-xl);text-align:center}.review-cards{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:center}.review-card{background-color:var(--color-text);color:#333;border-radius:12px;padding:var(--space-lg) var(--space-md) var(--space-md);max-width:320px;width:100%;text-align:center;transition:transform .3s ease;box-shadow:0 4px 20px #0003;font-size:var(--text-base)}.review-card:hover{transform:scale(1.03)}.review-image-wrapper{display:flex;justify-content:center;margin-top:-3.5rem;margin-bottom:var(--space-md)}.review-image{width:70px;height:70px;border-radius:50%;border:4px solid var(--color-accent);object-fit:cover;background-color:var(--color-text)}.review-caption{font-size:var(--text-base);color:var(--color-accent)}@media (max-width: 1024px){.review-cards{flex-direction:column;align-items:center}.review-card{max-width:90%}.review-card .body-text{font-size:var(--text-sm)}.caption{font-size:var(--text-xs)}}.oeffnungszeiten-section{background-color:var(--color-bg-light);text-align:center}.calendar-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);max-width:900px;margin:var(--space-lg) auto;background-color:var(--color-text);padding:var(--space-lg);border-radius:12px;box-shadow:0 2px 12px #0003}.month-block{background-color:transparent;color:#000;padding:.5rem;border-radius:8px;width:260px;border:1px solid #ddd}.month-block table{width:100%;border-collapse:collapse;margin-bottom:var(--space-xs)}.month-block th,.month-block td{border:1px solid #ccc;padding:0;text-align:center;font-size:var(--text-xs);vertical-align:top;height:30px;width:30px}.month-block th{background-color:#f0f0f0;font-weight:700;padding:.3rem;font-size:var(--text-sm)}.month-block .opening{border:2px solid var(--color-accent)!important;font-weight:700;background-color:#f3e5f5}.month-block .past-opening{background-color:#eee!important;border:2px dashed #999!important;color:#999;font-weight:400}.month-block .kw{font-weight:700;background-color:#eee;width:28px;font-size:var(--text-xs);display:flex;justify-content:center;align-items:center;height:30px}.day-cell{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0 auto;position:relative;box-sizing:border-box}.star{font-size:.65rem;position:absolute;top:2px;right:4px;color:#000}.month-name{background-color:#fff!important;color:#333;font-size:1.05rem;padding:.3rem}.note{font-size:var(--text-sm);color:#333;margin-top:.2rem}.today .day-cell{position:relative;font-weight:400;background:none;border:none}.today .day-cell:after{content:"";position:absolute;top:4px;left:4px;width:6px;height:6px;background-color:var(--color-accent);border-radius:50%}.contact-section{background-color:var(--color-bg-dark)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);max-width:1000px;margin:0 auto;align-items:stretch}.map-wrapper{width:100%}.map-placeholder{width:100%;min-height:320px;border-radius:8px;border:1px dashed rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:var(--text-base);opacity:.9}.map-wrapper iframe{width:100%;height:100%;border:0;border-radius:8px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.info-box{background:none;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-bg-light);text-align:left}.icon{font-size:var(--text-lg);margin-bottom:var(--space-xs)}.info-box h4{font-size:var(--text-base);margin:.3rem 0}.info-box p{margin:.2rem 0 .8rem;font-size:var(--text-base)}.info-button{display:inline-block;padding:.3rem .6rem;background-color:transparent;border:1px solid var(--color-accent);border-radius:6px;color:var(--color-text);font-size:var(--text-sm);transition:transform .3s ease,background-color .3s}.info-button:hover{background-color:var(--color-accent);color:var(--color-text);border-color:var(--color-accent)}@media (max-width: 1024px){.contact-grid,.contact-info{grid-template-columns:1fr}}.navbar{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-light);padding:var(--space-lg);color:var(--color-text);position:relative;z-index:100}.logo{font-size:var(--text-md);font-weight:700}.logo-link{display:flex;align-items:center;text-decoration:none;color:var(--color-text)}.logo-img{height:40px;width:auto;margin-right:var(--space-xs)}.hamburger{display:none;cursor:pointer;font-size:var(--text-lg);z-index:110}.nav-links{list-style:none;display:flex;gap:var(--space-md);transition:color .3s}.nav-link{color:var(--color-text);text-decoration:none;cursor:pointer;font-size:var(--text-base)}.nav-link:hover{color:var(--color-accent)}@media (max-width: 1024px){.hamburger{display:block}.nav-links{position:absolute;top:100%;right:0;background-color:var(--color-bg-light);flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);width:200px;box-shadow:-2px 4px 10px #0000001a;transform:translate(100%);opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s ease;border-bottom-left-radius:8px}.nav-links.open{transform:translate(0);opacity:1;pointer-events:auto}.logo-img{height:30px;width:auto}.logo{font-size:var(--text-base)}}.footer{background-color:var(--color-bg-light);color:var(--color-text);text-align:center;padding:var(--space-lg);display:flex;justify-content:center;align-items:center;font-family:var(--font-family);flex-wrap:wrap;gap:var(--space-sm);font-size:var(--text-base)}.footer a{color:var(--color-text);text-decoration:none;font-size:var(--text-base);transition:color .3s}.footer a:hover{color:var(--color-accent)}.icon-bar{background-color:var(--color-bg-dark);display:flex;justify-content:center;align-items:center;padding:.75rem;gap:var(--space-lg);flex-wrap:wrap}.icon-bar a{color:var(--color-text);font-size:var(--text-lg);transition:color .3s ease}.icon-bar a:hover{color:var(--color-accent)}.back-to-top{position:fixed;bottom:var(--space-lg);right:var(--space-lg);background-color:var(--color-accent);color:var(--color-text);border:none;border-radius:.75rem;padding:var(--space-md);font-size:1.2rem;cursor:pointer;z-index:1000;box-shadow:0 2px 6px #0000004d;transition:background-color .3s ease}.back-to-top:hover{background-color:var(--color-accent)}@media (max-width: 1024px){.back-to-top{bottom:var(--space-md);right:var(--space-md);padding:.6rem;font-size:1rem}}:root{--font-family: "Rubik", sans-serif;--color-text: white;--color-accent: purple;--color-bg-light: #49839A;--color-bg-dark: #345e6f;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 3rem;--space-xxl: 6rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.5rem;--text-xl: 2rem;--text-xxl: 2.5rem;--breakpoint-md: 1024px}html,body{margin:0;padding:0;min-height:100vh;background-color:var(--color-bg-light);font-family:var(--font-family);color:var(--color-text);scroll-behavior:smooth;overflow-x:hidden;max-width:100vw}a{text-decoration:none;color:inherit}.section{padding:var(--space-xl) var(--space-md);color:var(--color-text);content-visibility:auto;contain-intrinsic-size:1000px 800px}.light-bg{background-color:var(--color-bg-light)}.dark-bg{background-color:var(--color-bg-dark)}.heading-xl{font-size:var(--text-xxl);font-weight:700;margin-bottom:var(--space-md)}.heading-lg{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-md)}.heading-md{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-sm)}.heading-sm{font-size:var(--text-md);font-weight:700}.body-text{font-size:var(--text-base);line-height:1.6}.caption{font-size:var(--text-sm);font-style:italic;color:var(--color-text)}.subheading{font-size:var(--text-sm);letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-sm);color:var(--color-text)}.text-center{text-align:center}img{display:block;height:auto;max-width:100%}img[loading=lazy]{contain-intrinsic-size:800px 600px}.img-rounded{border-radius:8px}.grid-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.section-header{text-align:center;max-width:900px;margin-left:auto;margin-right:auto}@media (max-width: 1024px){.grid-two-columns{grid-template-columns:1fr}.heading-xl{font-size:var(--text-xl)}.heading-lg{font-size:var(--text-lg)}.heading-md{font-size:var(--text-md)}.body-text{font-size:var(--text-sm)}.caption{font-size:var(--text-xs)}.section{padding:var(--space-lg) var(--space-sm);contain-intrinsic-size:800px 600px}}
