
:root{
  --color-bg:#faf7f2;
  --color-bg-alt:#f2ece1;
  --color-bg-deep:#ece3d3;
  --color-surface:#fffdf9;
  --color-text-primary:#2b2621;
  --color-text-secondary:#655c50;
  --color-text-muted:#8a8073;
  --color-line:#ddd0b8;
  --color-line-strong:#c7b492;
  --color-accent:#a9714a;
  --color-accent-dark:#875a37;
  --color-accent-soft:#ecdcc9;
  --color-secondary:#77836a;
  --color-secondary-dark:#57624c;

  --shadow-sm:0 1px 2px rgba(43,38,33,0.07),0 1px 1px rgba(43,38,33,0.04);
  --shadow-md:0 8px 20px rgba(43,38,33,0.08),0 3px 8px rgba(43,38,33,0.05);
  --shadow-lg:0 24px 48px rgba(43,38,33,0.12),0 10px 20px rgba(43,38,33,0.07);
  --shadow-hover:0 30px 60px rgba(43,38,33,0.16),0 12px 24px rgba(43,38,33,0.09);

  --radius-sm:6px;
  --radius-md:14px;
  --radius-lg:26px;
  --radius-full:999px;

  --font-heading:'Lora',serif;
  --font-body:'Inter',sans-serif;

  --transition-base:0.3s cubic-bezier(.4,0,.2,1);
  --transition-slow:0.6s cubic-bezier(.4,0,.2,1);

  --container-max:1240px;
  --section-padding:clamp(4rem,8vw,7rem);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-text-primary);
  background:var(--color-bg);
  line-height:1.7;
  font-size:1rem;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;line-height:1.2;margin:0 0 0.6em;color:var(--color-text-primary);}
p{margin:0 0 1em;color:var(--color-text-secondary);}
button{font-family:inherit;cursor:pointer;}

.section-inner-container{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem;}


.scroll-reveal-element{opacity:0;transform:translateY(28px);transition:opacity 0.8s ease,transform 0.8s ease;}
.scroll-reveal-element.is-visible{opacity:1;transform:translateY(0);}


.section-eyebrow-label{
  font-size:0.78rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-accent-dark);
  font-weight:600;margin-bottom:0.9rem;position:relative;padding-left:2rem;
}
.section-eyebrow-label::before{
  content:"";position:absolute;left:0;top:50%;width:1.5rem;height:1px;background:var(--color-accent);
}
.section-main-heading{font-size:clamp(1.9rem,2.4vw + 1rem,2.9rem);margin-bottom:1rem;}
.section-lead-paragraph{max-width:640px;font-size:1.05rem;}
.section-heading-block{max-width:720px;margin-bottom:3rem;}
.section-heading-block-left{margin-left:0;}
.accent-underline-text{color:var(--color-accent-dark);position:relative;white-space:nowrap;}
.accent-underline-text::after{
  content:"";position:absolute;left:0;right:0;bottom:0.05em;height:2px;background:var(--color-accent);
  transform:scaleX(0.9);opacity:0.6;
}
.section-cta-center{text-align:center;margin-top:3rem;}


.button-primary-elegant{
  display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;
  background:var(--color-accent);color:#fff8f1;padding:0.85rem 1.8rem;border-radius:var(--radius-sm);
  font-weight:600;font-size:0.95rem;border:1px solid var(--color-accent);
  box-shadow:var(--shadow-sm);transition:all var(--transition-base);min-height:44px;
}
.button-primary-elegant:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.button-secondary-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;
  background:transparent;color:var(--color-text-primary);padding:0.85rem 1.8rem;border-radius:var(--radius-sm);
  font-weight:600;font-size:0.95rem;border:1px solid var(--color-line-strong);
  transition:all var(--transition-base);min-height:44px;
}
.button-secondary-outline:hover{border-color:var(--color-accent);color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.button-ghost-link{
  display:inline-flex;align-items:center;gap:0.5rem;font-weight:600;color:var(--color-accent-dark);
  position:relative;padding-bottom:2px;transition:gap var(--transition-base);
}
.button-ghost-link::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--color-accent-dark);transition:width var(--transition-base);}
.button-ghost-link:hover{gap:0.8rem;}
.button-ghost-link:hover::after{width:100%;}


.main-navigation-container{
  position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(250,247,242,0.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--color-line);
  transition:transform var(--transition-slow),opacity var(--transition-slow);
}
.main-navigation-container.is-nav-hidden{transform:translateY(-100%);opacity:0;pointer-events:none;}
.main-navigation-inner{
  max-width:var(--container-max);margin:0 auto;padding:1.1rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.main-navigation-logo-link{display:flex;align-items:center;gap:0.6rem;}
.main-navigation-logo-image{height:34px;width:auto;}
.main-navigation-logo-text{font-family:var(--font-heading);font-weight:600;font-size:1.25rem;letter-spacing:0.01em;}
.main-navigation-links-desktop{display:flex;gap:2rem;}
.main-navigation-link{
  font-size:0.92rem;font-weight:500;position:relative;padding:0.3rem 0;color:var(--color-text-secondary);
  transition:color var(--transition-base);
}
.main-navigation-link::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--color-accent);transition:width var(--transition-base);}
.main-navigation-link:hover,.main-navigation-link.is-active-nav-link{color:var(--color-text-primary);}
.main-navigation-link:hover::after,.main-navigation-link.is-active-nav-link::after{width:100%;}
.main-navigation-cta-wrapper{display:flex;align-items:center;gap:1rem;}
.main-navigation-hamburger-button{
  display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;
  background:transparent;border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);
}
.main-navigation-hamburger-button span{display:block;width:20px;height:1px;background:var(--color-text-primary);margin:0 auto;transition:all var(--transition-base);}

.floating-pill-navigation-button{
  position:fixed;top:1.2rem;left:50%;transform:translateX(-50%) translateY(-120%);z-index:210;
  width:52px;height:52px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff8f1;
  border:none;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  opacity:0;transition:all var(--transition-slow);
}
.floating-pill-navigation-button.is-pill-visible{transform:translateX(-50%) translateY(0);opacity:1;}
.floating-pill-navigation-button:hover{background:var(--color-accent-dark);box-shadow:var(--shadow-hover);}


.mobile-menu-overlay{
  position:fixed;inset:0;background:rgba(43,38,33,0.45);z-index:299;opacity:0;pointer-events:none;
  transition:opacity var(--transition-slow);
}
.mobile-menu-overlay.is-overlay-active{opacity:1;pointer-events:auto;}
.mobile-menu-slide-panel{
  position:fixed;top:0;left:0;bottom:0;width:80%;max-width:360px;background:var(--color-bg-deep);
  z-index:300;transform:translateX(-100%);transition:transform var(--transition-slow);
  padding:5rem 2.2rem 2.5rem;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);
}
.mobile-menu-slide-panel.is-panel-open{transform:translateX(0);}
.mobile-menu-close-button{
  position:absolute;top:1.4rem;right:1.4rem;width:44px;height:44px;border-radius:var(--radius-sm);
  background:transparent;border:1px solid var(--color-line-strong);display:flex;align-items:center;justify-content:center;
  transition:all var(--transition-base);
}
.mobile-menu-close-button:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);}
.mobile-menu-links-list{display:flex;flex-direction:column;gap:1.3rem;margin-bottom:2.5rem;}
.mobile-menu-links-list a{
  font-family:var(--font-heading);font-size:1.4rem;font-weight:600;color:var(--color-text-primary);
  opacity:0;transform:translateX(-24px);transition:opacity 0.5s ease,transform 0.5s ease;
  transition-delay:calc(var(--stagger-index) * 0.07s);
  border-bottom:1px solid var(--color-line);padding-bottom:0.6rem;
}
.mobile-menu-slide-panel.is-panel-open .mobile-menu-links-list a{opacity:1;transform:translateX(0);}
.mobile-menu-contact-info{display:flex;flex-direction:column;gap:0.8rem;margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--color-line);}
.mobile-menu-contact-info a{font-size:0.9rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:0.6rem;}


.breadcrumb-trail-container{
  padding:6.4rem 0 1rem;background:var(--color-bg-alt);border-bottom:1px solid var(--color-line);
}
.breadcrumb-trail-inner{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem;font-size:0.85rem;color:var(--color-text-muted);}
.breadcrumb-trail-separator{margin:0 0.5rem;}
.breadcrumb-trail-current{color:var(--color-accent-dark);font-weight:600;}
.breadcrumb-trail-inner a:hover{color:var(--color-accent-dark);}


.homepage-hero-section{
  position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.homepage-hero-background-image{
  position:absolute;inset:0;background-size:cover;background-position:center;
}
.homepage-hero-gradient-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(43,38,33,0.55) 0%, rgba(43,38,33,0.4) 40%, rgba(43,38,33,0.72) 100%);
}
.homepage-hero-content-wrapper{position:relative;z-index:2;max-width:760px;text-align:center;padding:2rem 1.5rem;color:#fff8f1;}
.homepage-hero-eyebrow-text{letter-spacing:0.18em;text-transform:uppercase;font-size:0.82rem;font-weight:600;margin-bottom:1.4rem;color:#e8d9c8;}
.homepage-hero-heading{font-size:clamp(2.6rem,3vw + 2rem,4.6rem);margin-bottom:1.4rem;color:#fff8f1;}
.homepage-hero-heading .accent-underline-text{color:#f3d9bb;}
.homepage-hero-heading .accent-underline-text::after{background:#f3d9bb;opacity:0.8;}
.homepage-hero-description-text{font-size:1.1rem;color:rgba(255,248,241,0.88);margin-bottom:2.2rem;}
.homepage-hero-cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.homepage-hero-cta-row .button-secondary-outline{color:#fff8f1;border-color:rgba(255,248,241,0.5);}
.homepage-hero-cta-row .button-secondary-outline:hover{border-color:#fff8f1;color:#fff8f1;}
.homepage-hero-scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;}
.homepage-hero-scroll-hint span{display:block;width:1px;height:44px;background:rgba(255,248,241,0.5);position:relative;overflow:hidden;}
.homepage-hero-scroll-hint span::after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:#fff8f1;animation:scrollHintMove 1.8s infinite;}
@keyframes scrollHintMove{0%{top:-100%;}100%{top:100%;}}


.homepage-intro-bento-section,.homepage-scenario-steps-section,.homepage-audience-preview-section,
.homepage-category-carousel-section,.homepage-wohnideen-preview-section,.homepage-location-section,
.inner-page-hero-section,.audience-persona-section,.audience-values-section,.audience-closing-cta-section,
.sortiment-overview-image-section,.sortiment-categories-section,.sortiment-material-info-section,.sortiment-faq-section,
.wohnideen-showcase-section,.wohnideen-additional-ideas-section,.wohnideen-closing-section,
.contact-consultation-info-section,.contact-form-and-map-section{
  padding:var(--section-padding) 0;
}
.homepage-audience-preview-section,.audience-closing-cta-section,.wohnideen-closing-section{background:var(--color-bg-alt);}
.homepage-location-section{background:var(--color-bg-deep);}
.inner-page-hero-section{padding-top:3.5rem;padding-bottom:3rem;border-bottom:1px solid var(--color-line);}
.inner-page-hero-heading{font-size:clamp(2.2rem,2.6vw + 1rem,3.4rem);max-width:760px;}
.inner-page-hero-description{max-width:640px;font-size:1.05rem;}


.bento-grid-container{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;
}
.bento-box-wrapper{
  background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);
  padding:2rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);
  display:flex;flex-direction:column;gap:0.8rem;position:relative;
}
.bento-box-wrapper:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--color-line-strong);}
.bento-box-wrapper .image-frame-accent-wrapper{margin:-2rem -2rem 0.6rem;border-radius:var(--radius-md) var(--radius-md) 0 0;}
.bento-box-wrapper .image-frame-accent-wrapper img{border-radius:var(--radius-md) var(--radius-md) 0 0;}
.bento-box-heading{font-size:1.25rem;margin-bottom:0.3rem;}
.bento-box-icon{font-size:1.6rem;color:var(--color-accent);margin-bottom:0.4rem;}
.bento-box-large{grid-column:span 2;grid-row:span 2;}
.bento-box-wide{grid-column:span 2;}
.bento-box-medium{grid-column:span 2;}
.bento-box-small{grid-column:span 1;}
.bento-box-text-content p{margin-bottom:0;}
.feature-line-list{margin-top:1rem;display:flex;flex-direction:column;gap:0.5rem;}
.feature-line-list li{position:relative;padding-left:1.4rem;font-size:0.92rem;color:var(--color-text-secondary);}
.feature-line-list li::before{content:"";position:absolute;left:0;top:0.65em;width:0.8rem;height:1px;background:var(--color-accent);}


.image-frame-accent-wrapper{position:relative;overflow:hidden;border-radius:var(--radius-md);}
.image-frame-accent-wrapper img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform 0.7s ease;}
.image-frame-accent-wrapper:hover img{transform:scale(1.05);}
.wide-panorama-image img{aspect-ratio:21/8;}


.scenario-steps-list-container{display:flex;flex-direction:column;}
.scenario-step-row{display:flex;gap:2rem;padding:2rem 0;border-top:1px solid var(--color-line);align-items:flex-start;}
.scenario-step-row:last-child{border-bottom:1px solid var(--color-line);}
.scenario-step-number{font-family:var(--font-heading);font-size:1.6rem;color:var(--color-accent);min-width:3rem;}
.scenario-step-content h3{margin-bottom:0.5rem;font-size:1.2rem;}
.scenario-step-content p{margin:0;max-width:640px;}


.audience-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.audience-preview-image img{aspect-ratio:5/4;}
.audience-preview-text-block p{max-width:520px;}


.carousel-category-card{
  background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);
  overflow:hidden;box-shadow:var(--shadow-sm);height:100%;transition:box-shadow var(--transition-base),transform var(--transition-base);
}
.carousel-category-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.carousel-category-card img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.carousel-category-card h3{font-size:1.15rem;margin:1.2rem 1.2rem 0.4rem;}
.carousel-category-card p{margin:0 1.2rem 1.2rem;font-size:0.92rem;}
.splide__arrow{background:var(--color-surface);border:1px solid var(--color-line);opacity:1;}
.splide__arrow svg{fill:var(--color-text-primary);}
.splide__arrow:hover{background:var(--color-accent);}
.splide__arrow:hover svg{fill:#fff;}
.splide__pagination__page{background:var(--color-line-strong);opacity:1;}
.splide__pagination__page.is-active{background:var(--color-accent);transform:none;}


.wohnideen-preview-grid{grid-template-columns:repeat(3,1fr);}
.wohnideen-preview-grid .bento-box-wide{grid-column:span 2;}
.wohnideen-preview-grid .bento-box-small{grid-column:span 1;}


.location-section-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:3rem;align-items:stretch;}
.location-map-wrapper{border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;min-height:340px;box-shadow:var(--shadow-sm);}
.location-details-wrapper{display:flex;flex-direction:column;justify-content:center;}
.location-details-list{display:flex;flex-direction:column;gap:0.9rem;margin:1.5rem 0 2rem;}
.location-details-list li{display:flex;align-items:center;gap:0.8rem;font-size:0.98rem;}
.location-details-list i{color:var(--color-accent);width:1.2rem;}


.line-divided-list-container{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--color-line);border-left:1px solid var(--color-line);}
.line-divided-list-item{display:flex;gap:1.5rem;padding:2rem;border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);}
.line-divided-list-number{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-accent);min-width:2rem;}
.line-divided-list-item h3{font-size:1.1rem;margin-bottom:0.4rem;}
.line-divided-list-item p{margin:0;font-size:0.93rem;}


.audience-persona-grid{grid-template-columns:repeat(4,1fr);}
.audience-closing-grid{max-width:760px;text-align:center;margin:0 auto;}
.audience-closing-grid .homepage-hero-cta-row{justify-content:center;}


.sortiment-category-grid{grid-template-columns:repeat(4,1fr);}


.faq-accordion-container{border-top:1px solid var(--color-line);}
.faq-accordion-item{border-bottom:1px solid var(--color-line);padding:1.4rem 0;}
.faq-accordion-item summary{
  cursor:pointer;font-weight:600;font-family:var(--font-heading);font-size:1.1rem;list-style:none;
  display:flex;justify-content:space-between;align-items:center;
}
.faq-accordion-item summary::-webkit-details-marker{display:none;}
.faq-accordion-item summary::after{content:"+";font-size:1.4rem;color:var(--color-accent);transition:transform var(--transition-base);}
.faq-accordion-item[open] summary::after{transform:rotate(45deg);}
.faq-accordion-item p{margin-top:1rem;}


.contact-consultation-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:center;}
.contact-form-map-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:3rem;align-items:start;}
.contact-form-panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-md);}
.contact-form-heading{font-size:1.6rem;margin-bottom:1.5rem;}
.contact-form-standard-layout{display:flex;flex-direction:column;gap:1.3rem;}
.contact-form-field-group{display:flex;flex-direction:column;gap:0.5rem;}
.contact-form-field-group label{font-size:0.88rem;font-weight:600;}
.contact-form-field-group input,.contact-form-field-group textarea{
  border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);padding:0.85rem 1rem;
  font-family:var(--font-body);font-size:0.96rem;background:var(--color-bg);color:var(--color-text-primary);
  transition:border-color var(--transition-base),box-shadow var(--transition-base);
}
.contact-form-field-group input:focus,.contact-form-field-group textarea:focus{
  outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(169,113,74,0.18);
}
.contact-form-privacy-checkbox-group{display:flex;align-items:flex-start;gap:0.7rem;font-size:0.86rem;color:var(--color-text-secondary);}
.contact-form-privacy-checkbox-group input{margin-top:0.3rem;width:18px;height:18px;accent-color:var(--color-accent);}
.contact-form-privacy-checkbox-group a{color:var(--color-accent-dark);text-decoration:underline;}
.contact-form-submit-button{margin-top:0.5rem;align-self:flex-start;}
.contact-map-panel{display:flex;flex-direction:column;gap:1.5rem;}
.contact-page-map{min-height:260px;}
.contact-page-details{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:1.6rem;box-shadow:var(--shadow-sm);}


.floating-sidebar-cta-panel{
  position:fixed;right:1.6rem;bottom:1.6rem;z-index:150;opacity:0;transform:translateY(20px);pointer-events:none;
  transition:opacity var(--transition-slow),transform var(--transition-slow);
}
.floating-sidebar-cta-panel.is-sidebar-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.floating-sidebar-cta-link{
  display:flex;align-items:center;gap:0.6rem;background:var(--color-accent);color:#fff8f1;
  padding:0.9rem 1.3rem;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);font-weight:600;font-size:0.9rem;
  transition:all var(--transition-base);
}
.floating-sidebar-cta-link:hover{background:var(--color-accent-dark);transform:translateY(-3px);box-shadow:var(--shadow-hover);}


.site-footer-elegant-container{background:var(--color-bg-deep);border-top:1px solid var(--color-line);padding:4rem 0 2rem;margin-top:auto;}
.site-footer-inner{max-width:760px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem;padding:0 1.5rem;}
.site-footer-logo-image{height:38px;}
.site-footer-tagline{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-text-primary);}
.site-footer-navigation-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;font-size:0.9rem;padding-bottom:1rem;border-bottom:1px solid var(--color-line);width:100%;}
.site-footer-navigation-links a{transition:color var(--transition-base);}
.site-footer-navigation-links a:hover{color:var(--color-accent-dark);}
.site-footer-contact-details{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;font-size:0.88rem;color:var(--color-text-secondary);}
.site-footer-contact-details i{color:var(--color-accent);margin-right:0.4rem;}
.site-footer-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem;font-size:0.82rem;color:var(--color-text-muted);}
.site-footer-legal-links a:hover{color:var(--color-accent-dark);}
.site-footer-copyright-bar{font-size:0.8rem;color:var(--color-text-muted);margin-top:0.6rem;}

body{display:flex;flex-direction:column;min-height:100vh;}
main{flex:1;}


.legal-page-section{padding:3rem 0 6rem;}
.legal-page-container{max-width:860px;margin:0 auto;padding:0 1.5rem;}
.legal-page-title{font-size:clamp(2rem,2vw + 1rem,2.8rem);margin-bottom:0.4rem;}
.legal-page-updated-date{color:var(--color-text-muted);font-size:0.88rem;margin-bottom:2.5rem;}
.legal-page-container h2{font-size:1.3rem;margin-top:2.6rem;margin-bottom:0.9rem;border-bottom:1px solid var(--color-line);padding-bottom:0.5rem;}
.legal-page-data-table{width:100%;border-collapse:collapse;margin:1rem 0 1.6rem;font-size:0.92rem;}
.legal-page-data-table th,.legal-page-data-table td{padding:0.8rem 1rem;border:1px solid var(--color-line);text-align:left;vertical-align:top;}
.legal-page-data-table th{background:var(--color-bg-alt);font-weight:600;width:32%;}
.legal-page-definition-list dt{font-weight:600;font-family:var(--font-heading);margin-top:1.2rem;color:var(--color-text-primary);}
.legal-page-definition-list dd{margin:0.3rem 0 0;color:var(--color-text-secondary);}


.thanks-page-section{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:6rem 1.5rem;}
.thanks-page-content-wrapper{max-width:520px;text-align:center;}
.thanks-page-checkmark-wrapper{margin-bottom:2rem;}
.thanks-page-checkmark-svg{width:110px;height:110px;}
.thanks-page-checkmark-circle{
  stroke:var(--color-accent);stroke-width:3;stroke-dasharray:283;stroke-dashoffset:283;
  animation:drawCircle 0.8s ease forwards;
}
.thanks-page-checkmark-check{
  stroke:var(--color-accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:60;stroke-dashoffset:60;animation:drawCheck 0.5s ease forwards 0.7s;
}
@keyframes drawCircle{to{stroke-dashoffset:0;}}
@keyframes drawCheck{to{stroke-dashoffset:0;}}
.thanks-page-heading{opacity:0;animation:fadeInHeading 0.6s ease forwards 1.2s;font-size:clamp(1.8rem,2vw + 1rem,2.4rem);}
.thanks-page-description{opacity:0;animation:fadeInHeading 0.6s ease forwards 1.4s;}
@keyframes fadeInHeading{to{opacity:1;}}


.cookie-consent-top-banner{
  position:fixed;top:0;left:0;right:0;z-index:400;background:var(--color-bg-deep);
  border-bottom:1px solid var(--color-line-strong);transform:translateY(-100%);transition:transform var(--transition-slow);
  box-shadow:var(--shadow-md);
}
.cookie-consent-top-banner.is-banner-visible{transform:translateY(0);}
.cookie-consent-banner-inner{
  max-width:var(--container-max);margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;
}
.cookie-consent-banner-text{margin:0;font-size:0.88rem;max-width:640px;color:var(--color-text-secondary);}
.cookie-consent-banner-text a{color:var(--color-accent-dark);text-decoration:underline;}
.cookie-consent-banner-actions{display:flex;gap:0.7rem;flex-wrap:wrap;}
.cookie-consent-button-primary,.cookie-consent-button-secondary{
  padding:0.6rem 1.2rem;border-radius:var(--radius-sm);font-size:0.85rem;font-weight:600;transition:all var(--transition-base);min-height:44px;
}
.cookie-consent-button-primary{background:var(--color-accent);color:#fff8f1;border:1px solid var(--color-accent);}
.cookie-consent-button-primary:hover{background:var(--color-accent-dark);}
.cookie-consent-button-secondary{background:transparent;border:1px solid var(--color-line-strong);color:var(--color-text-primary);}
.cookie-consent-button-secondary:hover{border-color:var(--color-accent);color:var(--color-accent-dark);}

.cookie-consent-modal-overlay{
  position:fixed;inset:0;background:rgba(43,38,33,0.55);z-index:410;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity var(--transition-slow);padding:1.5rem;
}
.cookie-consent-modal-overlay.is-modal-visible{opacity:1;pointer-events:auto;}
.cookie-consent-modal-panel{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:2.5rem;max-width:560px;width:100%;
  box-shadow:var(--shadow-lg);max-height:85vh;overflow-y:auto;
}
.cookie-consent-modal-panel h2{margin-bottom:0.8rem;}
.cookie-consent-category-row{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.1rem 0;border-top:1px solid var(--color-line);}
.cookie-consent-category-row div p{margin:0.2rem 0 0;font-size:0.85rem;}
.cookie-consent-toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0;}
.cookie-consent-toggle-switch input{opacity:0;width:0;height:0;}
.cookie-consent-toggle-switch span{position:absolute;inset:0;background:var(--color-line-strong);border-radius:var(--radius-full);transition:var(--transition-base);}
.cookie-consent-toggle-switch span::before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:var(--transition-base);}
.cookie-consent-toggle-switch input:checked + span{background:var(--color-accent);}
.cookie-consent-toggle-switch input:checked + span::before{transform:translateX(20px);}
.cookie-consent-modal-actions{display:flex;gap:1rem;margin-top:1.8rem;flex-wrap:wrap;}


@media (max-width:1024px){
  .bento-box-large{grid-column:span 2;grid-row:span 1;}
  .audience-persona-grid{grid-template-columns:repeat(2,1fr);}
  .sortiment-category-grid{grid-template-columns:repeat(2,1fr);}
  .line-divided-list-container{grid-template-columns:1fr;}
  .contact-consultation-grid,.contact-form-map-grid{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .bento-grid-container{grid-template-columns:repeat(2,1fr);}
  .bento-box-large,.bento-box-wide,.bento-box-medium{grid-column:span 2;}
  .wohnideen-preview-grid{grid-template-columns:repeat(2,1fr);}
  .wohnideen-preview-grid .bento-box-wide{grid-column:span 2;}
  .location-section-grid{grid-template-columns:1fr;}
  .location-map-wrapper{min-height:280px;}
  .audience-preview-grid{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .main-navigation-links-desktop{display:none;}
  .main-navigation-hamburger-button{display:flex;}
  .main-navigation-cta-wrapper .button-primary-elegant{display:none;}
}
@media (max-width:560px){
  .bento-grid-container{grid-template-columns:1fr;}
  .bento-box-large,.bento-box-wide,.bento-box-medium,.bento-box-small{grid-column:span 1;}
  .wohnideen-preview-grid{grid-template-columns:1fr;}
  .audience-persona-grid{grid-template-columns:1fr;}
  .sortiment-category-grid{grid-template-columns:1fr;}
  .cookie-consent-banner-inner{flex-direction:column;align-items:flex-start;}
  .homepage-hero-cta-row{flex-direction:column;width:100%;}
  .homepage-hero-cta-row a{width:100%;}
  .scenario-step-row{flex-direction:column;gap:0.6rem;}
  .legal-page-data-table th{width:auto;}
}