
/* ===== Seite Kontakt ===== */
.bs-hero > .bs-hero-bild { object-position: 50% 40%; }
.bs-tag { display: inline-block; font: 600 .7rem/1 var(--text-font); letter-spacing: .12em; text-transform: uppercase; color: #a42423; }
.giebel--dunkel .bs-tag { color: #ef6a60; }
.fk-ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #a42423; color: #fff; box-shadow: 0 4px 0 #6b1412; }
.fk-ic svg { width: 24px; height: 24px; }

/* Drei Wege */
.kt-wege { list-style: none; margin: 36px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.kt-weg { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 26px 22px 22px; border-radius: 18px; background: #fff; border: 1px solid #e3dccf; text-align: center; box-shadow: 0 20px 34px -28px rgba(40,30,20,.6); }
.kt-weg .fk-ic { margin-bottom: 6px; }
.kt-weg h3 { margin: 0; font-size: 1.8rem; line-height: 1; text-transform: uppercase; color: #1b2227; }
.kt-weg p { margin: 0; font-size: .93rem; color: #3c4a52; flex: 1; }
.kt-weg .knopf-2z { margin-top: 10px; }
.kt-weg--form { border-color: #a42423; }
.kt-status { flex: none !important; display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border-radius: 999px; background: #eef1f2; font-size: .8rem !important; font-weight: 700; color: #1b2227 !important; }
.kt-status i { width: 9px; height: 9px; border-radius: 50%; background: #78868e; }
.kt-status em { font-style: normal; }
.kt-status.an { background: #e3f5ea; color: #1f8f53 !important; }
.kt-status.an i { background: #3ccf7f; box-shadow: 0 0 0 0 rgba(60,207,127,.6); animation: lt-puls 1.8s infinite; }

/* Foto-Checkliste */
.kt-liste { list-style: none; margin: 36px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.kt-liste li { min-width: 0; display: flex; }
.kt-liste button { position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; padding: 0; border-radius: 16px; overflow: hidden; border: 2px solid rgba(255,255,255,.1); background: #172128; color: #dfe5e8; font: inherit; text-align: left; cursor: pointer; transition: border-color .25s, transform .2s; }
.kt-liste img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.8) brightness(.85); transition: filter .3s; }
.kt-text { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 18px; }
.kt-text b { font-size: 1.3rem; line-height: 1.05; text-transform: uppercase; color: #fff; }
.kt-text > span:last-child { font-size: .86rem; color: #a8b3b9; }
.kt-haken { position: absolute; right: 10px; top: 10px; width: 34px; height: 34px; border-radius: 50%; border: 2px solid rgba(255,255,255,.7); background: rgba(14,20,24,.55); transition: background .25s, border-color .25s, transform .3s cubic-bezier(.3,1.5,.5,1); }
.kt-liste button:hover { border-color: rgba(239,106,96,.6); transform: translateY(-3px); }
.kt-liste button[aria-pressed="true"] { border-color: #3fae6a; }
.kt-liste button[aria-pressed="true"] img { filter: none; }
.kt-liste button[aria-pressed="true"] .kt-haken { border-color: #3fae6a; background: #3fae6a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 18px no-repeat; transform: scale(1.1); }
.kt-liste button:focus-visible { outline: 3px solid #ef6a60; outline-offset: 3px; }
.kt-stand { max-width: 760px; margin: 28px auto 0; text-align: center; }
.kt-balken { height: 10px; border-radius: 5px; background: rgba(255,255,255,.08); overflow: hidden; }
.kt-balken i { display: block; height: 100%; width: 0; border-radius: 5px; background: linear-gradient(90deg, #a42423, #3fae6a); transition: width .5s cubic-bezier(.3,1.2,.5,1); }
#kt-satz { margin: 14px 0 0; font-size: 1.02rem; color: #fff; }
.kt-knoepfe { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.kt-hinweis { margin: 14px 0 0; font-size: .82rem; color: #8b979e; }

/* Standort */
.kt-standort { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(28px,5vw,64px); align-items: center; }
.kt-karte { min-width: 0; padding: 26px; border-radius: 18px; background: #f6f3ee; border: 1px solid #e3dccf; }
.kt-karte-kopf { margin: 0 0 10px; font: 700 .72rem/1 var(--text-font); letter-spacing: .14em; text-transform: uppercase; color: #a42423; }
.kt-karte address { display: flex; flex-direction: column; gap: 2px; font-style: normal; color: #26313a; }
.kt-karte address b { font-size: 1.6rem; line-height: 1; text-transform: uppercase; color: #1b2227; margin-bottom: 4px; }
.kt-zeiten { margin: 18px 0 0; }
.kt-zeiten div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid #e3dccf; font-size: .9rem; }
.kt-zeiten dt { color: #6f7a80; }
.kt-zeiten dd { margin: 0; text-align: right; font-weight: 600; color: #1b2227; }
.kt-karte .knopf-2z { margin-top: 18px; }
.kt-klein { margin: 12px 0 0; font-size: .8rem; color: #6f7a80; }

@media (max-width: 960px) {
  .kt-wege { grid-template-columns: 1fr; }
  .kt-liste { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .kt-standort { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .kt-liste { gap: 10px; }
  .kt-text { padding: 10px 12px 14px; }
  .kt-text b { font-size: 1.05rem; }
  .kt-text > span:last-child { font-size: .78rem; }
  .kt-text .bs-tag { display: none; }
  .kt-haken { width: 28px; height: 28px; right: 8px; top: 8px; }
  .kt-knoepfe { grid-template-columns: 1fr; }
  .kt-karte { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { .kt-balken i, .kt-liste button, .kt-haken { transition: none; } .kt-status.an i { animation: none; } }
