:root{--wood-dark:#3d2b1f;--wood-mid:#7a4f35;--wood-light:#c4956a;--wood-pale:#e8d5b7;--bark:#5c3d2e;--moss:#5a6e3a;--moss-light:#8a9e5c;--cream:#faf6ef;--warm-white:#fffdf8;--charcoal:#2a2018;--text:#3a2e22;--text-light:#6b5a48;}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}body{font-family:'Lato',sans-serif;background:var(--warm-white);color:var(--text);overflow-x:hidden;}body::before{content:'';position:fixed;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:0.5;}nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 3rem;background:rgba(250,246,239,0.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(122,79,53,0.15);transition:box-shadow 0.3s;}nav.scrolled{box-shadow:0 2px 20px rgba(61,43,31,0.12);}.nav-logo{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--wood-dark);text-decoration:none;letter-spacing:0.02em;}.nav-logo span{color:var(--moss);}.nav-links{display:flex;gap:2.2rem;list-style:none;}.nav-links a{font-size:0.85rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-light);text-decoration:none;transition:color 0.2s;}.nav-links a:hover{color:var(--wood-mid);}.nav-cta{background:var(--wood-mid);color:var(--cream) !important;padding:0.55rem 1.3rem;border-radius:2px;transition:background 0.2s !important;}.nav-cta:hover{background:var(--wood-dark) !important;}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}.hamburger span{display:block;width:24px;height:2px;background:var(--wood-dark);transition:all 0.3s;}#hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}.hero-left{background:var(--wood-dark);display:flex;flex-direction:column;justify-content:center;padding:8rem 4rem 6rem 5rem;position:relative;overflow:hidden;}.hero-left::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(95deg,transparent,transparent 40px,rgba(196,149,106,0.04) 40px,rgba(196,149,106,0.04) 41px);}.hero-tag{font-size:0.72rem;font-weight:700;letter-spacing:0.25em;text-transform:uppercase;color:var(--wood-light);margin-bottom:1.5rem;opacity:0;animation:fadeUp 0.8s 0.2s forwards;}.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5vw,4.5rem);line-height:1.05;color:var(--cream);margin-bottom:1.8rem;opacity:0;animation:fadeUp 0.8s 0.4s forwards;}.hero-title em{font-style:italic;color:var(--wood-light);}.hero-subtitle{font-size:1rem;line-height:1.75;color:rgba(232,213,183,0.75);max-width:380px;margin-bottom:3rem;font-weight:400;opacity:0;animation:fadeUp 0.8s 0.6s forwards;}.hero-btns{display:flex;gap:1rem;opacity:0;animation:fadeUp 0.8s 0.8s forwards;}.hero-right{position:relative;background:var(--wood-pale);display:flex;align-items:center;justify-content:center;overflow:hidden;}.hero-svg-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#e8d5b7 0%,#d4b896 40%,#c4956a 100%);position:relative;}.hero-badge{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);background:var(--wood-dark);color:var(--wood-pale);font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;padding:0.5rem 1.2rem;border-radius:30px;white-space:nowrap;}section{padding:6rem 5rem;}.section-label{font-size:0.7rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;color:var(--moss);margin-bottom:0.8rem;}.section-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.2;color:var(--wood-dark);margin-bottom:1rem;}.section-intro{font-size:1rem;line-height:1.8;color:var(--text-light);max-width:560px;font-weight:400;}.wood-divider{height:8px;background:linear-gradient(90deg,var(--wood-dark),var(--wood-mid),var(--wood-light),var(--wood-mid),var(--wood-dark));}.btn-primary{display:inline-block;background:var(--moss);color:#fff;padding:0.9rem 2rem;font-size:0.82rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background 0.2s,transform 0.2s;}.btn-primary:hover{background:var(--moss-light);transform:translateY(-2px);}.btn-secondary{display:inline-block;border:1px solid rgba(196,149,106,0.5);color:var(--wood-pale);padding:0.9rem 2rem;font-size:0.82rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:border-color 0.2s,color 0.2s,transform 0.2s;}.btn-secondary:hover{border-color:var(--wood-light);color:var(--wood-light);transform:translateY(-2px);}#about{background:var(--cream);display:grid;grid-template-columns:1fr 2fr;gap:5rem;align-items:center;padding:5rem;}.about-image-wrap{position:relative;}.about-image-placeholder{width:100%;aspect-ratio:3/4;background:linear-gradient(145deg,var(--wood-mid),var(--wood-dark));border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:4rem;position:relative;overflow:hidden;}.about-image-placeholder::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 30px,rgba(255,255,255,0.03) 30px,rgba(255,255,255,0.03) 31px);}.about-corner{position:absolute;bottom:-1rem;right:-1rem;width:60px;height:60px;background:var(--moss);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;}.about-content p{font-size:1rem;line-height:1.85;color:var(--text-light);margin-bottom:1.2rem;font-weight:400;}.about-content strong{color:var(--text);font-weight:700;}.about-tags{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:2rem;}.about-tags span{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.4rem 1rem;border:1px solid var(--wood-light);color:var(--wood-mid);border-radius:2px;}#shop{background:var(--warm-white);padding:6rem 5rem;}.shop-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3.5rem;gap:2rem;}.shop-filter{display:flex;gap:0.5rem;flex-wrap:wrap;}.filter-btn{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.5rem 1.1rem;border:1px solid var(--wood-pale);background:transparent;color:var(--text-light);cursor:pointer;border-radius:2px;transition:all 0.2s;}.filter-btn:hover,.filter-btn.active{background:var(--wood-dark);border-color:var(--wood-dark);color:var(--cream);}.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}.product-card{background:var(--cream);border-radius:3px;overflow:hidden;transition:transform 0.3s,box-shadow 0.3s;cursor:pointer;border:1px solid rgba(196,149,106,0.15);}.product-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(61,43,31,0.12);}.product-img{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:3.5rem;position:relative;overflow:hidden;}.product-img-photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}.product-img.furniture{background:linear-gradient(135deg,#c4956a,#9b6e45);}.product-img.nistkasten{background:linear-gradient(135deg,#7a9e55,#4a6e30);}.product-img.owl{background:linear-gradient(135deg,#8a7a5a,#5a4a2e);}.product-badge{position:absolute;top:0.8rem;right:0.8rem;color:#fff;font-size:0.6rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.3rem 0.7rem;border-radius:2px;}.product-badge.new{background:var(--wood-mid);}.product-badge.eco{background:var(--moss);}.product-info{padding:1.4rem 1.5rem 1.6rem;}.product-category{font-size:0.65rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--moss);margin-bottom:0.4rem;}.product-name{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--wood-dark);margin-bottom:0.5rem;line-height:1.3;}.product-desc{font-size:0.82rem;color:var(--text-light);line-height:1.6;margin-bottom:1.2rem;font-weight:400;}.product-footer{display:flex;align-items:center;justify-content:space-between;}.product-price{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--wood-dark);}.product-price small{font-family:'Lato',sans-serif;font-size:0.7rem;color:var(--text-light);font-weight:400;}.btn-add{background:var(--wood-dark);color:var(--cream);border:none;padding:0.6rem 1.1rem;font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:background 0.2s;}.btn-add:hover{background:var(--moss);}#galerie{background:var(--wood-dark);padding:6rem 5rem;color:var(--cream);}#galerie .section-label{color:var(--wood-light);}#galerie .section-title{color:var(--cream);}#galerie .section-intro{color:rgba(232,213,183,0.7);}.gallery-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto;gap:0.8rem;}.gallery-cell{border-radius:2px;overflow:hidden;cursor:pointer;position:relative;background:rgba(255,255,255,0.05);display:flex;align-items:center;justify-content:center;font-size:2.5rem;transition:opacity 0.3s;}.gallery-cell:hover{opacity:0.85;}.gallery-cell.tall{grid-row:span 2;}.gallery-cell.wide{grid-column:span 2;}.gcell-1{aspect-ratio:3/4;background:linear-gradient(145deg,#9b6e45,#7a4f35);}.gcell-2{aspect-ratio:1/1;background:linear-gradient(145deg,#5a6e3a,#3d4f28);}.gcell-3{aspect-ratio:1/1;background:linear-gradient(145deg,#7a9e55,#5a7a3a);}.gcell-4{aspect-ratio:3/4;background:linear-gradient(145deg,#c4956a,#9b6e45);}.gcell-5{aspect-ratio:2/1;background:linear-gradient(145deg,#6b4f3a,#4a3020);}.gcell-6{aspect-ratio:1/1;background:linear-gradient(145deg,#8a7a5a,#5a4a2e);}.gcell-7{aspect-ratio:1/1;background:linear-gradient(145deg,#4a6e30,#2d4a18);}.gallery-label{position:absolute;bottom:0.8rem;left:0.8rem;font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.6);font-weight:700;}#artenschutz{background:var(--moss);padding:5rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;color:#fff;}#artenschutz .section-label{color:rgba(255,255,255,0.6);}#artenschutz .section-title{color:#fff;}.natur-text p{font-size:1rem;line-height:1.85;color:rgba(255,255,255,0.8);font-weight:400;margin-bottom:1.2rem;}.species-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}.species-card{background:rgba(255,255,255,0.12);border-radius:3px;padding:1.5rem;border:1px solid rgba(255,255,255,0.15);transition:background 0.2s;}.species-card:hover{background:rgba(255,255,255,0.18);}.species-icon{font-size:2rem;margin-bottom:0.6rem;}.species-name{font-family:'Playfair Display',serif;font-size:1rem;color:#fff;margin-bottom:0.3rem;}.species-desc{font-size:0.78rem;color:rgba(255,255,255,0.65);line-height:1.5;}#kontakt{background:var(--cream);padding:6rem 5rem;display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:start;}.contact-info p{font-size:0.95rem;line-height:1.8;color:var(--text-light);font-weight:400;margin-bottom:2rem;}.contact-details{list-style:none;display:flex;flex-direction:column;gap:0.9rem;}.contact-details li{display:flex;align-items:center;gap:0.8rem;font-size:0.9rem;color:var(--text-light);}.contact-details li span:first-child{font-size:1.1rem;width:1.5rem;text-align:center;flex-shrink:0;}.contact-details a{color:var(--moss);text-decoration:none;}.contact-details a:hover{color:var(--moss-light);text-decoration:underline;}.contact-social{display:flex;gap:0.8rem;margin-top:2rem;}.social-btn{display:flex;align-items:center;gap:0.4rem;background:var(--wood-dark);color:var(--cream);font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.55rem 1rem;border-radius:2px;text-decoration:none;transition:background 0.2s;}.social-btn:hover{background:var(--wood-mid);}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}.form-group{display:flex;flex-direction:column;gap:0.4rem;margin-bottom:1rem;}label{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-light);}input,select,textarea{background:var(--warm-white);border:1px solid rgba(122,79,53,0.25);border-radius:2px;padding:0.8rem 1rem;font-family:'Lato',sans-serif;font-size:0.9rem;color:var(--text);transition:border-color 0.2s,box-shadow 0.2s;width:100%;outline:none;}input:focus,select:focus,textarea:focus{border-color:var(--wood-mid);box-shadow:0 0 0 3px rgba(122,79,53,0.08);}textarea{resize:vertical;min-height:130px;}.btn-submit{background:var(--wood-dark);color:var(--cream);border:none;padding:1rem 2.5rem;font-family:'Lato',sans-serif;font-size:0.82rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:background 0.2s,transform 0.2s;width:100%;}.btn-submit:hover{background:var(--moss);transform:translateY(-2px);}.form-note{font-size:0.72rem;color:var(--text-light);margin-top:0.8rem;font-weight:400;}.form-success{display:none;text-align:center;padding:3rem 2rem;border:1px solid rgba(90,110,58,0.3);border-radius:3px;background:rgba(90,110,58,0.05);}.form-success.show{display:block;}.form-success h3{font-family:'Playfair Display',serif;color:var(--moss);font-size:1.5rem;margin-bottom:0.5rem;}.form-success p{color:var(--text-light);font-size:0.9rem;}footer{background:var(--charcoal);padding:3.5rem 5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}.footer-brand{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--cream);}.footer-brand span{color:var(--moss-light);}.footer-links{display:flex;gap:2rem;list-style:none;}.footer-links a{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(232,213,183,0.45);text-decoration:none;transition:color 0.2s;}.footer-links a:hover{color:var(--wood-light);}.footer-copy{font-size:0.72rem;color:rgba(232,213,183,0.3);text-align:right;}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(42,32,24,0.85);z-index:5000;align-items:center;justify-content:center;padding:2rem;}.modal-overlay.open{display:flex;}.modal{background:var(--cream);border-radius:4px;max-width:520px;width:100%;padding:2rem;position:relative;animation:fadeScale 0.3s forwards;max-height:90vh;overflow-y:auto;}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text-light);line-height:1;}.modal-main-img{width:100%;aspect-ratio:4/3;border-radius:3px;margin-bottom:0.8rem;overflow:hidden;background:var(--wood-pale);display:flex;align-items:center;justify-content:center;font-size:5rem;}.modal-main-img img{width:100%;height:100%;object-fit:cover;transition:opacity 0.2s;}.modal-thumbs{display:flex;gap:0.5rem;margin-bottom:1.2rem;flex-wrap:wrap;}.modal-thumb{width:64px;height:64px;border-radius:3px;overflow:hidden;cursor:pointer;border:2px solid transparent;background:var(--wood-pale);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;transition:border-color 0.2s,opacity 0.2s;opacity:0.7;}.modal-thumb:hover{opacity:1;}.modal-thumb.active{border-color:var(--wood-mid);opacity:1;}.modal-thumb img{width:100%;height:100%;object-fit:cover;}.modal-category{font-size:0.65rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--moss);margin-bottom:0.4rem;}.modal-name{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--wood-dark);margin-bottom:0.8rem;}.modal-desc{font-size:0.9rem;line-height:1.7;color:var(--text-light);margin-bottom:1.5rem;font-weight:400;white-space:pre-line;}.modal-footer{display:flex;align-items:center;justify-content:space-between;}.modal-price{font-family:'Playfair Display',serif;font-size:2rem;color:var(--wood-dark);}.modal-price small{font-family:'Lato',sans-serif;font-size:0.75rem;color:var(--text-light);}.toast{position:fixed;bottom:2rem;right:2rem;background:var(--moss);color:#fff;padding:1rem 1.5rem;border-radius:3px;font-size:0.85rem;font-weight:700;z-index:9000;transform:translateY(100px);opacity:0;transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);box-shadow:0 8px 24px rgba(0,0,0,0.2);}.toast.show{transform:translateY(0);opacity:1;}@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeScale{from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}}.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease;}.reveal.visible{opacity:1;transform:none;}@media (max-width:1024px){section,#about,#artenschutz,#kontakt,footer{padding:4rem 3rem;}#hero{grid-template-columns:1fr;min-height:auto;}.hero-left{padding:8rem 3rem 4rem;}.hero-right{min-height:40vw;}.products-grid{grid-template-columns:repeat(2,1fr);}.gallery-grid{grid-template-columns:repeat(2,1fr);}#about{grid-template-columns:1fr;gap:2.5rem;}#artenschutz{grid-template-columns:1fr;}#kontakt{grid-template-columns:1fr;gap:3rem;}.shop-header{flex-direction:column;align-items:flex-start;}}@media (max-width:768px){nav{padding:1rem 1.5rem;}.nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:1.5rem;border-top:1px solid rgba(122,79,53,0.1);box-shadow:0 8px 20px rgba(0,0,0,0.08);}.nav-links.open{display:flex;}.hamburger{display:flex;}section,#about,#artenschutz,#kontakt,footer{padding:3.5rem 1.5rem;}#shop,#galerie{padding:3.5rem 1.5rem;}.products-grid{grid-template-columns:1fr;}.gallery-grid{grid-template-columns:repeat(2,1fr);}.species-grid{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}footer{flex-direction:column;text-align:center;}.footer-links{flex-wrap:wrap;justify-content:center;gap:0.9rem 1.5rem;}.footer-copy{text-align:center;}.hero-btns{flex-direction:column;}}
/* ═══════════════════════════════════════════════════
   PAGESPEED OPTIMIERUNGEN (Nachträge)
   ═══════════════════════════════════════════════════ */

/* Touch-Target Fix: Nav-Links müssen min. 44×44px haben (Best Practices) */
.nav-links li a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-top: 0;
  padding-bottom: 0;
}
.nav-cta {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Filter-Buttons: ebenfalls 44px Touch-Target */
.filter-btn {
  min-height: 44px;
}

/* Focus-Styles: sichtbarer Fokusring für Tastatur-Navigation (Barrierefreiheit) */
:focus-visible {
  outline: 3px solid var(--wood-mid);
  outline-offset: 3px;
}
.btn-add:focus-visible,
.btn-submit:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible {
  outline: 3px solid var(--wood-light);
  outline-offset: 3px;
}
.modal-close:focus-visible {
  outline: 3px solid var(--wood-mid);
  outline-offset: 3px;
  border-radius: 3px;
}

/* Produktkarten: tabindex-fähig mit sichtbarem Fokus */
.product-card:focus-visible {
  outline: 3px solid var(--wood-mid);
  outline-offset: 2px;
}

/* Galerie-Zellen: min-Height damit Emoji-Platzhalter nicht kollabieren */
.gallery-cell {
  min-height: 80px;
}

/* Hamburger: größeres Touch-Target */
.hamburger {
  min-height: 44px;
  min-width: 44px;
  justify-content: center;
  align-items: center;
}

/* Modal: aria-hidden-Zustand */
#productModal[aria-hidden="true"] {
  display: none;
}
#productModal[aria-hidden="false"],
#productModal.open {
  display: flex;
}

/* Galerie-Bild vollständig ohne Rand-Lücken */
.gallery-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* About-Bild: explizites Seitenverhältnis verhindert Layout Shift */
.about-image-wrap img {
  display: block;
  width: 100%;
}

/* Produkt-Bild: explizite Höhe via Seitenverhältnis → kein CLS */
.product-img-photo {
  aspect-ratio: 4/3;
  height: auto;
}

/* Smooth-Scroll nur wenn kein reduced-motion */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .hero-tag, .hero-title, .hero-subtitle, .hero-btns {
    opacity: 1;
    animation: none;
  }
}
