@font-face{font-family:'BRIGE';src:url('/fonts/brige_font.otf') format('opentype');font-weight:normal;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --brand-primary: #a3184d;
  --brand-primary-dark: #640e34;
  --brand-primary-light: #c42060;
  --brand-secondary: #f9eef2;
  --brand-accent: #1bce7c;
  --nav-link-color: #861845;
  --bg: #f7f7f7;
  --bg-alt: #ffffff;
  --bg-dark: #640e34;
  --text: #3c3c3b;
  --text-secondary: #555555;
  --text-muted: #AEAEAE;
  --text-on-dark: #ffffff;
  --border: #ededed;
  --border-light: #f4f4f4;
  --radius: 0px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 10px 15px rgba(0,0,0,0.08), 0 4px 6px rgba(0,0,0,0.04);
  --font-brand: 'BRIGE', sans-serif;
  --font-heading: 'Exo', sans-serif;
  --font-sans: 'Roboto', Helvetica, Arial, Verdana, sans-serif;
  --max-width: 1280px;
  --nav-height: 150px;
  --top-bar-height: 50px;
}

html{scroll-behavior:smooth}
body{
  font-family:var(--font-sans);
  color:var(--text);
  background:var(--bg);
  font-size:15px;
  line-height:27px;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  min-width:0;
}
a{color:var(--brand-primary);text-decoration:none;transition:color .15s}
a:hover{color:var(--brand-primary-light)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;color:var(--brand-primary);line-height:1.4;text-transform:uppercase}
h1{font-size:30px;line-height:44px;margin:0}
h2{font-size:22px;line-height:32px;margin:0 0 10px}
h3{font-size:18px;line-height:24px;margin:0 0 10px}
h4{font-size:16px;margin:0 0 10px}
p{font-size:15px;line-height:27px;color:var(--text);margin:0 0 10px}
table{width:100%;table-layout:fixed}

.container{max-width:var(--max-width);margin:0 auto;padding:0 50px;overflow-wrap:break-word;word-wrap:break-word}

/* TOP BAR */
.top-bar{
  background:#a3184d;
  color:white;
  height:var(--top-bar-height);
  line-height:27px;
  font-size:15px;
  padding:10px 50px;
}
.top-bar-inner{
  max-width:1280px;margin:0 auto;padding:0;
  display:flex;align-items:center;
}
.top-bar a{color:white;text-decoration:underline}
.top-bar a:hover{color:rgba(255,255,255,0.8)}

/* NAV */
.main-nav{
  position:relative;z-index:1000;
  background:#ffffff;
  border-bottom:none;
  height:var(--nav-height);
  box-shadow:rgba(0, 0, 0, 0.07) 0px 0px 15px 1px;
}
.nav-container{
  max-width:var(--max-width);margin:0 auto;padding:0 50px;
  display:flex;align-items:center;justify-content:space-between;
  height:100%;gap:2rem;
}
.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.nav-logo img{width:300px;height:70px;object-fit:contain}
.logo-text{font-family:var(--font-brand);font-size:1.5rem;font-weight:normal;color:var(--brand-primary);letter-spacing:0.05em;line-height:1}
.logo-claim{font-size:0.6rem;color:var(--text-muted);letter-spacing:0.02em;font-weight:400}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;flex-direction:column;gap:5px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);transition:all .2s}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.nav-list{
  display:flex;list-style:none;gap:0;align-items:center;flex-wrap:nowrap;
}
.nav-item{
  margin:18px 0 18px 30px;
}
.nav-item>a{
  display:flex;padding:4px;position:relative;
  font-family:'Exo',sans-serif;font-size:24px;font-weight:500;color:var(--nav-link-color);
  transition:color .15s;
  white-space:nowrap;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:normal;
}
.nav-item>a::after{
  content:'';position:absolute;bottom:-6px;left:0;width:0;height:2px;
  background:linear-gradient(to left,#a3184d 30%,#640e34 100%);transition:width .3s ease;
}
.nav-item>a:hover::after,.nav-item[data-active="true"]>a::after{
  width:100%;
}
.nav-item>a:hover,.nav-item[data-active="true"]>a{
  color:var(--brand-primary);
}
.nav-item.has-dropdown{position:relative}
.nav-dropdown{
  display:none;position:absolute;top:100%;left:0;
  background:#fff;
  padding:10px;
  min-width:340px;box-shadow:var(--shadow-md);
  list-style:none;z-index:100;
}
.nav-item.has-dropdown:hover .nav-dropdown{display:block}
.nav-dropdown li a{
  display:block;padding:10px 10px;font-family:'Exo',sans-serif;font-size:20px;font-weight:500;
  color:#3c3c3b;white-space:nowrap;
}
.nav-dropdown li a:hover{background:linear-gradient(135deg,rgba(163,24,77,0.07) 30%,rgba(100,14,52,0.07) 100%);color:var(--brand-primary)}

.nav-mobile-list{display:none}

/* MOBILE NAV */
@media(max-width:767px){
  .top-bar{display:none}
  .main-nav{height:60px}
  .nav-container{padding:0 15px}
  .nav-toggle{display:flex}
  .nav-logo img{width:200px;height:auto}
  .nav-list{display:none}
  .nav-mobile-list{
    display:none;position:fixed;top:0;right:-280px;bottom:0;
    width:280px;
    background:var(--bg-alt);
    flex-direction:column;padding:60px 0 1rem;gap:0;
    box-shadow:-2px 0 8px rgba(0,0,0,0.15);
    z-index:999;
    overflow-y:auto;
    transition:right .3s ease;
    list-style:none;
  }
  .nav-mobile-list.nav-open{display:flex;right:0}
  .nav-mobile-list .nav-item>a{padding:12px 20px;font-size:15px;color:var(--text);border-bottom:1px solid var(--border);display:block}
  .nav-mobile-list .nav-dropdown{position:static;box-shadow:none;border:none;padding-left:0;min-width:0;width:100%;list-style:none}
  .nav-mobile-list .nav-dropdown li a{padding:10px 20px 10px 35px;font-size:14px;border-bottom:1px solid var(--border-light);display:block}
  .nav-mobile-list .nav-item.has-dropdown .nav-dropdown{display:none}
  .nav-mobile-list .nav-item.has-dropdown.dropdown-open .nav-dropdown{display:block}
  .container{padding:0 15px}
}

/* HERO */
.hero{
  position:relative;
  overflow:hidden;
  line-height:0;
  margin-top:-70px;
}
.hero-img{
  width:100%;height:auto;display:block;
}
.hero-slider{position:relative}
.hero-slides{position:relative;width:100%;overflow:hidden}
.hero-slide{position:absolute;top:0;left:0;width:100%;opacity:0;transition:opacity 1s ease-in-out}
.hero-slide.active{position:relative;opacity:1}
.hero-slider-dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:0.5rem;z-index:2}
.slider-dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;padding:0;transition:background .3s}
.slider-dot.active{background:#fff}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
}
/* PAGE HEADER WITH BANNER */
.page-header-banner{
  overflow:hidden;
  margin-top:-70px;
}
.page-header-banner .hero-img{width:100%;height:auto;display:block;line-height:0}
.page-header-banner .container{padding-top:52px;padding-bottom:0}
.page-header-banner--service .container{padding-top:87px}
.page-header-banner h1{font-size:30px}
.page-header-banner .page-subtitle{font-size:15px;margin-top:0.5rem;color:var(--text-secondary)}
/* PROCESS STEP IMAGES */
.step-image{width:100%;max-width:480px;margin-top:0.75rem}
/* NEWS CARD IMAGE */
.news-card-image{width:100%;height:auto;object-fit:cover;margin-bottom:0.75rem}
/* PARTNER LOGO IMAGE */
.partner-logo{height:auto;width:200px;max-width:254px;object-fit:contain;filter:grayscale(30%);opacity:0.8;transition:opacity .2s,filter .2s}
.partner-logo:hover{filter:grayscale(0%);opacity:1}
.partners-logo-grid{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1rem}
.partner-item{text-align:center;padding:15px;display:flex;flex-direction:column;align-items:center}
.partner-item h4{font-size:14px;font-weight:600;color:var(--text);margin:8px 0 0;text-transform:uppercase}
/* WUERFEL ICON */
.wuerfel-icon{width:100px;height:100px;object-fit:contain}
/* PRODUCT IMAGE */
.product-detail-image{width:100%;max-width:300px}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-sans);padding:10px 20px;font-size:15px;font-weight:400;
  border:none;
  cursor:pointer;transition:all .15s;text-decoration:none;
  white-space:nowrap;
}
.btn-primary{
  background:var(--brand-primary);color:white;
}
.btn-primary:hover{background:var(--brand-primary-dark);color:white}
.btn-secondary{
  background:var(--brand-secondary);color:var(--brand-primary);border:1px solid var(--border);
}
.btn-secondary:hover{background:var(--border)}
.btn-outline{
  background:rgba(255,255,255,0.1);color:white;border:1px solid rgba(255,255,255,0.3);
  backdrop-filter:blur(4px);
}
.btn-outline:hover{background:rgba(255,255,255,0.2);color:white}
.btn-details{
  display:inline-block;padding:8px 20px;font-size:14px;font-weight:400;
  color:var(--brand-primary);border:1px solid var(--brand-primary);
  text-decoration:none;transition:all .2s;
  text-transform:uppercase;letter-spacing:0.05em;
}
.btn-details:hover{background:var(--brand-primary);color:white}

/* SECTIONS */
.section{padding:30px 0}
.section-title{margin-bottom:10px;font-size:22px}
.welcome-heading{font-size:18px;line-height:27px;margin-bottom:15px;color:var(--text)}
.section-subtitle{color:var(--text-secondary);margin-bottom:2rem}
.section-highlight{background:var(--bg-alt)}
.section-cta{background:var(--bg);padding:75px 35px;text-align:center}
.section-cta .container{max-width:1240px;padding:0}
.section-cta h3{font-size:18px;font-weight:400;color:var(--brand-primary);text-transform:uppercase;margin-bottom:10px}
.section-cta p{line-height:27px;font-size:15px;color:var(--text);margin-bottom:10px}
.section-calculators{background:var(--bg)}

/* HERO WELCOME BANNER */
.section-hero-welcome{padding:62px 0 0}
.section-hero-welcome+.section-welcome{padding-top:10px;padding-bottom:58px}
.hero-welcome-title{font-family:var(--font-heading);font-size:30px;font-weight:600;color:var(--brand-primary);margin-bottom:10px;text-transform:uppercase}
.hero-welcome-subtitle{font-family:var(--font-heading);font-size:18px;font-weight:600;color:#333333;margin-bottom:0;text-transform:uppercase}

/* WELCOME SECTION */
.welcome-content{max-width:none;margin:0}
.welcome-bullets{list-style:none;padding:0;margin:1.5rem 0}
.welcome-bullets li{position:relative;padding-left:1.25rem;margin-bottom:0.75rem;line-height:27px}
.welcome-bullets li::before{content:"";position:absolute;left:0;top:0.6em;width:8px;height:8px;background:var(--brand-primary);border-radius:50%}
.welcome-subheading{font-size:18px;margin:1.5rem 0 0.75rem;color:var(--brand-primary)}
.welcome-closing{margin-top:1rem;font-size:15px}

/* NEWS SECTION (Homepage) */
.section-news{background:var(--bg);padding:35px 0 144px}
.section-news .news-grid{display:flex;overflow-x:auto;gap:30px;padding-bottom:1rem;scroll-snap-type:x mandatory}
.section-news .news-card{min-width:340px;max-width:373px;flex-shrink:0;scroll-snap-align:start;background:var(--bg);border:none;padding:0;text-decoration:none;color:inherit}
.section-news .news-card:hover{box-shadow:none}
.news-card-category{display:inline-block;font-size:13px;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--brand-primary);padding:2px 0;margin-bottom:5px}
.news-card h3{font-family:var(--font-sans);font-size:22px;font-weight:400;color:var(--brand-primary);margin:0 0 5px;text-transform:uppercase;line-height:22px;letter-spacing:normal}
.news-card h3 a{color:var(--brand-primary);text-decoration:none}
.news-card h3 a:hover{text-decoration:underline}
.news-card-excerpt{font-size:15px;color:var(--text);line-height:27px;margin-bottom:0.75rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.news-card-footer{display:flex;justify-content:flex-start;align-items:center;gap:0.5rem}
.news-card-date{font-size:13px;color:var(--text-muted)}
.news-card-link{font-size:14px;font-weight:400;color:var(--brand-primary);text-decoration:none;text-transform:uppercase}
.news-card-link:hover{text-decoration:underline}
.news-card-date-badge{
  position:absolute;top:0;left:0;
  background:var(--brand-primary);color:white;
  text-align:center;padding:8px 12px;
  line-height:1.2;font-size:13px;font-weight:600;
  z-index:1;
}
.news-card-date-badge .date-month{display:block;font-size:14px;text-transform:uppercase}
.news-card-date-badge .date-day{display:block;font-size:22px;font-weight:700}
.news-card-date-badge .date-year{display:block;font-size:13px}
.news-card-image-wrapper{position:relative;overflow:hidden;margin-bottom:10px}

/* SUSTAINABILITY SECTION */
.section-sustainability{background:var(--bg-alt);padding:50px 35px 97px 35px}
.section-sustainability .container{max-width:1240px;padding:0}
.section-sustainability h2{font-size:22px;margin-bottom:10px;text-transform:uppercase;color:var(--brand-primary);line-height:1.3}
.sustainability-sub{font-size:18px;font-weight:600;text-transform:uppercase;color:var(--brand-primary)}
.section-sustainability p{line-height:27px;font-size:15px;margin-bottom:10px}
.section-sustainability a{color:var(--brand-primary)}
.sustainability-content{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;align-items:start}
.sustainability-left{padding:0 30px}
.sustainability-left img{max-width:390px;width:100%;height:auto;margin-bottom:35px}
.sustainability-right{padding:0 30px}
.sustainability-testimonial{background:var(--bg);border:1px solid #e0e0e0;padding:25px 30px}
.testimonial-avatar-row{display:flex;align-items:center;gap:15px;margin-bottom:15px}
.testimonial-avatar-placeholder{width:80px;height:80px;border-radius:50%;background:#ddd;flex-shrink:0}
.testimonial-avatar-img{width:80px;height:80px;border-radius:50%;flex-shrink:0;object-fit:cover}
.testimonial-author-info{font-size:14px;line-height:1.5}
.testimonial-author-info strong{font-size:15px;color:var(--text)}
.testimonial-author-info span{color:var(--brand-primary);font-size:14px}
.sustainability-testimonial blockquote{font-size:15px;line-height:27px;color:var(--text);margin:0;padding:0;border:none;font-style:normal}

@media(max-width:767px){
  .sustainability-content{grid-template-columns:1fr}
  .sustainability-left,.sustainability-right{padding:0}
}

/* TWO COLUMN SECTION (Quality + Team) */
.section-quality-team{padding:80px 35px 303px 35px}
.section-quality-team .container{max-width:1240px;padding:0}
.two-col-section{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;align-items:start;margin-top:0}
.two-col-left,.two-col-right{padding:0 30px}
.two-col-section h2{font-size:22px;margin-bottom:10px;text-transform:uppercase;font-weight:600}
.two-col-section h4{font-size:16px;font-weight:600;margin-bottom:10px;text-transform:uppercase}
.two-col-section p{line-height:27px;font-size:15px;color:var(--text-secondary);margin-bottom:10px}
.two-col-section a{color:var(--brand-primary);text-decoration:none}
.two-col-section a:hover{text-decoration:underline}
@media(max-width:767px){
  .two-col-section{grid-template-columns:1fr}
  .two-col-left,.two-col-right{padding:0}
}

/* PARTNER GRID (Homepage) */
.section-partners{padding:42px 0}
.section-partners .container{max-width:1240px}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0}
.partner-grid-item{text-align:center;padding:25px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.partner-grid-item img{max-width:254px;width:200px;height:auto;margin-bottom:15px;object-fit:contain}
.partner-grid-item h4{font-size:14px;font-weight:600;color:var(--text);margin:0 0 8px;text-transform:uppercase}
.partner-toggle{margin-top:5px}
.partner-toggle-title{display:flex;align-items:center;cursor:pointer;gap:8px;justify-content:center}
.partner-toggle-title h4{margin:0;font-family:'Exo',sans-serif;font-size:15px;font-weight:600;color:var(--text)}
.partner-toggle-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--text-secondary);transition:transform .3s ease;flex-shrink:0}
.partner-toggle.open .partner-toggle-arrow{transform:rotate(180deg)}
.partner-toggle-content{display:none;padding:10px 0 0;text-align:center}
.partner-toggle.open .partner-toggle-content{display:block}
.partner-toggle-content p{font-size:13px;line-height:1.6;color:var(--text-secondary);margin:0 0 5px}
.partner-toggle-content a{color:var(--brand-primary);text-decoration:none}
.partner-toggle-content a:hover{text-decoration:underline}
@media(max-width:900px){
  .partner-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:479px){
  .partner-grid{grid-template-columns:1fr}
}

/* TESTIMONIALS SECTION */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.testimonial-card{background:var(--bg-alt);padding:1.5rem;border:1px solid var(--border)}
.testimonial-quote{font-style:italic;font-size:15px;line-height:27px;color:var(--text);margin-bottom:1rem;border:none;padding:0}
.testimonial-author{display:flex;flex-direction:column;gap:0.125rem}
.testimonial-name{font-family:var(--font-heading);font-weight:600;font-size:15px;color:var(--text)}
.testimonial-position{font-size:13px;color:var(--text-muted)}
@media(max-width:767px){
  .testimonial-grid{grid-template-columns:1fr}
}

/* PAGE HEADER */
.page-header{
  background:var(--bg);
  padding:30px 0 10px;
}
.page-header h1{color:var(--brand-primary);font-size:30px}
.page-subtitle{color:var(--text-secondary);font-size:15px;margin-top:0.5rem}

/* SERVICE CARDS */
.service-cards{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:20px;margin-top:1.5rem;
}
.service-card{
  display:block;padding:1.5rem;
  background:var(--bg-alt);border:1px solid var(--border);
  text-decoration:none;
  transition:box-shadow .2s;
}
.service-card:hover{box-shadow:var(--shadow-md)}
.service-card h3{color:var(--brand-primary);margin:0.75rem 0 0.5rem;font-size:18px}
.service-card p{color:var(--text-secondary);font-size:15px;margin:0;line-height:27px}
.service-icon{color:var(--brand-primary)}

@media(max-width:900px){
  .service-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:479px){
  .service-cards{grid-template-columns:1fr}
}

/* HIGHLIGHT */
.highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media(max-width:767px){.highlight-grid{grid-template-columns:1fr}}
.highlight-text h2{margin-bottom:1rem}
.highlight-text p{color:var(--text-secondary)}
.feature-list{list-style:none;padding:0;margin:1.5rem 0}
.feature-list li{padding:0.5rem 0 0.5rem 1.5rem;position:relative;font-size:15px;color:var(--text-secondary)}
.feature-list li::before{content:"";position:absolute;left:0;top:0.85rem;width:8px;height:8px;border-radius:50%;background:var(--brand-primary)}
.highlight-stats{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem}
.stat-card{
  background:var(--bg-alt);padding:1.5rem;
  text-align:center;border:1px solid var(--border);
}
.stat-number{display:block;font-size:1.75rem;font-weight:700;color:var(--brand-primary);margin-bottom:0.25rem}
.stat-label{font-size:13px;color:var(--text-muted)}

/* CALC CARDS */
.calc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.calc-card{
  display:block;padding:1.5rem;border:1px solid var(--border);
  text-decoration:none;transition:box-shadow .2s;
}
.calc-card:hover{box-shadow:var(--shadow-md)}
.calc-card h3{color:var(--brand-primary);margin-bottom:0.5rem}
.calc-card p{color:var(--text-secondary);font-size:15px;margin:0}
.calc-cards-large{grid-template-columns:1fr}
.calc-card-large{
  display:flex;flex-direction:column;padding:1.5rem;
  border:1px solid var(--border);
  text-decoration:none;transition:box-shadow .2s;position:relative;
}
.calc-card-large:hover{box-shadow:var(--shadow-md)}
.calc-card-large h2{color:var(--brand-primary);margin-bottom:0.75rem;font-size:22px}
.calc-card-large p{color:var(--text-secondary);font-size:15px;flex:1;margin:0;padding-right:2rem}
.calc-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--brand-primary)}

@media(max-width:479px){
  .calc-cards{grid-template-columns:1fr}
}

/* MAIN CONTENT */
.main-content{padding:70px 0}
.spacer-35{height:35px}

/* QM HIGHLIGHT & ANFRAGE CTA */
.section-qm-highlight{padding:30px 0;text-align:center}
.qm-highlight-text{font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--brand-primary);text-transform:uppercase;letter-spacing:1px;margin:0;line-height:1.6}
.section-anfrage-cta{padding:40px 0;text-align:center;margin-bottom:-50px}
.anfrage-cta-title{font-family:var(--font-heading);font-size:24px;font-weight:600;color:var(--brand-primary);text-transform:uppercase;letter-spacing:1px;margin:0;line-height:1.5}
.section-vakua-cta{padding:50px 0;text-align:center;background:var(--brand-primary);color:#fff;margin-top:40px}
.section-vakua-cta h2{font-family:var(--font-heading);font-size:28px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:1px;margin:0 0 15px}
.section-vakua-cta p{color:#fff;margin:0 0 20px;font-size:16px}
.section-vakua-cta .btn{background:#fff;color:var(--brand-primary);border-color:#fff}
.section-vakua-cta .btn:hover{background:#f0f0f0}
.section-trademark{padding:20px 0;text-align:center;background:#f7f7f7}
.section-trademark h6{font-size:11px;font-weight:400;color:#999;margin:0;line-height:1.6}

/* CONTENT */
.content-text{max-width:none;margin-bottom:2rem}
.lead{font-size:15px;color:var(--text);line-height:27px}
.content-block{margin:1.5rem 0;padding:1.25rem;background:var(--bg-alt);border-left:3px solid var(--brand-primary)}
.content-block h3{margin-bottom:0.75rem}
.highlight-box{
  margin:1.5rem 0;padding:1rem 1.25rem;
  background:var(--brand-secondary);border-left:3px solid var(--brand-primary);
}
.highlight-box p{margin:0}

/* SERVICES GRID (Leistungen page) */
.services-grid{
  display:grid;grid-template-columns:1fr;
  gap:0;margin:30px 0;
}
.service-item{
  display:flex;align-items:flex-start;gap:20px;
  padding:20px 0;border-bottom:1px solid var(--border);
}
.service-item:last-child{border-bottom:none}
.service-item .wuerfel-icon{flex-shrink:0}
.service-item h3{margin-bottom:5px;font-size:18px}
.service-item h3 a{color:var(--brand-primary)}
.service-item p{color:var(--text-secondary);font-size:15px;margin:0;line-height:27px}

/* SERVICE GRID 2-COLUMN (Leistungen overview - The7 theme) */
.service-grid-two-col{
  display:flex;gap:35px;margin:30px 0 0;
}
.service-col{flex:1;min-width:0}
.uavc-list{list-style:none;margin:0;padding:0}
.uavc-list > li{margin-bottom:20px}
.uavc-list-content{display:flex;align-items:flex-start;gap:10px}
.uavc-list-icon{flex-shrink:0;margin-top:2px}
.uavc-list-icon .wuerfel-icon{width:20px;height:20px;object-fit:contain}
.uavc-list-desc{font-size:15px;line-height:27px;color:var(--text)}
.uavc-list-desc strong{font-weight:700}
.service-sub-list{list-style:none;margin:5px 0 0;padding:0}
.service-sub-list li{font-size:15px;line-height:27px;color:var(--text);padding:0}
@media(max-width:767px){
  .service-grid-two-col{flex-direction:column;gap:0}
}

/* KONTAKT TWO-COLUMN LAYOUT */
.kontakt-layout{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;
}
.kontakt-layout .contact-info{min-width:0}
.kontakt-layout .contact-map-col{min-width:0}
.kontakt-layout .contact-map-col iframe{width:100%;height:450px;border:0}
@media(max-width:767px){
  .kontakt-layout{grid-template-columns:1fr}
}

/* SYSTEMS GRID */
.systems-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:20px;margin:30px 0;
}
.system-card{
  padding:1.25rem;border:1px solid var(--border);
  background:var(--bg-alt);
}
.system-card h3,.system-card .system-name{margin-bottom:0.75rem;color:var(--brand-primary);font-size:18px}
.system-card ul{list-style:none;padding:0}
.system-card ul li{padding:0.25rem 0;font-size:15px;color:var(--text-secondary);padding-left:1rem;position:relative}
.system-card ul li::before{content:"";position:absolute;left:0;top:0.6rem;width:5px;height:5px;border-radius:50%;background:var(--brand-primary)}

/* PROCESS STEPS */
.process-steps{margin:30px 0}
.process-steps h2{margin-bottom:1.5rem}
.process-step{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start}
h3.step-number,.step-number{
  flex-shrink:0;width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  background:var(--brand-primary);color:white;
  border-radius:50%;font-weight:700;font-size:15px;
  margin:0;font-family:var(--font-heading);
}
.process-step p{color:var(--text-secondary);font-size:15px;margin:0;padding-top:0.25rem;line-height:27px}

/* ADVANTAGES */
.check-list{list-style:none;padding:0}
.check-list li{
  padding:0.5rem 0 0.5rem 1.75rem;position:relative;
  font-size:15px;color:var(--text-secondary);
}
.check-list li::before{
  content:"";position:absolute;left:0;top:0.7rem;
  width:16px;height:16px;
  background:var(--brand-primary);
  mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.advantage-category{margin:1.5rem 0}
.advantage-category h3{color:var(--brand-primary);margin-bottom:0.75rem}

/* INDUSTRIES */
.industries-grid{display:flex;flex-wrap:wrap;gap:0.5rem;margin:1.5rem 0}
.industry-tag{
  padding:0.375rem 0.75rem;background:var(--bg-alt);
  border:1px solid var(--border);
  font-size:15px;color:var(--text-secondary);
}

/* TESTIMONIAL */
.testimonial{
  margin:2rem 0;padding:1.5rem;
  background:var(--bg-alt);border-left:3px solid var(--brand-primary);
}
.testimonial p{font-size:15px;font-style:italic;color:var(--text);margin-bottom:0.75rem}
.testimonial cite{font-style:normal;font-weight:600;color:var(--text);display:block}
.testimonial cite span{display:block;font-weight:400;font-size:13px;color:var(--text-muted)}

/* RECOMMENDATIONS */
.recommendation-box{
  margin:1.5rem 0;padding:1rem 1.25rem;
  background:var(--brand-secondary);
}
.recommendation-box p{margin:0;font-size:15px}

/* SECTION CTA INLINE */
.section-cta-inline{
  display:flex;gap:0.75rem;margin-top:2rem;flex-wrap:wrap;
  padding-top:1.5rem;border-top:1px solid var(--border);
}
.cta-text{font-weight:500;margin-bottom:1rem}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr;gap:2rem}
.contact-info h2{margin-bottom:1rem}
.contact-address{color:var(--text-secondary);line-height:27px}
.contact-phone{margin:0.75rem 0}
.contact-phone a{font-size:18px;font-weight:600;color:var(--brand-primary)}
.contact-email a{color:var(--brand-primary)}
.contact-fax{color:var(--text-muted);font-size:15px}
.contact-departments{margin-top:2rem}
.contact-departments h3{margin-bottom:0.75rem}
.contact-departments p{font-size:15px;margin-bottom:0.25rem}
.contact-form-wrapper{margin-top:2rem}
.contact-form-wrapper h2{margin-bottom:1.5rem}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column}
.form-group-full{grid-column:1/-1}
.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:0.375rem}
.form-group input,.form-group textarea,.form-group select{
  padding:0.625rem 0.75rem;border:1px solid var(--border);
  font-size:15px;font-family:inherit;color:var(--text);
  transition:border-color .15s;background:var(--bg-alt);
  width:100%;
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px rgba(163,24,77,0.1);
}
.contact-form .btn{justify-self:start;margin-top:0.5rem}
.contact-map{margin-top:2rem}
.contact-map img{width:100%;height:auto}
.contact-anfrage-btn{margin:2rem 0}

@media(max-width:479px){
  .contact-form{grid-template-columns:1fr}
}

/* LEGAL */
.legal-content{max-width:800px}
.legal-stand{color:var(--text-muted);font-size:15px;margin-bottom:2rem}
.legal-section{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.legal-section:last-child{border-bottom:none}
.legal-section h2{font-size:22px;margin-bottom:0.75rem;color:var(--brand-primary)}
.legal-section h3{font-size:18px;margin:1.25rem 0 0.5rem;color:var(--brand-primary)}
.legal-text{line-height:27px;color:var(--text);margin-bottom:0.75rem;font-size:15px}

/* PRODUCT GRID */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}
.product-grid-full{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.product-card{
  display:block;padding:1.5rem;border:1px solid var(--border);
  text-decoration:none;
  transition:box-shadow .2s;text-align:center;
}
.product-card:hover{box-shadow:var(--shadow-md)}
.product-icon{color:var(--text-muted);margin-bottom:0.75rem}
.product-card-image{width:100%;height:160px;object-fit:contain;margin-bottom:0.75rem;background:var(--bg);padding:0.5rem}
.product-card h3{color:var(--brand-primary);font-size:15px;margin-bottom:0.5rem}
.product-card p{color:var(--text-secondary);font-size:13px;margin-bottom:0.75rem}
.product-price{
  display:inline-block;padding:0.375rem 0.75rem;
  background:var(--brand-secondary);color:var(--brand-primary);
  font-size:13px;font-weight:600;
}
.shop-category{margin-bottom:2rem}
.shop-category h2{margin-bottom:1rem;color:var(--brand-primary)}

/* PRODUCT DETAIL */
.product-detail{display:grid;grid-template-columns:200px 1fr;gap:2rem;margin-bottom:2rem}
.product-detail-icon{
  display:flex;align-items:center;justify-content:center;
  background:var(--bg);
  padding:2rem;color:var(--text-muted);
}
.product-sku{font-size:13px;color:var(--text-muted);margin-bottom:1rem}
.product-description{color:var(--text-secondary);margin-bottom:1.5rem}
.product-price-large{font-size:1.5rem;font-weight:700;color:var(--brand-primary);margin-bottom:0.25rem}
.product-original-price{font-size:13px;color:var(--text-muted);text-decoration:line-through;margin-bottom:0.25rem}
.product-price-note{font-size:13px;color:var(--text-secondary);margin-bottom:0.5rem}
.product-availability{font-size:13px;color:var(--text-muted);margin-bottom:1rem}
.product-variants{margin:1rem 0 1.5rem}
.product-variants h3{font-size:15px;margin-bottom:0.5rem}
.variant-tags{display:flex;flex-wrap:wrap;gap:0.5rem}
.variant-tag{display:inline-block;padding:0.375rem 0.75rem;background:var(--bg);border:1px solid var(--border);font-size:13px;color:var(--text-secondary)}
.product-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.75rem;margin:2rem 0}
.product-gallery-image{width:100%;background:var(--bg);padding:0.5rem;object-fit:contain;aspect-ratio:1}
.product-advantages{margin:2rem 0}
.product-advantages h3{margin-bottom:0.75rem}
.product-delivery{margin:1.5rem 0;padding:1.25rem;background:var(--bg)}
.product-delivery h3{margin-bottom:0.5rem}
.product-delivery p{color:var(--text-secondary);font-size:15px;margin:0}
.product-specs{margin-top:1.5rem}
.product-specs h2{margin-bottom:1rem}
.specs-table{width:100%;border-collapse:collapse;table-layout:auto}
.specs-table td{padding:0.5rem 0.75rem;border-bottom:1px solid var(--border);font-size:15px;word-break:break-word}
.specs-table td:first-child{font-weight:500;color:var(--text);width:40%;min-width:0}
.specs-table td:last-child{color:var(--text-secondary)}

@media(max-width:767px){
  .product-detail{grid-template-columns:1fr}
}

/* BREADCRUMB */
.breadcrumb{font-size:13px;margin-bottom:0.75rem;color:rgba(255,255,255,0.7)}
.breadcrumb a{color:rgba(255,255,255,0.8);text-decoration:none}
.breadcrumb a:hover{color:white}

/* CALCULATOR */
.calculator-form{margin-top:1.5rem}
.calc-inputs{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1rem;margin-bottom:1.5rem;
  padding:1.5rem;background:var(--bg);
}
.calc-inputs .btn{justify-self:start}
.calc-result{
  padding:1.5rem;border:1px solid var(--border);
  background:var(--bg-alt);
}
.calc-result h3{margin-bottom:1rem;color:var(--brand-primary)}
.result-text{color:var(--text-secondary);line-height:27px}
.cost-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;margin-top:1.5rem}
.cost-item{padding:1rem;text-align:center}
.cost-cleaning{background:var(--brand-secondary)}
.cost-replacement{background:#fef2f2}
.cost-saving{background:#f0fdf4}
.cost-label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:0.375rem;font-weight:500}
.cost-value{display:block;font-size:1.25rem;font-weight:700}
.cost-cleaning .cost-value{color:var(--brand-primary)}
.cost-replacement .cost-value{color:#dc2626}
.cost-saving .cost-value{color:#16a34a}

@media(max-width:479px){
  .cost-comparison{grid-template-columns:1fr}
}

/* NEWS PAGE - Blog Layout */
.news-layout{display:grid;grid-template-columns:1fr 300px;gap:40px;margin-top:20px}
.news-article-list{min-width:0}
.news-list-item{padding:25px 0;border-bottom:1px solid var(--border)}
.news-list-item:first-child{padding-top:0}
.news-list-item-content{display:flex;gap:20px;align-items:flex-start}
.news-list-thumb{flex-shrink:0;width:150px}
.news-list-thumb img{width:150px;height:100px;object-fit:cover;display:block}
.news-list-text{flex:1;min-width:0}
.news-list-categories{font-size:12px;text-transform:uppercase;letter-spacing:0.05em;color:var(--brand-primary);margin-bottom:6px;font-weight:500}
.news-list-categories .category-tag{color:var(--brand-primary)}
.news-list-item h3{font-family:var(--font-heading);font-size:22px;font-weight:600;margin:0 0 6px;text-transform:uppercase}
.news-list-item h3 a{color:var(--brand-primary);text-decoration:none}
.news-list-item h3 a:hover{text-decoration:underline}
.news-list-date{font-size:13px;color:var(--text-muted);display:block;margin-bottom:8px}
.news-list-excerpt{font-size:15px;line-height:27px;color:var(--text);margin:0 0 10px}
.news-list-readmore{font-size:14px;color:var(--brand-primary);text-decoration:none;font-weight:500}
.news-list-readmore:hover{text-decoration:underline}

/* NEWS SIDEBAR */
.news-sidebar{min-width:0}
.sidebar-widget{margin-bottom:30px}
.sidebar-widget-title{
  font-family:var(--font-heading);font-size:18px;font-weight:700;
  text-transform:uppercase;color:var(--text);
  margin-bottom:12px;padding-bottom:8px;
  border-bottom:2px solid var(--brand-primary);
}
.sidebar-widget ul{list-style:none;padding:0;margin:0}
.sidebar-widget ul li{padding:5px 0;border-bottom:1px solid var(--border)}
.sidebar-widget ul li:last-child{border-bottom:none}
.sidebar-widget ul li a{font-size:14px;color:var(--text-secondary);text-decoration:none;line-height:1.5}
.sidebar-widget ul li a:hover{color:var(--brand-primary)}

@media(max-width:900px){
  .news-layout{grid-template-columns:1fr}
  .news-sidebar{order:2}
}
@media(max-width:479px){
  .news-list-item-content{flex-direction:column}
  .news-list-thumb{width:100%}
  .news-list-thumb img{width:100%;height:auto}
}

/* PAGINATION */
.pagination{display:flex;justify-content:center;gap:5px;margin:40px 0 20px;list-style:none;padding:0}
.pagination li a,.pagination li span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;padding:0 10px;
  font-size:15px;color:var(--text);
  border:1px solid var(--border);
  text-decoration:none;transition:all .2s;
}
.pagination li a:hover{background:var(--brand-primary);color:white;border-color:var(--brand-primary)}
.pagination li.active span{background:var(--brand-primary);color:white;border-color:var(--brand-primary)}

.news-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.5rem}
.news-card{display:block;padding:1.25rem;border:1px solid var(--border);text-decoration:none;color:inherit;transition:box-shadow .2s}
.news-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}
.news-card time{font-size:13px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:0.03em}
.news-card h3{margin:0.5rem 0;font-size:18px;color:var(--brand-primary)}
.news-card p{color:var(--text-secondary);font-size:15px;margin:0}
.news-article{max-width:720px;margin:0 auto}
.news-article time{display:block;font-size:13px;color:var(--text-muted);margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.03em}
.news-article-image{width:100%;margin-bottom:1.5rem}
.news-article-content{line-height:27px;color:var(--text)}
.news-article-content p{margin-bottom:1rem}
.news-article-back{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}

/* PARTNERS */
.partners-grid{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem}
.partner-tag{
  padding:0.375rem 0.75rem;background:var(--bg-alt);
  border:1px solid var(--border);
  font-size:15px;color:var(--text-secondary);
}
.promises-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin:2rem 0}
.promise-card{
  padding:1.25rem;background:var(--brand-secondary);
  text-align:center;
}
.promise-card p{color:var(--brand-primary);font-weight:500;margin:0;font-size:15px}
.mission-statement{font-size:15px;color:var(--brand-primary)}

/* AI SUMMARY (hidden visually, available for crawlers) */
.ai-summary{
  max-width:var(--max-width);margin:0 auto;padding:1.5rem 50px;
  background:var(--bg);border-top:1px solid var(--border);
  font-size:13px;color:var(--text-muted);
}

/* FOOTER */
.site-footer{
  background:#640e34;color:var(--text-on-dark);
  padding:0;margin-top:0;
}
.footer-container{
  max-width:1280px;margin:0 auto;padding:60px 25px 22px;
  display:grid;grid-template-columns:repeat(3,308px);
  gap:0;
}
.footer-3col{grid-template-columns:repeat(3,308px)}
.footer-social-label{font-size:14px;color:rgba(255,255,255,0.7);margin-bottom:5px}
.footer-news-list{list-style:none;padding:0}
.footer-news-list li{margin-bottom:12px}
.footer-news-list li a{font-size:14px;color:rgba(255,255,255,0.85);text-decoration:none;display:block;line-height:25px}
.footer-news-list li a:hover{color:white}
.footer-news-date{font-size:13px;color:rgba(255,255,255,0.5);display:block;margin-top:3px}
.footer-col{
  padding:0 25px;margin:0 0 30px;
  font-size:14px;line-height:25px;
}
.footer-col h4{
  font-family:var(--font-heading);font-size:18px;font-weight:600;
  text-transform:uppercase;color:white;margin-bottom:15px;
}
.footer-col p{font-size:14px;color:rgba(255,255,255,0.85);line-height:25px;margin-bottom:5px}
.footer-col a{color:white;text-decoration:none}
.footer-col a:hover{color:white;text-decoration:underline}
.footer-col ul{list-style:none;padding:0}
.footer-col ul li{margin-bottom:5px}
.footer-col ul li a{font-size:14px;color:white;line-height:25px;text-decoration:none}
.footer-col ul li a:hover{color:white}
.footer-social{display:flex;gap:15px;margin-top:10px}
.footer-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;
  background:rgba(255,255,255,0.15);color:white;
  font-size:16px;transition:background .2s;
}
.footer-social a:hover{background:rgba(255,255,255,0.3)}
.footer-bottom{
  margin-top:0;padding:10px 0;
  min-height:86px;
  border-top:1px solid rgba(255,255,255,0.15);
  background:#640e34;
}
.footer-bottom-inner{
  max-width:1280px;margin:0 auto;padding:0 25px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:15px;
}
.footer-bottom-logo img{height:40px;width:auto;opacity:0.9}
.footer-bottom-text{font-size:13px;color:rgba(255,255,255,0.5);flex:1;text-align:center}
.footer-bottom-nav{display:flex;gap:15px}
.footer-bottom-nav a{font-size:13px;color:rgba(255,255,255,0.6);text-decoration:none}
.footer-bottom-nav a:hover{color:white}

/* GO TO TOP */
.go-to-top{
  position:fixed;bottom:20px;right:20px;
  width:40px;height:40px;
  background:var(--brand-primary);color:white;
  border:none;cursor:pointer;
  display:none;align-items:center;justify-content:center;
  font-size:18px;z-index:999;
  transition:opacity .3s;opacity:0.8;
}
.go-to-top:hover{opacity:1}
.go-to-top.visible{display:flex}

@media(max-width:900px){
  .footer-container{grid-template-columns:1fr 1fr;padding:0 15px}
  .footer-3col{grid-template-columns:1fr 1fr}
}
@media(max-width:479px){
  .footer-container{grid-template-columns:1fr;padding:0 15px}
  .footer-bottom-inner{flex-direction:column;text-align:center;padding:0 15px}
  .footer-bottom-nav{flex-wrap:wrap;justify-content:center}
}

/* CART */
.cart-empty{text-align:center;padding:2rem 0}
.cart-empty p{font-size:15px;color:var(--text-secondary);margin-bottom:1.5rem}

/* INQUIRY FORM (CALCULATORS) */
.inquiry-box{
  background:var(--bg-alt);border:1px solid var(--border);
  padding:2rem;margin-top:0.5rem;
}
.inquiry-box h2{font-family:var(--font-heading);font-size:22px;margin-bottom:0.5rem}
.inquiry-intro{font-size:15px;color:var(--text-secondary);margin-bottom:1.25rem;line-height:27px}
.inquiry-form{display:flex;flex-direction:column;gap:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.inquiry-summary{
  background:var(--bg);border:1px solid var(--border);
  padding:1rem;font-size:15px;
}
.inquiry-summary-label{font-weight:600;color:var(--text);margin-bottom:0.25rem}
.inquiry-summary-data{color:var(--text-secondary);font-style:italic}
.checkbox-label{display:flex;align-items:flex-start;gap:0.5rem;font-size:13px;color:var(--text-secondary);line-height:1.4;cursor:pointer}
.checkbox-label input[type="checkbox"]{margin-top:0.15rem;width:16px;height:16px;accent-color:var(--brand-primary);flex-shrink:0}
.checkbox-label a{color:var(--brand-primary);text-decoration:underline}
.inquiry-success{
  margin-top:0.75rem;padding:1rem;
  background:rgba(34,139,34,0.1);border:1px solid rgba(34,139,34,0.3);
  color:#228b22;font-weight:500;font-size:15px;
}
@media(max-width:479px){
  .form-row{grid-template-columns:1fr}
}

/* News Blog List (news listing page) */
.news-blog-list{max-width:800px}
.news-blog-item{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--border)}
.news-blog-item:last-child{border-bottom:none}
.news-blog-image-link{display:block;margin-bottom:20px}
.news-blog-image-link img{width:100%;height:auto;display:block}
.news-blog-item h3{font-family:var(--font-heading);font-size:22px;font-weight:600;text-transform:uppercase;margin:0 0 10px;line-height:1.3}
.news-blog-item h3 a{color:var(--brand-primary);text-decoration:none}
.news-blog-item h3 a:hover{text-decoration:underline}
.news-blog-meta{font-size:13px;color:var(--text-muted);margin-bottom:15px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.news-blog-categories{color:var(--brand-primary);font-weight:500}
.news-blog-categories a{color:var(--brand-primary);text-decoration:none}
.news-blog-categories a:hover{text-decoration:underline}
.news-blog-author{color:var(--text-muted)}
.news-blog-date{color:var(--text-muted)}
.news-blog-excerpt{font-size:15px;line-height:27px;color:var(--text);margin:0 0 15px}
.news-blog-details{font-size:14px;color:var(--brand-primary);text-decoration:none;font-weight:600;text-transform:uppercase;letter-spacing:0.05em}
.news-blog-details:hover{text-decoration:underline}

/* News Article Date Badge */
.news-date-badge{display:inline-flex;flex-direction:column;align-items:center;background:var(--brand-primary);color:#fff;padding:8px 12px;line-height:1;margin-bottom:15px;text-align:center;min-width:60px}
.news-date-badge .date-month{font-size:12px;text-transform:uppercase;font-weight:600;letter-spacing:0.5px}
.news-date-badge .date-day{font-size:24px;font-weight:700;line-height:1.2}
.news-date-badge .date-year{font-size:12px;font-weight:400}

/* News Article Categories */
.news-categories{margin-bottom:20px;font-size:13px}
.news-categories a{color:var(--brand-primary);text-decoration:none;font-weight:500}
.news-categories a:hover{text-decoration:underline}

/* News Article Content */
.news-article-image{width:100%;height:auto;display:block;margin-bottom:20px}
.news-article-content{font-size:15px;line-height:27px}
.news-article-content p{margin:0 0 15px}
.news-article-content a{color:var(--brand-primary);text-decoration:none}
.news-article-content a:hover{text-decoration:underline}
.news-article-content img{max-width:100%;height:auto}

/* Related Posts (Ähnliche Beiträge) */
.related-posts{margin-top:40px;padding-top:20px;border-top:1px solid var(--border)}
.related-posts h3{font-family:var(--font-heading);font-size:18px;font-weight:600;margin:0 0 20px;text-transform:uppercase}
.related-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.related-post-card{text-align:center}
.related-post-card img{width:110px;height:80px;object-fit:cover;display:block;margin:0 auto 10px}
.related-post-card a{font-size:13px;color:var(--brand-primary);text-decoration:none;display:block;line-height:1.3}
.related-post-card a:hover{text-decoration:underline}
.related-post-date{font-size:12px;color:var(--text-muted);display:block;margin-top:5px}
@media(max-width:768px){
  .related-posts-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .related-posts-grid{grid-template-columns:1fr}
}

/* UTILITY - OVERFLOW PROTECTION */
.overflow-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* COOKIE CONSENT BANNER */
.cookie-consent{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:10000;
  justify-content:center;align-items:flex-end;
  padding:0.75rem;
  background:rgba(0,0,0,0.4);
}
.cookie-consent-inner{
  background:var(--bg-alt);border:1px solid var(--border);
  padding:1.25rem 1.5rem;
  max-width:680px;width:100%;
  box-shadow:0 -4px 24px rgba(0,0,0,0.15);
}
.cookie-consent-title{
  font-family:var(--font-heading);font-weight:700;font-size:22px;
  margin-bottom:0.5rem;color:var(--text);
}
.cookie-consent-text p{font-size:15px;line-height:27px;color:var(--text-secondary);margin-bottom:0.75rem}
.cookie-consent-text a{color:var(--brand-primary);text-decoration:underline}
.cookie-consent-options{margin-bottom:1rem;padding:0.75rem 0;border-top:1px solid var(--border)}
.cookie-option{display:flex;align-items:center;gap:0.5rem;font-size:15px;color:var(--text);padding:0.35rem 0;cursor:pointer}
.cookie-option input[type="checkbox"]{width:16px;height:16px;accent-color:var(--brand-primary)}
.cookie-option-hint{font-size:13px;color:var(--text-secondary)}
.cookie-consent-buttons{display:flex;flex-wrap:wrap;gap:0.5rem}
.cookie-btn{
  padding:0.5rem 1rem;font-size:15px;
  font-weight:600;cursor:pointer;border:1px solid var(--border);
  font-family:var(--font-sans);transition:background 0.2s,color 0.2s;
}
.cookie-btn-accept{background:var(--brand-primary);color:white;border-color:var(--brand-primary)}
.cookie-btn-accept:hover{background:var(--brand-primary-dark)}
.cookie-btn-reject{background:var(--bg-alt);color:var(--text)}
.cookie-btn-reject:hover{background:var(--bg)}
.cookie-btn-save{background:var(--brand-primary);color:white;border-color:var(--brand-primary)}
.cookie-btn-save:hover{background:var(--brand-primary-dark)}
.cookie-btn-settings{background:transparent;color:var(--text-secondary);border-color:transparent}
.cookie-btn-settings:hover{color:var(--text)}

@media(max-width:479px){
  .cookie-consent{padding:0}
  .cookie-consent-inner{padding:1rem}
  .cookie-consent-buttons{flex-direction:column}
  .cookie-btn{width:100%;text-align:center}
}

#ssb-container{position:fixed;top:30%;right:0;z-index:200}
#ssb-container ul{padding:0;margin:0;list-style:none}
#ssb-container ul li{margin:0;line-height:45px}
#ssb-container ul li p{margin:0}
#ssb-container ul li a{display:block;line-height:45px;text-align:left;white-space:nowrap;text-decoration:none;padding:0 15px 0 0;color:#fff}
#ssb-container ul li a:hover{text-decoration:none}
.ssb-icon{display:inline-block;width:50px;text-align:center;line-height:45px;vertical-align:middle}
.ssb-icon svg{vertical-align:middle}
.ssb-text{line-height:45px;font-size:14px;font-family:'Roboto',sans-serif}
.ssb-btn-phone{background:#640e34}
.ssb-btn-phone:hover{background:rgba(100,14,52,0.9)}
.ssb-btn-mail{background:#861845}
.ssb-btn-mail:hover{background:rgba(134,24,69,0.9)}
.ssb-btn-anfrage{background:#a3184d}
.ssb-btn-anfrage:hover{background:rgba(163,24,77,0.9)}
#ssb-container.ssb-anim-slide{min-width:200px;overflow:hidden}
#ssb-container.ssb-anim-slide ul li{transform:translateX(calc(100% - 50px));transition:transform .3s ease}
#ssb-container.ssb-anim-slide ul li:hover{transform:translateX(0)}
@media(max-width:640px){#ssb-container{display:none}}

.fts-hero{background:#f1f1f1;padding:60px 0 40px;text-align:center}
.fts-hero-inner{max-width:900px;margin:0 auto}
.fts-cube-icon{display:block;margin:0 auto 20px;width:60px;height:60px}
.fts-subtitle{font-family:'Exo',sans-serif;font-weight:600;font-size:18px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin:0 0 10px}
.fts-title{font-family:'Exo',sans-serif;font-weight:600;font-size:32px;color:var(--text);margin:0 0 20px;text-transform:uppercase}
.fts-intro{font-size:15px;line-height:27px;color:var(--text-secondary);max-width:800px;margin:0 auto}

.fts-services{padding:60px 0}
.fts-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.fts-card{background:#fff;border:1px solid #e0e0e0;padding:0;text-align:left}
.fts-card-img{width:100%;overflow:hidden}
.fts-card-img img{width:100%;height:auto;display:block}
.fts-card h2{font-family:'Exo',sans-serif;font-weight:600;font-size:22px;margin:20px 25px 8px;text-transform:uppercase}
.fts-card h2 a{color:var(--text);text-decoration:none}
.fts-card h2 a:hover{color:var(--brand-primary)}
.fts-prefix{color:var(--text-secondary)}
.fts-card h4{font-family:'Exo',sans-serif;font-weight:400;font-size:15px;color:var(--text-secondary);margin:0 25px 15px;font-style:italic}
.fts-card p{font-size:15px;line-height:27px;color:var(--text-secondary);margin:0 25px 12px}
.fts-card ul{margin:0 25px 15px 40px;padding:0;list-style:disc}
.fts-card li{font-size:14px;line-height:24px;color:var(--text-secondary);margin-bottom:4px}
.fts-mehr{display:inline-block;margin:10px 25px 25px;padding:10px 28px;border:2px solid var(--brand-primary);color:var(--brand-primary);font-family:'Exo',sans-serif;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:1px;text-decoration:none;transition:all .3s}
.fts-mehr:hover{background:var(--brand-primary);color:#fff}

.fts-warum{background:#f1f1f1;padding:50px 0}
.fts-warum h3{font-family:'Exo',sans-serif;font-weight:600;font-size:24px;color:var(--text);margin:0 0 20px;text-transform:uppercase}
.fts-warum ul{margin:0 0 20px 20px;padding:0;list-style:disc}
.fts-warum li{font-size:15px;line-height:27px;color:var(--text-secondary);margin-bottom:6px}
.fts-warum p{font-size:15px;line-height:27px;color:var(--text-secondary);margin:0 0 12px}

.fts-branchen{padding:50px 0}
.fts-branchen h3{font-family:'Exo',sans-serif;font-weight:600;font-size:24px;color:var(--text);margin:0 0 15px;text-transform:uppercase}
.fts-branchen p{font-size:15px;line-height:27px;color:var(--text-secondary);margin:0 0 12px}
.fts-branchen-list{margin:0 0 20px 20px;padding:0;list-style:disc;columns:2;column-gap:40px}
.fts-branchen-list li{font-size:15px;line-height:27px;color:var(--text-secondary);margin-bottom:4px}

@media(max-width:767px){
  .fts-cards{grid-template-columns:1fr}
  .fts-branchen-list{columns:1}
  .fts-title{font-size:24px}
}
