/* Startseite: Live-Demo und Online-Terminbuchung */

/* Hinweis im Startbild */
.dm-pill{display:inline-flex;align-items:center;gap:10px;margin-top:18px;background:rgba(39,122,82,.10);border:1px solid rgba(39,122,82,.35);color:#1F6040;font:600 14px Poppins,sans-serif;padding:8px 14px 8px 8px;border-radius:99px;text-decoration:none}
.dm-pill[hidden]{display:none}
.dm-pill span{background:#277A52;color:#FFFFFF;font-size:11px;letter-spacing:.06em;padding:4px 8px;border-radius:99px}
.dm-pill:hover{background:rgba(39,122,82,.16)}

/* Abschnitt Live-Demo */
.dm{background:#231F20;color:#FFFFFF;padding:96px 24px;overflow:hidden}
.dm[hidden]{display:none}
.dm-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center}
.dm-eb{margin:0;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5CC795}
.dm-eb:before{content:"";width:32px;height:2px;background:#5CC795}
.dm-h{margin:14px 0 16px;font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1.15;letter-spacing:-.02em}
.dm-p{margin:0 0 22px;color:#CFC9C4;font-size:16.5px;line-height:1.75}
.dm-l{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:10px}
.dm-l li{position:relative;padding-left:28px;color:#E8E4E1;font-size:15.5px}
.dm-l li:before{content:"";position:absolute;left:2px;top:5px;width:12px;height:7px;border-left:2.5px solid #5CC795;border-bottom:2.5px solid #5CC795;transform:rotate(-45deg)}
.dm-btns{display:flex;flex-wrap:wrap;gap:12px}
.dm-b1,.dm-b2{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 24px;border-radius:6px;font-weight:600;font-size:16px;text-decoration:none}
.dm-b1{background:#277A52;color:#FFFFFF}.dm-b1:hover{background:#1F6040}
.dm-b2{border:1.5px solid #4A4446;color:#FFFFFF}.dm-b2:hover{border-color:#8A8486}
.dm-b1:focus-visible,.dm-b2:focus-visible,.dm-pill:focus-visible{outline:3px solid #A9D3BC;outline-offset:2px}
.dm-note{margin:18px 0 0;font-size:13.5px;color:#9A9395}
.dm-bild{position:relative;padding:14px 26px 34px 0}
.dm-tab{position:relative;background:#0D0D0D;border:10px solid #3A3536;border-radius:26px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.dm-tab img{display:block;width:100%;height:auto;border-radius:14px}
.dm-live{position:absolute;top:-14px;left:24px;display:flex;align-items:center;gap:8px;background:#277A52;color:#FFFFFF;font-size:12px;font-weight:700;letter-spacing:.08em;padding:7px 12px;border-radius:99px}
.dm-live i{width:8px;height:8px;border-radius:50%;background:#A8F0C6;box-shadow:0 0 0 4px rgba(168,240,198,.25)}
.dm-handy{position:absolute;right:-6px;bottom:-14px;width:150px;border:7px solid #3A3536;border-radius:24px;overflow:hidden;background:#000000;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.dm-handy img{display:block;width:100%;height:270px;object-fit:cover;object-position:28% 50%}
@media (max-width:900px){.dm{padding:64px 20px}.dm-in{grid-template-columns:1fr;gap:44px}.dm-handy{display:none}.dm-bild{padding:14px 0 0}}

/* Kontakt rechts: Reiter Termin / Nachricht */
.kr{flex:1.3 1 520px;min-width:0}
.kr form{width:100%;box-sizing:border-box}
.tb-tabs{display:flex;gap:6px;background:#ECEBE6;border-radius:12px;padding:5px;margin-bottom:16px}
.tb-tabs[hidden]{display:none}
.tb-tabs button{flex:1;min-height:46px;border:0;border-radius:8px;background:transparent;color:#5C5C5C;font:600 15px Poppins,sans-serif;cursor:pointer}
.tb-tabs button[aria-selected="true"]{background:#FFFFFF;color:#231F20;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.tb-tabs button:focus-visible{outline:3px solid #A9D3BC;outline-offset:1px}
#k-nachricht[hidden],.tb[hidden]{display:none}

/* Buchung */
.tb{background:#FFFFFF;border:1px solid #E8E8E8;border-radius:16px;padding:clamp(22px,3vw,40px);box-shadow:0 20px 50px rgba(35,31,32,.06);font-family:Poppins,sans-serif;color:#231F20}
.tb h3{margin:0 0 4px;font-size:20px;font-weight:600}
.tb-sub{margin:0 0 4px;font-size:14.5px;color:#5C5C5C;line-height:1.55}
.tb-step{margin:22px 0 10px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#6B6B6B}

.tb-arten{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.tb-art{position:relative;display:block;border:1px solid #DDDAD4;border-radius:10px;padding:13px 14px;background:#FFFFFF;cursor:pointer;text-align:left}
.tb-art input{position:absolute;opacity:0;pointer-events:none}
.tb-art b{display:block;font-size:14.5px}
.tb-art small{display:block;margin-top:3px;font-size:12.5px;color:#6B6B6B;line-height:1.4}
.tb-art em{display:block;margin-top:6px;font-style:normal;font-size:12px;font-weight:600;color:#277A52}
.tb-art:has(input:checked){border:2px solid #277A52;background:#F2F8F5;padding:12px 13px}
.tb-art:has(input:focus-visible){outline:3px solid #A9D3BC;outline-offset:2px}
.tb-tage{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -2px}
.tb-tag{flex:0 0 74px;scroll-snap-align:start;border:1px solid #DDDAD4;border-radius:10px;padding:9px 4px;background:#FFFFFF;text-align:center;cursor:pointer;font-family:inherit;color:#231F20}
.tb-tag small{display:block;font-size:11.5px;color:#6B6B6B}
.tb-tag b{display:block;font-size:16px}
.tb-tag[aria-pressed="true"]{background:#277A52;border-color:#277A52;color:#FFFFFF}
.tb-tag[aria-pressed="true"] small{color:#E6F3EC}
.tb-zeiten{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:6px}
.tb-z{min-height:44px;border:1px solid #DDDAD4;border-radius:8px;background:#FFFFFF;font:600 14px Poppins,sans-serif;color:#231F20;cursor:pointer}
.tb-z[aria-pressed="true"]{border:2px solid #277A52;background:#F2F8F5;color:#1F6040}
.tb-tag:focus-visible,.tb-z:focus-visible{outline:3px solid #A9D3BC;outline-offset:2px}
.tb-leer{margin:6px 0 0;font-size:14px;color:#6B6B6B}
.tb-sum{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px 14px;border-radius:10px;background:#F2F8F5;border:1px solid #CFE6DA;color:#1F6040;font-size:14.5px;line-height:1.5}
.tb-f{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tb-f label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;min-width:0}
.tb-f .voll{grid-column:1/-1}
.tb-f input,.tb-f textarea{width:100%;box-sizing:border-box;min-height:50px;padding:0 14px;border-radius:10px;border:1px solid #D9D7D2;background:#F8F7F4;color:#231F20;font:400 16px Poppins,sans-serif}
.tb-f textarea{padding:12px 14px;min-height:84px;resize:vertical}
.tb-f input:focus,.tb-f textarea:focus{outline:2px solid #319967;outline-offset:1px}
.tb-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.tb-ds{margin:14px 0 0;font-size:13.5px;line-height:1.5;color:#5C5C5C}.tb-ds a{color:#277A52}
.tb-err{margin:14px 0 0;padding:12px 16px;border-radius:10px;background:#FDECEC;color:#9B1C1C;font-size:14px;line-height:1.5;white-space:pre-line}
.tb-go{width:100%;min-height:56px;margin-top:16px;border:0;border-radius:6px;background:#277A52;color:#FFFFFF;font:600 16px Poppins,sans-serif;cursor:pointer}
.tb-go:disabled{background:#9DBFAE;cursor:not-allowed}
.tb-go:focus-visible{outline:3px solid #A9D3BC;outline-offset:2px}
.tb-hint{margin:12px 0 0;font-size:13px;color:#6B6B6B;line-height:1.55}
.tb-ok{text-align:center;padding:40px 0}
.tb-ok span{margin:0 auto;width:64px;height:64px;border-radius:50%;background:#E6F3EC;color:#277A52;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700}
.tb-ok p{margin:14px 0 0;font-size:16px;color:#5C5C5C;line-height:1.6}
.tb-ok b.gross{display:block;margin-top:18px;font-size:22px;color:#231F20}
@media (max-width:640px){.tb-f{grid-template-columns:1fr}.tb-arten{grid-template-columns:1fr}}
