
/* Minimal local utility layer: only the classes used by this website. */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
body{margin:0;line-height:inherit}h1,h2,h3,h4,p,ul{margin:0}ul{padding:0;list-style:none}button{font-family:inherit;font-size:100%;line-height:1.15;margin:0;text-transform:none;background:none;color:inherit;cursor:pointer}a{color:inherit;text-decoration:inherit}img,svg{display:inline-block;vertical-align:middle}img{max-width:100%;height:auto}.container{width:100%}
@media(min-width:640px){.container{max-width:640px}.sm\:flex-row{flex-direction:row}}
@media(min-width:768px){.container{max-width:768px}.md\:flex-row{flex-direction:row}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:gap-6{gap:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-6xl{font-size:3.75rem;line-height:1}}
@media(min-width:1024px){.container{max-width:1024px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1280px){.container{max-width:1280px}}
.mx-auto{margin-left:auto;margin-right:auto}.mx-4{margin-left:1rem;margin-right:1rem}.-mt-12{margin-top:-3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.pt-4{padding-top:1rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-16{padding-top:4rem;padding-bottom:4rem}
.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.flex{display:flex}.grid{display:grid}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){margin-top:.25rem}.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.space-y-8>:not([hidden])~:not([hidden]){margin-top:2rem}
.relative{position:relative}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.z-10{z-index:10}.min-h-screen{min-height:100vh}.w-full{width:100%}.h-32{height:8rem}.h-48{height:12rem}.h-64{height:16rem}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.object-cover{object-fit:cover}
.text-left{text-align:left}.text-center{text-align:center}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-relaxed{line-height:1.625}
.text-white{color:#fff}.text-gray-200{color:#e5e7eb}.text-gray-300{color:#d1d5db}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-red-200{color:#fecaca}.text-red-700{color:#b91c1c}.text-blue-700{color:#1d4ed8}
.bg-black{--bg-opacity:1;background-color:rgba(0,0,0,var(--bg-opacity))}.bg-white\/90{background-color:rgba(255,255,255,.9)}.bg-gray-200{--bg-opacity:1;background-color:rgba(229,231,235,var(--bg-opacity))}.bg-red-100{--bg-opacity:1;background-color:rgba(254,226,226,var(--bg-opacity))}.bg-red-600{--bg-opacity:1;background-color:rgba(220,38,38,var(--bg-opacity))}.bg-blue-100{--bg-opacity:1;background-color:rgba(219,234,254,var(--bg-opacity))}.bg-yellow-600{--bg-opacity:1;background-color:rgba(217,119,6,var(--bg-opacity))}.bg-opacity-10{--bg-opacity:.1}.bg-opacity-20{--bg-opacity:.2}.bg-opacity-30{--bg-opacity:.3}.bg-opacity-50{--bg-opacity:.5}.opacity-0{opacity:0}
.border{border-width:1px}.border-t{border-top-width:1px}.border-white{--border-opacity:1;border-color:rgba(255,255,255,var(--border-opacity))}.border-sage{border-color:#8ba67c}.border-red-400{border-color:#f87171}.border-blue-400{border-color:#60a5fa}.border-opacity-30{--border-opacity:.3}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}
.shadow{box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.drop-shadow-lg{filter:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}.transition-all{transition-property:all}.transition-opacity{transition-property:opacity}.transition-shadow{transition-property:box-shadow}.duration-300{transition-duration:.3s}.cursor-pointer{cursor:pointer}
.hover\:underline:hover{text-decoration:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}


/* Site design */
:root {
            --forest-green: #2d5016;
            --sage-green: #8ba67c;
            --light-green: #a4b494;
            --wood-brown: #8b4513;
            --cream: #f5f5dc;
            --warm-white: #fffef7;
            --gold: #d4af37;
        }
        
        * {
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Segoe UI', Arial, Helvetica, sans-serif;
            background: linear-gradient(135deg, var(--warm-white) 0%, var(--cream) 100%);
            background-attachment: fixed;
            position: relative;
        }
        
        body::before {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-image: url('../images/AdobeStock_112446056_Preview.jpeg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            opacity: 0.1;
            z-index: -2;
        }
        
        body::after {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(circle at center, rgba(139, 69, 19, 0.1) 0%, rgba(45, 80, 22, 0.15) 100%);
            z-index: -1;
        }
        
        .font-playfair {
            font-family: Georgia, 'Times New Roman', serif;
        }
        
        .bg-forest {
            background-color: var(--forest-green);
        }
        
        .bg-sage {
            background-color: var(--sage-green);
        }
        
        .bg-wood {
            background-color: var(--wood-brown);
        }
        
        .text-forest {
            color: var(--forest-green);
        }
        
        .text-sage {
            color: var(--sage-green);
        }
        
        .text-wood {
            color: var(--wood-brown);
        }
        
        .text-gold {
            color: var(--gold);
        }
        
        .rustic-card {
            background: rgba(255, 254, 247, 0.95);
            backdrop-filter: blur(10px);
            border: 2px solid var(--sage-green);
            box-shadow: 0 8px 32px rgba(45, 80, 22, 0.2);
        }
        
        .rustic-button {
            background: linear-gradient(135deg, var(--forest-green) 0%, var(--sage-green) 100%);
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(45, 80, 22, 0.3);
        }
        
        .rustic-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(45, 80, 22, 0.4);
        }
        
        .nav-link {
            position: relative;
            transition: all 0.3s ease;
        }
        
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 50%;
            width: 0;
            height: 2px;
            background: var(--gold);
            transition: all 0.3s ease;
            transform: translateX(-50%);
        }
        
        .nav-link.active::after,
        .nav-link:hover::after {
            width: 100%;
        }

        .nav-shell {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 14px;
        }

        .nav-brand {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 14px;
            text-decoration: none;
            text-align: left;
        }

        .nav-brand__tree {
            width: 82px;
            height: auto;
            flex: 0 0 auto;
            filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.22));
        }

        .nav-brand__text {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }

        #navigation .desktop-menu {
            width: 100%;
            justify-content: center;
        }

        .feature-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            align-items: stretch;
        }

        .feature-grid > * {
            height: 100%;
        }
        
        .section {
            display: none;
        }
        
        .section.active {
            display: block;
        }
        
        .hero-section {
            background: linear-gradient(rgba(45, 80, 22, 0.8), rgba(139, 166, 124, 0.8)), url('../images/headerpic2.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
        }
        
        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 20px;
        }
        
        .gallery-item {
            overflow: hidden;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.3);
            transition: transform 0.3s ease;
            cursor: pointer;
        }
        
        .gallery-item:hover {
            transform: scale(1.05);
        }
        
        .gallery-item img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            transition: transform 0.3s ease;
        }
        
        .gallery-item:hover img {
            transform: scale(1.1);
        }
        
        .opening-hours-card {
            background: linear-gradient(135deg, var(--forest-green) 0%, var(--wood-brown) 100%);
            color: white;
            position: relative;
            overflow: hidden;
        }
        
        .opening-hours-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-image: url('../images/baum.png');
            background-size: contain;
            background-repeat: no-repeat;
            background-position: right center;
            opacity: 0.3;
        }
        
        .pdf-viewer {
            border: 3px solid var(--sage-green);
            border-radius: 10px;
            box-shadow: 0 10px 30px rgba(45, 80, 22, 0.3);
        }
        
        /* Gallery styles */
        .gallery-preview {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
            margin-bottom: 30px;
        }
        
        .gallery-thumb {
            border: 5px solid silver;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0,0,0,0.3);
            transition: all 0.3s ease;
            cursor: pointer;
        }
        
        .gallery-thumb:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0,0,0,0.4);
            border-color: var(--gold);
        }
        
        .gallery-thumb img {
            width: 100%;
            height: 150px;
            object-fit: cover;
            transition: transform 0.3s ease;
        }
        
        .gallery-thumb:hover img {
            transform: scale(1.1);
        }
        
        .hidden {
            display: none;
        }
        
        /* Download Section Styles */
        .download-section {
            background: linear-gradient(135deg, var(--sage-green) 0%, var(--light-green) 100%);
            border-radius: 15px;
            padding: 30px;
            margin: 20px 0;
            text-align: center;
            box-shadow: 0 10px 30px rgba(45, 80, 22, 0.2);
        }
        
        .download-item {
            background: white;
            border-radius: 10px;
            padding: 20px;
            margin: 15px 0;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            transition: transform 0.3s ease;
        }
        
        .download-item:hover {
            transform: translateY(-3px);
        }
        
        .download-preview {
            max-width: 200px;
            height: 250px;
            object-fit: cover;
            border-radius: 8px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
            margin: 0 auto 15px;
        }

        .flyer-layout {
            display: grid;
            grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
            gap: 32px;
            align-items: center;
        }

        .flyer-layout__preview {
            display: flex;
            justify-content: center;
        }

        .flyer-layout__content {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }

        .flyer-actions {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .service-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 2rem;
        }
        
        @media (max-width: 768px) {
            .hero-section {
                background-attachment: scroll;
            }
            
            body::before {
                background-attachment: scroll;
            }
            
            .gallery-grid {
                grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
                gap: 15px;
            }
            
            .gallery-preview {
                grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
                gap: 10px;
            }
        }
        
        .sticky {
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
            background: rgba(45, 80, 22, 0.95);
            backdrop-filter: blur(10px);
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
        }
        
        .content-wrapper {
            margin-top: 80px;
        }
        
        .animate-fade-in {
            animation: fadeIn 0.8s ease-in-out;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        .tradition-badge {
            background: linear-gradient(45deg, var(--gold), #f4d03f);
            color: var(--forest-green);
            font-weight: bold;
            padding: 8px 20px;
            border-radius: 25px;
            display: inline-block;
            box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
            animation: pulse 2s infinite;
        }
        
        @keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }
        

/* Dependency-free icon system */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:1em;height:1em;fill:currentColor;vertical-align:-.125em;display:inline-block;flex:none}

/* Mobile navigation */
.mobile-menu{display:none}.mobile-menu.active{display:block}.hamburger{display:none;flex-direction:column;cursor:pointer;padding:8px;position:absolute;top:16px;right:16px;z-index:1001}.hamburger span{width:25px;height:3px;background:#fff;margin:3px 0;transition:.3s;display:block}.hamburger.active span:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}
@media(max-width:768px){#navigation .desktop-menu{display:none!important}.hamburger{display:flex}.mobile-menu{position:absolute;top:100%;left:0;right:0;background:#2d5016;box-shadow:0 4px 6px rgba(0,0,0,.1);z-index:1000}.mobile-menu .nav-link{display:block;width:100%;text-align:left;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:none;color:#fff}.mobile-menu .nav-link:hover{background:#8ba67c}.nav-shell{align-items:flex-start;padding-right:48px}.nav-brand{justify-content:flex-start;gap:10px}.nav-brand__tree{width:54px}.feature-grid{grid-template-columns:1fr}}

/* Unified responsive lightbox */
.site-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:5000;display:none;align-items:center;justify-content:center;padding:24px}.site-lightbox.active{display:flex}.site-lightbox__content{position:relative;max-width:min(1100px,94vw);max-height:94vh;text-align:center}.site-lightbox__image{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;margin:0 auto;border-radius:8px;box-shadow:0 18px 60px rgba(0,0,0,.45)}.site-lightbox__caption{color:#fff;margin-top:12px;font-size:.95rem}.site-lightbox__counter{color:#d1d5db;margin-top:4px;font-size:.8rem}.site-lightbox__close,.site-lightbox__nav{position:absolute;border:0;background:rgba(0,0,0,.65);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:999px;cursor:pointer}.site-lightbox__close{right:-16px;top:-16px;width:44px;height:44px;font-size:30px;line-height:1}.site-lightbox__nav{top:50%;transform:translateY(-50%);width:46px;height:46px;font-size:30px}.site-lightbox__prev{left:-58px}.site-lightbox__next{right:-58px}.site-lightbox__nav[hidden]{display:none}@media(max-width:700px){.site-lightbox{padding:12px}.site-lightbox__close{right:0;top:-52px}.site-lightbox__prev{left:4px}.site-lightbox__next{right:4px}.site-lightbox__nav{background:rgba(0,0,0,.55)}.site-lightbox__image{max-height:78vh}}

/* Small utility fixes from the previous inline layout */
.bg-gold{--bg-opacity:1;background-color:rgba(212,175,55,var(--bg-opacity))}
.hover\:bg-sage:hover{background-color:#8ba67c}
@media(max-width:768px){.desktop-table{display:none}.mobile-cards{display:block}}
@media(min-width:769px){.desktop-table{display:block}.mobile-cards{display:none}}
