{"id":982,"date":"2024-05-02T08:54:41","date_gmt":"2024-05-02T06:54:41","guid":{"rendered":"https:\/\/bt-automaten.de\/start\/?page_id=982"},"modified":"2026-07-24T08:22:52","modified_gmt":"2026-07-24T06:22:52","slug":"unser-service","status":"publish","type":"page","link":"https:\/\/bt-automaten.de\/start\/unser-service\/","title":{"rendered":"Unsere Dienstleistungen"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"982\" class=\"elementor elementor-982\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-90ac38b e-con-full e-flex e-con e-parent\" data-id=\"90ac38b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6b55920 elementor-widget elementor-widget-html\" data-id=\"6b55920\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- BT-Automatentechnik: unser-service -->\n<style>\n\/* ============================================================\n   BT-Automatentechnik \\2014  Stylesheet\n   1. Custom Properties\n   2. Reset und Grundlagen\n   3. Typografie mit Verlaeufen\n   4. Layout\n   5. Header weiss mit Dropdowns\n   6. Hero, Parallax, Dampf, Bohnen\n   7. Komponenten\n   8. Kontaktformular\n   9. Footer\n   10. Animationen und Reveal\n   11. Prospekte, Video, Galerie\n   12. Responsive\n   ============================================================ *\/\n\n\/* ---------- 1. CUSTOM PROPERTIES ---------------------------- *\/\n:root {\n  --c-black:      #0B0B0B;\n  --c-red:        #E30613;   \/* helles knalliges Rot aus dem Logo *\/\n  --c-cream:      #F5EFE6;\n  --c-coffee:     #3B2417;\n\n  --c-red-dark:   #B4030F;\n  --c-red-light:  #FF3B3B;\n  --c-red-soft:   rgba(227, 6, 19, 0.08);\n  --c-black-soft: #141414;\n  --c-line:       #E3DACD;\n  --c-line-dark:  rgba(245, 239, 230, 0.13);\n  --c-white:      #FFFFFF;\n\n  --t-on-cream:   #0B0B0B;\n  --t-on-cream-2: #55504A;\n  --t-on-black:   #F5EFE6;\n  --t-on-black-2: rgba(245, 239, 230, 0.66);\n\n  --f-head: 'Sora', system-ui, -apple-system, 'Segoe UI', sans-serif;\n  --f-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;\n\n  --sp-section: 7rem;\n  --sp-section-sm: 4.5rem;\n  --maxw: 1180px;\n  --r-sm: 10px;\n  --r-md: 16px;\n  --r-lg: 26px;\n  --r-pill: 100px;\n\n  --sh-sm: 0 2px 12px rgba(11, 11, 11, 0.06);\n  --sh-md: 0 16px 44px -16px rgba(11, 11, 11, 0.20);\n  --sh-lg: 0 30px 70px -24px rgba(11, 11, 11, 0.32);\n  --sh-red: 0 14px 34px -12px rgba(193, 18, 31, 0.55);\n\n  --head-h: 82px;\n  --ease: cubic-bezier(0.22, 1, 0.36, 1);\n}\n\n\/* ---------- 2. RESET ---------------------------------------- *\/\n*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }\nhtml { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }\n\nbody {\n  font-family: var(--f-body);\n  font-size: 1rem; line-height: 1.7;\n  color: var(--t-on-cream);\n  background: var(--c-cream);\n  -webkit-font-smoothing: antialiased;\n  overflow-x: hidden;\n}\nimg { display: block; max-width: 100%; height: auto; }\na { color: inherit; text-decoration: none; }\nul { list-style: none; }\n::selection { background: var(--c-red); color: #fff; }\n:focus-visible { outline: 3px solid var(--c-red); outline-offset: 3px; }\n\n\/* ---------- 3. TYPOGRAFIE MIT VERLAEUFEN --------------------\n   Apple-Anmutung: grosse Headline, Farbverlauf von voller\n   Deckkraft nach leicht transparent.                           *\/\nh1, h2, h3, h4 {\n  font-family: var(--f-head); font-weight: 700;\n  line-height: 1.08; letter-spacing: -0.035em;\n}\nh1 { font-size: clamp(2.6rem, 6.5vw, 5rem); }\nh2 { font-size: clamp(2rem, 4.4vw, 3.4rem); }\nh3 { font-size: clamp(1.2rem, 2vw, 1.55rem); letter-spacing: -0.02em; }\np  { max-width: 66ch; }\n\n\/* Verlaufstext auf hellem Grund *\/\n.grad-dark {\n  background: linear-gradient(175deg, #0B0B0B 20%, #4A423B 100%);\n  -webkit-background-clip: text; background-clip: text;\n  -webkit-text-fill-color: transparent;\n}\n\/* Verlaufstext auf dunklem Grund, Apple-Stil *\/\n.grad-light {\n  background: linear-gradient(175deg, #FFFFFF 25%, rgba(245, 239, 230, 0.55) 100%);\n  -webkit-background-clip: text; background-clip: text;\n  -webkit-text-fill-color: transparent;\n}\n\/* Roter Verlauf fuer Akzentwoerter *\/\n.grad-red {\n  background: linear-gradient(115deg, var(--c-red) 10%, var(--c-red-light) 90%);\n  -webkit-background-clip: text; background-clip: text;\n  -webkit-text-fill-color: transparent;\n}\n\n\/* Roter Unterstrich, zeichnet sich beim Sichtbarwerden *\/\n.underline-red { position: relative; display: inline-block; }\n.underline-red::after {\n  content: ''; position: absolute; left: 0; right: 0; bottom: -0.08em;\n  height: 0.09em; background: linear-gradient(90deg, var(--c-red), var(--c-red-light));\n  border-radius: 4px; transform: scaleX(0); transform-origin: left;\n  transition: transform 0.9s var(--ease) 0.25s;\n}\n.reveal.is-visible .underline-red::after,\n.underline-red.is-visible::after { transform: scaleX(1); }\n\n\/* ---------- 4. LAYOUT --------------------------------------- *\/\n.container { max-width: var(--maxw); margin: 0 auto; padding: 0 1.5rem; }\n.section { padding: var(--sp-section) 0; position: relative; overflow: hidden; }\n.section-sm { padding: var(--sp-section-sm) 0; position: relative; }\n\n.section--dark { background: linear-gradient(150deg, #E30613 0%, #C10510 60%, #9E040D 100%); color: #fff; }\n.section--dark h1, .section--dark h2, .section--dark h3 { color: #fff; }\n.section--dark p { color: rgba(255,255,255,.9); }\n\/* Auf rotem Grund duerfen die Verlaufswoerter nicht wieder rot sein *\/\n.section--dark .grad-light, .section--dark .grad-dark {\n  -webkit-text-fill-color: initial; background: none; color: #fff;\n}\n.section--dark .grad-red {\n  -webkit-text-fill-color: initial; background: none; color: #FFE0B8;\n}\n.section--coffee { background: linear-gradient(160deg, #3B2417 0%, #241408 100%); color: var(--t-on-black); }\n.section--coffee h2, .section--coffee h3 { color: var(--c-cream); }\n.section--coffee p { color: rgba(245, 239, 230, 0.72); }\n.section--white { background: var(--c-white); }\n\n.eyebrow {\n  display: inline-flex; align-items: center; gap: 0.55rem;\n  font-family: var(--f-head); font-size: 0.76rem; font-weight: 600;\n  letter-spacing: 0.18em; text-transform: uppercase;\n  color: var(--c-red); margin-bottom: 1.1rem;\n  padding: 0.4rem 0.9rem; border-radius: var(--r-pill);\n  background: var(--c-red-soft); border: 1px solid rgba(193, 18, 31, 0.2);\n}\n.section--dark .eyebrow, .section--coffee .eyebrow {\n  color: #FF8A93; background: rgba(230, 57, 70, 0.14); border-color: rgba(230, 57, 70, 0.3);\n}\n\/* Eyebrow im roten Hero: hell auf Rot statt rot auf rot *\/\n.hero .eyebrow { color: #fff; background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.35); }\n\n.lead { font-size: 1.18rem; color: var(--t-on-cream-2); max-width: 62ch; }\n.section--dark .lead { color: var(--t-on-black-2); }\n\n.grid { display: grid; gap: 1.6rem; }\n.grid--2 { grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); }\n.grid--3 { grid-template-columns: repeat(auto-fit, minmax(265px, 1fr)); }\n.grid--4 { grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); }\n\n.split { display: grid; grid-template-columns: 1fr 1fr; gap: 4.5rem; align-items: center; }\n.split img { border-radius: var(--r-lg); box-shadow: var(--sh-lg); width: 100%; }\n\n\/* ---------- 5. HEADER WEISS --------------------------------- *\/\n.header {\n  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;\n  height: var(--head-h);\n  background: rgba(255, 255, 255, 0.86);\n  backdrop-filter: blur(16px) saturate(180%);\n  border-bottom: 1px solid transparent;\n  transition: box-shadow 0.3s var(--ease), background 0.3s var(--ease), border-color 0.3s;\n}\n\/* Beim Scrollen setzt sich der Header deutlicher ab *\/\n.header.is-scrolled {\n  background: rgba(255, 255, 255, 0.97);\n  box-shadow: 0 4px 24px -8px rgba(11, 11, 11, 0.14);\n  border-bottom-color: var(--c-line);\n}\n\/* Feine rote Fortschrittslinie am unteren Rand *\/\n.header__progress {\n  position: absolute; left: 0; bottom: -1px; height: 2px; width: 0%;\n  background: linear-gradient(90deg, var(--c-red), var(--c-red-light));\n  transition: width 0.1s linear;\n}\n.header__inner {\n  max-width: var(--maxw); margin: 0 auto; padding: 0 1.5rem;\n  height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem;\n}\n.logo { display: flex; align-items: center; flex-shrink: 0; }\n.logo img { height: 46px; width: auto; transition: transform 0.3s var(--ease); }\n.logo:hover img { transform: scale(1.05); }\n\n.nav__list { display: flex; align-items: center; gap: 0.15rem; }\n.nav__list > li > a, .nav__subtoggle {\n  display: flex; align-items: center; gap: 0.35rem;\n  padding: 0.6rem 0.95rem; border-radius: var(--r-pill);\n  font-family: var(--f-body); font-size: 0.94rem; font-weight: 500;\n  color: #3A3630; background: none; border: 0; cursor: pointer;\n  transition: color 0.2s, background 0.2s;\n  position: relative;\n}\n.nav__list > li > a:hover, .nav__subtoggle:hover { color: var(--c-red); background: var(--c-red-soft); }\n.nav__list > li > a[aria-current=\"page\"], .nav__subtoggle.is-active { color: var(--c-red); font-weight: 600; }\n\/* Roter Punkt unter dem aktiven Punkt *\/\n.nav__list > li > a[aria-current=\"page\"]::after, .nav__subtoggle.is-active::after {\n  content: ''; position: absolute; left: 50%; bottom: 0.15rem; transform: translateX(-50%);\n  width: 5px; height: 5px; border-radius: 50%; background: var(--c-red);\n}\n.nav__chev { font-size: 0.62rem; transition: transform 0.25s var(--ease); opacity: 0.6; }\n\n\/* Dropdown als weisse Karte *\/\n.nav__item--has-sub { position: relative; }\n.nav__sub {\n  position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%) translateY(8px);\n  min-width: 262px; background: var(--c-white);\n  border: 1px solid var(--c-line); border-radius: var(--r-md);\n  padding: 0.5rem; box-shadow: var(--sh-lg);\n  opacity: 0; visibility: hidden;\n  transition: opacity 0.22s var(--ease), transform 0.22s var(--ease), visibility 0.22s;\n}\n.nav__item--has-sub:hover .nav__sub,\n.nav__item--has-sub:focus-within .nav__sub {\n  opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);\n}\n.nav__item--has-sub:hover .nav__chev { transform: rotate(180deg); }\n.nav__sub a {\n  display: flex; align-items: center; gap: 0.6rem;\n  padding: 0.7rem 0.9rem; border-radius: var(--r-sm);\n  font-size: 0.93rem; color: #3A3630;\n  transition: background 0.16s, color 0.16s, padding-left 0.16s;\n}\n.nav__sub a::before { content: ''; }\n.nav__sub a:hover { background: var(--c-red-soft); color: var(--c-red); padding-left: 1.05rem; }\n.nav__sub a:hover::before { opacity: 1; }\n.nav__sub a[aria-current=\"page\"] { color: var(--c-red); background: var(--c-red-soft); font-weight: 600; }\n.nav__sub a[aria-current=\"page\"]::before { opacity: 1; }\n\n.nav__cta {\n  background: linear-gradient(120deg, var(--c-red), var(--c-red-light)) !important;\n  color: #fff !important; font-weight: 600 !important;\n  padding: 0.68rem 1.4rem !important; border-radius: var(--r-pill) !important;\n  box-shadow: var(--sh-red);\n  transition: transform 0.2s var(--ease), box-shadow 0.2s !important;\n}\n.nav__cta:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -12px rgba(193, 18, 31, 0.65); }\n.nav__cta::after { display: none !important; }\n\n.nav__toggle { display: none; background: none; border: 0; cursor: pointer; width: 44px; height: 44px; color: var(--c-black); }\n.nav__toggle span { display: block; width: 22px; height: 2px; background: currentColor; margin: 5px auto; border-radius: 2px; transition: transform 0.28s var(--ease), opacity 0.2s; }\n.nav__toggle[aria-expanded=\"true\"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }\n.nav__toggle[aria-expanded=\"true\"] span:nth-child(2) { opacity: 0; }\n.nav__toggle[aria-expanded=\"true\"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }\n\n\/* ---------- 6. HERO, PARALLAX, DAMPF, BOHNEN ---------------- *\/\n.hero {\n  position: relative; overflow: hidden;\n  min-height: 88vh; display: flex; align-items: center;\n  padding: calc(var(--head-h) + 4rem) 0 4rem;\n  background: var(--c-red);\n}\n\/* Das Foto liegt hinter einem knallroten Verlauf, der Text steht\n   gut lesbar in Weiss darueber. Das Bild bleibt als Struktur sichtbar. *\/\n.hero__bg {\n  position: absolute; inset: 0; z-index: 0;\n  background-size: cover; background-position: center right;\n  will-change: transform; transform: scale(1.06);\n}\n.hero__bg::after {\n  content: ''; position: absolute; inset: 0;\n  background:\n    linear-gradient(105deg, rgba(227,6,19,0.97) 0%, rgba(227,6,19,0.86) 46%, rgba(158,4,13,0.72) 100%),\n    linear-gradient(0deg, rgba(158,4,13,0.35), transparent 60%);\n}\n\/* Roter Lichtschein, bewegt sich eigenstaendig *\/\n.hero__glow {\n  position: absolute; z-index: 1; width: 560px; height: 560px; border-radius: 50%;\n  background: radial-gradient(circle, rgba(255,255,255,0.16), transparent 62%);\n  top: -160px; right: -120px; left: auto; filter: blur(40px); pointer-events: none;\n  animation: glowDrift 14s ease-in-out infinite;\n}\n@keyframes glowDrift {\n  0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.8; }\n  50%      { transform: translate(60px, 40px) scale(1.16); opacity: 1; }\n}\n.hero .container { position: relative; z-index: 3; text-align: left; }\n.hero .container > * { max-width: none; }\n.hero h1 { max-width: none; width: 100%; margin-bottom: 0.4rem; }\n.hero p { color: rgba(255,255,255,0.92); font-size: 1.24rem; margin-top: 1.2rem; max-width: 60ch; }\n.hero__actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2.1rem; }\n\/* Text im Hero steht weiss auf Rot, das Akzentwort etwas heller *\/\n.hero .grad-light { -webkit-text-fill-color: initial; background: none; color: #fff; }\n.hero .grad-red {\n  -webkit-text-fill-color: initial; background: none;\n  color: #FFE3E0; text-shadow: 0 2px 20px rgba(0,0,0,.12);\n}\n\/* Primaerknopf weiss auf Rot, Telefon-Knopf transparent mit weisser Kontur *\/\n.hero .btn--primary { background: #fff; color: var(--c-red); box-shadow: 0 14px 34px -12px rgba(0,0,0,.4); }\n.hero .btn--primary:hover { background: #FFF3F0; transform: translateY(-3px); }\n.hero .btn--ghost { border-color: rgba(255,255,255,.6); color: #fff; background: rgba(255,255,255,.08); }\n.hero .btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.18); transform: translateY(-3px); }\n\n\/* Hinweis auf die kostenfreie Vollservice-Loesung.\n   Braucht mehr Gewicht als .hero p, sonst weiss auf weiss. *\/\n.hero p.hero__claim, .hero__claim {\n  display: inline-flex; align-items: center; gap: .6rem;\n  margin-top: 1.5rem; padding: .7rem 1.2rem;\n  border: 1px solid rgba(227,6,19,.2);\n  border-radius: 999px;\n  color: var(--c-red); -webkit-text-fill-color: var(--c-red);\n  background: #fff;\n  box-shadow: 0 8px 24px rgba(227,6,19,.12);\n  color: var(--c-red); font-weight: 700; font-size: .98rem; line-height: 1.4;\n}\n.hero__claim-mark { font-size: 1.15rem; }\n\n\/* Leistungen als Kacheln unter dem Hero *\/\n.leistungen { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }\n.leistung {\n  position: relative; overflow: hidden;\n  display: flex; flex-direction: column; gap: .45rem;\n  padding: 2rem 1.7rem 1.9rem;\n  border-radius: var(--radius);\n  background: #fff; border: 1px solid rgba(59,36,23,.1);\n  box-shadow: 0 6px 24px rgba(59,36,23,.07);\n  text-decoration: none; color: inherit;\n  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;\n}\n.leistung::after {\n  content: \"\"; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;\n  background: linear-gradient(90deg, var(--c-red), #F0656F);\n  transform: scaleX(0); transform-origin: left; transition: transform .35s ease;\n}\n.leistung:hover, .leistung:focus-visible { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(59,36,23,.14); border-color: rgba(193,18,31,.25); }\n.leistung:hover::after, .leistung:focus-visible::after { transform: scaleX(1); }\n.leistung__icon { font-size: 1.9rem; line-height: 1; }\n.leistung b {\n  font-family: var(--font-head); font-size: 1.35rem; letter-spacing: .01em;\n  background: linear-gradient(120deg, var(--c-red), #E23744);\n  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;\n}\n.leistung span:last-child { font-size: .95rem; color: var(--c-text-soft); line-height: 1.5; }\n.leistung--strong { background: linear-gradient(150deg, #fff, #FDF1F2); border-color: rgba(193,18,31,.22); }\n.leistung--strong::after { transform: scaleX(1); }\n\n\/* Leistungen als prominente Chips *\/\n@media (max-width: 1000px) { .leistungen { grid-template-columns: repeat(2, 1fr); } }\n\n.pills { display: flex; flex-wrap: wrap; gap: .7rem; list-style: none; margin: 1.1rem 0 0; padding: 0; }\n.pill {\n  display: block; padding: .72rem 1.35rem; border-radius: 999px;\n  font-family: var(--font-head); font-weight: 600;\n  font-size: .86rem; letter-spacing: .1em; text-transform: uppercase;\n  color: #fff; text-decoration: none;\n  background: rgba(255,255,255,.08);\n  border: 1px solid rgba(255,255,255,.26);\n  transition: transform .25s ease, background .25s ease, border-color .25s ease;\n}\n.pill:hover, .pill:focus-visible { transform: translateY(-3px); background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.5); }\n.pill--strong {\n  background: linear-gradient(120deg, var(--c-red), #E23744);\n  border-color: transparent;\n  box-shadow: 0 10px 26px rgba(193,18,31,.42);\n}\n.pill--strong:hover, .pill--strong:focus-visible { background: linear-gradient(120deg, #D3182A, #F04a58); }\n\n\/* Unterseiten-Kopf kompakter *\/\n.pagehead { min-height: 58vh; padding: calc(var(--head-h) + 5rem) 0 4.5rem; }\n.pagehead h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); max-width: 19ch; }\n\n.crumbs { font-size: 0.85rem; color: rgba(245, 239, 230, 0.5); margin-bottom: 1.4rem; }\n.crumbs a:hover { color: var(--c-red-light); }\n\n\/* --- Dampfende Tasse --- *\/\n.steam-cup { position: relative; width: 86px; height: 96px; margin-bottom: 1.8rem; }\n.steam-cup__cup {\n  position: absolute; bottom: 0; left: 10px; width: 58px; height: 44px;\n  background: linear-gradient(180deg, #FFFFFF, var(--c-cream));\n  border-radius: 5px 5px 20px 20px; box-shadow: 0 10px 24px -8px rgba(0,0,0,0.6);\n}\n.steam-cup__cup::after {\n  content: ''; position: absolute; right: -15px; top: 9px;\n  width: 20px; height: 20px; border: 4px solid var(--c-cream);\n  border-left-color: transparent; border-radius: 50%;\n}\n.steam-cup__cup::before {\n  content: ''; position: absolute; inset: 5px 5px auto 5px; height: 7px;\n  background: linear-gradient(90deg, #3B2417, #5A3A24); border-radius: 4px;\n}\n.steam { position: absolute; bottom: 46px; width: 6px; border-radius: 4px; background: rgba(245,239,230,0.55); filter: blur(1px); }\n.steam--1 { left: 19px; height: 24px; animation: steam 3.4s ease-in-out infinite; }\n.steam--2 { left: 36px; height: 34px; animation: steam 3.4s ease-in-out 0.55s infinite; }\n.steam--3 { left: 53px; height: 22px; animation: steam 3.4s ease-in-out 1.1s infinite; }\n@keyframes steam {\n  0%   { opacity: 0; transform: translateY(8px) scaleY(0.5) translateX(0); }\n  30%  { opacity: 0.85; }\n  100% { opacity: 0; transform: translateY(-30px) scaleY(1.25) translateX(6px); }\n}\n\n\/* --- Schwebende Kaffeebohnen als Hintergrunddeko --- *\/\n.beans { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }\n.bean {\n  position: absolute; font-size: 1.5rem; opacity: 0.13;\n  animation: beanFloat linear infinite;\n  will-change: transform;\n}\n.section--dark .bean { opacity: 0.14; } .hero .bean { opacity: 0.5; }\n@keyframes beanFloat {\n  0%   { transform: translateY(110%) rotate(0deg); }\n  100% { transform: translateY(-140%) rotate(340deg); }\n}\n\n\/* Bohnen-Trenner zwischen Abschnitten *\/\n.bean-divider {\n  display: flex; align-items: center; justify-content: center; gap: 1rem;\n  padding: 3rem 0; color: var(--c-red);\n}\n.bean-divider::before, .bean-divider::after {\n  content: ''; height: 1px; flex: 1; max-width: 200px;\n  background: linear-gradient(90deg, transparent, var(--c-line));\n}\n.bean-divider::after { background: linear-gradient(270deg, transparent, var(--c-line)); }\n.bean-divider span { display: none; }\n.bean-divider { display: none; }\n@keyframes beanPulse { 0%,100% { opacity: 0.55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.08); } }\n.section--dark .bean-divider::before { background: linear-gradient(90deg, transparent, var(--c-line-dark)); }\n.section--dark .bean-divider::after  { background: linear-gradient(270deg, transparent, var(--c-line-dark)); }\n\n\/* ---------- 7. KOMPONENTEN ---------------------------------- *\/\n.btn {\n  display: inline-flex; align-items: center; gap: 0.6rem;\n  font-family: var(--f-head); font-weight: 600; font-size: 1rem; line-height: 1;\n  padding: 1.1rem 2.1rem; border-radius: var(--r-pill);\n  border: 2px solid transparent; cursor: pointer;\n  transition: transform 0.25s var(--ease), box-shadow 0.25s, background 0.25s, border-color 0.25s, color 0.25s;\n  position: relative; overflow: hidden;\n}\n\/* Lichtreflex laeuft beim Hover ueber den Button *\/\n.btn::before {\n  content: ''; position: absolute; top: 0; left: -120%; width: 60%; height: 100%;\n  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.32), transparent);\n  transition: left 0.6s var(--ease);\n}\n.btn:hover::before { left: 130%; }\n.btn--primary { background: linear-gradient(120deg, var(--c-red), var(--c-red-light)); color: #fff; box-shadow: var(--sh-red); }\n.btn--primary:hover { transform: translateY(-3px); box-shadow: 0 22px 46px -14px rgba(193,18,31,0.7); }\n.btn--ghost { border-color: rgba(245,239,230,0.35); color: var(--c-cream); backdrop-filter: blur(6px); }\n.btn--ghost:hover { border-color: var(--c-red-light); color: #fff; background: rgba(193,18,31,0.22); transform: translateY(-3px); }\n.btn--dark { background: var(--c-black); color: var(--c-cream); }\n.btn--dark:hover { background: var(--c-coffee); transform: translateY(-3px); box-shadow: var(--sh-lg); }\n\n\/* Karten mit rotem Lichtrand beim Hover *\/\n.card {\n  position: relative; background: var(--c-white);\n  border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 2.2rem;\n  box-shadow: var(--sh-sm); overflow: hidden;\n  transition: transform 0.3s var(--ease), box-shadow 0.3s, border-color 0.3s;\n}\n.card::after {\n  content: ''; position: absolute; inset: auto 0 0 0; height: 3px;\n  background: linear-gradient(90deg, var(--c-red), var(--c-red-light));\n  transform: scaleX(0); transform-origin: left; transition: transform 0.4s var(--ease);\n}\n.card:hover { transform: translateY(-7px); box-shadow: var(--sh-md); border-color: rgba(193,18,31,0.28); }\n.card:hover::after { transform: scaleX(1); }\n.card__icon { font-size: 2.1rem; line-height: 1; margin-bottom: 1.1rem; display: inline-block; transition: transform 0.35s var(--ease); }\n.card:hover .card__icon { transform: scale(1.16) rotate(-7deg); }\n.card h3 { margin-bottom: 0.65rem; }\n.card p { font-size: 0.97rem; color: var(--t-on-cream-2); }\n.section--dark .card { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.22); backdrop-filter: blur(4px); }\n.section--dark .card h3 { color: #fff; }\n.section--dark .card p { color: rgba(255,255,255,.86); }\n.section--coffee .card { background: rgba(255,255,255,0.05); border-color: rgba(245,239,230,0.14); }\n.section--coffee .card h3 { color: var(--c-cream); }\n.section--coffee .card p { color: rgba(245,239,230,0.72); }\n\n.card__num {\n  display: inline-flex; align-items: center; justify-content: center;\n  width: 46px; height: 46px; border-radius: 50%;\n  background: linear-gradient(135deg, var(--c-red), var(--c-red-light)); color: #fff;\n  font-family: var(--f-head); font-weight: 700; margin-bottom: 1.1rem;\n  box-shadow: var(--sh-red); transition: transform 0.35s var(--ease);\n}\n.card:hover .card__num { transform: scale(1.1) rotate(6deg); }\n\n\/* Hakenliste mit rotem Haken *\/\n.checklist li { position: relative; padding-left: 2.1rem; margin-bottom: 0.95rem; color: var(--t-on-cream-2); }\n.checklist li::before {\n  content: '\\2713 '; position: absolute; left: 0; top: 0.05rem;\n  width: 22px; height: 22px; border-radius: 50%;\n  background: var(--c-red-soft); color: var(--c-red);\n  display: flex; align-items: center; justify-content: center;\n  font-size: 0.75rem; font-weight: 700;\n}\n.section--dark .checklist li { color: rgba(255,255,255,.9); }\n.section--dark .checklist li::before { background: rgba(255,255,255,.2); color: #fff; }\n.checklist strong { color: var(--t-on-cream); }\n.section--dark .checklist strong { color: #fff; }\n.section--coffee .checklist li { color: rgba(245,239,230,0.75); }\n.section--coffee .checklist li::before { background: rgba(230,57,70,0.18); color: #FF8A93; }\n.section--coffee .checklist strong { color: var(--c-cream); }\n\n\/* Kennzahlen, Werte zaehlen beim Sichtbarwerden hoch *\/\n.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 2.2rem; }\n.stat b {\n  display: block; font-family: var(--f-head); font-size: clamp(2.4rem, 5vw, 3.6rem);\n  line-height: 1; letter-spacing: -0.04em;\n  background: linear-gradient(150deg, var(--c-red), var(--c-red-light));\n  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;\n}\n.stat span { font-size: 0.92rem; color: var(--t-on-cream-2); }\n.section--dark .stat span { color: rgba(255,255,255,.82); }\n\n.note {\n  border-left: 4px solid var(--c-red);\n  background: var(--c-red-soft);\n  padding: 1.35rem 1.6rem; border-radius: 0 var(--r-md) var(--r-md) 0; font-size: 0.97rem;\n}\n\n\/* Abschlussband mit rotem Verlauf *\/\n.cta-band {\n  background: linear-gradient(125deg, var(--c-red-dark) 0%, var(--c-red) 45%, var(--c-red-light) 100%);\n  color: #fff; text-align: center; position: relative; overflow: hidden;\n}\n.cta-band::before {\n  content: ''; position: absolute; inset: 0;\n  background: radial-gradient(circle at 22% 28%, rgba(255,255,255,0.20), transparent 55%);\n}\n.cta-band .container { position: relative; z-index: 2; }\n.cta-band h2 { color: #fff; }\n.cta-band p { color: rgba(255,255,255,0.92); margin: 1.1rem auto 2.2rem; }\n\n\/* Produktbild freigestellt *\/\n.produktbild {\n  display: flex; align-items: center; justify-content: center;\n  background: radial-gradient(circle at 50% 35%, #FFFFFF, #EFE7DA);\n  border: 1px solid var(--c-line); border-radius: var(--r-lg);\n  padding: 2.5rem; min-height: 340px; box-shadow: var(--sh-sm);\n}\n.produktbild img { max-height: 380px; width: auto; filter: drop-shadow(0 24px 40px rgba(0,0,0,0.22)); transition: transform 0.5s var(--ease); }\n.produktbild:hover img { transform: translateY(-10px) scale(1.03); }\n\n\/* ---------- 8. KONTAKTFORMULAR ------------------------------ *\/\n.form-wrap {\n  background: var(--c-white); border: 1px solid var(--c-line);\n  border-radius: var(--r-lg); padding: 2.75rem; box-shadow: var(--sh-lg);\n}\n.form-group { margin-bottom: 2.4rem; }\n.form-group__title {\n  font-family: var(--f-head); font-size: 0.78rem; font-weight: 600;\n  text-transform: uppercase; letter-spacing: 0.14em; color: var(--c-red);\n  padding-bottom: 0.7rem; margin-bottom: 1.6rem; border-bottom: 1px solid var(--c-line);\n  display: flex; align-items: center; gap: 0.5rem;\n}\n.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem; }\n.field { position: relative; }\n.field input, .field select, .field textarea {\n  width: 100%; padding: 1.45rem 1.05rem 0.6rem;\n  font-family: var(--f-body); font-size: 1rem; color: var(--t-on-cream);\n  background: var(--c-cream); border: 1.5px solid var(--c-line);\n  border-radius: var(--r-sm); outline: none;\n  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;\n}\n.field textarea { min-height: 150px; resize: vertical; padding-top: 1.7rem; }\n.field label {\n  position: absolute; left: 1.05rem; top: 1.05rem; font-size: 1rem; color: #8B8378;\n  pointer-events: none; transform-origin: left top;\n  transition: transform 0.18s var(--ease), color 0.18s;\n}\n.field input:focus, .field select:focus, .field textarea:focus {\n  border-color: var(--c-red); background: #fff; box-shadow: 0 0 0 4px var(--c-red-soft);\n}\n.field input:focus + label, .field input:not(:placeholder-shown) + label,\n.field textarea:focus + label, .field textarea:not(:placeholder-shown) + label,\n.field select:focus + label, .field select:valid + label {\n  transform: translateY(-0.66rem) scale(0.75); color: var(--c-red);\n}\n.field--full { grid-column: 1 \/ -1; }\n\n.consent { display: flex; gap: 0.8rem; align-items: flex-start; font-size: 0.89rem; color: var(--t-on-cream-2); }\n.consent input { width: 19px; height: 19px; accent-color: var(--c-red); margin-top: 0.25rem; flex-shrink: 0; }\n\n.form-submit { width: 100%; justify-content: center; margin-top: 1.4rem; }\n.form-submit[data-loading=\"true\"] { pointer-events: none; opacity: 0.8; }\n.form-submit .spinner { display: none; width: 17px; height: 17px; border: 2px solid rgba(255,255,255,0.4); border-top-color: #fff; border-radius: 50%; animation: spin 0.7s linear infinite; }\n.form-submit[data-loading=\"true\"] .spinner { display: block; }\n@keyframes spin { to { transform: rotate(360deg); } }\n\n.form-msg { display: none; padding: 1.1rem 1.35rem; border-radius: var(--r-sm); margin-top: 1.3rem; font-size: 0.95rem; }\n.form-msg--ok { background: #E8F5EC; border-left: 4px solid #1E8E4A; color: #175F33; }\n.form-msg--error { background: #FDECEE; border-left: 4px solid var(--c-red); color: #8A0D18; }\n.form-msg[data-show=\"true\"] { display: block; animation: msgIn 0.4s var(--ease); }\n@keyframes msgIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }\n\n\/* ---------- 9. FOOTER --------------------------------------- *\/\n.footer { background: var(--c-black); color: var(--t-on-black-2); padding: 4.5rem 0 2rem; position: relative; overflow: hidden; }\n\/* Dezentes Hintergrundbild im Footer, nur 10 Prozent sichtbar *\/\n.footer::before {\n  content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;\n  background: url('\/assets\/footer-bg.jpg') center\/cover no-repeat;\n  opacity: 0.10;\n}\n.footer > * { position: relative; z-index: 1; }\n.footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--c-line-dark); position: relative; z-index: 2; }\n.footer h4 { font-family: var(--f-head); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--c-cream); margin-bottom: 1.15rem; }\n.footer a { display: block; padding: 0.3rem 0; font-size: 0.92rem; transition: color 0.18s, transform 0.18s; }\n.footer a:hover { color: var(--c-red-light); transform: translateX(3px); }\n.footer__brand p { font-size: 0.92rem; max-width: 34ch; margin-top: 1rem; }\n.footer__bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-top: 1.75rem; font-size: 0.83rem; position: relative; z-index: 2; }\n.footer__contact li { padding: 0.3rem 0; font-size: 0.92rem; }\n\n\/* ---------- 10. ANIMATIONEN UND REVEAL ---------------------- *\/\n.reveal { opacity: 0; transform: translateY(34px); transition: opacity 0.75s var(--ease), transform 0.75s var(--ease); }\n.reveal.is-visible { opacity: 1; transform: none; }\n.reveal--left  { transform: translateX(-40px); }\n.reveal--right { transform: translateX(40px); }\n.reveal--zoom  { transform: scale(0.94); }\n.reveal--left.is-visible, .reveal--right.is-visible, .reveal--zoom.is-visible { transform: none; }\n\/* Gestaffelt innerhalb eines Rasters *\/\n.grid > .reveal:nth-child(2) { transition-delay: 0.09s; }\n.grid > .reveal:nth-child(3) { transition-delay: 0.18s; }\n.grid > .reveal:nth-child(4) { transition-delay: 0.27s; }\n.grid > .reveal:nth-child(5) { transition-delay: 0.36s; }\n.grid > .reveal:nth-child(6) { transition-delay: 0.45s; }\n\n@media (prefers-reduced-motion: reduce) {\n  .reveal { opacity: 1; transform: none; transition: none; }\n  .steam, .bean, .bean-divider span, .hero__glow { animation: none; }\n  .bean { opacity: 0.08; }\n  html { scroll-behavior: auto; }\n  .hero__bg { transform: none !important; }\n  [data-parallax] { transform: none !important; }\n}\n\n\/* ---------- 11. PROSPEKTE, VIDEO, GALERIE ------------------- *\/\n.prospekte { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 1.1rem; margin-top: 2.6rem; }\n.prospekt {\n  display: flex; align-items: center; gap: 1rem;\n  background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--r-md);\n  padding: 1.1rem 1.3rem; transition: border-color 0.25s, transform 0.25s var(--ease), box-shadow 0.25s;\n}\n.prospekt:hover { border-color: var(--c-red); transform: translateY(-4px); box-shadow: var(--sh-md); }\n.prospekt__icon {\n  flex-shrink: 0; width: 42px; height: 42px; border-radius: var(--r-sm);\n  background: linear-gradient(135deg, var(--c-red), var(--c-red-light)); color: #fff;\n  display: flex; align-items: center; justify-content: center;\n  font-size: 0.66rem; font-weight: 700; font-family: var(--f-head);\n  transition: transform 0.25s var(--ease);\n}\n.prospekt:hover .prospekt__icon { transform: scale(1.1) rotate(-5deg); }\n.prospekt__text b { display: block; font-family: var(--f-head); font-size: 0.96rem; color: var(--t-on-cream); }\n.prospekt__text span { font-size: 0.81rem; color: var(--t-on-cream-2); }\n.section--dark .prospekt { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.24); }\n.section--dark .prospekt__text b { color: #fff; }\n.section--dark .prospekt__text span { color: rgba(255,255,255,.82); }\n\n.video-box { position: relative; width: 100%; max-width: 920px; margin: 0 auto; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-lg); background: var(--c-black); }\n.video-box video { display: block; width: 100%; height: auto; }\n\n.galerie { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.3rem; margin-top: 2.6rem; }\n.galerie figure { overflow: hidden; border-radius: var(--r-lg); margin: 0; box-shadow: var(--sh-sm); }\n.galerie img { width: 100%; height: 270px; object-fit: cover; transition: transform 0.55s var(--ease); }\n.galerie figure:hover img { transform: scale(1.07); }\n\n\/* ---------- 12. RESPONSIVE ---------------------------------- *\/\n@media (max-width: 1050px) {\n  .nav__toggle { display: block; }\n  \/* Menue klappt ausschliesslich nach unten auf, ohne Bewegung,\n     ohne Verschieben. Es haengt fest unter dem Kopfbereich. *\/\n  .nav {\n    display: none;\n    position: absolute; top: 100%; left: 0; right: 0; width: 100%;\n    background: var(--c-white); border-bottom: 1px solid var(--c-line);\n    box-shadow: var(--sh-lg);\n    max-height: calc(100vh - var(--head-h)); overflow-y: auto;\n    transform: none !important; transition: none !important; animation: none !important;\n  }\n  .nav[data-open=\"true\"] { display: block; }\n  \/* Kein Nachrutschen, kein Slide bei den Menuepunkten *\/\n  .nav *, .nav__list, .nav__list li, .nav__sub {\n    transform: none !important; transition: none !important; animation: none !important;\n  }\n  .nav__list { flex-direction: column; align-items: stretch; gap: 0; padding: 1rem 1.5rem 2rem; }\n  .nav__list > li > a, .nav__subtoggle {\n    width: 100%; justify-content: space-between; padding: 0.95rem 0.5rem;\n    border-bottom: 1px solid var(--c-line); border-radius: 0; font-size: 1.02rem;\n  }\n  .nav__list > li > a[aria-current=\"page\"]::after, .nav__subtoggle.is-active::after { display: none; }\n  .nav__sub {\n    position: static; opacity: 1; visibility: visible; transform: none;\n    background: transparent; border: 0; box-shadow: none; padding: 0 0 0 1rem; min-width: 0;\n  }\n  .nav__chev { display: none; }\n  .nav__cta { margin-top: 1.2rem; justify-content: center; }\n}\n\n@media (max-width: 960px) {\n  :root { --sp-section: 4.5rem; --sp-section-sm: 3rem; }\n  .split { grid-template-columns: 1fr; gap: 2.5rem; }\n  .footer__grid { grid-template-columns: 1fr 1fr; }\n  .hero { min-height: 82vh; }\n  .hero .container > *, .hero h1, .hero p { max-width: 100%; }\n}\n\n@media (max-width: 640px) {\n  .form-wrap { padding: 1.6rem; }\n  .form-row { grid-template-columns: 1fr; }\n  .footer__grid { grid-template-columns: 1fr; gap: 2rem; }\n  .btn { width: 100%; justify-content: center; }\n  .hero__actions { flex-direction: column; }\n  .hero__claim { font-size: .9rem; padding: .65rem 1rem; }\n  .pill { padding: .6rem 1rem; font-size: .78rem; }\n  .leistungen { grid-template-columns: 1fr; gap: 1rem; }\n  .hero { min-height: 72vh; }\n  .bean { display: none; }\n}\n\n\/* ---- Weiche Sektion, Bildwechsel, Kundenstimmen ---- *\/\n.section--soft { position: relative; overflow: hidden; background: linear-gradient(180deg, #FBF7F1, #F3EADF); }\n.split--rev .reveal:first-child { order: 2; }\n@media (max-width: 820px) { .split--rev .reveal:first-child { order: 0; } }\n\n.card--why .card__icon { display: inline-block; transition: transform .4s ease; }\n.card--why:hover .card__icon { transform: translateY(-4px) rotate(-8deg) scale(1.12); }\n\n.quote {\n  position: relative; margin: 0; padding: 2.2rem 1.9rem 1.9rem;\n  border-radius: var(--radius, 16px); background: #fff;\n  border: 1px solid rgba(59,36,23,.1);\n  box-shadow: 0 6px 24px rgba(59,36,23,.07);\n  transition: transform .3s ease, box-shadow .3s ease;\n}\n.quote:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(59,36,23,.14); }\n.quote::before {\n  content: \"\\201C\"; position: absolute; top: .1rem; right: 1.1rem;\n  font-family: var(--font-head); font-size: 5rem; line-height: 1;\n  color: rgba(193,18,31,.13);\n}\n.quote blockquote { margin: .9rem 0 1.1rem; font-size: 1.12rem; line-height: 1.6; }\n.quote figcaption { font-family: var(--font-head); font-weight: 600; color: var(--c-red); }\n.stars { display: flex; gap: .18rem; color: var(--c-red); font-size: 1.15rem; }\n.stars span { display: inline-block; transform: scale(.4); opacity: 0; }\n.reveal.is-visible .stars span { animation: starPop .45s cubic-bezier(.2,1.4,.4,1) forwards; }\n.reveal.is-visible .stars span:nth-child(2) { animation-delay: .07s; }\n.reveal.is-visible .stars span:nth-child(3) { animation-delay: .14s; }\n.reveal.is-visible .stars span:nth-child(4) { animation-delay: .21s; }\n.reveal.is-visible .stars span:nth-child(5) { animation-delay: .28s; }\n@keyframes starPop { to { transform: scale(1); opacity: 1; } }\n\n@media (prefers-reduced-motion: reduce) {\n  .stars span { transform: none; opacity: 1; animation: none !important; }\n}\n\n\/* ---- Kontaktbereich: Formular plus direkter Draht ---- *\/\n.kontakt-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 2.5rem; align-items: start; }\n@media (max-width: 900px) { .kontakt-grid { grid-template-columns: 1fr; } }\n\n.kontakt-info { position: relative; overflow: hidden; border-radius: var(--radius, 16px); background: var(--c-black); color: var(--c-cream); }\n.kontakt-info__inner { position: relative; z-index: 2; padding: 2.4rem 2.1rem; }\n.kontakt-info h3 { color: var(--c-cream); margin-bottom: .6rem; }\n.kontakt-info p { color: rgba(245,239,230,.76); }\n.kontakt-list { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; gap: 1.1rem; }\n.kontakt-list li { display: grid; grid-template-columns: 2rem 1fr; align-items: start; gap: .5rem; line-height: 1.5; color: rgba(245,239,230,.9); }\n.kontakt-list span { color: var(--c-red-light); font-size: 1.15rem; }\n.kontakt-list a { color: var(--c-cream); text-decoration: none; border-bottom: 1px solid rgba(230,57,70,.7); }\n.kontakt-list a:hover { color: var(--c-red-light); }\n.kontakt-usp {\n  margin-top: 1.9rem; padding-top: 1.5rem; line-height: 2;\n  border-top: 1px solid rgba(245,239,230,.16);\n  font-size: .95rem; color: rgba(245,239,230,.82);\n}\n.kontakt-usp b { color: var(--c-red-light); margin-right: .4rem; }\n\n\/* ---- Contact Form 7: eigene Wrapper, gleiche Optik ---- *\/\n.wpcf7-form-control-wrap { display: block; }\n.field .wpcf7-form-control { width: 100%; }\n\/* Label schwebt, sobald das Feld fokussiert oder gefuellt ist *\/\n.field:has(.wpcf7-form-control:focus) > label,\n.field:has(input.wpcf7-form-control:not(:placeholder-shown)) > label,\n.field:has(textarea.wpcf7-form-control:not(:placeholder-shown)) > label,\n.field--select:has(select.wpcf7-form-control:valid) > label {\n  transform: translateY(-0.66rem) scale(0.75); color: var(--c-red);\n}\n.field--select select { appearance: none; padding-right: 2.6rem; }\n.field--select::after {\n  content: \"\\25BE \"; position: absolute; right: 1.1rem; top: 1.15rem;\n  color: var(--c-red); pointer-events: none;\n}\n\/* CF7 Meldungen an die Seitenoptik angleichen *\/\n.wpcf7 form .wpcf7-response-output {\n  margin: 1.6rem 0 0; padding: 1rem 1.2rem; border: 0; border-radius: 12px;\n  font-size: .97rem; line-height: 1.5;\n}\n.wpcf7 form.sent .wpcf7-response-output { background: rgba(45,140,80,.1); color: #1F6B3F; }\n.wpcf7 form.invalid .wpcf7-response-output,\n.wpcf7 form.failed .wpcf7-response-output,\n.wpcf7 form.aborted .wpcf7-response-output { background: var(--c-red-soft); color: var(--c-red-dark); }\n.wpcf7-not-valid-tip { margin-top: .45rem; font-size: .86rem; color: var(--c-red); }\n.wpcf7 .wpcf7-not-valid { border-color: var(--c-red); }\n\/* Ladeanzeige von CF7 durch unseren Spinner ersetzen *\/\n.wpcf7-spinner { display: none !important; }\n.wpcf7 form.submitting .form-submit .spinner { display: inline-block; }\n.wpcf7 form.submitting .form-submit { opacity: .75; pointer-events: none; }\n.wpcf7 .consent input[type=\"checkbox\"] { margin: 0; }\n.wpcf7 .consent .wpcf7-list-item { margin: 0; }\n\n\/* ---- 360-Grad-Rundgang, Kartenrahmen ---- *\/\n.map-box {\n  position: relative; overflow: hidden;\n  border-radius: var(--radius, 16px);\n  border: 1px solid rgba(59,36,23,.12);\n  box-shadow: 0 18px 46px rgba(59,36,23,.14);\n  line-height: 0; background: var(--c-black);\n}\n.map-box iframe { display: block; width: 100%; height: 500px; border: 0; }\n@media (max-width: 700px) { .map-box iframe { height: 360px; } }\n\n\/* ---- Modellgalerie auf den Automatenseiten ---- *\/\n.modelle { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.6rem; }\n.modell {\n  position: relative; overflow: hidden;\n  display: flex; flex-direction: column;\n  border-radius: var(--radius, 16px);\n  background: #fff; border: 1px solid rgba(59,36,23,.1);\n  box-shadow: 0 6px 24px rgba(59,36,23,.07);\n  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;\n}\n.modell:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(59,36,23,.16); border-color: rgba(193,18,31,.25); }\n.modell::after {\n  content: \"\"; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;\n  background: linear-gradient(90deg, var(--c-red), #F0656F);\n  transform: scaleX(0); transform-origin: left; transition: transform .35s ease;\n}\n.modell:hover::after { transform: scaleX(1); }\n.modell__bild {\n  display: flex; align-items: flex-end; justify-content: center;\n  padding: 1.6rem 1.4rem 0; min-height: 250px;\n  background: linear-gradient(180deg, #FBF7F1, #F3EADF);\n}\n.modell__bild img {\n  width: auto; max-width: 100%; max-height: 230px;\n  filter: drop-shadow(0 14px 22px rgba(59,36,23,.22));\n  transition: transform .45s var(--ease, ease);\n}\n.modell:hover .modell__bild img { transform: translateY(-6px) scale(1.04); }\n.modell__text { padding: 1.5rem 1.5rem 1.7rem; }\n.modell__text h3 { font-size: 1.2rem; margin-bottom: .5rem; }\n.modell__text p { font-size: .97rem; line-height: 1.55; color: var(--c-text-soft); }\n.modell__daten {\n  margin-top: 1rem; padding-top: .9rem;\n  border-top: 1px solid rgba(59,36,23,.1);\n  font-size: .88rem; color: var(--c-red); font-weight: 600;\n}\n.section--dark .modell { background: #141414; border-color: rgba(245,239,230,.12); }\n.section--dark .modell__bild { background: linear-gradient(180deg, #1C1A19, #121110); }\n.section--dark .modell__text h3 { color: var(--c-cream); }\n.section--dark .modell__text p { color: rgba(245,239,230,.72); }\n.section--dark .modell__daten { border-top-color: rgba(245,239,230,.14); color: #F0656F; }\n\n\/* Kachel ohne Produktbild, dafuer mit Symbol *\/\n.modell__bild--icon span { font-size: 4.6rem; line-height: 1; padding-bottom: 1.6rem; transition: transform .45s var(--ease, ease); }\n.modell:hover .modell__bild--icon span { transform: translateY(-6px) scale(1.08); }\n.modell__bild img[src*=\"nayax\"], .modell__bild img[src*=\"schluessel\"] { border-radius: 10px; max-height: 200px; }\n\n\/* ---- Rechtstexte: Impressum und Datenschutz ---- *\/\n.legal { max-width: 820px; }\n.legal h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin-bottom: 1.2rem; }\n.legal h3 {\n  margin-top: 2.2rem; margin-bottom: .7rem; font-size: 1.18rem;\n  padding-left: 1rem; border-left: 3px solid var(--c-red);\n}\n.legal p { margin-bottom: 1rem; line-height: 1.75; }\n.legal p + p { margin-top: 0; }\n.legal a { color: var(--c-red); text-decoration: none; border-bottom: 1px solid rgba(193,18,31,.35); word-break: break-word; }\n.legal a:hover { border-bottom-color: var(--c-red); }\n.legal .checklist { margin: 1rem 0 1.4rem; }\n\n\/* Rechtslinks im Fussbereich *\/\n.footer__legal { display: flex; gap: 1.5rem; flex-wrap: wrap; }\n.footer__legal a { color: inherit; text-decoration: none; opacity: .8; transition: opacity .2s, color .2s; }\n.footer__legal a:hover { opacity: 1; color: var(--c-red-light); }\n\n\/* ---- Automaten-Slider ---- *\/\n.slider-section { overflow: hidden; }\n.slider-kopf { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }\n.slider-nav { display: flex; gap: .7rem; }\n.slider-btn {\n  width: 52px; height: 52px; border-radius: 50%; cursor: pointer;\n  display: flex; align-items: center; justify-content: center;\n  font-size: 1.7rem; line-height: 1; padding-bottom: .2rem;\n  color: var(--c-cream); background: rgba(245,239,230,.08);\n  border: 1px solid rgba(245,239,230,.26);\n  transition: background .25s ease, border-color .25s ease, transform .25s ease;\n}\n.slider-btn:hover:not([disabled]) { background: var(--c-red); border-color: transparent; transform: translateY(-3px); }\n.slider-btn[disabled] { opacity: .3; cursor: default; }\n\n.slider {\n  margin-top: 2.6rem; padding: .5rem 0 1.5rem;\n  overflow-x: auto; overscroll-behavior-x: contain;\n  scroll-snap-type: x proximity; scroll-behavior: smooth;\n  scrollbar-width: none; cursor: grab;\n}\n.slider::-webkit-scrollbar { display: none; }\n.slider.is-dragging { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; }\n.slider:focus-visible { outline: 2px solid var(--c-red-light); outline-offset: 4px; }\n.slider__inner { display: flex; gap: 1.4rem; padding: 0 max(1.5rem, calc((100vw - 1160px) \/ 2)); }\n\n.slide {\n  flex: 0 0 240px; scroll-snap-align: start;\n  display: flex; flex-direction: column; overflow: hidden;\n  border-radius: var(--radius, 16px); text-decoration: none;\n  background: #141414; border: 1px solid rgba(245,239,230,.12);\n  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;\n}\n.slide:hover, .slide:focus-visible { transform: translateY(-6px); border-color: rgba(230,57,70,.55); box-shadow: 0 20px 44px rgba(0,0,0,.5); }\n.slide__bild {\n  display: flex; align-items: flex-end; justify-content: center;\n  min-height: 250px; padding: 1.5rem 1.3rem 0;\n  background: linear-gradient(180deg, #1D1B1A, #121110);\n}\n.slide__bild img {\n  width: auto; max-width: 100%; max-height: 215px;\n  filter: drop-shadow(0 16px 26px rgba(0,0,0,.6));\n  transition: transform .45s var(--ease, ease);\n  pointer-events: none; user-select: none;\n}\n.slide:hover .slide__bild img { transform: translateY(-6px) scale(1.05); }\n.slide__text { padding: 1.15rem 1.3rem 1.4rem; }\n.slide__kat {\n  display: block; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase;\n  color: #F0656F; margin-bottom: .35rem;\n}\n.slide__text b { font-family: var(--font-head); font-size: 1.06rem; color: var(--c-cream); }\n\n@media (max-width: 700px) {\n  .slide { flex: 0 0 210px; }\n  .slider-kopf { flex-direction: column; align-items: flex-start; }\n  .slider__inner { padding: 0 1.25rem; }\n}\n@media (prefers-reduced-motion: reduce) { .slider { scroll-behavior: auto; } }\n\n\/* ============================================================\n   REDESIGN 2026: hell, werblich, knalliges Rot\n   ============================================================ *\/\n\n\/* Produktkarten mit Bild auf der Startseite *\/\n.prodcard {\n  display: flex; flex-direction: column; overflow: hidden;\n  border-radius: var(--radius); background: #fff;\n  border: 1px solid rgba(59,36,23,.08);\n  box-shadow: 0 10px 30px rgba(227,6,19,.06);\n  text-decoration: none; color: inherit;\n  transition: transform .35s ease, box-shadow .35s ease;\n}\n.prodcard:hover { transform: translateY(-8px); box-shadow: 0 26px 50px rgba(227,6,19,.16); }\n.prodcard__img {\n  display: grid; place-items: center; padding: 1.8rem 1rem 0.6rem;\n  background: linear-gradient(180deg, #FFF3F0, #FFFFFF);\n  min-height: 250px;\n}\n.prodcard__img img { max-height: 230px; width: auto; filter: drop-shadow(0 16px 26px rgba(11,11,11,.16)); transition: transform .45s ease; }\n.prodcard:hover .prodcard__img img { transform: translateY(-6px) scale(1.04); }\n.prodcard__body { padding: 1.5rem 1.6rem 1.7rem; }\n.prodcard__tag {\n  display: inline-block; font-family: var(--f-head); font-weight: 700;\n  font-size: .78rem; letter-spacing: .06em; text-transform: uppercase;\n  color: var(--c-red); margin-bottom: .5rem;\n}\n.prodcard__body h3 { margin: 0 0 .5rem; }\n.prodcard__more { display: inline-block; margin-top: 1rem; font-family: var(--f-head); font-weight: 700; color: var(--c-red); transition: transform .25s ease; }\n.prodcard:hover .prodcard__more { transform: translateX(4px); }\n\n\/* Video spielt automatisch, kein Vorschaubild noetig *\/\n.video-box { background: #FFF3F0; }\n\n\/* Werbeband, hell mit rotem Rahmen *\/\n.section--soft { background: #FFF7F5; }\n\n\/* Kacheln unter dem Hero: aktive rote Note *\/\n.leistung--strong { background: linear-gradient(135deg, #E30613, #FF3B3B) !important; color: #fff !important; border-color: transparent !important; }\n.leistung--strong b, .leistung--strong span { color: #fff !important; -webkit-text-fill-color: #fff !important; }\n\n\/* Bewegte Hintergrund-Bohnen abschalten, die statischen Trenner bleiben *\/\n.bean { display: none !important; }\n\n\/* Helle Knoepfe fuer rote Sektionen (z. B. Mini-Markt) *\/\n.btn--light { background: #fff; color: var(--c-red); box-shadow: 0 14px 34px -12px rgba(0,0,0,.4); }\n.btn--light:hover { background: #FFF3F0; transform: translateY(-3px); }\n.btn--outline-light { border-color: rgba(255,255,255,.6); color: #fff; background: rgba(255,255,255,.08); }\n.btn--outline-light:hover { border-color: #fff; background: rgba(255,255,255,.18); transform: translateY(-3px); }\n\n\/* Produktkarte mit echtem Foto statt freigestelltem Render *\/\n.prodcard__img--foto { padding: 0; min-height: 0; }\n.prodcard__img--foto img { width: 100%; height: 250px; max-height: none; object-fit: cover; filter: none; border-radius: 0; }\n.prodcard:hover .prodcard__img--foto img { transform: scale(1.05); }\n\n\/* Zwei Bilder nebeneinander\/versetzt, z. B. beim Mini-Markt *\/\n.bildduo { position: relative; padding-bottom: 2.5rem; padding-right: 2rem; }\n.bildduo__gross { width: 100%; border-radius: var(--r-lg); box-shadow: var(--sh-lg); }\n.bildduo__klein {\n  position: absolute; right: 0; bottom: 0; width: 46%; aspect-ratio: 1;\n  object-fit: cover; border-radius: var(--r-md);\n  border: 5px solid #fff; box-shadow: var(--sh-lg);\n}\n@media (max-width: 640px) {\n  .bildduo { padding-right: 0; padding-bottom: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }\n  .bildduo__klein { position: static; width: 100%; border-width: 0; }\n}\n\n\/* Produktkarten immer als Vierer-Reihe, nicht eine allein *\/\n.prodcards { grid-template-columns: repeat(4, 1fr); }\n.prodcards .prodcard__img { min-height: 200px; }\n.prodcards .prodcard__img img { max-height: 180px; }\n.prodcards .prodcard__img--foto img { height: 200px; }\n@media (max-width: 1000px) { .prodcards { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 560px) { .prodcards { grid-template-columns: 1fr; } }\n\n\/* Bezahlsysteme: weisser Grund hinter den Bildern, kein sichtbarer Rand *\/\n.modelle--weiss .modell__bild { background: #fff; }\n.modelle--weiss .modell__bild img { filter: none; }\n\n<\/style>\n<!-- ============ HEADER ============ -->\n<header class=\"header\">\n  <div class=\"header__progress\" aria-hidden=\"true\"><\/div>\n  <div class=\"header__inner\">\n    <a href=\"\/start\/\" class=\"logo\">\n      <!-- Original-Logo der BT-Automatentechnik -->\n      <img decoding=\"async\" src=\"https:\/\/bt-automaten.de\/wp-content\/uploads\/2019\/04\/shapeimage_17-1.png\" alt=\"BT-Automatentechnik\" width=\"152\" height=\"99\" title=\"\">\n    <\/a>\n\n    <button class=\"nav__toggle\" aria-label=\"Men&#252; &#246;ffnen\" aria-expanded=\"false\" aria-controls=\"hauptnavigation\">\n      <span><\/span><span><\/span><span><\/span>\n    <\/button>\n\n    <nav class=\"nav\" id=\"hauptnavigation\" aria-label=\"Hauptnavigation\">\n      <ul class=\"nav__list\">\n          <li><a href=\"\/start\/\">Startseite<\/a><\/li>\n          <li class=\"nav__item--has-sub\">\n            <button type=\"button\" class=\"nav__subtoggle is-active\" aria-expanded=\"false\">Unsere Dienstleistungen<span class=\"nav__chev\" aria-hidden=\"true\">&#9662;<\/span><\/button>\n            <ul class=\"nav__sub\">\n              <li><a href=\"\/start\/unser-service\/\" aria-current=\"page\">&#220;bersicht Service<\/a><\/li>\n              <li><a href=\"\/start\/vollservice\/\">Vollservice<\/a><\/li>\n              <li><a href=\"\/start\/automaten-verkauf\/\">Automaten Verkauf<\/a><\/li>\n              <li><a href=\"\/start\/automaten-wartung\/\">Service &amp; Wartung<\/a><\/li>\n              <li><a href=\"\/start\/automaten-befuellung\/\">Automaten Bef&#252;llung<\/a><\/li>\n            <\/ul>\n          <\/li>\n          <li class=\"nav__item--has-sub\">\n            <button type=\"button\" class=\"nav__subtoggle\" aria-expanded=\"false\">Unsere Automaten<span class=\"nav__chev\" aria-hidden=\"true\">&#9662;<\/span><\/button>\n            <ul class=\"nav__sub\">\n              <li><a href=\"\/start\/unsere-automaten\/\">&#220;bersicht Automaten<\/a><\/li>\n              <li><a href=\"\/start\/heissgetraenke\/\">Hei&#223;getr&#228;nkeautomaten<\/a><\/li>\n              <li><a href=\"\/start\/kaltgetraenkeautomaten\/\">Kaltgetr&#228;nkeautomaten<\/a><\/li>\n              <li><a href=\"\/start\/combi-spiralautomaten\/\">Combi-Spiral-Automaten<\/a><\/li>\n              <li><a href=\"\/start\/outdoorgeraete\/\">Outdoorger&#228;te<\/a><\/li>\n              <li><a href=\"\/start\/bezahlsysteme\/\">Bezahlsysteme<\/a><\/li>\n            <\/ul>\n          <\/li>\n          <li class=\"nav__item--has-sub\">\n            <button type=\"button\" class=\"nav__subtoggle\" aria-expanded=\"false\">Mini-Markt<span class=\"nav__chev\" aria-hidden=\"true\">&#9662;<\/span><\/button>\n            <ul class=\"nav__sub\">\n              <li><a href=\"\/start\/mini-markt-gersthofen\/\">Mini-Markt<\/a><\/li>\n              <li><a href=\"\/start\/verkaufscontainer-hofladen\/\">Verkaufscontainer \/ Hofladen<\/a><\/li>\n            <\/ul>\n          <\/li>\n          <li><a href=\"\/start\/ueber-uns\/\">&#220;ber uns<\/a><\/li>\n          <li><a href=\"\/start\/unser-service\/#kontakt\" class=\"nav__cta\">Angebot anfordern<\/a><\/li>\n      <\/ul>\n    <\/nav>\n  <\/div>\n<\/header>\n\n<main>\n\n<!-- ============ HERO ============ -->\n<section class=\"hero pagehead\">\n  <!-- Hintergrundbild, Parallax wird von main.js gesteuert -->\n  <div class=\"hero__bg\" style=\"background-image:url('https:\/\/bt-automaten.de\/wp-content\/uploads\/2023\/04\/1gut-aussehender-mann-der-an-einem-lokalen-ort-reist-scaled-e1714476283668.jpg')\" role=\"img\" aria-label=\"Kunde bedient einen Verpflegungsautomaten\"><\/div>\n  <div class=\"hero__glow\" aria-hidden=\"true\"><\/div>\n  <div class=\"beans\" data-count=\"8\" aria-hidden=\"true\"><\/div>\n  <div class=\"container\">\n        <nav class=\"crumbs\" aria-label=\"Brotkrumen\"><a href=\"\/start\/\">Start<\/a> \/ <span>Unsere Dienstleistungen<\/span><\/nav>\n        <span class=\"eyebrow\">Dienstleistungen<\/span>\n        <h1><span class=\"grad-light\">Unsere<\/span> <span class=\"grad-red\">Dienstleistungen<\/span><\/h1>\n        <p>Wir bieten alles rund um den Automaten. Vom ersten Gespr&#228;ch &#252;ber die Aufstellung bis zur Bef&#252;llung und Wartung.<\/p>\n        <div class=\"hero__actions\"><a href=\"\/start\/unser-service\/#kontakt\" class=\"btn btn--primary\">Angebot anfordern<\/a><a href=\"tel:+49821473498\" class=\"btn btn--ghost\">&#9742; 0821 473498<\/a><\/div>\n  <\/div>\n<\/section>\n\n\n<!-- Uebersicht der fuenf Bereiche -->\n<section class=\"section\">\n  <div class=\"container\">\n    <div class=\"reveal\" style=\"text-align:center\">\n      <span class=\"eyebrow\">&#220;berblick<\/span>\n      <h2 class=\"grad-dark\">F&#252;nf Leistungsbereiche<\/h2>\n      <p class=\"lead\" style=\"margin:0 auto\">Sie entscheiden, wie viel Sie abgeben m&#246;chten. Alles zusammen oder einzelne Bausteine.<\/p>\n    <\/div>\n    <div class=\"leistungen\" style=\"margin-top:3rem\">\n      <a class=\"leistung leistung--strong reveal reveal--zoom\" href=\"\/start\/vollservice\/\">\n        <span class=\"leistung__icon\">&#9749;<\/span><b>Vollservice<\/b>\n        <span>Betrieb komplett in unserer Hand, ohne Kosten f&#252;r Sie<\/span>\n      <\/a>\n      <a class=\"leistung reveal reveal--zoom\" href=\"#vermietung\">\n        <span class=\"leistung__icon\">&#128273;<\/span><b>Vermietung<\/b>\n        <span>Feste Rate, Wartung und Reinigung enthalten<\/span>\n      <\/a>\n      <a class=\"leistung reveal reveal--zoom\" href=\"\/start\/automaten-verkauf\/\">\n        <span class=\"leistung__icon\">&#129752;<\/span><b>Verkauf<\/b>\n        <span>Automat kaufen und selbst betreiben<\/span>\n      <\/a>\n      <a class=\"leistung reveal reveal--zoom\" href=\"\/start\/automaten-befuellung\/\">\n        <span class=\"leistung__icon\">&#128230;<\/span><b>Bef&#252;llung<\/b>\n        <span>Kaffee, Getr&#228;nke und Snacks nach Ihrem Sortiment<\/span>\n      <\/a>\n      <a class=\"leistung reveal reveal--zoom\" href=\"\/start\/automaten-wartung\/\">\n        <span class=\"leistung__icon\">&#128295;<\/span><b>Service und Wartung<\/b>\n        <span>Feste Intervalle, schnelle Hilfe bei St&#246;rungen<\/span>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<div class=\"bean-divider\" aria-hidden=\"true\"><span>&#129752; &#129752; &#129752;<\/span><\/div>\n\n<!-- Vollservice -->\n<section class=\"section section--dark\" id=\"vollservice\">\n  <div class=\"beans\" data-count=\"6\" aria-hidden=\"true\"><\/div>\n  <div class=\"container split\" style=\"position:relative;z-index:2\">\n    <div class=\"reveal reveal--left\">\n      <span class=\"eyebrow\">Bereich 1<\/span>\n      <h2 class=\"grad-light\">Vollservice<\/h2>\n      <p>Wer bei uns mietet, bekommt den kompletten Betrieb dazu. Wir warten, f&#252;llen und reinigen. Sie zahlen keine getrennten Rechnungen.<\/p>\n      <div class=\"note\" style=\"margin-top:1.75rem;background:rgba(245,239,230,0.08);border-left-color:#F0656F;color:rgba(245,239,230,0.9)\">\n        <strong>Beim Vollservice entstehen Ihrem Unternehmen keine Kosten.<\/strong>\n      <\/div>\n      <div class=\"hero__actions\" style=\"margin-top:2rem\">\n        <a href=\"\/start\/vollservice\/\" class=\"btn btn--primary\">Vollservice ansehen<\/a>\n      <\/div>\n    <\/div>\n    <div class=\"reveal reveal--right\">\n      <img decoding=\"async\" src=\"https:\/\/bt-automaten.de\/wp-content\/uploads\/2023\/03\/IMG4.jpg\" alt=\"Automat im Vollservice\" loading=\"lazy\" data-parallax=\"0.05\" title=\"\">\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- Vermietung -->\n<section class=\"section\" id=\"vermietung\">\n  <div class=\"container split\">\n    <div class=\"reveal reveal--left\">\n      <img decoding=\"async\" src=\"https:\/\/bt-automaten.de\/wp-content\/uploads\/2023\/03\/IMG-1.jpg\" alt=\"Automatenreihe zur Miete\" loading=\"lazy\" data-parallax=\"0.05\" title=\"\">\n    <\/div>\n    <div class=\"reveal\">\n      <span class=\"eyebrow\">Bereich 2<\/span>\n      <h2 class=\"grad-dark\">Vermietung<\/h2>\n      <p>Sie mieten den Automaten f&#252;r die vereinbarte Dauer. Wartung und Reinigung &#252;bernehmen wir in dieser Zeit. Passt das Ger&#228;t nicht mehr zum Bedarf, tauschen wir es.<\/p>\n      <ul class=\"checklist\" style=\"margin-top:1.75rem\">\n        <li><strong>Keine Anschaffung<\/strong>, planbare Monatsrate<\/li>\n        <li><strong>Wartung und Reinigung<\/strong> w&#228;hrend der Mietzeit inklusive<\/li>\n        <li><strong>Ger&#228;tetausch<\/strong> bei ge&#228;ndertem Bedarf<\/li>\n        <li><strong>Laufzeit<\/strong> nach Absprache<\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n<\/section>\n\n<div class=\"bean-divider\" aria-hidden=\"true\"><span>&#129752; &#129752; &#129752;<\/span><\/div>\n\n<!-- Verkauf, Befuellung, Service -->\n<section class=\"section section--soft\">\n  <div class=\"beans\" data-count=\"5\" aria-hidden=\"true\"><\/div>\n  <div class=\"container\" style=\"position:relative;z-index:2\">\n    <div class=\"reveal\">\n      <span class=\"eyebrow\">Bereich 3 bis 5<\/span>\n      <h2 class=\"grad-dark\">Verkauf, Bef&#252;llung und Technik<\/h2>\n    <\/div>\n    <div class=\"grid grid--3\" style=\"margin-top:3rem\">\n      <article class=\"card reveal\">\n        <div class=\"card__icon\">&#127980;<\/div><h3>Verkauf<\/h3>\n        <p>In unserem Showroom in Gersthofen sehen Sie die Ger&#228;te im Betrieb. Wir beraten Sie pers&#246;nlich und liefern das gekaufte Ger&#228;t betriebsbereit.<\/p>\n        <p style=\"margin-top:1rem\"><a href=\"\/start\/automaten-verkauf\/\">Zum Verkauf<\/a><\/p>\n      <\/article>\n      <article class=\"card reveal\">\n        <div class=\"card__icon\">&#128230;<\/div><h3>Bef&#252;llung<\/h3>\n        <p>Unsere Mitarbeitenden f&#252;llen regelm&#228;&#223;ig Kaffee, Getr&#228;nke und Snacks nach. Das Sortiment stimmen wir mit Ihnen ab und passen es an.<\/p>\n        <p style=\"margin-top:1rem\"><a href=\"\/start\/automaten-befuellung\/\">Zur Bef&#252;llung<\/a><\/p>\n      <\/article>\n      <article class=\"card reveal\">\n        <div class=\"card__icon\">&#128295;<\/div><h3>Technischer Service<\/h3>\n        <p>Wir begleiten Sie von der Lieferung bis zur Einweisung. Danach warten wir in festen Abst&#228;nden und kommen bei St&#246;rungen kurzfristig.<\/p>\n        <p style=\"margin-top:1rem\"><a href=\"\/start\/automaten-wartung\/\">Zu Service und Wartung<\/a><\/p>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- Ablauf -->\n<section class=\"section section--dark\">\n  <div class=\"beans\" data-count=\"6\" aria-hidden=\"true\"><\/div>\n  <div class=\"container\" style=\"position:relative;z-index:2\">\n    <div class=\"reveal\">\n      <span class=\"eyebrow\">So arbeiten wir<\/span>\n      <h2 class=\"grad-light\">Ein Ansprechpartner f&#252;r alles<\/h2>\n      <p class=\"lead\">Sie rufen eine Nummer an, egal ob es um Nachschub, eine St&#246;rung oder ein zweites Ger&#228;t geht.<\/p>\n    <\/div>\n    <div class=\"grid grid--4\" style=\"margin-top:3rem\">\n      <article class=\"card reveal\"><div class=\"card__num\">1<\/div><h3>Beratung vor Ort<\/h3><p>Wir pr&#252;fen Stellfl&#228;che, Strom und Wasser und schlagen passende Ger&#228;te vor.<\/p><\/article>\n      <article class=\"card reveal\"><div class=\"card__num\">2<\/div><h3>Lieferung<\/h3><p>Wir stellen auf, nehmen in Betrieb und weisen Ihr Team ein.<\/p><\/article>\n      <article class=\"card reveal\"><div class=\"card__num\">3<\/div><h3>Nachschub<\/h3><p>Wir pr&#252;fen die F&#252;llst&#228;nde und f&#252;llen nach Plan nach.<\/p><\/article>\n      <article class=\"card reveal\"><div class=\"card__num\">4<\/div><h3>Wartung<\/h3><p>Feste Intervalle, kurze Wege aus Gersthofen bei St&#246;rungen.<\/p><\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<div class=\"bean-divider\" aria-hidden=\"true\"><span>&#129752; &#129752; &#129752;<\/span><\/div>\n\n<!-- ============ KONTAKT ============ -->\n<section class=\"section\" id=\"kontakt\">\n  <div class=\"container\">\n    <div class=\"reveal\" style=\"text-align:center;margin-bottom:2.5rem\">\n      <span class=\"eyebrow\">Kontakt<\/span>\n      <h2 class=\"grad-dark\">Angebot anfordern<\/h2>\n      <p class=\"lead\" style=\"margin:0 auto\">Beschreiben Sie kurz Ihren Standort. Wir melden uns innerhalb eines Werktags.<\/p>\n    <\/div>\n\n    <div class=\"kontakt-grid\">\n      <!-- Formular: wird von Contact Form 7 gerendert -->\n      <div class=\"form-wrap reveal\">\n        \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f23-o1\" lang=\"de-DE\" dir=\"ltr\" data-wpcf7-id=\"23\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/start\/wp-json\/wp\/v2\/pages\/982#wpcf7-f23-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Kontaktformular\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"23\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.6\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"de_DE\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f23-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"form-group\">\n\t<div class=\"form-group__title\">\n\t\t<p>1. Kontaktdaten\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"field\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"firma\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"firma\" \/><\/span><label>Firma *<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"field\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"ansprechpartner\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"ansprechpartner\" \/><\/span><label>Ansprechpartner *<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"field\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"email\" name=\"email\" \/><\/span><label>E-Mail *<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"field\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telefon\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-text wpcf7-validates-as-tel\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"tel\" name=\"telefon\" \/><\/span><label>Telefon<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"field field--full\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"ort\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" placeholder=\"\" value=\"\" type=\"text\" name=\"ort\" \/><\/span><label>Standort, Stra\u00dfe und Ort<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n<div class=\"form-group\">\n\t<div class=\"form-group__title\">\n\t\t<p>2. Ihr Anliegen\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"field field--select\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"anliegen\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" name=\"anliegen\"><option value=\"\">&#8211; Bitte ausw\u00e4hlen &#8211;<\/option><option value=\"Kaffeeautomat mieten\">Kaffeeautomat mieten<\/option><option value=\"Kaltgetr\u00e4nkeautomat mieten\">Kaltgetr\u00e4nkeautomat mieten<\/option><option value=\"Snackautomat mieten\">Snackautomat mieten<\/option><option value=\"Combi-Spiral-Automat\">Combi-Spiral-Automat<\/option><option value=\"Automat kaufen\">Automat kaufen<\/option><option value=\"Wartung oder Reparatur\">Wartung oder Reparatur<\/option><option value=\"Automaten Bef\u00fcllung\">Automaten Bef\u00fcllung<\/option><option value=\"Bezahlsysteme\">Bezahlsysteme<\/option><option value=\"Mini-Markt\">Mini-Markt<\/option><option value=\"Verkaufscontainer oder Hofladen\">Verkaufscontainer oder Hofladen<\/option><option value=\"Sonstiges\">Sonstiges<\/option><\/select><\/span><br \/>\n<label>Anliegen *<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"field field--select\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"personen\"><select class=\"wpcf7-form-control wpcf7-select\" aria-invalid=\"false\" name=\"personen\"><option value=\"\">&#8211; Bitte ausw\u00e4hlen &#8211;<\/option><option value=\"bis 20 Personen\">bis 20 Personen<\/option><option value=\"20 bis 50 Personen\">20 bis 50 Personen<\/option><option value=\"50 bis 150 Personen\">50 bis 150 Personen<\/option><option value=\"\u00fcber 150 Personen\">\u00fcber 150 Personen<\/option><\/select><\/span><br \/>\n<label>Personen am Standort<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"field field--select\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nutzung\"><select class=\"wpcf7-form-control wpcf7-select\" aria-invalid=\"false\" name=\"nutzung\"><option value=\"\">&#8211; Bitte ausw\u00e4hlen &#8211;<\/option><option value=\"Miete inklusive Vollservice\">Miete inklusive Vollservice<\/option><option value=\"Kauf\">Kauf<\/option><option value=\"Noch offen, bitte beraten\">Noch offen, bitte beraten<\/option><\/select><\/span><br \/>\n<label>Miete oder Kauf<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"field field--select\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"zeitraum\"><select class=\"wpcf7-form-control wpcf7-select\" aria-invalid=\"false\" name=\"zeitraum\"><option value=\"\">&#8211; Bitte ausw\u00e4hlen &#8211;<\/option><option value=\"So schnell wie m\u00f6glich\">So schnell wie m\u00f6glich<\/option><option value=\"Innerhalb von 4 Wochen\">Innerhalb von 4 Wochen<\/option><option value=\"In 1 bis 3 Monaten\">In 1 bis 3 Monaten<\/option><option value=\"Sp\u00e4ter oder unverbindlich\">Sp\u00e4ter oder unverbindlich<\/option><\/select><\/span><br \/>\n<label>Gew\u00fcnschter Zeitraum<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"field field--select\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"standortart\"><select class=\"wpcf7-form-control wpcf7-select\" aria-invalid=\"false\" name=\"standortart\"><option value=\"\">&#8211; Bitte ausw\u00e4hlen &#8211;<\/option><option value=\"B\u00fcro\">B\u00fcro<\/option><option value=\"Produktion oder Lager\">Produktion oder Lager<\/option><option value=\"Werkstatt\">Werkstatt<\/option><option value=\"Praxis oder Kanzlei\">Praxis oder Kanzlei<\/option><option value=\"\u00d6ffentlicher Bereich\">\u00d6ffentlicher Bereich<\/option><option value=\"Sonstiges\">Sonstiges<\/option><\/select><\/span><br \/>\n<label>Art des Standorts<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"field field--select\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"rueckruf\"><select class=\"wpcf7-form-control wpcf7-select\" aria-invalid=\"false\" name=\"rueckruf\"><option value=\"\">&#8211; Bitte ausw\u00e4hlen &#8211;<\/option><option value=\"E-Mail\">E-Mail<\/option><option value=\"Telefon vormittags\">Telefon vormittags<\/option><option value=\"Telefon nachmittags\">Telefon nachmittags<\/option><\/select><\/span><br \/>\n<label>So erreichen wir Sie am besten<\/label>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n<div class=\"form-group\">\n\t<div class=\"form-group__title\">\n\t\t<p>3. Nachricht\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"field\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nachricht\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"\" name=\"nachricht\"><\/textarea><\/span><label>Ihre Nachricht<\/label>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<p><label class=\"consent\"><span class=\"wpcf7-form-control-wrap\" data-name=\"einwilligung\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"einwilligung\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\"><span>Ich bin damit einverstanden, dass meine Angaben zur Bearbeitung der Anfrage gespeichert werden. Hinweise dazu in der <a href=\"\/datenschutz\/\">Datenschutzerkl\u00e4rung<\/a>. *<\/span><\/span><\/label><\/span><\/span><\/span><\/label>\n<\/p>\n<p><button type=\"submit\" class=\"btn btn--primary form-submit\"><br \/>\n<span class=\"spinner\" aria-hidden=\"true\"><\/span><br \/>\n<span class=\"btn-label\">Anfrage senden<\/span><br \/>\n<\/button>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\n      <\/div>\n\n      <!-- Direkter Draht -->\n      <aside class=\"kontakt-info reveal reveal--right\">\n        <div class=\"beans\" data-count=\"4\" aria-hidden=\"true\"><\/div>\n        <div class=\"kontakt-info__inner\">\n          <h3>Lieber direkt sprechen?<\/h3>\n          <p>Rufen Sie an. Wir kl&#228;ren Ihre Fragen in wenigen Minuten.<\/p>\n          <ul class=\"kontakt-list\">\n            <li><span>&#9742;<\/span><a href=\"tel:+49821473498\">0821 473498<\/a><\/li>\n            <li><span>&#9993;<\/span><a href=\"mailto:info@bt-automaten.de\">info@bt-automaten.de<\/a><\/li>\n            <li><span>&#128205;<\/span>R&#246;ntgenstra&#223;e 14<br>86368 Gersthofen<\/li>\n            <li><span>&#128342;<\/span>Montag bis Freitag<br>07:00 bis 17:00 Uhr<\/li>\n          <\/ul>\n          <div class=\"kontakt-usp\">\n            <b>&#10003;<\/b> Antwort innerhalb eines Werktags<br>\n            <b>&#10003;<\/b> Beratung vor Ort kostenfrei<br>\n            <b>&#10003;<\/b> Kein Vertrag ohne Angebot\n          <\/div>\n        <\/div>\n      <\/aside>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ ABSCHLUSS ============ -->\n<section class=\"section cta-band\">\n  <div class=\"container reveal\">\n    <h2>&#9749; Wir beraten Sie <span style=\"opacity:.75\">pers&#246;nlich<\/span><\/h2>\n    <p>Sie erreichen uns Montag bis Freitag, 07:00 bis 17:00 Uhr. Wir schauen uns Ihren Standort an und schlagen die passende L&#246;sung vor.<\/p>\n    <a href=\"\/start\/unser-service\/#kontakt\" class=\"btn btn--dark\">Angebot anfordern<\/a>\n  <\/div>\n<\/section>\n\n<\/main>\n\n<!-- ============ FOOTER ============ -->\n<footer class=\"footer\">\n  <div class=\"container\">\n    <div class=\"footer__grid\">\n      <div class=\"footer__brand\">\n        <h4>BT-Automatentechnik<\/h4>\n        <p>Familienbetrieb aus Gersthofen. Seit 1995 versorgen wir Unternehmen in Augsburg und Umgebung mit Automaten, Service und Nachschub.<\/p>\n      <\/div>\n      <div>\n        <h4>Leistungen<\/h4>\n          <a href=\"\/start\/unser-service\/\">Unser Service<\/a>\n          <a href=\"\/start\/vollservice\/\">Vollservice<\/a>\n          <a href=\"\/start\/automaten-verkauf\/\">Automaten Verkauf<\/a>\n          <a href=\"\/start\/automaten-wartung\/\">Service &amp; Wartung<\/a>\n          <a href=\"\/start\/automaten-befuellung\/\">Automaten Bef&#252;llung<\/a>\n      <\/div>\n      <div>\n        <h4>Weitere Themen<\/h4>\n          <a href=\"\/start\/unsere-automaten\/\">Unsere Automaten<\/a>\n          <a href=\"\/start\/heissgetraenke\/\">Hei&#223;getr&#228;nkeautomaten<\/a>\n          <a href=\"\/start\/kaltgetraenkeautomaten\/\">Kaltgetr&#228;nkeautomaten<\/a>\n          <a href=\"\/start\/outdoorgeraete\/\">Outdoorger&#228;te<\/a>\n          <a href=\"\/start\/bezahlsysteme\/\">Bezahlsysteme<\/a>\n          <a href=\"\/start\/mini-markt-gersthofen\/\">Mini-Markt<\/a>\n          <a href=\"\/start\/verkaufscontainer-hofladen\/\">Verkaufscontainer<\/a>\n          <a href=\"\/start\/ueber-uns\/\">&#220;ber uns<\/a>\n      <\/div>\n      <div>\n        <h4>Kontakt<\/h4>\n        <ul class=\"footer__contact\">\n          <li>R&#246;ntgenstra&#223;e 14<\/li>\n          <li>86368 Gersthofen<\/li>\n          <li><a href=\"tel:+49821473498\">0821 473498<\/a><\/li>\n          <li><a href=\"mailto:info@bt-automaten.de\">info@bt-automaten.de<\/a><\/li>\n          <li>Montag bis Freitag, 07:00 bis 17:00 Uhr<\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n    <div class=\"footer__bottom\">\n      <span>&#169; 2026 BT-Automatentechnik, Bruno Terranova<\/span>\n      <nav class=\"footer__legal\" aria-label=\"Rechtliches\">\n        <a href=\"\/start\/impressum\/\">Impressum<\/a>\n        <a href=\"\/start\/datenschutzerklaerung\/\">Datenschutzerkl&#228;rung<\/a>\n      <\/nav>\n    <\/div>\n  <\/div>\n<\/footer>\n<script>\n\/* ============================================================\n   BT-Automatentechnik \\u2014 main.js\n   Vanilla JavaScript, keine Abhaengigkeiten.\n\n   1. Konfiguration (Formular-Endpoint)\n   2. Mobile-Navigation und Dropdowns\n   3. Header beim Scrollen, Lesefortschritt\n   4. Scroll-Reveal via IntersectionObserver\n   5. Parallax, mehrschichtig\n   6. Schwebende Kaffeebohnen\n   7. Zaehlende Kennzahlen\n   7b. Automaten-Slider\n   8. Kontaktformular mit fetch()\n   ============================================================ *\/\n\n(function () {\n  'use strict';\n\n  \/* ----------------------------------------------------------\n     1. KONFIGURATION\n\n     HIER DEN ENDPOINT EINTRAGEN.\n     Das Formular sendet die Daten per fetch() als JSON dorthin.\n     Beispiele:\n       WordPress REST:  https:\/\/bt-automaten.de\/wp-json\/bt\/v1\/kontakt\n       Contact Form 7:  https:\/\/bt-automaten.de\/wp-json\/contact-form-7\/v1\/contact-forms\/123\/feedback\n       Formular-Dienst: https:\/\/formspree.io\/f\/XXXXXXX\n\n     Solange der Platzhalter steht, laeuft das Formular im\n     Demomodus: Ablauf sichtbar, es wird nichts gesendet.\n     ---------------------------------------------------------- *\/\n  var FORM_ENDPOINT = 'PLATZHALTER_ENDPOINT_URL';\n\n  \/* true, wenn der Endpoint FormData statt JSON erwartet (z. B. CF7) *\/\n  var SEND_AS_FORMDATA = false;\n\n  var reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n  \/* ----------------------------------------------------------\n     2. NAVIGATION\n     ---------------------------------------------------------- *\/\n  function initNav() {\n    var toggle = document.querySelector('.nav__toggle');\n    var nav = document.querySelector('.nav');\n    if (!toggle || !nav) return;\n\n    toggle.addEventListener('click', function () {\n      var open = toggle.getAttribute('aria-expanded') === 'true';\n      toggle.setAttribute('aria-expanded', String(!open));\n      nav.setAttribute('data-open', String(!open));\n      document.body.style.overflow = !open ? 'hidden' : '';\n    });\n\n    nav.addEventListener('click', function (e) {\n      if (e.target.tagName === 'A') {\n        toggle.setAttribute('aria-expanded', 'false');\n        nav.setAttribute('data-open', 'false');\n        document.body.style.overflow = '';\n      }\n    });\n\n    \/* Dropdown per Tastatur oeffnen und schliessen *\/\n    document.querySelectorAll('.nav__subtoggle').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        var open = btn.getAttribute('aria-expanded') === 'true';\n        btn.setAttribute('aria-expanded', String(!open));\n      });\n    });\n\n    \/* Escape schliesst offene Menues *\/\n    document.addEventListener('keydown', function (e) {\n      if (e.key !== 'Escape') return;\n      toggle.setAttribute('aria-expanded', 'false');\n      nav.setAttribute('data-open', 'false');\n      document.body.style.overflow = '';\n      if (document.activeElement) document.activeElement.blur();\n    });\n  }\n\n  \/* ----------------------------------------------------------\n     3. HEADER: Schatten ab 20 px, rote Fortschrittslinie\n     ---------------------------------------------------------- *\/\n  function initHeader() {\n    var header = document.querySelector('.header');\n    var progress = document.querySelector('.header__progress');\n    if (!header) return;\n\n    function update() {\n      var y = window.pageYOffset;\n      header.classList.toggle('is-scrolled', y > 20);\n\n      if (progress) {\n        var max = document.documentElement.scrollHeight - window.innerHeight;\n        progress.style.width = (max > 0 ? (y \/ max) * 100 : 0) + '%';\n      }\n    }\n\n    window.addEventListener('scroll', update, { passive: true });\n    update();\n  }\n\n  \/* ----------------------------------------------------------\n     4. SCROLL-REVEAL\n     Loest sich nach dem Einblenden, damit keine Last bleibt.\n     ---------------------------------------------------------- *\/\n  function initReveal() {\n    var items = document.querySelectorAll('.reveal');\n    if (!items.length) return;\n\n    if (!('IntersectionObserver' in window)) {\n      items.forEach(function (el) { el.classList.add('is-visible'); });\n      return;\n    }\n\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (!entry.isIntersecting) return;\n        entry.target.classList.add('is-visible');\n        observer.unobserve(entry.target);\n      });\n    }, { threshold: 0.12, rootMargin: '0px 0px -60px 0px' });\n\n    items.forEach(function (el) { observer.observe(el); });\n  }\n\n  \/* ----------------------------------------------------------\n     5. PARALLAX, MEHRSCHICHTIG\n     Der Hero-Hintergrund und jedes Element mit data-parallax\n     bewegen sich langsamer als der Text. Der Wert bestimmt das\n     Tempo, zum Beispiel data-parallax=\"0.18\".\n     ---------------------------------------------------------- *\/\n  function initParallax() {\n    if (reduceMotion) return;\n\n    var layers = [];\n\n    var heroBg = document.querySelector('.hero__bg');\n    if (heroBg) layers.push({ el: heroBg, speed: 0.34, scale: true });\n\n    document.querySelectorAll('[data-parallax]').forEach(function (el) {\n      layers.push({ el: el, speed: parseFloat(el.dataset.parallax) || 0.15, scale: false });\n    });\n\n    if (!layers.length) return;\n\n    var ticking = false;\n\n    function update() {\n      var y = window.pageYOffset;\n      var vh = window.innerHeight;\n\n      layers.forEach(function (l) {\n        var rect = l.el.getBoundingClientRect();\n        \/* Nur rechnen, wenn das Element in der Naehe des Viewports ist *\/\n        if (rect.bottom < -200 || rect.top > vh + 200) return;\n\n        if (l.scale) {\n          l.el.style.transform = 'translate3d(0,' + (y * l.speed) + 'px,0) scale(1.08)';\n        } else {\n          \/* Versatz relativ zur Bildschirmmitte, damit die Bewegung ruhig bleibt *\/\n          var offset = (rect.top + rect.height \/ 2 - vh \/ 2) * l.speed * -1;\n          l.el.style.transform = 'translate3d(0,' + offset.toFixed(1) + 'px,0)';\n        }\n      });\n      ticking = false;\n    }\n\n    window.addEventListener('scroll', function () {\n      if (ticking) return;\n      ticking = true;\n      window.requestAnimationFrame(update);\n    }, { passive: true });\n\n    window.addEventListener('resize', update, { passive: true });\n    update();\n  }\n\n  \/* ----------------------------------------------------------\n     6. SCHWEBENDE KAFFEEBOHNEN\n     Erzeugt dekorative Bohnen in jedem .beans-Container.\n     Rein visuell, daher aria-hidden im HTML.\n     ---------------------------------------------------------- *\/\n  function initBeans() {\n    if (reduceMotion) return;\n\n    document.querySelectorAll('.beans').forEach(function (box) {\n      var anzahl = parseInt(box.dataset.count, 10) || 7;\n\n      for (var i = 0; i < anzahl; i++) {\n        var b = document.createElement('span');\n        b.className = 'bean';\n        b.textContent = '\\uD83E\\uDED8';\n        b.style.left = (Math.random() * 96) + '%';\n        b.style.fontSize = (0.9 + Math.random() * 1.5).toFixed(2) + 'rem';\n        b.style.animationDuration = (16 + Math.random() * 20).toFixed(1) + 's';\n        b.style.animationDelay = (-Math.random() * 24).toFixed(1) + 's';\n        box.appendChild(b);\n      }\n    });\n  }\n\n  \/* ----------------------------------------------------------\n     7. ZAEHLENDE KENNZAHLEN\n     Zahlen laufen einmal hoch, sobald sie sichtbar werden.\n     Nicht numerische Werte bleiben unveraendert.\n     ---------------------------------------------------------- *\/\n  function initCounters() {\n    var zahlen = document.querySelectorAll('.stat b');\n    if (!zahlen.length || !('IntersectionObserver' in window)) return;\n\n    var obs = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (!entry.isIntersecting) return;\n        var el = entry.target;\n        obs.unobserve(el);\n\n        var text = el.textContent.trim();\n        var treffer = text.match(\/^(\\D*)(\\d+)(.*)$\/);\n        if (!treffer || reduceMotion) return;\n\n        var vor = treffer[1], ziel = parseInt(treffer[2], 10), nach = treffer[3];\n        var dauer = 1100, start = null;\n\n        function schritt(t) {\n          if (start === null) start = t;\n          var p = Math.min((t - start) \/ dauer, 1);\n          \/* weiches Auslaufen *\/\n          var wert = Math.round(ziel * (1 - Math.pow(1 - p, 3)));\n          el.textContent = vor + wert + nach;\n          if (p < 1) window.requestAnimationFrame(schritt);\n        }\n        window.requestAnimationFrame(schritt);\n      });\n    }, { threshold: 0.5 });\n\n    zahlen.forEach(function (el) { obs.observe(el); });\n  }\n\n\n  \/* ----------------------------------------------------------\n     7b. AUTOMATEN-SLIDER\n     Waagerechtes Blaettern mit Tasten, Wischen und Ziehen.\n     Die Pfeile schalten um eine Kartenbreite weiter.\n     ---------------------------------------------------------- *\/\n  function initSlider() {\n    var track = document.querySelector('[data-slider-track]');\n    if (!track) return;\n\n    var prev = document.querySelector('[data-slider=\"prev\"]');\n    var next = document.querySelector('[data-slider=\"next\"]');\n    var karte = track.querySelector('.slide');\n\n    function schrittweite() {\n      if (!karte) return 260;\n      var stil = window.getComputedStyle(track.querySelector('.slider__inner'));\n      var abstand = parseFloat(stil.columnGap || stil.gap) || 22;\n      return karte.getBoundingClientRect().width + abstand;\n    }\n\n    function updateButtons() {\n      var max = track.scrollWidth - track.clientWidth - 2;\n      if (prev) prev.disabled = track.scrollLeft <= 2;\n      if (next) next.disabled = track.scrollLeft >= max;\n    }\n\n    if (prev) prev.addEventListener('click', function () {\n      track.scrollBy({ left: -schrittweite(), behavior: reduceMotion ? 'auto' : 'smooth' });\n    });\n    if (next) next.addEventListener('click', function () {\n      track.scrollBy({ left: schrittweite(), behavior: reduceMotion ? 'auto' : 'smooth' });\n    });\n\n    track.addEventListener('scroll', updateButtons, { passive: true });\n    window.addEventListener('resize', updateButtons, { passive: true });\n    updateButtons();\n\n    \/* Pfeiltasten, wenn der Slider den Fokus hat *\/\n    track.addEventListener('keydown', function (e) {\n      if (e.key !== 'ArrowRight' && e.key !== 'ArrowLeft') return;\n      e.preventDefault();\n      track.scrollBy({ left: e.key === 'ArrowRight' ? schrittweite() : -schrittweite(), behavior: 'smooth' });\n    });\n\n    \/* Ziehen mit der Maus *\/\n    var aktiv = false, startX = 0, startScroll = 0, bewegt = 0;\n\n    track.addEventListener('mousedown', function (e) {\n      aktiv = true; bewegt = 0;\n      startX = e.pageX;\n      startScroll = track.scrollLeft;\n      track.classList.add('is-dragging');\n    });\n\n    window.addEventListener('mousemove', function (e) {\n      if (!aktiv) return;\n      var weg = e.pageX - startX;\n      bewegt = Math.abs(weg);\n      track.scrollLeft = startScroll - weg;\n    });\n\n    window.addEventListener('mouseup', function () {\n      if (!aktiv) return;\n      aktiv = false;\n      track.classList.remove('is-dragging');\n    });\n\n    \/* Nach dem Ziehen keinen Link oeffnen *\/\n    track.addEventListener('click', function (e) {\n      if (bewegt > 8) { e.preventDefault(); bewegt = 0; }\n    }, true);\n  }\n\n  \/* ----------------------------------------------------------\n     8. KONTAKTFORMULAR\n     ---------------------------------------------------------- *\/\n  function initForm() {\n    var form = document.getElementById('kontaktformular');\n    if (!form) return;\n\n    var button = form.querySelector('.form-submit');\n    var labelEl = button.querySelector('.btn-label');\n    var msgOk = form.querySelector('.form-msg--ok');\n    var msgErr = form.querySelector('.form-msg--error');\n    var defaultLabel = labelEl ? labelEl.textContent : 'Anfrage senden';\n\n    function showMessage(el, text) {\n      [msgOk, msgErr].forEach(function (m) { if (m) m.setAttribute('data-show', 'false'); });\n      if (!el) return;\n      if (text) el.textContent = text;\n      el.setAttribute('data-show', 'true');\n      el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n    }\n\n    function setLoading(on) {\n      button.setAttribute('data-loading', String(on));\n      button.disabled = on;\n      if (labelEl) labelEl.textContent = on ? 'Wird gesendet' : defaultLabel;\n    }\n\n    form.addEventListener('submit', function (e) {\n      e.preventDefault();\n\n      if (!form.checkValidity()) {\n        form.reportValidity();\n        return;\n      }\n\n      setLoading(true);\n      showMessage(null);\n\n      var formData = new FormData(form);\n\n      \/* Demomodus *\/\n      if (FORM_ENDPOINT === 'PLATZHALTER_ENDPOINT_URL') {\n        window.setTimeout(function () {\n          setLoading(false);\n          showMessage(msgOk,\n            'Vielen Dank. Ihre Anfrage wurde erfasst. Hinweis fuer den Betreiber: Es ist noch kein Endpoint hinterlegt, es wurden keine Daten versendet.');\n          form.reset();\n        }, 900);\n        return;\n      }\n\n      var options = { method: 'POST' };\n      if (SEND_AS_FORMDATA) {\n        options.body = formData;\n      } else {\n        var payload = {};\n        formData.forEach(function (value, key) { payload[key] = value; });\n        options.headers = { 'Content-Type': 'application\/json' };\n        options.body = JSON.stringify(payload);\n      }\n\n      fetch(FORM_ENDPOINT, options)\n        .then(function (response) {\n          if (!response.ok) throw new Error('Status ' + response.status);\n          return response.json().catch(function () { return {}; });\n        })\n        .then(function () {\n          setLoading(false);\n          showMessage(msgOk, 'Vielen Dank fuer Ihre Anfrage. Wir melden uns innerhalb eines Werktags bei Ihnen.');\n          form.reset();\n        })\n        .catch(function () {\n          setLoading(false);\n          showMessage(msgErr, 'Das Senden hat nicht geklappt. Bitte rufen Sie uns an unter 0821 473498 oder schreiben Sie an info@bt-automaten.de.');\n        });\n    });\n  }\n\n  \/* ---------- Start ---------- *\/\n  function init() {\n    initNav();\n    initHeader();\n    initReveal();\n    initParallax();\n    initBeans();\n    initCounters();\n    initSlider();\n    initForm();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Egal, ob Sie Hei\u00dfgetr\u00e4nkeautomaten, Kaltgetr\u00e4nkeautomaten oder Snackautomaten ben\u00f6tigen, unsere ma\u00dfgeschneiderten L\u00f6sungen in Augsburg sind auf Ihre individuellen Bed\u00fcrfnisse zugeschnitten. <\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-982","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bt-automaten.de\/start\/wp-json\/wp\/v2\/pages\/982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bt-automaten.de\/start\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bt-automaten.de\/start\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bt-automaten.de\/start\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bt-automaten.de\/start\/wp-json\/wp\/v2\/comments?post=982"}],"version-history":[{"count":75,"href":"https:\/\/bt-automaten.de\/start\/wp-json\/wp\/v2\/pages\/982\/revisions"}],"predecessor-version":[{"id":1848,"href":"https:\/\/bt-automaten.de\/start\/wp-json\/wp\/v2\/pages\/982\/revisions\/1848"}],"wp:attachment":[{"href":"https:\/\/bt-automaten.de\/start\/wp-json\/wp\/v2\/media?parent=982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}