/* Ausgelagert aus <style id="pfaller-custom"> (identisch auf 27 Seiten), 17.09.2026. Reihenfolge im Dokument unveraendert: das <link> steht an der Stelle des frueheren <style>. */


/* Legal page links */
[onclick*="impressum"], [onclick*="datenschutz"] {
  cursor: pointer;
  transition: opacity .15s;
}
[onclick*="impressum"]:hover, [onclick*="datenschutz"]:hover {
  opacity: .7;
  text-decoration: underline !important;
}
/* PAGE VISIBILITY — must be in head */
.page{display:none !important}
.page.active{display:block !important}

/* ══════════════════════════════════
   SUBPAGE WIDTH SYSTEM
   ══════════════════════════════════ */

/* Two-col content area */
.two-col{
  max-width:1100px;
  margin:0 auto;
  padding:3rem 2.5rem;
  box-sizing:border-box;
}

/* Subhero inner content centered */
.subhero-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 2.5rem;
  box-sizing:border-box;
}
.breadcrumb{
  max-width:1100px;
  margin:0 auto;
  padding:0 2.5rem;
  box-sizing:border-box;
}

/* Trust bar items centered */
.trust-bar{display:flex;align-items:center;gap:0;flex-wrap:nowrap;background:var(--ink2);padding:.6rem max(1.5rem,calc((100% - 1100px)/2 + 1.5rem));border-bottom:1px solid rgba(184,147,90,.15);overflow-x:auto}

/* Cert-bar line below trust-bar */
.cert-bar{
  background:var(--w);
  border-bottom:1px solid var(--border);
  padding:.7rem max(1.5rem, calc((100% - 1120px)/2 + 1.5rem));
  display:flex;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
}

/* FAQ sections on subpages */
.subpage-faq{
  padding:3.5rem max(1.5rem, calc((100% - 1120px)/2 + 1.5rem));
}
.subpage-faq .faq-inner{
  max-width:860px;
  margin:0 auto;
}

/* CTA strip before FAQ */
.cta-strip{
  background:var(--ink2);
  border-top:1px solid rgba(184,147,90,.2);
  padding:1.8rem max(1.5rem, calc((100% - 1120px)/2 + 1.5rem));
}
.cta-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
}

/* Anlass/Vergleich sections on VWG/KG */
.subpage-grid-section{
  padding:2.5rem max(1.5rem, calc((100% - 1100px)/2 + 1.5rem));
}

/* Info boxes inside two-col */
.info-block h2{
  font-size:1.05rem;
  font-weight:700;
  color:var(--ink);
  letter-spacing:-.01em;
  margin-bottom:.75rem;
  padding-bottom:.5rem;
  border-bottom:2px solid var(--gold);
}

/* Sidebar cards */
.sidebar-card{
  background:var(--w);
  border:1px solid var(--border);
  padding:1.4rem;
  margin-bottom:1rem;
}
.sc-featured{border-top:3px solid var(--gold)!important}

/* Responsive — main rules in Style Block 2 below */
@media(max-width:600px){
  .cert-bar{padding:.6rem 1rem;gap:1rem}
  .subpage-faq{padding:2.5rem 1rem}
  .cta-strip{padding:1.2rem 1rem}
}

/* NAV DROPDOWN */
.nav-dd{position:relative;display:inline-flex}
.dd-arr{width:9px;height:9px;stroke:currentColor;fill:none;stroke-width:2.5;margin-left:3px;vertical-align:middle;transition:transform .2s}
.nav-dd:hover .dd-arr{transform:rotate(180deg)}
.nav-dd-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:300px;background:#0d1b2e;border:1px solid rgba(184,147,90,.25);border-top:2px solid var(--gold);box-shadow:0 16px 40px rgba(0,0,0,.5);z-index:2000;padding:.4rem 0}
.nav-dd:hover .nav-dd-menu{display:block}
.dd-lbl{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(184,147,90,.7);padding:.35rem 1rem .2rem}
.dd-sep{height:1px;background:rgba(255,255,255,.07);margin:.25rem 0}
.dd-item{display:flex;align-items:center;gap:.7rem;padding:.55rem 1rem;cursor:pointer;text-decoration:none;border-left:2px solid transparent;transition:background .15s,border-color .15s}
.dd-item:hover{background:rgba(184,147,90,.08);border-left-color:var(--gold)}
.dd-item svg{width:15px;height:15px;fill:none;stroke-width:1.8;flex-shrink:0}
.dd-service svg{stroke:var(--gold2)}
.dd-info svg{stroke:rgba(255,255,255,.3)}
.dd-item b{display:block;font-size:.8rem;font-weight:600;color:#fff;margin-bottom:1px}
.dd-item span{display:block;font-size:.68rem;color:rgba(255,255,255,.4)}
.dd-info b{color:rgba(255,255,255,.6);font-weight:400}
@media(max-width:900px){.nav-dd-menu{display:none!important}}

/* Footer always visible */
#site-footer{display:block!important}
.page:not(.active) footer{display:none!important}
/* Footer links hover */
footer a:hover { color: var(--gold2) !important; text-decoration: underline !important; }
a[onclick*="showPage"] { cursor: pointer; }
a[onclick*="showPage"]:hover { opacity: .8; }

/* Sticky CTA above footer */
#sticky-cta{z-index:9998}

body{overflow-x:clip;max-width:100vw}

.topbar{height:50px!important;border-bottom:1px solid rgba(255,255,255,0.08)!important}
.tb-l{gap:2rem!important;align-items:center!important}
.tb-i{font-size:12.5px!important;gap:8px!important}
.tb-i a{font-size:12.5px!important;font-weight:500!important;color:rgba(255,255,255,.88)!important}
.tb-i svg{width:14px!important;height:14px!important}
.tb-cta1,.tb-cta2{height:30px!important;font-size:11px!important;padding:0 1.1rem!important}


nav{height:72px!important;padding:0 2rem!important;position:sticky!important;top:0!important;z-index:1000!important;transition:box-shadow .3s,background .3s!important}
nav.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.45)!important;background:rgba(28,43,66,.97)!important}
.nav-btn{height:72px!important;font-size:13px!important;padding:0 .9rem!important;color:#fff!important;position:relative!important;border-bottom:none!important;transition:color .2s ease,background .2s!important;letter-spacing:.025em!important;font-weight:500!important}
.nav-btn::after{content:""!important;position:absolute!important;bottom:0!important;left:50%!important;transform:translateX(-50%) scaleX(0)!important;width:60%!important;height:2px!important;background:var(--gold)!important;border-radius:4px 2px 0 0!important;transition:transform .22s cubic-bezier(.4,0,.2,1)!important;display:block!important}
.nav-btn:hover{color:#fff!important;background:rgba(255,255,255,.05)!important}
.nav-btn:hover::after{transform:translateX(-50%) scaleX(1)!important}
.nav-btn.active{color:var(--gold2)!important;border-bottom:none!important;background:rgba(184,147,90,.07)!important}
.nav-btn.active::after{transform:translateX(-50%) scaleX(1)!important;background:var(--gold2)!important}
.nav-center{gap:.2rem!important}
.nav-phone{display:none!important}
.nav-right{gap:.8rem!important;white-space:nowrap!important}
/* #scroll-top styles defined inline near the button element */
@media(max-width:768px){.topbar{height:40px!important;padding:0 .8rem!important}nav{height:56px!important;padding:0 .8rem!important}.nav-btn{height:56px!important}}

@media(max-width:768px){
  #sticky-cta .sticky-trust{display:none}
  #sticky-cta{padding:.7rem 1rem}
}
@media(max-width:480px){
  #sticky-cta span{display:none}
  #whatsapp-btn{bottom:80px;right:16px}
}

@media(max-width:768px){
  .about{grid-template-columns:1fr !important;text-align:center}
  .about img{width:200px !important;height:200px !important}
}
@media(max-width:900px){
  .footer-inner{grid-template-columns:1fr 1fr !important}
}

/* === LOGO BRAND === */
.logo-brand{display:flex;flex-direction:column;gap:0;padding:2px 0;line-height:1}
.logo-name-full{
  display:block;
  font-size:21px;
  font-weight:800;
  color:#fff;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-family:'Segoe UI',system-ui,sans-serif;
  line-height:1;
}
.logo-accent-line{
  display:block;
  width:100%;
  height:1.5px;
  background:linear-gradient(90deg, var(--gold) 0%, var(--gold2) 55%, transparent 100%);
  margin:3px 0 4px;
}
.logo-sv{
  display:block;
  font-size:10.5px;
  font-weight:600;
  color:rgba(255,255,255,.82);
  letter-spacing:.22em;
  text-transform:uppercase;
  line-height:1;
}
.logo-city{
  display:block;
  font-size:8px;
  font-weight:400;
  color:var(--gold2);
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.8;
  margin-top:3px;
}
@media(max-width:900px){
  .logo-p{font-size:26px}
  .logo-fuller{font-size:13px;letter-spacing:.28em}
  .logo-divider{height:28px;margin:0 10px}
  .logo-sv{font-size:11px}
  .logo-city{display:none}
}
@media(max-width:600px){
  .logo-divider{display:none}
  .logo-sub-block{display:none}
}

@media(max-width:900px){.reviews-grid{grid-template-columns:1fr 1fr !important}}
@media(max-width:600px){.reviews-grid{grid-template-columns:1fr !important}}
.rv-card{transition:box-shadow .2s,transform .2s;border-radius:4px}.rv-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
/* === CAROUSEL === */
.rv-carousel{padding:0 0 .5rem}
.rv-slide{flex:0 0 calc(33.333% - .8rem);min-width:calc(33.333% - .8rem);background:var(--w);border:1px solid var(--border);padding:1.4rem 1.5rem 1.2rem;border-top:none;box-sizing:border-box;border-radius:8px;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column}
.rv-slide::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:8px 8px 0 0}
.rv-slide:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.1);border-color:rgba(184,147,90,.3)}
.rv-slide .rv-text{flex:1}
/* rv-slide responsive rules consolidated in Style Block 2 */

/* Centered content wrapper - applied to inner content of full-bleed sections */
.si{max-width:1100px;margin:0 auto}

.photo-slide{flex:0 0 calc(33.333% - .28rem);min-width:calc(33.333% - .28rem);position:relative}
.photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:.75rem;padding:.6rem .8rem;letter-spacing:.04em}
@media(max-width:768px){.photo-slide{flex:0 0 calc(100% - .2rem);min-width:calc(100% - .2rem)}}
@media(max-width:900px) and (min-width:769px){.photo-slide{flex:0 0 calc(50% - .2rem);min-width:calc(50% - .2rem)}}

/* ══ MAX-WIDTH CONSTRAINTS ══
   Full-bleed backgrounds stay full-width.
   Inner content is constrained to 1100px centered.
   Applied globally via direct selectors.
══════════════════════════════ */

/* All section inner content wrappers */
.two-col, .subhero-inner, .breadcrumb,
.hero-inner { max-width:1100px; margin:0 auto; }

/* Stats strip inner */
.ss-inner { max-width:1100px; margin:0 auto; }

/* Team section - constrain grid */
.team-grid { max-width:1100px; margin:0 auto; }

/* About section */
.about-grid-wrap { max-width:1100px; margin:0 auto; padding:0 2.5rem; }

/* Service cards grid */
.sv-grid { max-width:1100px; margin:0 auto; padding:0 2.5rem; }

/* Section headers */
.section-heading-block { max-width:1100px; margin:0 auto; padding:0 2.5rem; }

/* Reviews carousel */
.rv-carousel-wrap { max-width:1100px; margin:0 auto; padding:0 2.5rem; }

/* Subpage FAQs */
.subpage-faq .faq-inner { max-width:860px; }

/* Process steps */
.process-steps-inner { max-width:760px; margin:0 auto; }

/* Full-bleed sections: reduce side padding, trust inner centering */
.trust-bar { padding:.9rem max(1.5rem, calc((100% - 1100px) / 2 + 1.5rem)) !important; }
.cert-bar  { padding:.7rem max(1.5rem, calc((100% - 1100px) / 2 + 1.5rem)) !important; }

/* Sections that use inline padding:Xrem 2.5rem → constrain via parent */
.team-section > div > .team-grid,
.team-section > .team-grid { max-width:1100px; margin:0 auto; }

/* Page animation */
.page.active { animation:pgIn .5s cubic-bezier(.25,.46,.45,.94) both; }
@keyframes pgIn { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
/* ── NAV / HEADER MOBILE ── */
@media(max-width:900px) {
  /* NAV */
  nav { height: 66px !important; padding: 0 1rem !important; }
  /* LOGO: show only PFALLER wordmark */
  .logo-name-full { font-size: 20px !important; letter-spacing: .22em !important; }
  .logo-sv { display: block !important; font-size: 9px !important; letter-spacing: .2em !important; }
  .logo-city { display: block !important; font-size: 7px !important; }
  .logo-accent-line { display: block !important; margin: 2px 0 2px !important; }
  .logo-brand { padding: 0 !important; }
  /* MOBILE MENU DROPDOWN */
  .nav-center.open { top: 66px !important; }
  /* SUBHERO — consolidated in Style Block 2 */
  /* TOPBAR */
  .topbar { height: 40px !important; padding: 0 .8rem !important; }
  .tb-cta2 { display: none !important; }
  .tb-i:last-of-type { display: none !important; }
}
@media(max-width:400px) {
  nav { height: 52px !important; padding: 0 .6rem !important; }
  .logo-name-full { font-size: 14px !important; letter-spacing: .14em !important; }
  .logo-sv { font-size: 6.5px !important; letter-spacing: .15em !important; }
  .nav-center.open { top: 52px !important; }
}



/* ── NEW MOBILE RULES ── */
@media(max-width:900px) {
  div[style*="grid-template-columns:1.15fr .85fr"] { grid-template-columns: 1fr !important; }
  div[style*="grid-template-columns:1fr 1.6fr"] { grid-template-columns: 1fr !important; }
  div[style*="grid-template-columns:repeat(3,1fr);gap:1rem"] { grid-template-columns: 1fr 1fr !important; }
  div[style*="grid-template-columns:1fr 1fr;gap:1.5rem"] { grid-template-columns: 1fr !important; }
  div[style*="grid-template-columns:1fr 1fr;gap:3rem"] { grid-template-columns: 1fr !important; }
}
@media(max-width:600px) {
  div[style*="grid-template-columns:1.15fr .85fr"] { grid-template-columns: 1fr !important; }
  div[style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: 1fr !important; }
  div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
  /* Team photos - prevent overflow */
  img[style*="width:80px"] { width: 64px !important; height: 64px !important; }
  img[style*="width:120px"] { width: 80px !important; height: 80px !important; }
}

@media(max-width:900px) {
  div[style*="grid-template-columns:repeat(3,1fr);gap:1.2rem"] { grid-template-columns: 1fr 1fr !important; }
}
@media(max-width:480px) {
  div[style*="grid-template-columns:repeat(3,1fr);gap:1.2rem"] { grid-template-columns: 1fr !important; }
}

@media(max-width:600px) { .topbar { display: none !important; } }

/* ── SUBHERO MOBILE ── */
@media(max-width:900px) {
  div[style*="min-height:440px"] { min-height: 280px !important; }
  div[style*="min-height:440px"][style*="display:flex"] { min-height: 280px !important; }
}
@media(max-width:600px) {
  div[style*="min-height:440px"] { min-height: 220px !important; }
}
/* ── MOBILE NAV LOGO ── */
@media(max-width:900px) {
  .logo { gap: 0 !important; }
  #mobile-menu-btn { display: flex !important; }
}

/* ── MOBILE FIXES from screenshots ── */
@media(max-width:900px) {
  /* Process trust-line: tighter gap */
  div[style*="justify-content:center;gap:2.5rem;flex-wrap:wrap"] { gap: 1rem !important; justify-content: flex-start !important; }
  /* 4-col stat grids → always 2x2 on mobile */
  div[style*="grid-template-columns:repeat(4,1fr);gap:.8rem"] { grid-template-columns: 1fr 1fr !important; }
  /* Subhero eyebrow: truncate */
  .subhero-eye { white-space: normal !important; font-size: .6rem !important; }
  /* General section padding: add breathing room */
  section, .contact-section, .subhero, .trust-bar { padding-left: 1.1rem !important; padding-right: 1.1rem !important; }
  /* Subhero inner already has padding:0 — give it some room */
  .subhero-inner { padding: 0 .5rem !important; }
  /* Stats strip 4-col → 2x2 */
  .ss-inner.grid-4-stats { grid-template-columns: 1fr 1fr !important; padding: 0 1rem !important; }
  /* Technologie stat boxes in WFL: 2x2 */
  div[style*="grid-template-columns:1fr 1fr;gap:.7rem"] { grid-template-columns: 1fr 1fr !important; }
}
@media(max-width:600px) {
  /* More side padding for content sections */
  div[style*="max-width:1100px;margin:0 auto;padding:0 2.5rem"] { padding: 0 1rem !important; }
  div[style*="max-width:860px;margin:0 auto;padding:0 2.5rem"] { padding: 0 1rem !important; }
  /* Keep 2x2 for stat boxes */
  div[style*="grid-template-columns:repeat(4,1fr);gap:.8rem"] { grid-template-columns: 1fr 1fr !important; }
  div[style*="grid-template-columns:1fr 1fr;gap:.7rem"] { grid-template-columns: 1fr 1fr !important; }
}

/* Keep 2-col for small stat grids — consolidated with block above */
@media(max-width:600px) {
  div[style*="grid-template-columns:1fr 1fr;gap:.8rem"] { grid-template-columns: 1fr 1fr !important; }
  div[style*="grid-template-columns:1fr 1fr;gap:1rem"] { grid-template-columns: 1fr 1fr !important; }
  div[style*="grid-template-columns:1fr 1fr;gap:.5rem"] { grid-template-columns: 1fr 1fr !important; }
}

@media(max-width:600px) {
  /* Global side breathing room */
  .hero-inner, .two-col { padding-left: 1rem !important; padding-right: 1rem !important; }
  section > *, .contact-section > * { max-width: 100%; }
}

/* ── KONTAKT PAGE MOBILE ── */
@media(max-width:900px) {
  div[style*="grid-template-columns:1fr 1.5fr"] { grid-template-columns: 1fr !important; gap: 2rem !important; }
  div[style*="grid-template-columns:1fr 1.5fr;gap:3rem"] { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
  /* Kontakt subhero padding */
  #page-kontakt .subhero-inner, #page-kontakt > div:first-child { padding-left: 1rem !important; padding-right: 1rem !important; }
}
@media(max-width:600px) {
  div[style*="grid-template-columns:1fr 1.5fr"] { grid-template-columns: 1fr !important; gap: 1.2rem !important; }
}

@media(max-width:600px) {
  /* Contact form rows: single column */
  div[style*="grid-template-columns:1fr 1fr;gap:.85rem"] { grid-template-columns: 1fr !important; }
  /* Kontakt page hero: less padding */
  div[style*="background:linear-gradient(135deg,var(--ink2)"] { padding: 2rem 1rem 1.5rem !important; }
}

/* ── QF (Schnellanfrage) MOBILE ── */
@media(max-width:900px) {
  .qf { padding: 1.3rem !important; backdrop-filter: none !important; width:100% !important; box-sizing:border-box !important; }
  .qf-title { font-size: .9rem !important; margin-bottom: .9rem !important; }
  .qf-sel, .qf-inp { font-size: 16px !important; width:100% !important; box-sizing:border-box !important; } /* prevent iOS zoom */
  .qf-btn, .qf-phone { font-size: 13px !important; width:100% !important; box-sizing:border-box !important; }
  .hero-btns { margin-bottom: 1rem !important; }
  div[style*="margin-bottom:1.8rem"] { margin-bottom: 1rem !important; }
  .hero-stats { margin-top: 1rem !important; }
}

@media(max-width:900px) {
  .hero video { display: none !important; }
  /* Hero background fallback on mobile */
  .hero { background: linear-gradient(135deg, var(--ink2) 0%, #0a1520 100%) !important; }
}

@media(max-width:900px) {
  .floating-badge { display: none !important; }
}

@media(max-width:600px) {
  .hero h1 { word-break: break-word; hyphens: auto; }
}

@media(max-width:600px) {
  .hero-stats { overflow: hidden !important; }
  .stat-num { font-size: 1.4rem !important; }
  .stat-label { font-size: 8px !important; letter-spacing: .04em !important; }
}

/* ══════════════════════════════════
   HERO MOBILE — DESKTOP STYLE (1-col)
   ══════════════════════════════════ */
@media(max-width:900px) {
  .hero { padding: 2.5rem 1.2rem 2.5rem !important; min-height: auto !important; }
  #hero-mobile-img { display: block !important; }
  .hero-inner { grid-template-columns: 1fr !important; gap: 1.5rem !important; padding: 0 !important; width: 100% !important; }
  .hero-content { max-width: 100% !important; }
  /* H1 */
  .hero h1 { font-size: 2.1rem !important; line-height: 1.15 !important; margin-bottom: .9rem !important; }
  /* Eyebrow: hidden on mobile */
  .hero-mobile-eye { display: none !important; }
  /* Lead tagline: hidden */
  .hero-mobile-tagline { display: none !important; }
  /* Bullets: show all like desktop */
  .hero-bullets { display: block !important; margin-bottom: 1.4rem !important; }
  .hero-bullets > div, .hero-bullet-extra { display: flex !important; gap: .6rem !important; font-size: .88rem !important; color: rgba(255,255,255,.9) !important; margin-bottom: .4rem !important; }
  /* Both buttons */
  .hero-btn-secondary { display: block !important; }
  .hero-btns { flex-direction: column !important; gap: .6rem !important; margin-bottom: 1.2rem !important; }
  .hero-btns .btn-gold { width: auto !important; padding: .75rem 1.6rem !important; font-size: .82rem !important; }
  .hero-btns .btn-ghost { width: auto !important; padding: .75rem 1.6rem !important; font-size: .82rem !important; }
  /* Trust pills: show */
  .hero-trust-pills { display: flex !important; flex-wrap: wrap !important; gap: .45rem !important; }
  /* Stats: show */
  .hero-stats { display: grid !important; grid-template-columns: repeat(3,1fr) !important; margin-top: 1.5rem !important; }
}
@media(max-width:600px) {
  .hero { padding: 2rem 1rem 2rem !important; }
  .hero h1 { font-size: 1.85rem !important; }
}

@media(max-width:900px) {
  #hero-qf { display: none !important; }
}

@media(max-width:900px) {
  body { font-size: 16px !important; }
  p, li, .rv-text, .faq-a, .about-p, .sc-p, .sv-desc { font-size: 1rem !important; }
}

@media(max-width:900px) {
  .rv-carousel { padding: 0 1rem !important; }
  #rv-track { padding: 0 !important; }
}

@media(max-width:900px) {
  .sec-about > div { padding: 0 1rem !important; }
  /* About grid: 1 col on mobile */
  div[style*="grid-template-columns:1fr 1.1fr;gap:3rem"] { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
  /* About Moritz photo: centered */
  div[style*="display:flex;gap:1.4rem;align-items:flex-start"] { flex-direction: column !important; align-items: center !important; text-align: center !important; }
}

/* #site-footer responsive rules consolidated in Style Block 2 */

/* Hide trust pills and stats in hero — shown below in trust-bar and stats-strip */
.hero-trust-pills { display: none !important; }
.hero-stats { display: none !important; }

@media(max-width:600px) {
  /* New trust bar: wrap to 2 rows on mobile */
  div[style*="display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap"] > div[style*="width:1px;height:18px"] { display: none !important; }
  div[style*="display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap"] { gap: .5rem !important; justify-content: flex-start !important; }
}

@media(max-width:900px) {
  /* Reviews section: constrain width */
  div[style*="position:relative;overflow:hidden;margin-bottom:1.5rem"] { margin: 0 1rem 1.5rem !important; }
}

@media(max-width:600px) {
  div[style*="max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem"] { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
}

/* ══════════════════════════════════════════════════════════
   2026-04 OPTIMIERUNGEN — Desktop & Mobile
   ══════════════════════════════════════════════════════════ */

/* ── DESKTOP VERBESSERUNGEN ── */

/* Hero: Besserer Kontrast für Bullet-Text */
.hero-bullets span { text-shadow: 0 1px 3px rgba(0,0,0,.3); }

/* Service-Cards Grid: Besserer Hover-Übergang */
.grid-4 > div { transition: all .25s cubic-bezier(.4,0,.2,1) !important; }

/* Startseite: Leistungs-Kacheln klarer und auffälliger */
.home-service-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.home-service-card {
  min-height: 292px;
  padding: 1.18rem;
  background: linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.016));
  border: 1px solid rgba(184,147,90,.22);
  border-top: 3px solid var(--gold);
  border-radius: 10px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease !important;
}
.home-service-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 76px;
  background: radial-gradient(circle at 16% 0, rgba(184,147,90,.18), transparent 58%);
  pointer-events: none;
}
.home-service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212,174,120,.58);
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.024));
  box-shadow: 0 18px 38px rgba(0,0,0,.28);
}
.home-service-card.primary {
  background: linear-gradient(180deg, rgba(184,147,90,.17), rgba(255,255,255,.024));
  border-color: rgba(184,147,90,.42);
}
.home-service-top {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .95rem;
}
.home-service-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  background: rgba(184,147,90,.15);
  border: 1px solid rgba(184,147,90,.32);
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-service-icon svg {
  width: 21px;
  height: 21px;
  stroke: var(--gold2);
  stroke-width: 1.8;
  fill: none;
}
.home-service-badge {
  background: rgba(184,147,90,.18);
  border: 1px solid rgba(184,147,90,.28);
  color: #f1d8ad;
  font-size: .56rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .38rem .48rem;
  border-radius: 999px;
  white-space: nowrap;
}
.home-service-card.primary .home-service-badge {
  background: var(--gold);
  border-color: var(--gold);
  color: #0a1520;
}
.home-service-kicker {
  position: relative;
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(184,147,90,.72);
  margin-bottom: .35rem;
}
.home-service-card h3 {
  position: relative;
  font-size: 1rem;
  font-weight: 750;
  color: #fff;
  margin: 0 0 .55rem;
  line-height: 1.24;
}
.home-service-card p {
  position: relative;
  font-size: .77rem;
  color: rgba(255,255,255,.66);
  line-height: 1.55;
  margin: 0;
}
.home-service-points {
  position: relative;
  list-style: none;
  padding: 0;
  margin: .8rem 0 1rem;
  display: grid;
  gap: .38rem;
}
.home-service-points li {
  display: flex;
  align-items: center;
  gap: .42rem;
  font-size: .72rem;
  color: rgba(255,255,255,.76);
  line-height: 1.25;
}
.home-service-points li::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 999px;
  background: var(--gold2);
  box-shadow: 0 0 0 3px rgba(184,147,90,.12);
}
.home-service-link {
  position: relative;
  margin-top: auto;
  padding-top: .85rem;
  border-top: 1px solid rgba(255,255,255,.08);
  color: var(--gold2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.home-service-link svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  flex: 0 0 14px;
}
@media(max-width:900px) {
  .home-service-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: .85rem !important;
  }
  .home-service-card {
    min-height: 270px;
    padding: 1rem !important;
  }
}
@media(max-width:500px) {
  .home-service-grid {
    grid-template-columns: 1fr !important;
  }
  .home-service-card {
    min-height: auto;
  }
}

/* Fallbeispiel-Cards: Konsistenter Hover */
.case-slide { transition: transform .25s, box-shadow .25s; }
.case-slide:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.12) !important; }

/* Stats-Strip: Bessere Lesbarkeit */
.stat-big-num { letter-spacing: -.02em; }

/* Trust-Bar: Etwas mehr vertikales Padding */
div[style*="background:var(--ink2);border-bottom:1px solid rgba(184,147,90,.18)"] { padding-top: .85rem !important; padding-bottom: .85rem !important; }

/* Kontaktformular: Fokus-Ring für bessere Accessibility */
.f-inp:focus, .f-sel:focus, .f-ta:focus, .qf-inp:focus, .qf-sel:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(184,147,90,.15) !important;
  outline: none !important;
}

/* Buttons: Konsistenter border-radius */
.btn-gold, .qf-btn, .f-sub, .sc-cta { border-radius: 4px; }

/* ── MOBILE: LEISTUNGSKARTEN 2x2 ── */
@media(max-width:900px) {
  .grid-4[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: 1fr 1fr !important;
    gap: .8rem !important;
  }
  .grid-4 > div { padding: 1.2rem 1rem !important; }
}
@media(max-width:400px) {
  .grid-4[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: 1fr !important;
  }
}

/* ── MOBILE: FALLBEISPIEL-CARDS ── */
@media(max-width:900px) {
  .case-slide {
    flex: 0 0 80vw !important;
    min-width: 80vw !important;
  }
}
@media(max-width:600px) {
  .case-slide {
    flex: 0 0 88vw !important;
    min-width: 88vw !important;
  }
}

/* ── MOBILE: HERO VERBESSERUNGEN ── */
@media(max-width:900px) {
  /* Hero H1 klarer lesbar */
  .hero h1 em { display: inline !important; }
  .hero h1 { text-shadow: 0 2px 8px rgba(0,0,0,.4) !important; }

  /* Hero-Bullets: Bessere Lesbarkeit */
  .hero-bullets > div { font-size: .84rem !important; line-height: 1.55 !important; }

  /* Hero Buttons: Volle Breite auf Mobile */
  .hero-btns .btn-gold, .hero-btns .btn-ghost {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

@media(max-width:600px) {
  /* Hero H1 etwas kompakter */
  .hero h1 { font-size: 1.7rem !important; line-height: 1.2 !important; }
  /* br bleibt sichtbar, damit Wörter nicht zusammenlaufen */

  /* Bullets etwas kleiner */
  .hero-bullets > div { font-size: .8rem !important; }
}

/* ── MOBILE: NAVIGATION ── */
@media(max-width:900px) {
  /* Mobile Menu Items: Größere Touch-Targets */
  .nav-center.open .nav-btn {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Logo: Mindestbreite für Touch */
  .logo { min-width: 44px; min-height: 44px; display: flex; align-items: center; }
}

/* ── MOBILE: TRUST-BAR ── */
@media(max-width:600px) {
  div[style*="background:var(--ink2);border-bottom:1px solid rgba(184,147,90,.18)"] {
    padding: .6rem 1rem !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  div[style*="background:var(--ink2);border-bottom:1px solid rgba(184,147,90,.18)"] > div {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    min-width: max-content;
  }
}

/* ── MOBILE: STATS STRIP ── */
@media(max-width:600px) {
  .ss-inner.grid-4-stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
  }
  .stat-big { padding: .8rem .6rem !important; }
  .stat-big-num { font-size: 1.2rem !important; }
  .stat-big-label { font-size: .62rem !important; }
}

/* ── MOBILE: ABOUT & TEAM ── */
@media(max-width:600px) {
  /* Team-Grid: 1 Spalte auf kleinen Screens */
  div[style*="display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem"] {
    grid-template-columns: 1fr !important;
  }
  /* Team-Karten: Foto + Text nebeneinander (kompakter) */
  div[style*="display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem"] > div img {
    width: 70px !important;
    height: 70px !important;
  }

  /* Zertifikat-Grid: 2x2 beibehalten */
  div[style*="display:grid;grid-template-columns:1fr 1fr;gap:.8rem"] {
    grid-template-columns: 1fr 1fr !important;
  }
  div[style*="display:grid;grid-template-columns:1fr 1fr;gap:.8rem"] > div {
    padding: .7rem !important;
  }
}

/* ── MOBILE: PROZESS / ABLAUF ── */
@media(max-width:900px) {
  .process-steps, div[style*="grid-template-columns:repeat(4,1fr);gap:0"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.5rem !important;
  }
}
@media(max-width:400px) {
  .process-steps, div[style*="grid-template-columns:repeat(4,1fr);gap:0"] {
    grid-template-columns: 1fr !important;
  }
  .process-steps::before { display: none !important; }
}

/* ── MOBILE: KONTAKT-SEITE ── */
@media(max-width:900px) {
  .contact-inner {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    padding: 0 1.2rem !important;
  }
  .contact-form { padding: 1.5rem !important; }
  .form-row { grid-template-columns: 1fr !important; }
}

/* ── MOBILE: UNTERSEITEN (WFL, RND, VWG, KG) ── */
@media(max-width:900px) {
  .two-col {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  /* Sidebar unter den Content */
  .sidebar-card { margin-bottom: .8rem !important; }
}

/* ── MOBILE: FAQ auf Unterseiten ── */
@media(max-width:600px) {
  .subpage-faq { padding: 2rem 1rem !important; }
  .faq-grid { grid-template-columns: 1fr !important; }
}

/* ── MOBILE: FOOTER ── */
@media(max-width:600px) {
  footer {
    flex-direction: column !important;
    text-align: center !important;
    gap: .8rem !important;
    padding: 1.2rem 1rem !important;
  }
  .foot-links {
    justify-content: center !important;
    flex-wrap: wrap !important;
  }
}

/* ── MOBILE: STICKY CTA verbessern ── */
@media(max-width:900px) {
  #sticky-cta {
    padding: .6rem .8rem !important;
    font-size: .78rem !important;
  }
  #sticky-cta .btn-gold {
    padding: .55rem 1rem !important;
    font-size: .76rem !important;
  }
}

/* ── MOBILE: ALLGEMEINE TOUCH-OPTIMIERUNGEN ── */
@media(max-width:900px) {
  /* Mindestgröße für alle klickbaren Elemente */
  button, a[href], [onclick], .nav-btn, .dd-item {
    min-height: 44px;
  }

  /* Besseres Scrolling auf Touch-Geräten */
  .rv-carousel, #cases-track, #photo-track {
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }
  .rv-slide, .case-slide, .photo-slide {
    scroll-snap-align: start;
  }
}

/* ── MOBILE: TEXT-LESBARKEIT ── */
@media(max-width:600px) {
  /* Mindestgröße für Fließtext */
  .info-block p, .sc-p, .faq-a { font-size: .88rem !important; line-height: 1.7 !important; }

  /* Überschriften auf Unterseiten */
  .subhero h1 { font-size: 1.6rem !important; }
  .info-block h2 { font-size: 1rem !important; }

  /* Sidebar Card Anfrage */
  .sc-h { font-size: 1.2rem !important; }
}

/* ── MOBILE: KUNDEN & PARTNER ── */
@media(max-width:900px) {
  .kunden-partner-grid { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .partner-logo-grid { grid-template-columns: repeat(3,1fr) !important; }
}
@media(max-width:480px) {
  .partner-logo-grid { grid-template-columns: 1fr 1fr !important; }
}

/* ══════════════════════════════════════════════════
   MOBILE FIX BATCH — April 2026
   ══════════════════════════════════════════════════ */

/* ── 900px: Tablet ── */
@media(max-width:900px) {
  /* Kunden-Leiste: kleinerer Gap */
  div[style*="justify-content:center;gap:2.5rem;flex-wrap:wrap"] { gap: 1.2rem !important; }
  /* Highlights: weniger Padding */
  .hl-wfl, .hl-rnd { padding: 2.5rem 1.5rem !important; }
  /* FAQ Grid: 1 Spalte */
  .sec-faq div[style*="grid-template-columns:1fr 1fr;gap:1rem"] { grid-template-columns: 1fr !important; }
  /* About Moritz Card: wrap */
  div[style*="min-width:260px"] { min-width: auto !important; }
}

/* ── 600px: Mobile ── */
@media(max-width:600px) {
  /* Stats Strip 3-col → stack */
  .ss-inner { grid-template-columns: 1fr 1fr 1fr !important; gap: 0 !important; }
  .stat-big { padding: .8rem .5rem !important; }
  .stat-big-num { font-size: 1.1rem !important; }
  /* Partner Logos kleiner */
  div[style*="width:170px;height:70px"] { width: 140px !important; height: 56px !important; }
  /* Moritz Hero Foto */
  img[style*="width:140px;height:140px"] { width: 100px !important; height: 100px !important; }
  /* Highlights */
  .hl-wfl, .hl-rnd { padding: 1.8rem 1rem !important; }
  /* Trust Bar Items */
  .ti { font-size: 10px !important; padding: 0 .6rem !important; }
  /* Stat Labels lesbar */
  .stat-big-label { font-size: .72rem !important; }
  /* Subhero Eye lesbar */
  .subhero-eye { font-size: .68rem !important; }
  /* Fallbeispiel-Bild responsive */
  img[style*="width:220px;height:160px"] { width: 100% !important; max-width: 100% !important; height: auto !important; }
  img[style*="width:200px;height:130px"] { width: 100% !important; height: auto !important; }
  /* WFL Sidebar */
  div[style*="grid-template-columns:1.4fr .6fr"] { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
  /* WFL Upload Email/Tel Felder */
  #wfl-upload-send div[style*="grid-template-columns:1fr 1fr;gap:.6rem"] { grid-template-columns: 1fr !important; }
  /* Kunden-Leiste stacked */
  div[style*="justify-content:center;gap:2.5rem;flex-wrap:wrap"] { gap: .8rem !important; justify-content: flex-start !important; }
  div[style*="justify-content:center;gap:2.5rem;flex-wrap:wrap"] > div { flex: 1 1 calc(50% - .5rem); }
  /* FAQ CTA Banner */
  .sec-faq div[style*="border-radius:10px;padding:2rem"] { padding: 1.2rem !important; flex-direction: column !important; text-align: center; }
  /* Expertennetzwerk 4-col Grid */
  div[style*="display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem"].grid-4 { grid-template-columns: 1fr 1fr !important; }
}

/* ── 400px: Small Mobile ── */
@media(max-width:400px) {
  /* Stats Strip 1 Spalte */
  .ss-inner { grid-template-columns: 1fr !important; }
  /* Partner Logos noch kleiner */
  div[style*="width:170px;height:70px"] { width: 110px !important; height: 48px !important; }
  div[style*="width:140px;height:56px"] { width: 110px !important; height: 48px !important; }
  /* Hero Inner Gap */
  .hero-inner { gap: 1rem !important; }
  /* Contact Form weniger Padding */
  .contact-inner { padding: 0 .8rem !important; gap: 1rem !important; }
  .contact-form { padding: 1.2rem !important; }
  /* Kunden-Leiste: 1 Spalte */
  div[style*="justify-content:center;gap:2.5rem;flex-wrap:wrap"] > div { flex: 1 1 100%; }
  /* Topbar Buttons Touch-friendly */
  .tb-cta1, .tb-cta2 { height: 36px !important; }
  /* Footer kompakt */
  #site-footer > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; gap: 1rem !important; }
  /* Grid Gaps reduzieren */
  .grid-2 { gap: 1.2rem !important; }
  .grid-4 { gap: .6rem !important; }
  /* WFL Technologie Stats */
  div[style*="display:grid;grid-template-columns:1fr 1fr;gap:.6rem"] { grid-template-columns: 1fr 1fr !important; gap: .4rem !important; }
  /* Teilungserklärung Bild */
  img[style*="width:280px"] { width: 100% !important; max-width: 100% !important; }
}

/* ── PRINT: Basis-Styles ── */
@media print {
  .topbar, nav, #sticky-cta, #whatsapp-btn, #scroll-top, .floating-badge { display: none !important; }
  .hero { min-height: auto !important; padding: 2rem !important; }
  .hero video, #hero-mobile-img { display: none !important; }
  body { color: #000 !important; background: #fff !important; }
}

/* ══════════════════════════════════════════════════
   RATGEBER & SUBPAGE DESIGN OPTIMIERUNGEN
   ══════════════════════════════════════════════════ */

/* ══ TEAM PHOTOS — zoom into faces ══ */
.sec-about img[src*="Moritz"], .sec-about img[src*="Alexander"], .sec-about img[src*="Chiara"],
#page-kontakt img[src*="Moritz"] {
  transform: scale(1.25);
  transform-origin: center 25%;
}

/* ══ FAQ CARDS — animated accordion ══ */
.faq-body {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .35s cubic-bezier(.4,0,.2,1), opacity .3s ease, padding .3s ease;
}
.faq-icon {
  transition: transform .3s cubic-bezier(.4,0,.2,1), color .2s !important;
}
.sec-faq div[style*="border-radius:8px"] {
  transition: border-color .25s, background .25s, box-shadow .25s, transform .2s !important;
}
.sec-faq div[style*="border-radius:8px"]:active {
  transform: scale(0.985);
}

/* ══ REVIEW CARDS — unified design ══ */

/* Stars row */
.rv-slide > div:first-child {
  display: flex;
  align-items: center;
  gap: .4rem;
}

/* Google icon in stars area */
.rv-slide > div:first-child::after {
  content: 'Google';
  font-size: .6rem;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: .03em;
  margin-left: auto;
  opacity: .5;
}

/* Author section (bottom) */
.rv-slide > div:last-child {
  margin-top: auto !important;
  padding-top: .8rem !important;
  border-top: 1px solid var(--border) !important;
}

/* Initial circle */
.rv-slide > div:last-child > div:first-child {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ink2), #1a3a5c) !important;
  font-size: .8rem !important;
  font-weight: 700;
  color: var(--gold2) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
}

/* Timestamp */
.rv-slide div[style*="font-size:.65rem"] {
  color: var(--muted) !important;
  font-size: .65rem !important;
  opacity: .7;
}

/* Ratgeber content sections: better typography */
[id^="page-rat-"] section p { max-width: 680px; }
[id^="page-rat-"] section h2 { position: relative; padding-left: 1rem; }
[id^="page-rat-"] section h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: .15em;
  bottom: .15em;
  width: 3px;
  background: var(--gold);
  border-radius: 2px;
}

/* Ratgeber tables: better styling */
[id^="page-rat-"] table { border-radius: 6px; overflow: hidden; }
[id^="page-rat-"] th { font-size: .78rem !important; letter-spacing: .04em; text-transform: uppercase; }

/* Verwandte Ratgeber responsive */
@media(max-width:600px) {
  [id^="page-rat-"] div[style*="grid-template-columns:1fr 1fr;gap:1rem"] { grid-template-columns: 1fr !important; }
}

/* Subpage sidebar cards: better visual hierarchy */
.sidebar-card { transition: border-color .2s, box-shadow .2s; }
.sidebar-card:hover { border-color: rgba(184,147,90,.3); box-shadow: 0 4px 16px rgba(0,0,0,.06); }

/* Subpage info-block: smoother reading experience */
.info-block p + p { margin-top: .5rem; }
.info-block h2 + p { margin-top: .6rem; }

/* Stadt pages: improve stats grid */
[id^="page-stadt-"] .stat-big { transition: background .2s; }
[id^="page-stadt-"] .stat-big:hover { background: rgba(184,147,90,.08); }

/* Better focus states for all interactive elements */
[id^="page-rat-"] button:focus-visible,
[id^="page-rat-"] a:focus-visible,
.subhero-actions button:focus-visible {
  outline: 2px solid var(--gold2);
  outline-offset: 2px;
}

/* Smooth page padding for subpages on mobile */
@media(max-width:900px) {
  /* Ratgeber: 3-col grids → 1 col */
  [id^="page-rat-"] div[style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: 1fr !important; }
  /* Ratgeber: 2-col grids → 1 col */
  [id^="page-rat-"] div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
  /* Tables: smaller text */
  [id^="page-rat-"] table { font-size: .78rem !important; }
  [id^="page-rat-"] th, [id^="page-rat-"] td { padding: .5rem .6rem !important; }
  /* Sticky CTA bottom padding */
  body { padding-bottom: 60px; }
}
@media(max-width:600px) {
  [id^="page-rat-"] .subhero-inner { padding: 0 1rem !important; }
  [id^="page-rat-"] section > div { padding: 0 1rem !important; }
  [id^="page-rat-"] section h2 { font-size: 1.15rem !important; }
  /* Verwandte Ratgeber: 1 col */
  [id^="page-rat-"] div[style*="grid-template-columns:1fr 1fr;gap:1rem"] { grid-template-columns: 1fr !important; }
}

/* Startseite: Trust-Leiste auf kleinen Handys ruhiger und ohne Abschneiden */
@media(max-width:700px){
  #page-home .home-trust-strip{
    padding:.55rem .85rem!important;
    overflow:hidden!important;
  }
  #page-home .home-trust-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.45rem!important;
    width:100%!important;
    max-width:100%!important;
    align-items:stretch!important;
  }
  #page-home .home-trust-grid>div{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #page-home .home-trust-grid>div[style*="width:1px"],
  #page-home .home-trust-grid>div:nth-of-type(3),
  #page-home .home-trust-grid>div:nth-of-type(7),
  #page-home .home-trust-grid>div:nth-of-type(9){
    display:none!important;
  }
  #page-home .home-trust-grid>div:nth-of-type(1),
  #page-home .home-trust-grid>div:nth-of-type(5){
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.35rem!important;
    min-height:34px!important;
    padding:.45rem .35rem!important;
    border:1px solid rgba(184,147,90,.26)!important;
    border-radius:4px!important;
    background:rgba(255,255,255,.045)!important;
    color:var(--gold2)!important;
    font-size:.69rem!important;
    line-height:1.18!important;
    letter-spacing:.025em!important;
    white-space:normal!important;
    text-align:center!important;
  }
}

/* Mobile Redesign 2026-05: Startseite kompakter, kein seitliches Abschneiden */
@media(max-width:700px){
  html,
  body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* Hero auf kleinen Geräten etwas kompakter, aber weiter hochwertig */
  #page-home .hero{
    min-height:auto!important;
    padding:2.35rem 1rem 2.8rem!important;
  }
  #page-home .hero-inner{
    padding:0!important;
  }
  #page-home .hero h1{
    font-size:2rem!important;
    line-height:1.08!important;
    margin-bottom:.8rem!important;
  }
  #page-home .hero-proof-list{
    gap:.48rem!important;
  }
  #page-home .hero-proof-item{
    min-height:auto!important;
    padding:.62rem .72rem!important;
    border-radius:7px!important;
  }
  #page-home .hero-proof-item>div:first-child{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
  #page-home .hero-proof-item strong{
    font-size:.62rem!important;
    letter-spacing:.12em!important;
    line-height:1.2!important;
  }
  #page-home .hero-proof-item span{
    font-size:.78rem!important;
    line-height:1.28!important;
  }
  #page-home .hero-btns{
    margin-top:.85rem!important;
    margin-bottom:0!important;
    gap:.58rem!important;
  }
  #page-home .hero-btns .btn-gold,
  #page-home .hero-btns .btn-ghost{
    min-height:44px!important;
    padding:.62rem .75rem!important;
    font-size:.72rem!important;
  }

  /* Trust: nur zwei starke Aussagen, als feste Kacheln */
  #page-home .home-trust-strip{
    padding:.55rem .8rem!important;
    border-top:1px solid rgba(184,147,90,.18)!important;
  }
  #page-home .home-trust-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.45rem!important;
    overflow:visible!important;
  }
  #page-home .home-trust-grid>div{
    overflow:hidden!important;
  }
  #page-home .home-trust-grid>div[style*="width:1px"],
  #page-home .home-trust-grid>div:nth-of-type(3),
  #page-home .home-trust-grid>div:nth-of-type(7),
  #page-home .home-trust-grid>div:nth-of-type(9){
    display:none!important;
  }
  #page-home .home-trust-grid>div:nth-of-type(1),
  #page-home .home-trust-grid>div:nth-of-type(5){
    min-height:36px!important;
    padding:.46rem .45rem!important;
    font-size:.7rem!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  /* Statistik direkt unter Hero: kompakte 3er-Zeile statt langer Block */
  #page-home .stats-strip .ss-inner{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:1px!important;
  }
  #page-home .stats-strip .stat-big{
    min-height:66px!important;
    padding:.65rem .22rem!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
  }
  #page-home .stats-strip .stat-big-num{
    font-size:1.05rem!important;
    line-height:1.05!important;
    margin:0!important;
    white-space:nowrap!important;
  }
  #page-home .stats-strip .stat-big-label{
    font-size:.48rem!important;
    line-height:1.15!important;
    letter-spacing:.08em!important;
    margin-top:.22rem!important;
  }

  /* Leistungen: 2x2 kompakte Auswahlkarten */
  #page-home .sec-leistungen{
    padding:2.35rem 0!important;
  }
  #page-home .sec-leistungen>div{
    padding:0 1rem!important;
  }
  #page-home .sec-leistungen .section-sub{
    font-size:.86rem!important;
    line-height:1.52!important;
    margin-bottom:1rem!important;
  }
  #page-home .home-service-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.62rem!important;
    padding:0!important;
  }
  #page-home .home-service-card{
    min-height:148px!important;
    padding:.78rem!important;
    border-radius:8px!important;
  }
  #page-home .home-service-card::before{
    height:48px!important;
  }
  #page-home .home-service-top{
    margin-bottom:.48rem!important;
    gap:.35rem!important;
  }
  #page-home .home-service-icon{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px!important;
    border-radius:7px!important;
  }
  #page-home .home-service-icon svg{
    width:16px!important;
    height:16px!important;
  }
  #page-home .home-service-badge{
    max-width:74px!important;
    padding:.32rem .38rem!important;
    font-size:.48rem!important;
    letter-spacing:.055em!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #page-home .home-service-kicker{
    font-size:.5rem!important;
    margin-bottom:.22rem!important;
  }
  #page-home .home-service-card h3{
    font-size:.84rem!important;
    line-height:1.16!important;
    margin-bottom:.32rem!important;
    hyphens:auto!important;
    overflow-wrap:anywhere!important;
  }
  #page-home .home-service-card p,
  #page-home .home-service-points{
    display:none!important;
  }
  #page-home .home-service-link{
    margin-top:auto!important;
    padding-top:.48rem!important;
    font-size:0!important;
  }
  #page-home .home-service-link::before{
    content:"Ansehen";
    font-size:.6rem!important;
    letter-spacing:.05em!important;
  }

  /* Partner & Netzwerk: keine abgeschnittenen Karten mehr */
  #kunden-partner{
    padding:2.2rem 0!important;
  }
  #kunden-partner>div{
    padding:0 1rem!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  #kunden-partner>div>div:nth-of-type(2){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.5rem!important;
    width:100%!important;
  }
  #kunden-partner>div>div:nth-of-type(2)>div{
    min-width:0!important;
    padding:.62rem!important;
    gap:.5rem!important;
    border-radius:7px!important;
  }
  #kunden-partner>div>div:nth-of-type(2)>div>div:first-child{
    width:32px!important;
    height:32px!important;
    flex:0 0 32px!important;
  }
  #kunden-partner>div>div:nth-of-type(2)>div>div:last-child>div:first-child{
    font-size:.78rem!important;
    line-height:1.18!important;
  }
  #kunden-partner>div>div:nth-of-type(2)>div>div:last-child>div:last-child{
    display:none!important;
  }
  .about-network-card{
    padding:1rem!important;
    margin:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    border-radius:8px!important;
  }
  .about-network-card img{
    height:118px!important;
    margin-bottom:.75rem!important;
    border-radius:6px!important;
  }
  .about-network-card p{
    font-size:.8rem!important;
    line-height:1.5!important;
    margin-bottom:.75rem!important;
  }
  .about-network-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.5rem!important;
  }
  .about-network-grid>div{
    min-width:0!important;
    padding:.62rem!important;
    gap:.48rem!important;
    border-radius:7px!important;
  }
  .about-network-grid>div>div:first-child{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
  }
  .about-network-grid>div>div:last-child>div:first-child{
    font-size:.72rem!important;
    line-height:1.2!important;
  }
  .about-network-grid>div>div:last-child>div:last-child{
    display:none!important;
  }

  /* Ablauf: kleine 2x2 Karten, nicht mehr so lang */
  #page-home .sec-process{
    padding:2.35rem 0 2.8rem!important;
  }
  #page-home .sec-process>div{
    padding:0 1rem!important;
  }
  #page-home .home-process-head{
    margin-bottom:1.25rem!important;
  }
  #page-home .home-process-head h2{
    font-size:1.55rem!important;
  }
  #page-home .home-process-line{
    display:none!important;
  }
  #page-home .home-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.58rem!important;
  }
  #page-home .home-process-step{
    min-width:0!important;
  }
  #page-home .home-process-num{
    width:34px!important;
    height:34px!important;
    font-size:.86rem!important;
    margin:0 0 .42rem!important;
  }
  #page-home .home-process-card{
    min-height:116px!important;
    padding:.78rem!important;
    border-radius:8px!important;
    text-align:left!important;
  }
  #page-home .home-process-title{
    font-size:.82rem!important;
    line-height:1.14!important;
    margin-bottom:.35rem!important;
  }
  #page-home .home-process-text{
    font-size:.7rem!important;
    line-height:1.34!important;
  }

  /* FAQ-CTA kompakter */
  #page-home .faq div[style*="Noch Fragen?"],
  #page-home .sec-faq div[style*="Noch Fragen?"]{
    border-radius:10px!important;
  }

  /* Neuer Mobile-Footer: kompakte logische Gruppen statt langer Liste */
  #site-footer{
    padding:1rem .85rem 0!important;
    background:#07111f!important;
  }
  #site-footer .footer-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.55rem!important;
    padding-bottom:.85rem!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  #site-footer .footer-brand{
    grid-column:1/-1!important;
    text-align:left!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:.8rem!important;
    padding:.75rem!important;
    border:1px solid rgba(184,147,90,.2)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.035)!important;
  }
  #site-footer .footer-brand p{
    display:none!important;
  }
  #site-footer .footer-brand .logo-brand{
    margin:0!important;
    transform:scale(.78)!important;
    transform-origin:left center!important;
  }
  #site-footer .footer-grid>div:not(.footer-brand){
    min-width:0!important;
    gap:.18rem!important;
    padding:.72rem!important;
    border:1px solid rgba(255,255,255,.075)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.028)!important;
  }
  #site-footer .footer-grid>div:nth-child(2),
  #site-footer .footer-grid>div:nth-child(5){
    grid-column:1/-1!important;
  }
  #site-footer .footer-grid>div:nth-child(2){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.3rem .55rem!important;
  }
  #site-footer .footer-grid>div:nth-child(2)>div:first-child{
    grid-column:1/-1!important;
  }
  #site-footer .footer-grid>div:not(.footer-brand)>div:first-child{
    margin:0 0 .42rem!important;
    padding:0 0 .34rem!important;
    font-size:.58rem!important;
    letter-spacing:.15em!important;
    line-height:1!important;
    border-bottom:1px solid rgba(184,147,90,.18)!important;
    text-align:left!important;
  }
  #site-footer .footer-grid>div:not(.footer-brand) a{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    min-height:26px!important;
    padding:.1rem 0!important;
    font-size:.72rem!important;
    line-height:1.2!important;
    color:rgba(255,255,255,.64)!important;
    text-align:left!important;
    overflow-wrap:anywhere!important;
  }
  #site-footer .footer-grid>div:nth-child(5) a{
    min-height:32px!important;
    padding:.4rem .5rem!important;
    border:1px solid rgba(184,147,90,.18)!important;
    border-radius:7px!important;
    background:rgba(184,147,90,.06)!important;
  }
  #site-footer .footer-grid>div:not(.footer-brand) a svg{
    width:13px!important;
    height:13px!important;
  }
  #site-footer .footer-bottom{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.45rem!important;
    padding:.75rem 0 5.7rem!important;
    font-size:.64rem!important;
    line-height:1.4!important;
    text-align:left!important;
  }
  #site-footer .footer-bottom>div{
    display:flex!important;
    gap:.85rem!important;
    flex-wrap:wrap!important;
  }
}

@media(max-width:380px){
  #page-home .home-service-card h3{
    font-size:.78rem!important;
  }
  #page-home .stats-strip .stat-big-num{
    font-size:.96rem!important;
  }
  #site-footer .footer-grid>div:not(.footer-brand) a{
    font-size:.68rem!important;
  }
}

/* Globale Ratgeber-Kacheln: verhindert riesige schwarze SVG-Platzhalter auf SEO-Unterseiten */
.wfl-ratgeber-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:1rem!important;
  margin-bottom:1.2rem!important;
}
.wfl-ratgeber-head>div:last-child{
  max-width:360px!important;
}
.wfl-guide-card{
  position:relative!important;
  overflow:hidden!important;
  min-height:158px!important;
  padding:1.25rem 1.15rem 1.1rem!important;
  border-top-width:3px!important;
  box-shadow:0 10px 26px rgba(13,31,53,.06)!important;
}
.wfl-guide-card::after{
  content:"";
  position:absolute;
  right:-34px;
  top:-34px;
  width:94px;
  height:94px;
  border-radius:50%;
  border:18px solid rgba(184,147,90,.08);
  pointer-events:none;
}
.wfl-guide-icon{
  width:36px!important;
  height:36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:6px!important;
  background:#10233a!important;
  margin-bottom:.8rem!important;
  flex:0 0 36px!important;
}
.wfl-guide-icon svg{
  width:18px!important;
  height:18px!important;
  stroke:var(--gold2)!important;
  fill:none!important;
  stroke-width:1.8!important;
}
.wfl-guide-card>span{
  display:inline-flex!important;
  margin-top:.9rem!important;
  font-size:.7rem!important;
  color:var(--gold)!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

@media(max-width:900px){
  .wfl-ratgeber-head{
    display:block!important;
    margin-bottom:.9rem!important;
  }
  .wfl-ratgeber-head h2{
    font-size:1.12rem!important;
  }
  .wfl-ratgeber-head>div:last-child{
    font-size:.74rem!important;
    max-width:none!important;
    margin-top:.32rem!important;
  }
  .wfl-guide-grid{
    grid-template-columns:1fr!important;
    gap:.65rem!important;
  }
  .wfl-guide-card{
    min-height:0!important;
    padding:.85rem .9rem!important;
    display:grid!important;
    grid-template-columns:32px 1fr auto!important;
    column-gap:.7rem!important;
    align-items:center!important;
  }
  .wfl-guide-card::after{
    display:none!important;
  }
  .wfl-guide-icon{
    width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
    margin:0!important;
    grid-row:1 / span 3!important;
  }
  .wfl-guide-icon svg{
    width:16px!important;
    height:16px!important;
  }
  .wfl-guide-card>div:nth-child(2){
    font-size:.8rem!important;
    margin-bottom:.08rem!important;
  }
  .wfl-guide-card>div:nth-child(3){
    font-size:.68rem!important;
  }
  .wfl-guide-card>span{
    margin:0!important;
    grid-column:3!important;
    grid-row:1 / span 3!important;
    white-space:nowrap!important;
    font-size:0!important;
  }
  .wfl-guide-card>span::after{
    content:"Öffnen →";
    font-size:.68rem!important;
  }
}

/* PFALLER mobile nav accordion */
@media (max-width: 1120px) {
  .nav-center.open .nav-dd-menu {
    display: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: rgba(0, 0, 0, 0.16) !important;
    padding: 0.2rem 0 0.45rem !important;
    margin: 0.1rem 0 0.35rem !important;
  }

  .nav-center.open .nav-dd.is-open .nav-dd-menu {
    display: block !important;
  }

  .nav-center.open .nav-dd > .nav-btn {
    justify-content: space-between !important;
  }

  .nav-center.open .nav-dd .dd-arr {
    margin-left: auto;
    transition: transform 0.18s ease;
  }

  .nav-center.open .nav-dd.is-open .dd-arr {
    transform: rotate(180deg);
  }

  .nav-center.open .nav-dd.is-open .dd-service,
  .nav-center.open .nav-dd.is-open .dd-info {
    display: flex !important;
    padding: 0.62rem 1.2rem 0.62rem 2rem !important;
  }

  .nav-center.open .nav-dd.is-open .dd-lbl {
    display: block !important;
    padding: 0.55rem 1.2rem 0.25rem 2rem !important;
    color: rgba(212, 174, 120, 0.74) !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.14em !important;
  }

  .nav-center.open .nav-dd.is-open .dd-item svg,
  .nav-center.open .nav-dd.is-open .dd-item span,
  .nav-center.open .nav-dd.is-open .dd-sep {
    display: none !important;
  }

  .nav-center.open .nav-dd.is-open .dd-item b {
    display: block !important;
    font-size: 0.78rem !important;
  }
}


/* PFALLER service header alignment */
#page-rnd .subhero,
#page-vwg .subhero,
#page-kg .subhero,
#page-wfl .wfl-lp-hero {
  border-bottom: 1px solid rgba(184, 147, 90, 0.22);
}

#page-rnd .subhero h1,
#page-vwg .subhero h1,
#page-kg .subhero h1,
#page-wfl .wfl-lp-hero h1 {
  max-width: 760px !important;
  font-size: 2.15rem !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

#page-rnd .subhero-eye,
#page-vwg .subhero-eye,
#page-kg .subhero-eye,
#page-wfl .wfl-lp-kicker {
  color: var(--gold2) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.16em !important;
}

#page-rnd .subhero-lead,
#page-vwg .subhero-lead,
#page-kg .subhero-lead {
  max-width: 680px !important;
  font-size: 0.96rem !important;
  line-height: 1.65 !important;
}

#page-wfl .wfl-lp-checks {
  max-width: 720px !important;
}

@media (max-width: 760px) {
  #page-rnd .subhero,
  #page-vwg .subhero,
  #page-kg .subhero {
    min-height: auto !important;
    padding-top: 4.1rem !important;
    padding-bottom: 1.45rem !important;
  }

  #page-wfl .wfl-lp-hero {
    padding-top: 4.1rem !important;
  }

  #page-rnd .subhero h1,
  #page-vwg .subhero h1,
  #page-kg .subhero h1,
  #page-wfl .wfl-lp-hero h1 {
    max-width: 100% !important;
    font-size: 1.46rem !important;
    line-height: 1.14 !important;
  }

  #page-rnd .subhero-eye,
  #page-vwg .subhero-eye,
  #page-kg .subhero-eye,
  #page-wfl .wfl-lp-kicker {
    font-size: 0.62rem !important;
    letter-spacing: 0.14em !important;
  }

  #page-rnd .subhero-lead,
  #page-vwg .subhero-lead,
  #page-kg .subhero-lead {
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
  }
}

