/* ==========================================================================
   vatikan-tickets.de — Site-Chrome (Header, Navigation, Footer)
   Die Inhalts-Bloecke bringen ihre Styles selbst mit (kt-block, kt-ep, …) —
   zeichengenau aus der WordPress-Fassung uebernommen.
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #1E2638;
  background: #fff;
  line-height: 1.6;
}

img { max-width: 100%; height: auto; }

/* ---------------- Header ---------------- */

.kt-site-header {
  background: #fff;
  border-bottom: 1px solid #E4DCC8;
  position: relative;
  z-index: 100;
}
.kt-site-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.kt-site-logo { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 3px; text-decoration: none; }
.kt-site-logo img { width: 260px; height: auto; display: block; }
.kt-site-logo-tag {
  font-size: 11px; font-weight: 600; letter-spacing: 0.4px;
  text-transform: uppercase; color: #7A6A45; padding-left: 2px;
}

/* Unabhaengigkeits-Hinweis direkt unter dem Header (alle Seiten) */
.kt-disclaimer {
  background: #F7F0DC;
  border-bottom: 1px solid #E4DCC8;
}
.kt-disclaimer-inner {
  max-width: 1200px; margin: 0 auto; padding: 9px 20px;
  font-size: 13px; font-weight: 500; line-height: 1.45;
  color: #3A4256; text-align: center;
}
@media (max-width: 600px) {
  .kt-site-logo img { width: 190px; }
  .kt-site-logo-tag { font-size: 10px; }
  .kt-disclaimer-inner { font-size: 12px; padding: 8px 16px; }
}

.kt-nav-toggle {
  display: none;
  background: none; border: none; padding: 8px; cursor: pointer; color: #1E2638;
}

.kt-site-nav > ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.kt-nav-item { position: relative; }
.kt-nav-item > a,
.kt-nav-sub-toggle {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 10px 14px;
  font-size: 15px; font-weight: 600; color: #1E2638;
  text-decoration: none; background: none; border: none; cursor: pointer;
  font-family: inherit; border-radius: 8px;
  transition: background .15s ease, color .15s ease;
}
.kt-nav-item > a:hover, .kt-nav-sub-toggle:hover { background: #FBF7EC; color: #8A6A12; }
.kt-nav-item.is-active > a, .kt-nav-item.is-active .kt-nav-sub-toggle { color: #8A6A12; }

ul.kt-nav-sub {
  display: none;
  position: absolute; top: 100%; left: 0;
  min-width: 230px;
  list-style: none; margin: 0;
  background: #fff; border: 1px solid #E4DCC8; border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
  padding: 6px;
  flex-direction: column; gap: 0;
}
.kt-nav-item--sub:hover ul.kt-nav-sub,
.kt-nav-item--sub.is-sub-open ul.kt-nav-sub { display: flex; }
.kt-nav-sub li { width: 100%; }
.kt-nav-sub a {
  display: block; padding: 9px 12px; font-size: 14px; font-weight: 500;
  color: #1E2638; text-decoration: none; border-radius: 6px;
}
.kt-nav-sub a:hover { background: #FBF7EC; color: #8A6A12; }
.kt-nav-sub a[aria-current="page"] { color: #8A6A12; font-weight: 700; }

@media (max-width: 900px) {
  .kt-nav-toggle { display: inline-flex; }
  .kt-site-nav {
    display: none;
    position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; border-bottom: 1px solid #E4DCC8;
    box-shadow: 0 10px 24px rgba(0,0,0,0.10);
  }
  .kt-site-nav.is-open { display: block; }
  .kt-site-nav > ul { flex-direction: column; padding: 10px 16px 16px; }
  .kt-nav-item > a, .kt-nav-sub-toggle { width: 100%; justify-content: flex-start; padding: 12px 10px; }
  ul.kt-nav-sub {
    position: static; display: none; border: none; box-shadow: none;
    padding: 0 0 0 16px; min-width: 0;
  }
  .kt-nav-item--sub.is-sub-open ul.kt-nav-sub { display: flex; }
  .kt-nav-item--sub:hover ul.kt-nav-sub { display: none; }
  .kt-nav-item--sub.is-sub-open:hover ul.kt-nav-sub { display: flex; }
}

/* ---------------- Footer ---------------- */

.kt-site-footer {
  background: #1E2638;
  color: #CDD3DF;
  margin-top: 56px;
}
.kt-site-footer-inner {
  max-width: 1100px; margin: 0 auto; padding: 32px 20px 40px;
  text-align: center;
}
.kt-footer-note { font-size: 14px; margin: 0 0 16px; color: #CDD3DF; }
.kt-footer-links { margin: 0 0 14px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; }
.kt-footer-links a { color: #fff; text-decoration: none; font-size: 14px; }
.kt-footer-links a:hover { text-decoration: underline; color: #C9A13B; }
.kt-footer-copy { font-size: 13px; color: #8E97A8; margin: 0; }

/* Anker-Sprünge nicht unter dem Header verstecken */
html { scroll-behavior: smooth; }
:target { scroll-margin-top: 16px; }

/* ==========================================================================
   Inhalts-Komponenten (zentral statt inline je Block, wie bei der Vorlage)
   Farben: Navy #1E2638 (Text), Gold #9A7419/#C9A13B (Akzent), Rot #C5301B (CTA)
   ========================================================================== */

.kt-block { max-width: 1100px; margin: 0 auto; padding: 48px 20px; color: #1E2638; line-height: 1.6; }
.kt-block-soft { max-width: none; background: #FBF7EC; }
.kt-block-soft > * { max-width: 1060px; margin-left: auto !important; margin-right: auto !important; }
.kt-block h2 { font-size: 28px; font-weight: 700; margin: 0 0 18px; line-height: 1.25; }
.kt-block h3 { font-size: 19px; font-weight: 700; margin: 0 0 10px; }
.kt-block p { margin: 0 0 14px; font-size: 16px; }
.kt-block a { color: #7A5C10; text-decoration: underline; }
.kt-block a:hover { color: #C5301B; }
.kt-note, .kt-quelle { font-size: 13px !important; color: #4D5566; }
.kt-quelle { margin-top: -4px !important; }

.kt-cta, .kt-block a.kt-cta { display: inline-block; padding: 12px 22px; background: #C5301B; color: #fff; font-weight: 700; border-radius: 8px; text-decoration: none; font-size: 16px; line-height: 1.2; transition: opacity .15s ease; }
.kt-cta-secondary, .kt-block a.kt-cta-secondary,
.kt-block a.at-affiliate-button { display: inline-block; padding: 12px 22px; background: #1E2638; color: #fff; font-weight: 700; border-radius: 8px; text-decoration: none; font-size: 16px; line-height: 1.2; transition: opacity .15s ease; }
.kt-cta:hover, .kt-cta-secondary:hover, .kt-block a.at-affiliate-button:hover { opacity: .88; color: #fff; }

/* Empfehlungsbox offizielle Website */
.kt-recommend-box { background: #FBF7EC; border-left: 4px solid #C9A13B; padding: 22px 26px; border-radius: 8px; margin-bottom: 40px; }
.kt-recommend-box h2 { font-size: 22px; margin-bottom: 10px; }
.kt-recommend-box p:last-child { margin-bottom: 0; }

/* Karten "Welcher Besuch passt" */
.kt-variante-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-top: 24px; }
.kt-variante-card { background: #fff; border: 1px solid #E4DCC8; border-radius: 10px; padding: 24px; display: flex; flex-direction: column; }
.kt-variante-card-head { border-bottom: 1px solid #E4DCC8; padding-bottom: 14px; margin-bottom: 14px; }
.kt-block .kt-variante-card-title { font-size: 18px; font-weight: 700; margin: 0 0 6px; }
.kt-block .kt-variante-card-price { font-size: 14px; color: #7A5C10; font-weight: 600; margin: 0; }
.kt-variante-card ul { list-style: none; padding: 0; margin: 0 0 18px; flex-grow: 1; }
.kt-variante-card li { padding: 6px 0 6px 22px; position: relative; font-size: 15px; }
.kt-variante-card li::before { content: "✓"; position: absolute; left: 0; color: #9A7419; font-weight: 700; }
.kt-variante-card-cta { text-align: center; }

/* USP: drei Merkmale */
.kt-merkmal-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin: 22px 0 32px; }
.kt-merkmal { background: #fff; border: 1px solid #E4DCC8; border-top: 4px solid #C9A13B; border-radius: 10px; padding: 20px 22px; }
.kt-block .kt-merkmal-title { font-weight: 700; font-size: 17px; margin-bottom: 8px; }
.kt-block .kt-merkmal p:last-child { margin-bottom: 0; font-size: 15px; }

/* Wartezeiten */
.kt-wait-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin: 8px 0 14px; }
.kt-wait-card { background: #FBF7EC; border-radius: 10px; padding: 20px; text-align: center; }
.kt-block .kt-wait-card-time { font-size: 30px; font-weight: 700; color: #1E2638; line-height: 1.1; margin-bottom: 6px; }
.kt-block .kt-wait-card-label { font-size: 14px; font-weight: 600; margin: 0; }
.kt-wait-tip { background: #fff; border-left: 4px solid #C5301B; padding: 18px 22px; border-radius: 8px; margin-top: 22px; box-shadow: 0 1px 0 #E4DCC8; }
.kt-wait-tip h3 { font-size: 17px; }
.kt-block .kt-wait-tip p { margin: 0; font-size: 15px; }

/* Besuchszeit: Text + Bild */
.kt-split { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: start; }
.kt-liste { padding-left: 20px; margin: 0; }
.kt-liste li { margin-bottom: 10px; font-size: 16px; }
.kt-figur { margin: 0; }
.kt-figur img { border-radius: 10px; display: block; width: 100%; }
.kt-figur img { height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.kt-split-mitte { align-items: center; }
#kt-preise .kt-split-mitte { margin-top: 28px; }
.kt-split-mitte .kt-info-split { margin-top: 0; }
.kt-block-soft .kt-split h2 { margin-top: 0; }
@media (max-width: 760px) { .kt-split { grid-template-columns: 1fr; } }

/* Paesse */
.kt-pass-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(235px, 1fr)); gap: 22px; margin-top: 22px; align-items: stretch; }
.kt-pass-card { background: #fff; border: 1px solid #E4DCC8; border-radius: 12px; padding: 26px; display: flex; flex-direction: column; }
.kt-pass-card-badge { display: inline-block; background: #1E2638; color: #fff; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 12px; align-self: flex-start; }
.kt-block .kt-pass-card-meta { font-size: 14px; color: #4D5566; margin-bottom: 14px; }
.kt-pass-card-body { flex-grow: 1; }
.kt-pass-card ul { list-style: none; padding: 0; margin: 0 0 18px; }
.kt-pass-card li { padding: 5px 0 5px 22px; position: relative; font-size: 15px; }
.kt-pass-card li::before { content: "✓"; position: absolute; left: 0; color: #9A7419; font-weight: 700; }
.kt-pass-card-footer { margin-top: auto; padding-top: 14px; border-top: 1px solid #EEE6D2; }
.kt-block .kt-pass-card-price { font-size: 18px; font-weight: 700; color: #7A5C10; margin: 0 0 14px; }
.kt-pass-card-price .at-price--leer { display: none; }
.kt-pass-card { padding: 22px; }
.kt-pass-card--top { border: 2px solid #C9A13B; }
.kt-block .kt-pass-card-footer a { display: block; text-align: center; font-size: 15px; padding-left: 12px; padding-right: 12px; }
.kt-pass-card-dauer { font-size: 13px; font-weight: 500; color: #4D5566; }
.kt-block .kt-pass-hinweis { font-size: 12.5px; color: #6E7584; margin: 14px 0 0; }

/* Info-Spalten */
.kt-info-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 28px; margin-top: 28px; }
.kt-block .kt-info-block p { font-size: 15px; margin-bottom: 8px; }
.kt-block .kt-info-link { font-weight: 600; }

/* Cross-Sell-Leiste */
.kt-crosssell { margin-top: 28px; display: flex; gap: 18px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: #fff; border: 1px solid #E4DCC8; border-radius: 10px; padding: 18px 22px; }
.kt-block .kt-crosssell-title { font-weight: 700; margin: 0 0 4px; }
.kt-block .kt-crosssell-meta { margin: 0; font-size: 14px; color: #4D5566; }

/* Tabelle */
.kt-tablecontainer { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; }
.kt-table { min-width: 520px; width: 100%; border-collapse: collapse; }
.kt-table th, .kt-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid #E4DCC8; font-size: 15px; vertical-align: top; }
.kt-table th { background: #FBF7EC; font-weight: 700; }
.kt-table tr:last-child td { border-bottom: none; }

/* FAQ */
.kt-faq-list { margin-top: 18px; border-top: 1px solid #E4DCC8; }
.kt-faq-item { border-bottom: 1px solid #E4DCC8; }
.kt-faq-item summary { padding: 18px 0; cursor: pointer; font-weight: 700; font-size: 17px; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.kt-faq-item summary::-webkit-details-marker { display: none; }
.kt-faq-item summary::after { content: "+"; font-size: 24px; color: #9A7419; font-weight: 400; line-height: 1; flex-shrink: 0; }
.kt-faq-item[open] summary::after { content: "−"; }
.kt-faq-answer { padding: 0 0 18px; }
.kt-block .kt-faq-answer p { font-size: 15px; margin-bottom: 10px; }
.kt-faq-more { padding-top: 32px; text-align: center; }

/* Ueber diese Seite */
.kt-trust { margin-top: 44px; padding: 26px 28px; background: #FBF7EC; border-radius: 10px; }
.kt-trust h3 { font-size: 18px; }
.kt-block .kt-trust p { font-size: 14px; color: #3A4256; margin-bottom: 8px; }
.kt-block .kt-trust-label { font-weight: 700; color: #1E2638; margin-top: 14px; }

@media (max-width: 600px) {
  .kt-block { padding: 36px 16px; }
  .kt-block h2 { font-size: 23px; }
}

/* ==========================================================================
   Schaufenster: Haupt-Ticket + Fuehrungen (partials/schaufenster.php)
   ========================================================================== */
.kt-sf .kt-sf-intro { max-width: 760px; }
.kt-sf-badge {
  position: absolute; top: 14px; left: 14px;
  background: #1E2638; color: #fff; font-size: 12px; font-weight: 700;
  letter-spacing: .4px; text-transform: uppercase; line-height: 1.2;
  padding: 6px 11px; border-radius: 999px; box-shadow: 0 2px 8px rgba(0,0,0,.18);
}
.kt-block .kt-sf-anbieter { margin: 0 0 8px; font-size: 13px; color: #4D5566; line-height: 1; }
.kt-sf-anbieter img { height: 22px; width: auto; display: inline-block; vertical-align: middle; }

/* Sterne: grauer Grund, goldene Fuellung nach Anteil */
.kt-block .kt-rating { margin: 0 0 14px; font-size: 14px; color: #1E2638; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.kt-sterne { position: relative; display: inline-block; width: 84px; height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.8 16'%3E%3Cpath fill='%23D9D3C4' d='M8 0l2.4 5 5.5.7-4 3.8 1 5.5L8 12.4 3.1 15l1-5.5-4-3.8L5.6 5z'/%3E%3C/svg%3E") repeat-x 0 0 / 16.8px 16px; }
.kt-sterne span { position: absolute; inset: 0 auto 0 0; overflow: hidden;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.8 16'%3E%3Cpath fill='%23E0A526' d='M8 0l2.4 5 5.5.7-4 3.8 1 5.5L8 12.4 3.1 15l1-5.5-4-3.8L5.6 5z'/%3E%3C/svg%3E") repeat-x 0 0 / 16.8px 16px; }
.kt-rating strong { font-size: 15px; }
.kt-rating-n { color: #4D5566; }

/* Merkmale (Haupt-Ticket) und Chips (Touren) */
.kt-sf-merkmale { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 6px; }
.kt-sf-merkmale li { position: relative; padding-left: 24px; font-size: 15px; line-height: 1.45; }
.kt-sf-merkmale li::before { position: absolute; left: 0; top: 0; font-weight: 700; content: "•"; color: #4D5566; }
.kt-sf-merkmale li.kt-sf-m--gut::before { content: "✓"; color: #1B7A3D; }
.kt-sf-merkmale li.kt-sf-m--info::before { content: "✓"; color: #9A7419; }
.kt-sf-merkmale li.kt-sf-m--hinweis::before { content: "✕"; color: #A1453A; }
.kt-sf-chips { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 6px; }
.kt-sf-chips li { font-size: 12.5px; line-height: 1.3; padding: 4px 9px; border-radius: 6px; background: #F4EFE3; color: #1E2638; }
.kt-sf-chips li.kt-sf-m--gut { background: #E5F2E9; color: #155F30; }
.kt-sf-chips li.kt-sf-m--hinweis { background: #F7E9E6; color: #8A3329; }

/* Haupt-Ticket */
.kt-haupt {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  background: #fff; border: 2px solid #C9A13B; border-radius: 16px; overflow: hidden;
  box-shadow: 0 10px 30px rgba(30,38,56,.08); margin-top: 26px;
}
.kt-haupt-bild { position: relative; background: #1E2638; min-height: 280px; }
.kt-haupt-bild img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.kt-haupt-body { padding: 28px 30px 24px; }
.kt-block .kt-haupt h3 { font-size: 24px; line-height: 1.25; margin: 0 0 8px; }

.kt-optionen { border: 1px solid #E4DCC8; border-radius: 12px; overflow: hidden; margin-bottom: 20px; }
.kt-option { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 16px; }
.kt-option + .kt-option { border-top: 1px solid #EFE8D8; }
.kt-option--guide { background: #FBF7EC; }
.kt-block .kt-option-name { margin: 0; font-weight: 700; font-size: 15px; }
.kt-block .kt-option-erkl { margin: 2px 0 0; font-size: 14px; color: #4D5566; line-height: 1.45; }
.kt-block .kt-option-preis { margin: 0; font-weight: 700; font-size: 17px; color: #1E2638; white-space: nowrap; }
.kt-option-aus { font-weight: 500; font-size: 13px; color: #7A7F8C; }

.kt-haupt-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.kt-haupt-cta .kt-cta { font-size: 17px; padding: 14px 26px; }
.kt-block a.kt-sf-link { font-weight: 600; color: #1E2638; text-decoration: underline; text-decoration-color: #C9A13B; text-underline-offset: 3px; }
.kt-block .kt-sf-fuss { margin: 12px 0 0; font-size: 12.5px; color: #6E7584; }

/* Fuehrungen */
.kt-block .kt-sf-h3 { font-size: 21px; margin: 44px 0 4px; scroll-margin-top: 90px; }
.kt-touren { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 16px; }
.kt-tour { background: #fff; border: 1px solid #E4DCC8; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .15s ease, transform .15s ease; }
.kt-tour:hover { box-shadow: 0 8px 24px rgba(30,38,56,.10); transform: translateY(-2px); }
.kt-tour-bild { position: relative; aspect-ratio: 3 / 2; background: #1E2638; }
/* Bild absolut im 3:2-Rahmen: sonst dehnt ein hoeheres Foto (manche Anbieter liefern 4:3)
   den Rahmen, und die Kacheln enden unterschiedlich hoch. */
.kt-tour-bild { overflow: hidden; }
.kt-tour-bild img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.kt-tour .kt-sf-anbieter img { height: 20px; }
.kt-tour-bild .kt-sf-badge { font-size: 11px; top: 12px; left: 12px; background: #fff; color: #1E2638; }
.kt-tour-body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.kt-block .kt-tour h4 { font-size: 17px; line-height: 1.3; margin: 0 0 8px; }
.kt-tour-optionen { list-style: none; padding: 0; margin: auto 0 16px; border-top: 1px solid #EFE8D8; }
.kt-tour-optionen li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0; border-bottom: 1px solid #EFE8D8; font-size: 14px; }
.kt-tour-optionen strong { white-space: nowrap; font-size: 15px; }
.kt-block a.kt-tour-cta { text-align: center; display: block; }
.kt-block .kt-sf-mehr { margin: 18px 0 0; text-align: center; }

@media (max-width: 960px) {
  .kt-touren { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .kt-haupt { grid-template-columns: 1fr; }
  .kt-haupt-bild { min-height: 0; aspect-ratio: 3 / 2; }
  .kt-haupt-body { padding: 22px 18px 20px; }
  .kt-block .kt-haupt h3 { font-size: 21px; }
  .kt-option { padding: 11px 13px; }
  .kt-haupt-cta .kt-cta { width: 100%; text-align: center; }
  .kt-touren { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Unterseiten: Kopf, Hinweis-Box, Weiterlesen, Kalender
   ========================================================================== */
.kt-kopf { background: #1E2638; color: #fff; }
.kt-kopf-inner { max-width: 1100px; margin: 0 auto; padding: 34px 20px 38px; display: grid; gap: 32px; align-items: center; }
.kt-kopf--bild .kt-kopf-inner { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.kt-crumbs { font-size: 13px; color: #B8C0D0; margin-bottom: 14px; }
.kt-crumbs a { color: #E8D9AE; text-decoration: none; }
.kt-crumbs a:hover { text-decoration: underline; }
.kt-kopf h1 { font-size: 36px; line-height: 1.15; margin: 0 0 16px; font-weight: 700; letter-spacing: -.3px; }
.kt-kopf-lead p { font-size: 17px; line-height: 1.6; margin: 0 0 12px; color: #E6E9F0; }
.kt-kopf-lead strong { color: #fff; }
.kt-kopf-stand { font-size: 13px; color: #C9A13B; margin: 8px 0 0; font-weight: 600; }
.kt-kopf-bild { margin: 0; }
.kt-kopf-bild img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 12px; }
@media (max-width: 860px) {
  .kt-kopf--bild .kt-kopf-inner { grid-template-columns: 1fr; }
  .kt-kopf-bild { order: -1; }
  .kt-kopf h1 { font-size: 28px; }
  .kt-kopf-lead p { font-size: 16px; }
}

/* Fakten-Kacheln direkt unter dem Kopf */
.kt-fakten { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 0 0 8px; }
.kt-fakt { background: #FBF7EC; border-radius: 10px; padding: 16px 18px; }
.kt-block .kt-fakt-wert { font-size: 22px; font-weight: 700; margin: 0 0 2px; line-height: 1.2; }
.kt-block .kt-fakt-label { font-size: 14px; color: #4D5566; margin: 0; }

.kt-cta-box { max-width: 1060px; margin: 8px auto 0; display: flex; gap: 20px 28px; align-items: center; justify-content: space-between; flex-wrap: wrap;
  background: #fff; border: 2px solid #C9A13B; border-radius: 14px; padding: 22px 26px; box-shadow: 0 6px 20px rgba(30,38,56,.06); }
.kt-block .kt-cta-box, .kt-cta-box { color: #1E2638; }
.kt-cta-box-text { flex: 1 1 420px; }
.kt-cta-box-titel { font-size: 19px; font-weight: 700; margin: 0 0 6px; }
.kt-cta-box p { margin: 0; font-size: 15px; line-height: 1.55; }
.kt-cta-box-aktion { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.kt-cta-box a.kt-cta { color: #fff; text-decoration: none; }
.kt-cta-box-pass { font-size: 14px; font-weight: 600; color: #7A5C10; }
@media (max-width: 760px) { .kt-cta-box { margin: 8px 16px 0; padding: 18px; } .kt-cta-box-aktion, .kt-cta-box a.kt-cta { width: 100%; text-align: center; } }

.kt-weiter { padding-top: 40px; }
.kt-weiter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.kt-block a.kt-weiter-karte { display: block; text-decoration: none; color: #1E2638; background: #FBF7EC; border-radius: 12px; padding: 18px 20px; border: 1px solid transparent; transition: border-color .15s ease; }
.kt-block a.kt-weiter-karte:hover { border-color: #C9A13B; color: #1E2638; }
.kt-weiter-titel { display: block; font-weight: 700; font-size: 17px; margin-bottom: 4px; }
.kt-weiter-text { display: block; font-size: 14px; color: #4D5566; }

/* Ampel "Heute geöffnet?" */
.kt-ampel { display: flex; gap: 16px; align-items: center; border-radius: 12px; padding: 18px 22px; margin: 0 0 24px; border: 1px solid; }
.kt-ampel--offen, .kt-ampel--frei { background: #EEF7F0; border-color: #B9DDC4; }
.kt-ampel--kurz, .kt-ampel--spaet { background: #FFF6E5; border-color: #F0D59A; }
.kt-ampel--zu { background: #FBEDEA; border-color: #EBC2BA; }
.kt-ampel--unbekannt { background: #F4F5F8; border-color: #DADDE5; }
.kt-ampel-punkt { width: 14px; height: 14px; border-radius: 50%; flex-shrink: 0; }
.kt-ampel--offen .kt-ampel-punkt, .kt-ampel--frei .kt-ampel-punkt { background: #1B7A3D; }
.kt-ampel--kurz .kt-ampel-punkt, .kt-ampel--spaet .kt-ampel-punkt { background: #D08A0E; }
.kt-ampel--zu .kt-ampel-punkt { background: #B23A2B; }
.kt-ampel--unbekannt .kt-ampel-punkt { background: #8E97A8; }
.kt-block .kt-ampel p { margin: 0; font-size: 16px; }
.kt-block .kt-ampel-titel { font-weight: 700; font-size: 18px; }

.kt-tag-zu td:nth-child(3) { color: #A1453A; font-weight: 600; }
.kt-tag-kurz td:nth-child(3), .kt-tag-spaet td:nth-child(3) { color: #8A5A00; font-weight: 600; }
.kt-tag-frei td:nth-child(3) { color: #1B6B37; font-weight: 600; }
.kt-tag-entfaellt td { color: #7A7F8C; }

/* Zweispaltige Text-Abschnitte und Hinweis */
.kt-hinweis { background: #FBF7EC; border-left: 4px solid #C9A13B; border-radius: 8px; padding: 16px 20px; margin: 18px 0; }
.kt-block .kt-hinweis p { margin: 0; font-size: 15px; }
.kt-block .kt-hinweis p + p { margin-top: 8px; }
.kt-block ul.kt-punkte { padding-left: 20px; margin: 0 0 16px; }
.kt-block ul.kt-punkte li { margin-bottom: 8px; font-size: 16px; }
.kt-block .kt-table td.kt-preis { font-weight: 700; white-space: nowrap; }
.kt-block .kt-table a { font-weight: 600; }
.kt-block h2 + .kt-intro { margin-top: -6px; }
.kt-gratis-liste { list-style: none; padding: 0; margin: 6px 0 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.kt-gratis-liste li { background: #EEF7F0; border: 1px solid #B9DDC4; color: #155F30; border-radius: 8px; padding: 7px 12px; font-size: 14.5px; font-weight: 600; }
.kt-gratis-liste li.kt-gratis-aus { background: #F4F5F8; border-color: #DADDE5; color: #6E7584; font-weight: 500; }
.kt-gratis-liste li.kt-gratis-aus span { text-decoration: line-through; }
.kt-gratis-liste em { font-style: normal; font-size: 13px; }
.kt-schritte { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin: 8px 0 24px; }
.kt-schritt { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid #E4DCC8; border-radius: 12px; padding: 18px; }
.kt-schritt-nr { flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: #1E2638; color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 15px; }
.kt-block .kt-schritt h3 { font-size: 17px; margin: 3px 0 6px; }
.kt-block .kt-schritt p { font-size: 15px; margin: 0; }
.kt-haupt--klein { margin-top: 8px; border-width: 1px; border-color: #E4DCC8; box-shadow: none; }
.kt-block .kt-haupt--klein h3 { font-size: 21px; }
.kt-faq-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.kt-block .kt-faq-nav a { text-decoration: none; background: #FBF7EC; border: 1px solid #E4DCC8; color: #1E2638; font-weight: 600; font-size: 14px; padding: 8px 14px; border-radius: 999px; }
.kt-block .kt-faq-nav a:hover { border-color: #C9A13B; color: #1E2638; }
.kt-block h2.kt-faq-gruppe { margin: 40px 0 6px; font-size: 24px; scroll-margin-top: 16px; }
.kt-kontakt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin-top: 18px; }
.kt-kontakt-karte { background: #fff; border: 1px solid #E4DCC8; border-radius: 12px; padding: 20px 22px; display: flex; flex-direction: column; }
.kt-block .kt-kontakt-karte p { font-size: 15px; margin-bottom: 10px; }
.kt-block .kt-kontakt-link { margin-top: auto; margin-bottom: 0 !important; font-weight: 600; }
@media (max-width: 600px) {
  .kt-table { min-width: 0; }
  .kt-table th, .kt-table td { padding: 10px 8px; font-size: 14px; }
  .kt-table.kt-table--breit { min-width: 620px; }
}
.kt-steckbrief { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.kt-steckbrief > div { background: #FBF7EC; border-radius: 10px; padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; }
.kt-steckbrief > div > span { font-size: 13px; color: #4D5566; }
.kt-steckbrief strong { font-size: 18px; line-height: 1.3; }
.kt-block .kt-fakt-titel { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: #7A5C10; margin: 0 0 4px; }
.kt-fakt-zusatz { font-size: 14px; font-weight: 600; color: #4D5566; }
.kt-block .kt-fakt-rechnung { font-size: 13.5px; font-weight: 600; color: #1E2638; background: #fff; border: 1px dashed #C9A13B; border-radius: 6px; padding: 5px 8px; margin: 6px 0 8px; line-height: 1.4; }
