/* =======================================================
   STEIZL - Schleiftechnik | Layout CSS
   Alle Farben, Abstände, Komponenten
======================================================= */
:root {
  --st-navy:   #0f1a2e;
  --st-blue:   #1A3E6E;
  --st-bright: #5b8dee;
  --st-red:    #c0392b;
  --st-warm:   #f7f0e8;
  --st-gold:   #e8d5b8;
  --st-text:   #1a1008;
  --st-mute:   #8a7560;
  --st-white:  #ffffff;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 64px; }
body { font-family: Georgia, 'Times New Roman', serif; font-size: 17px;
       color: var(--st-text); background: var(--st-white); overflow-x: hidden; }
a { color: var(--st-blue); text-decoration: none; }
a:hover { color: var(--st-bright); }
img { display: block; max-width: 100%; height: auto; }

/* ── NAV ── */
.st-nav { background: var(--st-navy); height: 68px; position: sticky; top: 0; z-index: 100;
          border-bottom: 2px solid var(--st-blue); }
.st-nav-inner { max-width: 1200px; margin: 0 auto; padding: 0 2rem;
                display: flex; align-items: center; justify-content: space-between; height: 100%; }
.st-logo-link { display: flex; align-items: center; }
.st-logo-img { height: 52px; width: auto; }
.st-nav-links { display: none; }
@media(min-width:900px) { .st-nav-links { display: block; } }
.st-nav-menu { list-style: none; display: flex; gap: 1.75rem; padding: 0; margin: 0; }
.st-nav-menu a { font-family: sans-serif; font-size: 13px; color: rgba(255,255,255,.65);
                 letter-spacing: .03em; transition: color .15s; }
.st-nav-menu a:hover { color: #fff; }
.st-nav-right { display: flex; align-items: center; gap: .75rem; }

.st-nav-wa { color: rgba(255,255,255,.65); display: flex; align-items: center; transition: color .15s; }
.st-nav-wa:hover { color: #25D366; }
/* st-nav-wa auf Mobile sichtbar über Floating Button */
.st-nav-tel { font-family: sans-serif; font-size: 12px; color: rgba(255,255,255,.4); }
@media(max-width:1024px) { .st-nav-tel { display: none; } }
.st-nav-cta { background: var(--st-blue); color: #fff !important;
              font-family: sans-serif; font-size: 12px; font-weight: 500;
              padding: 8px 18px; border-radius: 5px; transition: background .15s; }
.st-nav-cta:hover { background: #2a5a9e; }
.st-burger { display: flex; flex-direction: column; gap: 5px; background: none; border: none;
             cursor: pointer; padding: 4px; }
.st-burger span { display: block; width: 22px; height: 2px; background: rgba(255,255,255,.7); border-radius: 1px; }
@media(min-width:900px) { .st-burger { display: none; } }
.st-nav.st-nav-open .st-nav-links { display: block; position: absolute; top: 64px;
  left: 0; right: 0; background: var(--st-navy); padding: 1rem 2rem; border-top: 1px solid rgba(255,255,255,.1); }
.st-nav.st-nav-open .st-nav-menu { flex-direction: column; gap: .75rem; }

/* ── HERO ── */
.st-hero { background: var(--st-navy); padding: 4rem 2rem 3rem; }
.st-hero-inner { max-width: 1200px; margin: 0 auto;
                 display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
@media(max-width:860px) { .st-hero-inner { grid-template-columns: 1fr; } }
.st-hero-eyebrow { font-family: sans-serif; font-size: 11px; font-weight: 500; color: var(--st-bright);
                   letter-spacing: .15em; text-transform: uppercase; margin-bottom: 1.1rem;
                   display: flex; align-items: center; gap: .5rem; }
.st-hero-eyebrow::before { content: ''; display: inline-block; width: 24px; height: 1.5px; background: var(--st-bright); }
.st-hero-h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; font-style: italic;
              color: #fff; line-height: 1.1; margin-bottom: .5rem; }
.st-hero-h1 strong { font-style: normal; color: var(--st-bright); display: block; }
.st-hero-sub { font-family: sans-serif; font-size: 15px; color: rgba(255,255,255,.55);
               line-height: 1.65; margin-bottom: 1.75rem; max-width: 420px; }
.st-hero-btns { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; margin-bottom: 1.5rem; }
.st-btn-primary { background: var(--st-blue); color: #fff !important; font-family: sans-serif;
                  font-size: 14px; font-weight: 500; padding: 12px 24px; border-radius: 6px;
                  border: none; cursor: pointer; transition: background .15s; display: inline-flex; align-items: center; gap: .4rem; }
.st-btn-primary:hover { background: #2a5a9e; }
.st-btn-ghost { border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.7) !important;
                font-family: sans-serif; font-size: 14px; padding: 12px 20px; border-radius: 6px;
                cursor: pointer; transition: border-color .15s, color .15s; }
.st-btn-ghost:hover { border-color: rgba(255,255,255,.5); color: #fff !important; }
.st-hero-trust { display: flex; gap: 1.25rem; flex-wrap: wrap; margin-bottom: 2rem; }
.st-trust-badge { font-family: sans-serif; font-size: 12px; color: rgba(255,255,255,.4);
                  display: flex; align-items: center; gap: .3rem; }
.st-trust-badge::before { content: '\2713'; color: var(--st-bright); font-weight: 500; }

/* ── TIMELINE ── */
.st-timeline { display: flex; align-items: center; gap: 0;
               background: rgba(255,255,255,.04); border: 1px solid rgba(91,141,238,.2);
               border-radius: 10px; padding: 1rem 1.25rem; margin-top: .5rem; }
.st-timeline-item { display: flex; flex-direction: column; align-items: center; flex: 1; gap: .25rem; }
.st-timeline-line { width: 2rem; height: 1px; background: rgba(91,141,238,.3); flex-shrink: 0; }
.st-tl-year { font-family: sans-serif; font-size: 14px; font-weight: 500; color: rgba(255,255,255,.5); }
.st-tl-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(91,141,238,.4);
             border: 2px solid rgba(91,141,238,.4); }
.st-tl-label { font-family: sans-serif; font-size: 10px; color: rgba(255,255,255,.35);
               text-align: center; line-height: 1.4; }
.st-tl-highlight .st-tl-year { color: var(--st-bright); font-size: 17px; }
.st-tl-highlight .st-tl-dot { background: var(--st-bright); border-color: var(--st-bright);
                               width: 12px; height: 12px; }
.st-tl-highlight .st-tl-label { color: rgba(255,255,255,.7); font-weight: 500; }

/* ── HERO VISUAL ── */
.st-hero-visual { border-radius: 12px; overflow: hidden; }
.st-hero-img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px;
               border: 1px solid rgba(255,255,255,.08); }
.st-hero-placeholder { background: rgba(255,255,255,.04); border: 1px solid rgba(91,141,238,.15);
                       border-radius: 12px; padding: 3rem 2rem; text-align: center;
                       min-height: 260px; display: flex; flex-direction: column;
                       align-items: center; justify-content: center; gap: .75rem; }
.st-hero-placeholder-icon { font-size: 3rem; opacity: .3; }
.st-hero-placeholder p { font-family: sans-serif; font-size: 13px; color: rgba(255,255,255,.3); }
.st-hero-placeholder small { font-family: sans-serif; font-size: 11px; color: rgba(255,255,255,.15); }

/* ── STRIP ── */
.st-strip { background: var(--st-blue); padding: 14px 2rem; }
.st-strip-inner { max-width: 1200px; margin: 0 auto;
                  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem; }
.st-strip-item { font-family: sans-serif; font-size: 12px; font-weight: 500;
                 color: rgba(255,255,255,.9); display: flex; align-items: center; gap: .4rem; }
.st-strip-check { color: #7fc8a9; font-size: 13px; }
.st-strip-divider { width: 1px; height: 16px; background: rgba(255,255,255,.2); }

/* ── KENNZAHLEN ── */
.st-stats { display: grid; grid-template-columns: repeat(4,1fr);
            background: var(--st-warm); border-bottom: 1px solid var(--st-gold); }
@media(max-width:600px) { .st-stats { grid-template-columns: repeat(2,1fr); } }
.st-stat { padding: 1.5rem 2rem; text-align: center; }
.st-stat-border { border-right: 1px solid var(--st-gold); }
.st-stat-num { font-size: 2.2rem; font-weight: 400; color: var(--st-blue);
               font-family: Georgia, serif; margin-bottom: .25rem; }
.st-stat-label { font-family: sans-serif; font-size: 11px; color: var(--st-mute);
                 letter-spacing: .06em; text-transform: uppercase; }

/* ── SECTIONS ── */
.st-section { padding: 4rem 2rem; }
.st-section-inner { max-width: 1200px; margin: 0 auto; }
.st-section-white { background: #fff; }
.st-section-warm  { background: var(--st-warm); }
.st-section-dark  { background: var(--st-navy); }
.st-sec-eye { font-family: sans-serif; font-size: 11px; font-weight: 500;
              letter-spacing: .18em; text-transform: uppercase; color: var(--st-blue); margin-bottom: .5rem; }
.st-sec-eye-light { color: var(--st-bright); }
.st-sec-title { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 400; font-style: italic;
                color: var(--st-navy); line-height: 1.15; margin-bottom: .6rem; }
.st-sec-title-light { color: #fff; }
.st-sec-title strong { font-style: normal; font-weight: 400; }
.st-sec-lead { font-family: sans-serif; font-size: 14px; color: var(--st-mute);
               line-height: 1.7; max-width: 560px; margin-bottom: 2rem; }
.st-sec-lead-light { color: rgba(255,255,255,.5); }

/* ── FEATURES ── */
.st-feat-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
                gap: 1px; background: #e8ddd0; border-radius: 10px; overflow: hidden; border: 1px solid #e8ddd0; }
.st-feat-card { background: #fff; padding: 1.75rem; transition: background .15s; }
.st-feat-card:hover { background: var(--st-warm); }
.st-feat-icon { font-size: 1.5rem; margin-bottom: 1rem; }
.st-feat-title-card { font-family: sans-serif; font-size: 14px; font-weight: 500;
                      color: var(--st-navy); margin-bottom: .5rem; }
.st-feat-body { font-family: sans-serif; font-size: 13px; color: var(--st-mute); line-height: 1.6; }

/* ── MARKEN ── */
.st-marken-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
                  gap: .75rem; margin-top: 1.25rem; }
.st-marke-card { border: 1px solid var(--st-gold); border-radius: 8px; padding: 1rem 1.25rem; background: #fff; }
.st-marke-name { font-family: sans-serif; font-size: 14px; font-weight: 500; color: var(--st-blue); margin-bottom: 3px; }
.st-marke-desc { font-family: sans-serif; font-size: 12px; color: var(--st-mute); }

/* ── QUOTE ── */
.st-quote { background: #E6F1FB; border-left: 4px solid var(--st-blue);
            border-radius: 0 8px 8px 0; padding: 1.25rem 1.5rem; margin-top: 1.75rem; }
.st-quote-text { font-size: 1.15rem; font-style: italic; color: #0C447C; line-height: 1.5; margin-bottom: .5rem; }
.st-quote-attr { font-family: sans-serif; font-size: 12px; color: #185FA5; font-style: normal; }

/* ── VERSCHLEISSTEILE ── */
.st-vt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: .75rem; }
@media(max-width:600px) { .st-vt-grid { grid-template-columns: 1fr; } }
.st-vt-item { display: flex; align-items: center; gap: .6rem; padding: .65rem .85rem;
              background: var(--st-warm); border-radius: 6px; border: .5px solid var(--st-gold); }
.st-vt-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--st-blue); flex-shrink: 0; }
.st-vt-name { font-family: sans-serif; font-size: 13px; color: #3a2a1a; flex: 1; }
.st-vt-badge { font-family: sans-serif; font-size: 10px; font-weight: 500;
               padding: 2px 8px; border-radius: 20px; flex-shrink: 0; }
.st-badge-lager   { background: #EAF3DE; color: #27500A; }
.st-badge-anfrage { background: #FAEEDA; color: #633806; }

/* ── PROBLEME ── */
.st-prob-list { display: flex; flex-direction: column; gap: .5rem; margin-top: .75rem; }
.st-prob-item { display: flex; align-items: center; gap: .75rem;
                background: rgba(255,255,255,.05); border: 1px solid rgba(91,141,238,.1);
                border-radius: 8px; padding: .85rem 1rem; }
.st-prob-arrow { font-family: sans-serif; font-size: 14px; font-weight: 500;
                 color: var(--st-bright); flex-shrink: 0; }
.st-prob-text { font-family: sans-serif; font-size: 14px; color: rgba(255,255,255,.75); flex: 1; }
.st-prob-link { font-family: sans-serif; font-size: 12px; color: var(--st-bright);
                white-space: nowrap; flex-shrink: 0; }
.st-prob-link:hover { color: #fff; }

/* ── CTA + FORMULAR ── */
.st-cta { background: var(--st-blue); padding: 4rem 2rem; }
.st-cta-inner { max-width: 1200px; margin: 0 auto; }
.st-cta-title { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 400; font-style: italic;
                color: #fff; margin-bottom: .5rem; text-align: center; }
.st-cta-title strong { font-style: normal; }
.st-cta-sub { font-family: sans-serif; font-size: 14px; color: rgba(255,255,255,.6);
              margin-bottom: 2.5rem; line-height: 1.6; text-align: center; }
.st-contact-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2.5rem; align-items: start; }
@media(max-width:860px) { .st-contact-grid { grid-template-columns: 1fr; } }
.st-contact-form { background: rgba(255,255,255,.08); border-radius: 12px; padding: 1.75rem; }
.st-form-row { margin-bottom: 1rem; }
.st-form-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media(max-width:560px) { .st-form-2col { grid-template-columns: 1fr; } }
.st-form-field label { display: block; font-family: sans-serif; font-size: 13px; font-weight: 500;
                       color: rgba(255,255,255,.7); margin-bottom: 5px; }
.st-form-row > label { display: block; font-family: sans-serif; font-size: 13px; font-weight: 500;
                       color: rgba(255,255,255,.7); margin-bottom: .5rem; }
.st-form-field input,
.st-contact-form input[type=text],
.st-contact-form input[type=email],
.st-contact-form input[type=tel],
.st-contact-form textarea {
  width: 100%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15);
  border-radius: 7px; padding: .6rem .9rem; font-size: 14px; font-family: sans-serif;
  color: #fff; outline: none; transition: border-color .15s; }
.st-contact-form input::placeholder,
.st-contact-form textarea::placeholder { color: rgba(255,255,255,.3); }
.st-contact-form input:focus,
.st-contact-form textarea:focus { border-color: rgba(255,255,255,.5); }
.st-contact-form textarea { min-height: 100px; resize: vertical; }
.st-form-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.st-type-opt { font-family: sans-serif; font-size: 13px; color: rgba(255,255,255,.7);
               display: flex; align-items: center; gap: .4rem; cursor: pointer; }
.st-type-opt input { width: auto; accent-color: var(--st-bright); }
.st-form-submit { width: 100%; background: #fff; color: var(--st-blue);
                  font-family: sans-serif; font-size: 15px; font-weight: 500;
                  padding: 1rem 1.5rem; border-radius: 8px; border: none; cursor: pointer;
                  margin-top: .5rem; transition: background .15s; }
.st-form-submit:hover { background: var(--st-warm); }
.st-form-success { background: rgba(255,255,255,.15); color: #7fc8a9; font-family: sans-serif;
                   font-size: 14px; font-weight: 500; padding: .75rem 1rem;
                   border-radius: 7px; margin-top: .75rem; text-align: center; }
.st-form-error { background: rgba(255,100,100,.15); color: #ffaaaa; font-family: sans-serif;
                 font-size: 14px; padding: .75rem 1rem; border-radius: 7px; margin-top: .75rem; }
.st-direct-contact h3 { font-family: sans-serif; font-size: 15px; font-weight: 500;
                         color: #fff; margin-bottom: 1.25rem; }
.st-contact-items { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.25rem; }
.st-contact-item { display: flex; align-items: flex-start; gap: .75rem; }
.st-contact-icon { font-size: 1.25rem; flex-shrink: 0; }
.st-contact-label { font-family: sans-serif; font-size: 11px; color: rgba(255,255,255,.4);
                    text-transform: uppercase; letter-spacing: .06em; margin-bottom: 2px; }
.st-contact-item a { font-family: sans-serif; font-size: 14px; color: rgba(255,255,255,.85); }
.st-contact-item a:hover { color: #fff; }
.st-response-badge { font-family: sans-serif; font-size: 12px; font-weight: 500;
                     color: var(--st-bright); background: rgba(91,141,238,.15);
                     border: 1px solid rgba(91,141,238,.3); border-radius: 20px;
                     padding: 5px 14px; display: inline-block; }
.st-contact-logo { margin-top: 1.75rem; opacity: .7; }
.st-contact-logo img { max-width: 180px; filter: brightness(0) invert(1); }

/* ── TRUST BAR ── */
.st-trust-bar { background: #0a1220; padding: 1rem 2rem; }
.st-trust-inner { max-width: 1200px; margin: 0 auto;
                  display: flex; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.st-trust-item { font-family: sans-serif; font-size: 12px; color: rgba(255,255,255,.35);
                 display: flex; align-items: center; gap: .4rem; }
.st-trust-icon { color: var(--st-bright); font-size: 14px; }

/* ── FOOTER ── */
.st-footer { background: #0a1220; border-top: 1px solid rgba(255,255,255,.06); padding: 3rem 2rem; }
.st-footer-inner { max-width: 1200px; margin: 0 auto;
                   display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.5rem; }
@media(max-width:860px) { .st-footer-inner { grid-template-columns: 1fr 1fr; } }
@media(max-width:480px) { .st-footer-inner { grid-template-columns: 1fr; } }
.st-footer-brand { font-family: sans-serif; font-size: 14px; font-weight: 500;
                   color: #fff; margin-bottom: .6rem; }
.st-footer-desc { font-family: sans-serif; font-size: 12px; color: rgba(255,255,255,.35);
                  line-height: 1.65; margin-bottom: 1rem; }
.st-footer-contact { display: flex; flex-direction: column; gap: .3rem; }
.st-footer-contact a { font-family: sans-serif; font-size: 12px; color: rgba(255,255,255,.45);
                        transition: color .15s; }
.st-footer-contact a:hover { color: var(--st-bright); }
.st-footer-col-title { font-family: sans-serif; font-size: 10px; font-weight: 500;
                       letter-spacing: .1em; text-transform: uppercase;
                       color: rgba(255,255,255,.3); margin-bottom: .75rem; }
.st-footer-links { list-style: none; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.st-footer-links a { font-family: sans-serif; font-size: 13px; color: rgba(255,255,255,.45);
                      transition: color .15s; }
.st-footer-links a:hover { color: rgba(255,255,255,.8); }
.st-footer-bottom { background: #070d18; padding: .85rem 2rem;
                    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.st-footer-copy { font-family: sans-serif; font-size: 11px; color: rgba(255,255,255,.2); }
.st-footer-legal { display: flex; gap: 1.25rem; }
.st-footer-legal a { font-family: sans-serif; font-size: 11px; color: rgba(255,255,255,.2); }
.st-footer-legal a:hover { color: rgba(255,255,255,.5); }

/* ── RESPONSIVE ── */
@media(max-width:860px) {
  .st-hero { padding: 2.5rem 1.25rem 2rem; }
  .st-section { padding: 2.5rem 1.25rem; }
  .st-stats { grid-template-columns: repeat(2,1fr); }
  .st-strip-divider { display: none; }
  .st-strip-inner { gap: .75rem; }
}

/* ── PAGE HERO ── */
.st-page-hero { background: var(--st-navy); padding: 5rem 2rem 4rem; }
.st-page-hero-small { padding: 3rem 2rem; }
.st-page-hero-inner { max-width: 1200px; margin: 0 auto; }
.st-page-eye { font-family: sans-serif; font-size: 11px; font-weight: 500; color: var(--st-bright);
               letter-spacing: .15em; text-transform: uppercase; margin-bottom: 1rem;
               display: flex; align-items: center; gap: .5rem; }
.st-page-eye::before { content: ''; display: inline-block; width: 24px; height: 1.5px; background: var(--st-bright); }
.st-page-h1 { font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 400; font-style: italic;
              color: #fff; line-height: 1.1; margin-bottom: .75rem; }
.st-page-h1 strong { font-style: normal; color: var(--st-bright); }
.st-page-sub { font-family: sans-serif; font-size: 16px; color: rgba(255,255,255,.55);
               line-height: 1.65; max-width: 560px; }

/* ── SCHLEIFMASCHINEN ── */
.st-verfahren-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1rem; margin-top: .75rem; }
.st-verfahren-card { border: 1px solid #e8ddd0; border-radius: 10px; padding: 1.75rem;
                     background: #fff; transition: border-color .15s; }
.st-verfahren-card:hover { border-color: var(--st-blue); }
.st-verfahren-icon { font-size: 1.5rem; color: var(--st-blue); margin-bottom: .75rem; }
.st-verfahren-card h3 { font-family: sans-serif; font-size: 15px; font-weight: 500; color: var(--st-navy); margin-bottom: .5rem; }
.st-verfahren-card p { font-family: sans-serif; font-size: 13px; color: var(--st-mute); line-height: 1.6; }
.st-paket-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 1rem; margin-top: .75rem; }
.st-paket-item { padding: 1.5rem; background: #fff; border-radius: 10px; border: 1px solid #e8ddd0; }
.st-paket-num { font-family: sans-serif; font-size: 2rem; font-weight: 400;
                color: rgba(26,62,110,.2); line-height: 1; margin-bottom: .5rem; }
.st-paket-item h3 { font-family: sans-serif; font-size: 14px; font-weight: 500; color: var(--st-navy); margin-bottom: .4rem; }
.st-paket-item p  { font-family: sans-serif; font-size: 13px; color: var(--st-mute); line-height: 1.6; }

/* ── VERSCHLEISSTEILE PAGE ── */
.st-vt-intro-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 3rem; align-items: start; }
@media(max-width:860px) { .st-vt-intro-grid { grid-template-columns: 1fr; } }
.st-vt-highlights { display: flex; flex-direction: column; gap: .4rem; margin-top: 1rem; }
.st-vt-highlight-item { font-family: sans-serif; font-size: 14px; color: var(--st-text);
                         display: flex; align-items: center; gap: .5rem; }
.st-vt-hl-icon { color: var(--st-blue); font-weight: 500; }
.st-vt-categories { display: flex; flex-direction: column; gap: 1rem; }
.st-vt-cat-card { border: 1px solid #e8ddd0; border-radius: 10px; padding: 1.25rem; background: #fff; }
.st-vt-cat-title { font-family: sans-serif; font-size: 14px; font-weight: 500; color: var(--st-blue);
                   margin-bottom: .75rem; padding-bottom: .5rem; border-bottom: 1px solid #f0e8dc; }

/* ── KONTAKT PAGE ── */
.st-contact-page-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: start; }
@media(max-width:860px) { .st-contact-page-grid { grid-template-columns: 1fr; } }
.st-contact-form-light { background: var(--st-warm); border-radius: 12px; padding: 2rem; border: 1px solid var(--st-gold); }
.st-contact-form-title { font-family: sans-serif; font-size: 17px; font-weight: 500; color: var(--st-navy); margin-bottom: 1.25rem; }
.st-contact-form-light label { color: var(--st-text) !important; }
.st-contact-form-light input,
.st-contact-form-light textarea { background: #fff !important; border-color: #d4c4a8 !important; color: var(--st-text) !important; }
.st-contact-form-light input::placeholder,
.st-contact-form-light textarea::placeholder { color: var(--st-mute) !important; }
.st-contact-form-light input:focus,
.st-contact-form-light textarea:focus { border-color: var(--st-blue) !important; }
.st-form-type-light label { color: var(--st-text) !important; }
.st-form-submit-blue { width: 100%; background: var(--st-blue); color: #fff; font-family: sans-serif;
                        font-size: 15px; font-weight: 500; padding: 1rem 1.5rem; border-radius: 8px;
                        border: none; cursor: pointer; margin-top: .5rem; transition: background .15s; }
.st-form-submit-blue:hover { background: #2a5a9e; }
.st-form-success-light { background: #EAF3DE; color: #27500A; font-family: sans-serif; font-size: 14px;
                          font-weight: 500; padding: .75rem 1rem; border-radius: 7px; margin-top: .75rem; }
.st-contact-sidebar { padding: 1.5rem; background: var(--st-navy); border-radius: 12px; }
.st-contact-sidebar h3 { font-family: sans-serif; font-size: 15px; font-weight: 500; color: #fff; margin-bottom: 1.25rem; }
.st-contact-label-dark { font-family: sans-serif; font-size: 11px; color: rgba(255,255,255,.4);
                          text-transform: uppercase; letter-spacing: .06em; margin-bottom: 2px; }
.st-contact-link { font-family: sans-serif; font-size: 14px; color: rgba(255,255,255,.8); }
.st-contact-link:hover { color: var(--st-bright); }
.st-response-badge-dark { font-family: sans-serif; font-size: 12px; font-weight: 500;
                           color: var(--st-bright); background: rgba(91,141,238,.15);
                           border: 1px solid rgba(91,141,238,.3); border-radius: 20px;
                           padding: 5px 14px; display: inline-block; margin: 1rem 0; }
.st-contact-note { font-family: sans-serif; font-size: 12px; color: rgba(255,255,255,.4);
                   line-height: 1.6; margin-top: .75rem; }

/* ── CTA BUTTON WEISS ── */
.st-btn-white { display: inline-block; background: #fff; color: var(--st-blue) !important;
                font-family: sans-serif; font-size: 14px; font-weight: 500;
                padding: 12px 28px; border-radius: 6px; transition: background .15s, transform .15s; }
.st-btn-white:hover { background: var(--st-warm); transform: translateY(-1px); }

/* ── LEGAL SEITEN ── */
.st-legal-content { max-width: 760px; }
.st-legal-content h2 { font-family: sans-serif; font-size: 20px; font-weight: 500;
                        color: var(--st-navy); margin: 2rem 0 .75rem; padding-top: 1rem;
                        border-top: 1px solid #e8ddd0; }
.st-legal-content h2:first-child { border-top: none; margin-top: 0; padding-top: 0; }
.st-legal-content h3 { font-family: sans-serif; font-size: 15px; font-weight: 500;
                        color: var(--st-navy); margin: 1.25rem 0 .5rem; }
.st-legal-content p { font-family: sans-serif; font-size: 14px; color: #3a2a1a;
                       line-height: 1.75; margin-bottom: .85rem; }
.st-legal-content a { color: var(--st-blue); }
.st-legal-note { font-size: 12px !important; color: var(--st-mute) !important;
                 background: var(--st-warm); padding: .75rem 1rem; border-radius: 6px;
                 border-left: 3px solid var(--st-gold); margin-top: 1.5rem; }

/* ── SPRACHUMSCHALTER ── */
.st-lang-switch { display: flex; align-items: center; gap: .3rem; }
.st-lang-link { font-family: sans-serif; font-size: 11px; font-weight: 500; color: rgba(255,255,255,.4);
                letter-spacing: .06em; transition: color .15s; }
.st-lang-link:hover, .st-lang-active { color: rgba(255,255,255,.85) !important; }
.st-lang-sep { font-size: 10px; color: rgba(255,255,255,.2); }
@media(max-width:900px) { .st-lang-switch { display: none; } }

/* === Floating WhatsApp Button === */
.st-wa-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  background: #25D366;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(37,211,102,.4);
  transition: transform .2s, box-shadow .2s;
}
.st-wa-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 24px rgba(37,211,102,.5);
}
@media(min-width:900px){
  .st-wa-float { bottom: 32px; right: 32px; }
}
/* === Kontakt-Seite Klassen-Aliases === */
.st-contact-page-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2.5rem; align-items: start; }
@media(max-width:860px) { .st-contact-page-grid { grid-template-columns: 1fr; } }

.st-contact-form-light { background: #f8f4ee; border-radius: 12px; padding: 1.75rem; }
.st-contact-form-light input[type=text],
.st-contact-form-light input[type=email],
.st-contact-form-light input[type=tel],
.st-contact-form-light textarea {
  width: 100%; padding: .65rem .85rem; border-radius: 6px;
  border: 1.5px solid #d0c8bc; background: #fff;
  font-family: sans-serif; font-size: 14px; color: #1a1008;
  box-sizing: border-box;
}
.st-contact-form-light input:focus,
.st-contact-form-light textarea:focus { border-color: var(--st-blue); outline: none; }
.st-contact-form-light label { color: #3a2a1a; }
.st-contact-form-title { font-family: sans-serif; font-size: 1.1rem; font-weight: 600; margin-bottom: 1.25rem; color: var(--st-navy); }

.st-form-submit-blue {
  width: 100%; background: var(--st-blue); color: #fff;
  border: none; border-radius: 6px; padding: .85rem 1.5rem;
  font-family: sans-serif; font-size: 15px; font-weight: 600;
  cursor: pointer; margin-top: .5rem; transition: background .15s;
  -webkit-appearance: none; touch-action: manipulation;
}
.st-form-submit-blue:hover { background: var(--st-navy); }
.st-form-submit-blue:disabled { opacity: .6; cursor: not-allowed; }

.st-form-success-light { background: #d4edda; color: #155724; border-radius: 6px;
  padding: .75rem 1rem; font-family: sans-serif; font-size: 14px; margin-top: .75rem; }
.st-form-error { background: #f8d7da; color: #721c24; border-radius: 6px;
  padding: .75rem 1rem; font-family: sans-serif; font-size: 14px; margin-top: .75rem; }

.st-type-opt-light { font-family: sans-serif; font-size: 13px; color: #3a2a1a;
  display: flex; align-items: center; gap: .4rem; cursor: pointer; }
.st-contact-items-dark .st-contact-label-dark { font-family: sans-serif; font-size: 11px;
  font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #8a7a6a; }
.st-contact-items-dark .st-contact-link { font-family: sans-serif; font-size: 14px; color: #1a3e6e; }
.st-response-badge-dark { background: var(--st-blue); color: #fff; border-radius: 20px;
  padding: .35rem .85rem; font-family: sans-serif; font-size: 12px; display: inline-block; margin-top: 1rem; }
.st-contact-note { font-family: sans-serif; font-size: 13px; color: #6a5a4a; margin-top: 1rem; line-height: 1.5; }
