/* Klausengesellschaft Tägerwilen – Zusatz-Styles für die Breakdance-Seiten */
:root{--kg-red:#ed4250;--kg-red-dark:#c42f2f;--kg-link:#e74c3c;--kg-link-hover:#6d1717;--kg-text:#3a3a3a;--kg-alert:#da1032}
body{color:var(--kg-text)}
.kg-content a{color:var(--kg-link)}
.kg-content a:hover,.kg-content a:focus{color:var(--kg-link-hover)}

/* Logo */
.kg-logo img{display:block;width:280px;max-width:100%;height:auto}

/* Navigation */
.kg-nav{width:100%}
.kg-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}
.kg-nav li{margin:0;padding:0}
.kg-nav a{display:block;color:#fff !important;text-decoration:none;padding:0 20px;line-height:60px;font-size:15px}
.kg-nav a:hover,.kg-nav a:focus,.kg-nav a[aria-current="page"]{background:var(--kg-red-dark);color:#fff}
.kg-menu-toggle{display:none;width:100%;background:none;border:0;color:#fff;font:inherit;padding:0 20px;line-height:56px;text-align:left;cursor:pointer}
.kg-menu-toggle::before{content:"\2630";margin-right:10px}
@media (max-width:768px){
  .kg-menu-toggle{display:block}
  .kg-nav ul{display:none;flex-direction:column}
  .kg-nav.is-open ul{display:flex}
  .kg-nav a{line-height:48px}
}

/* Inhalt */
.kg-content p{margin:0 0 1.2em}
.kg-float-left{float:left;margin:0 1.5em 1em 0;max-width:45%;height:auto}
.kg-clear{clear:both}
.kg-content img{max-width:100%;height:auto}
.kg-notice{background:#f0f0f0;color:var(--kg-alert);font-weight:700;font-size:20px;padding:1.25em 2em;margin:0 0 1.5em}
.kg-red{color:#f00}
.kg-facebook a{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:700;text-decoration:none}
.kg-table{border-collapse:collapse;width:100%;margin:0 0 1.5em}
.kg-table td{padding:.5em;border:0}
.kg-table tr:nth-child(odd){background:#f0f0f0}
@media (max-width:768px){
  .kg-float-left{float:none;max-width:100%;margin:0 0 1em}
  .kg-notice{font-size:17px;padding:1em}
}

/* Galerie */
.kg-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:0 0 2em}
.kg-gallery a{display:block;aspect-ratio:1;overflow:hidden;background:#eee}
.kg-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.kg-gallery a:hover img{transform:scale(1.05)}
@media (max-width:600px){.kg-gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}

/* Lightbox */
.kg-lb{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:99999}
.kg-lb.open{display:flex}
.kg-lb img{max-width:92vw;max-height:88vh;box-shadow:0 0 30px #000}
.kg-lb button{position:absolute;background:none;border:0;color:#fff;font-size:44px;cursor:pointer;padding:10px 18px;line-height:1}
.kg-lb .kg-lb-close{top:10px;right:10px}
.kg-lb .kg-lb-prev{left:10px;top:50%;transform:translateY(-50%)}
.kg-lb .kg-lb-next{right:10px;top:50%;transform:translateY(-50%)}
.kg-lb .kg-lb-count{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#ccc;font-size:14px}

/* Footer */
.kg-footer{color:#fff;text-align:center;font-size:14px;margin:0}
.kg-footer a{color:#fff}

/* Anpassungen an Breakdance (v1.0.1) */
.bde-section .bde-rich-text{width:100%}
.bde-section .kg-gallery img{height:100% !important;max-width:none}
.bde-section h1.bde-heading{font-size:40px;font-weight:300;line-height:1.2;margin:0 0 20px}
.bde-section h2.bde-heading{font-size:30px;font-weight:300;line-height:1.2;margin:30px 0 16px}
@media (max-width:768px){
  .bde-section h1.bde-heading{font-size:28px}
  .bde-section h2.bde-heading{font-size:22px}
}

/* Roter Hintergrund, Inhalt als weisse Box wie auf der alten Website (v1.0.2) */
html body{background-color:#84251a !important}
.bde-section{max-width:1220px;margin-left:auto;margin-right:auto}
.bde-section:last-of-type{max-width:none}

/* Seitenhöhe = mindestens Bildschirmhöhe, Fussbereich immer unten (v1.0.3) */
#bde-main{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.admin-bar #bde-main{min-height:calc(100vh - 32px)}
@media (max-width:782px){.admin-bar #bde-main{min-height:calc(100vh - 46px)}}
#bde-main>.bde-section{width:100%;flex:0 0 auto}
#bde-main>.bde-section:nth-last-of-type(2){flex:1 0 auto}

/* Downloads – moderne Karten (v1.0.3) */
.kg-download{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #ececec;border-radius:0;padding:18px 20px;margin:0 0 14px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 4px 14px rgba(0,0,0,.05);transition:box-shadow .2s,transform .2s,border-color .2s}
.kg-download:hover{transform:translateY(-2px);border-color:#f3c5c9;box-shadow:0 2px 4px rgba(0,0,0,.05),0 10px 28px rgba(196,47,47,.12)}
.kg-ftype{position:relative;flex:0 0 46px;height:56px;border-radius:0;color:#fff;font-weight:700;font-size:11px;letter-spacing:.06em;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;overflow:hidden}
.kg-ftype::after{content:"";position:absolute;top:0;right:0;width:16px;height:16px;background:rgba(255,255,255,.35);border-bottom-left-radius:0}
.kg-ftype-pdf{background:linear-gradient(160deg,#ef5b50,#c9362c)}
.kg-ftype-doc{background:linear-gradient(160deg,#3d7bd9,#1f4e9c)}
.kg-dl-body{flex:1;min-width:0}
.kg-dl-title{font-size:17px;font-weight:600;line-height:1.3;display:block;margin-bottom:3px}
.kg-content .kg-dl-title a{color:#2b2b2b;text-decoration:none}
.kg-content .kg-dl-title a:hover{color:#c42f2f}
.kg-muted{color:#8a8f98;font-size:13px}
.kg-content a.kg-button{display:inline-flex;align-items:center;gap:8px;background:#c42f2f;color:#fff;text-decoration:none;font-size:15px;font-weight:600;padding:10px 20px 10px 16px;border-radius:0;white-space:nowrap;transition:background .2s,box-shadow .2s}
.kg-content a.kg-button::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 20h14'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 20h14'/%3E%3C/svg%3E") center/contain no-repeat}
.kg-content a.kg-button:hover,.kg-content a.kg-button:focus{background:#9e2020;color:#fff;box-shadow:0 4px 12px rgba(196,47,47,.35)}
@media (max-width:600px){.kg-download{flex-wrap:wrap}.kg-content a.kg-button{width:100%;justify-content:center}}

/* ===== Termine-Seite (v1.1.0) ===== */
.kg-content .kg-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c42f2f;margin:0 0 10px}
.kg-content .kg-eyebrow-light{color:rgba(255,255,255,.8)}

.kg-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;margin:0 0 40px}
.kg-content .kg-lead{font-size:19px;line-height:1.65;color:#444;margin:0 0 22px}
.kg-content .kg-lead strong{display:block;font-size:22px;color:#222;margin-bottom:6px}
.kg-content img.kg-intro-img{width:100%;aspect-ratio:4/5;max-height:440px;object-fit:cover;object-position:50% 30%;border-radius:0;box-shadow:0 18px 40px rgba(0,0,0,.14)}

.kg-event{display:flex;gap:28px;align-items:center;background:linear-gradient(135deg,#b3262a 0%,#e0474f 100%);color:#fff;border-radius:0;padding:34px 38px;margin:0 0 28px;box-shadow:0 20px 40px rgba(179,38,42,.25);position:relative;overflow:hidden}
.kg-event::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:0;background:rgba(255,255,255,.08)}
.kg-event-date{flex:0 0 96px;height:104px;background:#fff;color:#b3262a;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.15);position:relative;z-index:1}
.kg-event-day{font-size:42px;font-weight:800;line-height:1}
.kg-event-mon{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-top:4px;color:#555}
.kg-event-body{position:relative;z-index:1}
.kg-content .kg-event h3.kg-event-title{color:#fff;font-size:26px;font-weight:700;line-height:1.2;margin:0 0 8px}
.kg-content .kg-event p{color:rgba(255,255,255,.92);margin:0 0 14px}
.kg-content ul.kg-meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.kg-content ul.kg-meta li{list-style:none;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:0;padding:6px 14px;font-size:14px;font-weight:600;margin:0}
.kg-content ul.kg-meta li::before,.kg-card-icon::before,.kg-cta-button::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--kg-icon) center/contain no-repeat;mask:var(--kg-icon) center/contain no-repeat}
.kg-i-clock{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.kg-i-pin{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")}
.kg-i-heart{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10A4.5 4.5 0 0 1 12 7.2 4.5 4.5 0 0 1 19.5 10c0 5.4-7.5 10-7.5 10z'/%3E%3C/svg%3E")}
.kg-i-home{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 12 4l9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M10 20v-6h4v6'/%3E%3C/svg%3E")}
.kg-i-tree{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 6 11h3l-4 6h14l-4-6h3z'/%3E%3Cpath d='M12 17v4'/%3E%3C/svg%3E")}
.kg-i-arrow{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E")}

.kg-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 20px}
.kg-card{background:#faf7f5;border:1px solid #f0e8e3;border-radius:0;padding:26px 26px 22px}
.kg-card-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:0;background:#fde8e8;color:#c42f2f;margin-bottom:14px}
.kg-card-icon::before{width:24px;height:24px}
.kg-content .kg-card h3{font-size:20px;font-weight:700;color:#222;margin:0 0 6px}
.kg-content .kg-card p{color:#555;margin:0}

.kg-content .kg-section-lead{color:#666;margin:-6px 0 20px}
.kg-content ul.kg-dates{list-style:none;margin:0 0 36px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
.kg-content li.kg-date{list-style:none;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid #ececec;border-radius:0;padding:22px 12px 18px;margin:0;box-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 18px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s,border-color .2s}
.kg-date:not(.is-booked):hover{transform:translateY(-3px);border-color:#f3c5c9;box-shadow:0 12px 28px rgba(196,47,47,.14)}
.kg-date::before{content:"";position:absolute;top:0;left:18px;right:18px;height:4px;border-radius:0;background:#c42f2f}
.kg-date-wd{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#c42f2f}
.kg-date-day{font-size:48px;font-weight:800;line-height:1.05;color:#222;margin-top:4px}
.kg-date-mon{font-size:15px;font-weight:600;color:#444}
.kg-date-time{font-size:13px;color:#8a8f98;margin:6px 0 12px}
.kg-badge{display:inline-block;font-size:12px;font-weight:700;border-radius:0;padding:4px 12px;background:#fde8e8;color:#b3262a}
.kg-badge-free{background:#e7f6ec;color:#1f7a3d}
.kg-date.is-booked{background:#f6f6f7;box-shadow:none}
.kg-date.is-booked::before{background:#c9c9cf}
.kg-date.is-booked .kg-date-wd,.kg-date.is-booked .kg-date-day,.kg-date.is-booked .kg-date-mon{color:#a3a3ab}
.kg-date.is-booked .kg-date-day{text-decoration:line-through;text-decoration-thickness:3px}

.kg-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:#222;color:#fff;border-radius:0;padding:28px 32px;margin:0}
.kg-content .kg-cta p{margin:0}
.kg-content .kg-cta-title{font-size:22px;font-weight:700;color:#fff}
.kg-content .kg-cta-text{color:rgba(255,255,255,.75)}
.kg-content .kg-cta-text strong{color:#fff}
.kg-content a.kg-cta-button{display:inline-flex;align-items:center;gap:10px;background:#e0474f;color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:14px 26px;border-radius:0;transition:background .2s,transform .2s;--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E")}
.kg-content a.kg-cta-button:hover,.kg-content a.kg-cta-button:focus{background:#c42f2f;color:#fff;transform:translateX(2px)}

@media (max-width:900px){.kg-intro{grid-template-columns:1fr;gap:24px}.kg-intro-img{order:-1}}
@media (max-width:640px){
  .kg-event{flex-direction:column;align-items:flex-start;padding:26px 22px;gap:18px}
  .kg-event-date{flex-basis:auto;width:80px;height:88px}
  .kg-event-day{font-size:34px}
  .kg-cards{grid-template-columns:1fr}
  .kg-content ul.kg-dates{grid-template-columns:repeat(2,1fr);gap:12px}
  .kg-date-day{font-size:40px}
  .kg-content .kg-lead{font-size:17px}
  .kg-cta{padding:24px 22px}
  .kg-content a.kg-cta-button{width:100%;justify-content:center}
}

/* ===== Startseite, Anmeldung, Kontakt (v1.2.0) ===== */
.kg-i-cal{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}
.kg-i-doc{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E")}
.kg-i-img{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='3'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='m21 16-5-5-9 9'/%3E%3C/svg%3E")}
.kg-i-mail{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E")}
.kg-i-fb{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h-2a4 4 0 0 0-4 4v3H7v4h2v7h4v-7h3l1-4h-4V7a1 1 0 0 1 1-1h2z'/%3E%3C/svg%3E")}
.kg-i-alert{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20z'/%3E%3Cpath d='M12 10v4M12 17h.01'/%3E%3C/svg%3E")}
.kg-i-check{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E")}

.kg-alert::before,.kg-content .kg-cta-button::after{content:"";flex:0 0 20px;width:20px;height:20px;background:currentColor;-webkit-mask:var(--kg-icon) center/contain no-repeat;mask:var(--kg-icon) center/contain no-repeat}

/* Startseite */
.kg-hero{position:relative;border-radius:0;overflow:hidden;margin:0 0 28px;box-shadow:0 24px 50px rgba(0,0,0,.18)}
.kg-content img.kg-hero-img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover}
.kg-hero-text{position:absolute;left:0;right:0;bottom:0;padding:90px 40px 34px;background:linear-gradient(to top,rgba(20,10,8,.78),rgba(20,10,8,0))}
.kg-content .kg-hero-title{color:#fff;font-size:40px;font-weight:800;line-height:1.1;margin:0 0 6px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.kg-content .kg-hero-sub{color:rgba(255,255,255,.9);font-size:19px;margin:0}
.kg-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kg-content a.kg-link-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #ececec;border-radius:0;padding:24px;text-decoration:none;color:#222;box-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 18px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s,border-color .2s}
.kg-content a.kg-link-card:hover{transform:translateY(-3px);border-color:#f3c5c9;box-shadow:0 12px 28px rgba(196,47,47,.14);color:#222}
.kg-link-title{font-size:19px;font-weight:700;margin-bottom:4px;display:inline-flex;align-items:center;gap:8px}
.kg-link-title::after{content:"\2192";color:#c42f2f;transition:transform .2s}
.kg-link-card:hover .kg-link-title::after{transform:translateX(4px)}
.kg-link-text{font-size:14px;color:#777}

/* Hinweise */
.kg-alerts{display:grid;gap:12px;margin:0 0 30px}
.kg-alert{display:flex;align-items:flex-start;gap:12px;border-radius:0;padding:16px 18px;font-size:16px;line-height:1.5;margin:0 0 12px}
.kg-alerts .kg-alert{margin:0}
.kg-alert-warn{background:#fdeceb;color:#9c1f24;border:1px solid #f6c9c7}
.kg-alert-info{background:#f4f4f6;color:#333;border:1px solid #e6e6ea}
.kg-alert-info::before{color:#c42f2f}
.kg-alert-ok{background:#e9f7ee;color:#1f6b37;border:1px solid #c6e9d2;margin-top:24px}

/* Schritte */
.kg-content ol.kg-steps{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:none}
.kg-content ol.kg-steps li{list-style:none;margin:0;display:flex;flex-direction:column;gap:4px;background:#faf7f5;border:1px solid #f0e8e3;border-radius:0;padding:22px}
.kg-step-no{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:0;background:#c42f2f;color:#fff;font-weight:800;margin-bottom:8px}
.kg-content ol.kg-steps li strong{font-size:17px;color:#222}
.kg-content ol.kg-steps li span:last-child{font-size:14px;color:#666;overflow-wrap:anywhere}
.kg-content .kg-label{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a8f98;margin:0 0 10px}
.kg-content img.kg-card-logo{display:block;height:56px;width:auto;margin:0 0 12px}
.kg-content .kg-address{font-weight:600;color:#222;margin-top:10px}

/* Kontakt */
.kg-contact{display:grid;grid-template-columns:1fr 1.3fr;gap:44px;align-items:center}
.kg-content img.kg-contact-img{width:100%;aspect-ratio:3/4;max-height:520px;object-fit:cover;object-position:50% 25%;border-radius:0;box-shadow:0 20px 44px rgba(0,0,0,.16)}
.kg-contact-body .kg-lead{margin-bottom:22px}
.kg-contact-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #ececec;border-radius:0;padding:16px 18px;margin:0 0 12px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 16px rgba(0,0,0,.04)}
.kg-contact-card .kg-card-icon{margin:0;flex:0 0 48px}
.kg-contact-card .kg-label{margin:0 0 2px}
.kg-content .kg-contact-value{display:block;font-size:17px;font-weight:600;color:#222;text-decoration:none;overflow-wrap:anywhere}
.kg-content a.kg-contact-value:hover{color:#c42f2f}
.kg-contact-body .kg-cta-button{margin-top:12px}
.kg-content .kg-contact-body a.kg-cta-button{background:#c42f2f}
.kg-content .kg-contact-body a.kg-cta-button:hover{background:#9e2020}

@media (max-width:900px){
  .kg-links,.kg-content ol.kg-steps{grid-template-columns:1fr}
  .kg-contact{grid-template-columns:1fr;gap:26px}
  .kg-content img.kg-contact-img{aspect-ratio:4/3}
}
@media (max-width:640px){
  .kg-content img.kg-hero-img{aspect-ratio:4/3}
  .kg-hero-text{padding:60px 22px 22px}
  .kg-content .kg-hero-title{font-size:26px}
  .kg-content .kg-hero-sub{font-size:16px}
  .kg-contact-body .kg-cta-button{width:100%;justify-content:center}
}

.kg-content,.kg-content *,.kg-content *::before,.kg-content *::after{box-sizing:border-box}
.kg-contact>*,.kg-contact-card>div{min-width:0}

@media (max-width:640px){.kg-hero-text{position:static;padding:22px;background:#2a1411}.kg-content img.kg-hero-img{aspect-ratio:16/10}}

/* ===== Willkommen & Galerie (v1.3.0) ===== */
.kg-i-star{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z'/%3E%3C/svg%3E")}
.kg-i-bell{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 16V11a6 6 0 0 1 12 0v5l2 2H4z'/%3E%3Cpath d='M10 21h4'/%3E%3C/svg%3E")}
.kg-i-book{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2z'/%3E%3Cpath d='M4 19V5M9 7h6'/%3E%3C/svg%3E")}
.kg-i-repeat{--kg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 2l3 3-3 3'/%3E%3Cpath d='M4 11V9a4 4 0 0 1 4-4h12'/%3E%3Cpath d='M7 22l-3-3 3-3'/%3E%3Cpath d='M20 13v2a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}

html{scroll-behavior:smooth}
.kg-content .kg-center{text-align:center;max-width:780px;margin-left:auto;margin-right:auto}

/* Zitat */
.kg-content blockquote.kg-quote{position:relative;margin:10px 0 36px;padding:36px 40px 30px 40px;background:#faf7f5;border:1px solid #f0e8e3;border-left:0;border-radius:0;quotes:none}
.kg-content blockquote.kg-quote::before{content:"\201C";position:absolute;top:-18px;left:30px;font-size:96px;line-height:1;font-family:Georgia,serif;color:#c42f2f}
.kg-content .kg-quote-title{font-size:24px;font-weight:700;color:#222;margin:0 0 10px}
.kg-content .kg-quote p{font-size:17px;line-height:1.75;color:#555;margin:0}

/* Merkmale */
.kg-features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 32px}
.kg-features .kg-card{background:#fff;border-color:#ececec;box-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 18px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s}
.kg-features .kg-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(196,47,47,.12)}
.kg-content .kg-features .kg-card h3{font-size:18px}
.kg-content .kg-features .kg-card p{font-size:15px;line-height:1.6}

/* CTA mit zwei Buttons */
.kg-cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.kg-content a.kg-ghost-button{display:inline-flex;align-items:center;gap:8px;border:2px solid rgba(255,255,255,.35);color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:12px 22px;border-radius:0;transition:background .2s,border-color .2s}
.kg-content a.kg-ghost-button::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:var(--kg-icon) center/contain no-repeat;mask:var(--kg-icon) center/contain no-repeat}
.kg-content a.kg-ghost-button:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}

/* Galerie */
.kg-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}
.kg-content a.kg-chip{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid #e6e6ea;color:#222;text-decoration:none;font-weight:600;font-size:15px;padding:9px 10px 9px 18px;border-radius:0;transition:border-color .2s,box-shadow .2s,color .2s}
.kg-content a.kg-chip span{background:#fde8e8;color:#b3262a;font-size:12px;font-weight:700;border-radius:0;padding:2px 9px}
.kg-content a.kg-chip:hover{border-color:#c42f2f;color:#c42f2f;box-shadow:0 4px 14px rgba(196,47,47,.12)}
.kg-album{margin:0 0 48px;scroll-margin-top:24px}
.kg-album-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid #eee;padding-bottom:12px;margin-bottom:18px}
.kg-content h2.kg-album-title{font-size:26px;font-weight:700;color:#222;margin:0;line-height:1.25}
.kg-album-count{font-size:14px;font-weight:600;color:#8a8f98}
.kg-gallery.kg-gallery-modern{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-auto-flow:dense;gap:10px;margin:0}
.kg-gallery.kg-gallery-modern a{border-radius:0;background:#f1eeec;position:relative}
.kg-gallery.kg-gallery-modern a::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.35),transparent 50%);opacity:0;transition:opacity .25s}
.kg-gallery.kg-gallery-modern a:hover::after{opacity:1}
.kg-gallery.kg-gallery-modern a:hover img{transform:scale(1.06)}
.kg-gallery.kg-gallery-modern img{transition:transform .4s ease}
.kg-gallery.kg-gallery-modern a.kg-feature{grid-column:span 2;grid-row:span 2}

/* Lightbox moderner */
.kg-lb{background:rgba(12,8,8,.94);backdrop-filter:blur(6px)}
.kg-lb img{border-radius:0;max-height:82vh}
.kg-lb button{width:52px;height:52px;padding:0;border-radius:0;background:rgba(255,255,255,.12);font-size:30px;display:flex;align-items:center;justify-content:center;transition:background .2s}
.kg-lb button:hover{background:rgba(255,255,255,.25)}
.kg-lb .kg-lb-close{top:18px;right:18px}
.kg-lb .kg-lb-prev{left:18px}.kg-lb .kg-lb-next{right:18px}
.kg-lb .kg-lb-count{bottom:18px;font-size:14px;color:#ddd}

@media (max-width:900px){.kg-features{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .kg-features{grid-template-columns:1fr}
  .kg-content blockquote.kg-quote{padding:32px 22px 24px}
  .kg-content .kg-quote-title{font-size:20px}
  .kg-cta-actions{width:100%}
  .kg-cta-actions a{flex:1;justify-content:center}
  .kg-gallery.kg-gallery-modern{grid-template-columns:repeat(2,1fr);gap:8px}
  .kg-content h2.kg-album-title{font-size:21px}
  .kg-lb button{width:44px;height:44px}
}

/* Eckiges Design ohne Abrundungen (v1.4.0) */
.kg-content *,.kg-content *::before,.kg-content *::after,.kg-lb,.kg-lb *,.kg-nav *{border-radius:0 !important}
.kg-event::after{display:none}

/* Weihnachtliche Titelschrift: Great Vibes, lokal eingebunden – keine Google-Server (v1.6.0) */
@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/great-vibes-400.woff2) format('woff2')}
.bde-section h1.bde-heading{font-family:'Great Vibes',cursive;font-weight:400;font-size:68px;line-height:1.15;color:#b3262a;letter-spacing:0;margin:0 0 24px}
@media (max-width:768px){.bde-section h1.bde-heading{font-size:48px}}

/* ===== Modernes Mobilmenü (v1.7.0) ===== */
.kg-burger,.kg-drawer,.kg-backdrop{display:none}
@media (max-width:768px){
  .kg-nav-section{display:none !important}
  .kg-head-section{position:sticky !important;top:0;z-index:60;transition:box-shadow .25s}
  .admin-bar .kg-head-section{top:46px}
  .kg-head-section.is-scrolled{box-shadow:0 6px 20px rgba(0,0,0,.12)}
  .kg-head-section .section-container,.kg-head-section>div{position:relative}
  .kg-head-section,.kg-head-section .section-container{padding-top:14px !important;padding-bottom:14px !important}
  .kg-logo img{width:190px}
  .kg-burger{display:flex;flex-direction:column;justify-content:center;gap:6px;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:48px;height:48px;padding:0 12px;background:#c42f2f;border:0;cursor:pointer;z-index:2}
  .kg-burger span{display:block;height:2px;background:#fff;transition:transform .3s,opacity .2s}
  .kg-burger span:nth-child(2){width:70%}
  .kg-menu-open .kg-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .kg-menu-open .kg-burger span:nth-child(2){opacity:0}
  .kg-menu-open .kg-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  .kg-backdrop{display:block;position:fixed;inset:0;background:rgba(20,8,6,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:9990}
  .kg-drawer{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;width:min(86vw,380px);background:linear-gradient(165deg,#9c2a21 0%,#6e1a12 100%);color:#fff;transform:translateX(100%);transition:transform .38s cubic-bezier(.2,.8,.2,1);z-index:9991;box-shadow:-20px 0 50px rgba(0,0,0,.3);overflow-y:auto}
  .kg-menu-open{overflow:hidden}
  .kg-menu-open .kg-backdrop{opacity:1;visibility:visible}
  .kg-menu-open .kg-drawer{transform:none}

  .kg-drawer-top{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 10px}
  .kg-drawer-label{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
  .kg-drawer-close{position:relative;width:44px;height:44px;background:rgba(255,255,255,.12);border:0;cursor:pointer}
  .kg-drawer-close::before,.kg-drawer-close::after{content:"";position:absolute;left:12px;right:12px;top:21px;height:2px;background:#fff}
  .kg-drawer-close::before{transform:rotate(45deg)}.kg-drawer-close::after{transform:rotate(-45deg)}

  .kg-drawer-links{list-style:none;margin:10px 0 0;padding:0 12px}
  .kg-drawer-links li{margin:0;opacity:0;transform:translateX(24px);transition:opacity .35s,transform .35s;transition-delay:calc(.06s * var(--i) + .08s)}
  .kg-menu-open .kg-drawer-links li{opacity:1;transform:none}
  .kg-drawer-links a{position:relative;display:flex;align-items:center;justify-content:space-between;padding:16px 14px;color:#fff !important;text-decoration:none;font-size:20px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.12)}
  .kg-drawer-links a::after{content:"\2192";font-weight:400;opacity:.45;transition:transform .2s,opacity .2s}
  .kg-drawer-links a:hover::after,.kg-drawer-links a:focus::after{transform:translateX(4px);opacity:1}
  .kg-drawer-links a[aria-current="page"]{background:rgba(255,255,255,.1)}
  .kg-drawer-links a[aria-current="page"]::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:#fff}
  .kg-drawer-links a:focus-visible{outline:2px solid #fff;outline-offset:-2px}

  .kg-drawer-foot{margin-top:auto;padding:24px;display:flex;flex-direction:column;gap:12px;font-size:13px;color:rgba(255,255,255,.6)}
  .kg-drawer-mail{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:#9c2a21 !important;text-decoration:none;font-weight:700;font-size:15px;padding:14px 16px}
}
@media (prefers-reduced-motion:reduce){.kg-drawer,.kg-drawer-links li,.kg-backdrop,.kg-burger span{transition:none}}

/* Impressum (v1.8.0) */
.kg-legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 10px}
.kg-legal-card{background:#faf7f5;border:1px solid #f0e8e3;padding:24px 26px}
.kg-content .kg-legal-card p{margin:0 0 6px}
.kg-content .kg-legal-name{font-size:20px;font-weight:700;color:#222}
.kg-footer a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:700px){.kg-legal-grid{grid-template-columns:1fr}}

/* Footer-Links weiss (v1.11.0) */
.kg-footer a,.bde-section .kg-footer a,.breakdance-rich-text-styles .kg-footer a,.kg-footer a:visited{color:#fff !important;text-decoration:underline;text-underline-offset:3px}
.kg-footer a:hover,.kg-footer a:focus{color:#fff !important;opacity:.8}

/* Zitat als Wolke (v1.12.0) */
.kg-content blockquote.kg-quote{position:relative;z-index:0;isolation:isolate;background:#f6efe9;border:0;border-radius:110px !important;padding:46px 80px 40px;margin:90px 10px 80px;text-align:center;box-shadow:none;filter:drop-shadow(0 14px 22px rgba(132,37,26,.10))}
.kg-content blockquote.kg-quote::before{content:"";position:absolute;left:3%;right:3%;top:-74px;height:130px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 130' preserveAspectRatio='none'%3E%3Cg fill='%23f6efe9'%3E%3Ccircle cx='60' cy='92' r='38'/%3E%3Ccircle cx='150' cy='78' r='52'/%3E%3Ccircle cx='265' cy='68' r='66'/%3E%3Ccircle cx='385' cy='72' r='60'/%3E%3Ccircle cx='490' cy='84' r='46'/%3E%3Ccircle cx='555' cy='96' r='34'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;z-index:-1;font-size:0;border-radius:0 !important}
.kg-content blockquote.kg-quote::after{content:"";position:absolute;left:8%;right:8%;bottom:-46px;height:90px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 90' preserveAspectRatio='none'%3E%3Cg fill='%23f6efe9'%3E%3Ccircle cx='90' cy='30' r='44'/%3E%3Ccircle cx='200' cy='38' r='52'/%3E%3Ccircle cx='320' cy='28' r='46'/%3E%3Ccircle cx='430' cy='36' r='54'/%3E%3Ccircle cx='530' cy='26' r='40'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;z-index:-1;border-radius:0 !important}
.kg-content blockquote.kg-quote .kg-quote-title{font-size:26px;color:#9c2a21;margin:0 0 12px}
.kg-content blockquote.kg-quote p{max-width:820px;margin-left:auto;margin-right:auto}
@media (max-width:640px){
  .kg-content blockquote.kg-quote{border-radius:56px !important;padding:30px 22px 26px;margin:80px 0 64px}
  .kg-content blockquote.kg-quote::before{top:-62px;height:110px;left:0;right:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 110' preserveAspectRatio='none'%3E%3Cg fill='%23f6efe9'%3E%3Ccircle cx='55' cy='70' r='40'/%3E%3Ccircle cx='140' cy='52' r='52'/%3E%3Ccircle cx='235' cy='66' r='44'/%3E%3C/g%3E%3C/svg%3E")}
  .kg-content blockquote.kg-quote::after{bottom:-36px;height:70px;left:4%;right:4%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 70' preserveAspectRatio='none'%3E%3Cg fill='%23f6efe9'%3E%3Ccircle cx='80' cy='26' r='34'/%3E%3Ccircle cx='170' cy='32' r='40'/%3E%3Ccircle cx='250' cy='24' r='30'/%3E%3C/g%3E%3C/svg%3E")}
  .kg-content blockquote.kg-quote .kg-quote-title{font-size:21px}
}
