/* ===== redesign.css ===== */
/* =====================================================================
   BRANDSCHUTZ JÄGER – Master-Redesign-CSS
   Quelle der Wahrheit: startseite-/dienstleistung-/schulungen-/artikel-muster.html
   Einfügen unter: Astroid → Template-Optionen → Custom Code → Custom CSS
   (Backend-Editor wirft 503 → besser als Datei templates/tp_golf/css/redesign.css
    per SFTP ablegen und im Template laden.)

   Icon-Set: FontAwesome (sitewide bereits geladen) – Muster-Tabler-Icons
   werden in den Custom-HTML-Modulen auf FA gemappt.
   ---------------------------------------------------------------------
   GLIEDERUNG
   1  Design-Tokens
   2  Utilities (bsj-*) für Custom-HTML-Module
   3  Header / Navigation (sticky-glas)
   4  Trust-Bar
   5  Leistungs-Grid (bottom-a-position) + generische Karten
   6  Stats / About
   7  Blog-Teaser-Karten (Startseite)
   8  EventBooking (.eb-*) – Schulungen
   9  CTA-Band
   10 Footer (contact-info, social, gp_rec Rating, Copyright)
   11 Sidebar-Module (Accent-Header) – aus sidebar-module-refresh.css
   12 Artikel-Inhalt (.bsj-article) – aus bsj-artikel-design.css
   13 Responsive
   ===================================================================== */

/* === 1 · DESIGN-TOKENS ============================================== */
:root{
  --bsj-red:#C4183C;  --bsj-red-dark:#9e1230;  --bsj-soft:#fdecef;
  --bsj-ink:#1f2933;  --bsj-muted:#52606d;     --bsj-line:#e4e7eb;
  --bsj-line-2:#f0f1f3; --bsj-bg:#f7f8fa;       --bsj-rank:#f0a6b4;
  --bsj-amber:#ba7517; --bsj-green:#1d9e75;
  --bsj-radius:14px;   --bsj-radius-lg:16px;
  --bsj-shadow:0 4px 16px rgba(31,41,51,.06);
  --bsj-shadow-h:0 16px 34px rgba(31,41,51,.10);
}

/* === 2 · UTILITIES (für Custom-HTML-Module) ========================= */
.bsj-wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.bsj-sec{padding:64px 0;}
.bsj-sec--bg{background:var(--bsj-bg);}
.bsj-sec-head{text-align:center;max-width:640px;margin:0 auto 40px;}
.bsj-sec-head h2{font-size:30px;line-height:1.2;margin:0 0 12px;color:var(--bsj-ink);font-weight:700;}
.bsj-sec-head p{color:var(--bsj-muted);font-size:16px;margin:0;}
.bsj-sec-head .bsj-bar{width:42px;height:3px;background:var(--bsj-red);border-radius:2px;margin:14px auto 0;}

.bsj-eyebrow{display:inline-block;background:var(--bsj-soft);color:var(--bsj-red);
  font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  padding:5px 13px;border-radius:20px;}

.bsj-btn{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:600;
  padding:12px 22px;border-radius:10px;cursor:pointer;transition:.18s;text-decoration:none;
  border:1px solid transparent;line-height:1.2;}
.bsj-btn-red{background:var(--bsj-red);color:#fff;box-shadow:0 8px 20px rgba(196,24,60,.28);}
.bsj-btn-red:hover{background:var(--bsj-red-dark);color:#fff;}
.bsj-btn-ghost{background:#fff;color:var(--bsj-ink);border-color:#d6dae0;}
.bsj-btn-ghost:hover{border-color:var(--bsj-ink);color:var(--bsj-ink);}
.bsj-btn-white{background:#fff;color:var(--bsj-red);font-weight:700;}
.bsj-btn-white:hover{color:var(--bsj-red-dark);}

/* generische Karte */
.bsj-card{background:#fff;border:1px solid var(--bsj-line);border-radius:var(--bsj-radius-lg);
  padding:24px;transition:.18s;}
.bsj-card:hover{transform:translateY(-4px);box-shadow:var(--bsj-shadow-h);border-color:#d9dde2;}

.bsj-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

/* === 3 · HEADER / NAVIGATION ======================================= */
/* sticky-glas Kopf */
.astroid-header-section{position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--bsj-line);}
.astroid-header-section .astroid-module-position.mod-shadow{box-shadow:none !important;background:transparent !important;}

/* Navigation: Hover & aktiver Zustand in Markenrot */
.astroid-nav .nav-item > a,
.astroid-nav .nav-item .nav-title-text{color:var(--bsj-ink);font-weight:500;transition:color .15s ease;}
.astroid-nav .nav-item > a:hover,
.astroid-nav .nav-item > a:hover .nav-title-text{color:var(--bsj-red);}
.astroid-nav .nav-item-current > a,
.astroid-nav .nav-item-active > a,
.astroid-nav .nav-item-current > a .nav-title-text,
.astroid-nav .nav-item-active > a .nav-title-text{color:var(--bsj-red);}
/* aktiver Menüpunkt: dezente rote Unterkante */
.astroid-nav .nav-item-current > a::after,
.astroid-nav .nav-item-active > a::after{content:"";display:block;height:2px;border-radius:2px;
  background:var(--bsj-red);margin-top:4px;}

/* Telefon-Button (falls als Modul/Link mit .bsj-nav-phone gesetzt) */
.bsj-nav-phone{display:inline-flex;align-items:center;gap:7px;background:var(--bsj-ink);
  color:#fff;font-size:14px;font-weight:600;padding:9px 16px;border-radius:9px;text-decoration:none;}
.bsj-nav-phone:hover{background:var(--bsj-red);color:#fff;}

/* === 4 · TRUST-BAR (Custom-HTML-Modul .bsj-trust) ================== */
.bsj-trust{background:var(--bsj-ink);}
.bsj-trust .bsj-wrap{display:flex;justify-content:space-around;gap:14px;padding:18px 24px;flex-wrap:wrap;}
.bsj-trust span{color:#fff;font-size:15px;font-weight:500;display:flex;align-items:center;gap:9px;}
.bsj-trust i{color:var(--bsj-red);font-size:19px;}

/* === 5 · LEISTUNGS-GRID (bottom-a-position) + Service-Karten ======= */
/* grauen Astroid-Kasten der Sektion entfernen */
.bottom-a-position.moduletable.mod-shadow,
.astroid-section .astroid-module-position.mod-shadow:has(> .bottom-a-position){
  background:transparent !important;box-shadow:none !important;}
.bottom-a-position .module-title,
.bsj-services-head{font-size:30px;line-height:1.2;text-align:center;color:var(--bsj-ink);
  font-weight:700;border:0;margin:0 auto 8px;}

/* Service-Karte (Custom-HTML im Modul) */
.bsj-service-card{background:#fff;border:1px solid var(--bsj-line);border-radius:var(--bsj-radius-lg);
  padding:24px;transition:.18s;height:100%;}
.bsj-service-card:hover{transform:translateY(-4px);box-shadow:var(--bsj-shadow-h);border-color:#d9dde2;}
.bsj-service-card .ic{width:48px;height:48px;border-radius:12px;background:var(--bsj-soft);
  display:flex;align-items:center;justify-content:center;margin-bottom:15px;}
.bsj-service-card .ic i{font-size:23px;color:var(--bsj-red);}
.bsj-service-card h3{font-size:18px;margin:0 0 7px;color:var(--bsj-ink);}
.bsj-service-card p{color:var(--bsj-muted);font-size:14.5px;margin:0 0 14px;}
.bsj-service-card a.more{color:var(--bsj-red);font-weight:600;font-size:14px;
  display:inline-flex;align-items:center;gap:5px;text-decoration:none;}
.bsj-service-card a.more::after{content:"\2192";}

/* === 6 · STATS / ABOUT (Custom-HTML .bsj-stats) ==================== */
.bsj-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.bsj-stat{background:#fff;border:1px solid var(--bsj-line);border-radius:var(--bsj-radius);padding:22px;}
.bsj-stat b{font-size:32px;color:var(--bsj-red);display:block;line-height:1;}
.bsj-stat span{font-size:13.5px;color:var(--bsj-muted);}
.bsj-check{display:flex;align-items:center;gap:10px;font-size:15px;margin:8px 0;color:var(--bsj-ink);}
.bsj-check i{color:var(--bsj-red);}

/* === 7 · BLOG-TEASER-KARTEN (Startseite, .bsj-bcard) =============== */
.bsj-bcard{background:#fff;border:1px solid var(--bsj-line);border-radius:var(--bsj-radius-lg);
  overflow:hidden;transition:.18s;height:100%;}
.bsj-bcard:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(31,41,51,.12);}
.bsj-bcard .img{position:relative;aspect-ratio:16/9;background:#dde1e6 center/cover;}
.bsj-bcard .tag{position:absolute;top:12px;left:12px;background:var(--bsj-red);color:#fff;
  font-size:11px;font-weight:600;padding:4px 11px;border-radius:6px;}
.bsj-bcard .tag.is-betrieblich{background:var(--bsj-ink);}
.bsj-bcard .body{padding:16px 18px;}
.bsj-bcard .meta{font-size:12px;color:#8c97a3;margin-bottom:7px;}
.bsj-bcard h3{font-size:17px;line-height:1.3;margin:0 0 8px;color:var(--bsj-ink);}
.bsj-bcard a.more{color:var(--bsj-red);font-weight:600;font-size:13.5px;text-decoration:none;}

/* === 9 · CTA-BAND (Custom-HTML .bsj-cta) =========================== */
.bsj-cta{background:linear-gradient(100deg,var(--bsj-red),var(--bsj-red-dark));
  border-radius:20px;padding:40px;display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;}
.bsj-cta h2{color:#fff;font-size:27px;margin:0 0 6px;}
.bsj-cta p{color:#ffd9e0;margin:0;}

/* === 10 · FOOTER =================================================== */
.astroid-footer-section{background:var(--bsj-ink);color:#cfd6dd;}
.astroid-footer-section .astroid-module-position{background:transparent !important;box-shadow:none !important;}
.astroid-footer-section .module-title{color:#fff;font-size:15px;border:0;background:transparent;padding:0 0 14px;}
.astroid-footer-section a{color:#cfd6dd;text-decoration:none;}
.astroid-footer-section a:hover{color:#fff;}

/* Kontakt-Infos */
.astroid-contact-info span{display:flex;gap:9px;font-size:14px;margin:8px 0;align-items:flex-start;color:#cfd6dd;}
.astroid-contact-info i{color:var(--bsj-red);margin-top:2px;}
.astroid-contact-info a{color:#cfd6dd;}
.astroid-contact-info a:hover{color:#fff;}

/* Social-Icons: einheitlicher Karten-Look statt Marken-Inline-Farben */
.astroid-social-icons .col{flex:0 0 auto;}
.astroid-social-icons a{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;color:#fff !important;transition:background .15s ease;}
.astroid-social-icons a:hover{background:var(--bsj-red);}

/* Google-Rating-Box (.gp_rec) */
.footer-1-position .gp_box{background:#fff;border:1px solid var(--bsj-line);border-radius:var(--bsj-radius);
  padding:18px 20px;box-shadow:var(--bsj-shadow);text-align:center;}
.footer-1-position .gp_rec h1{font-size:34px;color:var(--bsj-ink);margin:0;line-height:1;}
.footer-1-position .gp_rec span i{color:#f5b301;}

/* Copyright-Zeile */
#astroid-footer footer{color:#9aa3ad;}
#astroid-footer a[style*="C4183C"]{color:#ff7088 !important;}

/* === 11 · SIDEBAR-MODULE (Accent-Header) ========================== */
/* (übernommen aus sidebar-module-refresh.css) */
.astroid-component-section .astroid-column[class*="col-lg-3"] .astroid-module-position{
  background:#fff !important;border:1px solid var(--bsj-line) !important;border-radius:var(--bsj-radius) !important;
  overflow:hidden !important;box-shadow:var(--bsj-shadow) !important;margin:0 0 1.25rem !important;padding:0 !important;}
.astroid-component-section .astroid-column[class*="col-lg-3"] .moduletable{
  background:transparent !important;border:0 !important;padding:0 !important;margin:0 !important;box-shadow:none !important;}
.astroid-component-section .astroid-column[class*="col-lg-3"] .module-title{
  background:var(--bsj-ink);color:#fff !important;font-size:.95rem;font-weight:600;margin:0;
  padding:.8rem 1.1rem;display:flex;align-items:center;gap:.55rem;border:0;letter-spacing:.02em;}
.astroid-component-section .astroid-column[class*="col-lg-3"] .module-title::before{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--bsj-red);flex:0 0 auto;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articles,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articleslatest{
  list-style:none;margin:0;padding:.4rem .9rem .9rem;counter-reset:bsjrank;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articles > li,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articleslatest > li{
  counter-increment:bsjrank;position:relative;padding:.55rem 0 .55rem 2.1rem;border-top:1px solid var(--bsj-line-2);}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articles > li:first-child,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articleslatest > li:first-child{border-top:0;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articles > li::before,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articleslatest > li::before{
  content:counter(bsjrank);position:absolute;left:0;top:.5rem;font-size:1.15rem;font-weight:700;
  color:var(--bsj-red);line-height:1;font-variant-numeric:tabular-nums;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articles > li a,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articleslatest > li a{
  display:block;color:var(--bsj-ink);text-decoration:none;font-size:.9rem;line-height:1.4;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articles > li a:hover,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articleslatest > li a:hover{color:var(--bsj-red);}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu{list-style:none;margin:0;padding:.5rem .55rem .7rem;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li{margin:0 0 2px;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li a{
  display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:8px;border-left:3px solid transparent;
  text-decoration:none;font-size:.92rem;line-height:1.2;transition:background .15s ease,color .15s ease;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li a,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li a .nav-title-text{color:var(--bsj-ink) !important;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li a:hover{background:var(--bsj-bg);}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li a:hover,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li a:hover .nav-title-text{color:var(--bsj-red) !important;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li a i{color:#8c97a3;font-size:1rem;width:1.1rem;text-align:center;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li.current a,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li.active a{
  background:var(--bsj-soft);border-left-color:var(--bsj-red);font-weight:600;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li.current a,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li.current a .nav-title-text,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li.active a,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li.active a .nav-title-text{color:var(--bsj-red) !important;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li.current a i,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu li.active a i{color:var(--bsj-red);}

/* === 12 · ARTIKEL-INHALT (.bsj-article) =========================== */
/* (übernommen aus bsj-artikel-design.css – Wrapper-Klasse <div class="bsj-article">) */
.bsj-article{color:var(--bsj-ink);line-height:1.7;max-width:860px;margin:0 auto;}
.bsj-article *{box-sizing:border-box;}
.bsj-article h2{font-size:1.6rem;line-height:1.25;margin:2.4rem 0 1rem;color:var(--bsj-ink);
  padding-left:.85rem;border-left:5px solid var(--bsj-red);font-weight:700;}
.bsj-article h3{font-size:1.2rem;margin:1.6rem 0 .6rem;color:var(--bsj-red-dark);font-weight:700;}
.bsj-article p{margin:.7rem 0;color:var(--bsj-muted);}
.bsj-article strong{color:var(--bsj-ink);}
.bsj-article a{color:var(--bsj-red);text-decoration:none;border-bottom:1px solid rgba(196,24,60,.35);}
.bsj-article a:hover{color:var(--bsj-red-dark);border-bottom-color:var(--bsj-red-dark);}
.bsj-article .bsj-lead{font-size:1.18rem;line-height:1.65;color:var(--bsj-ink);margin:0 0 1.6rem;}
.bsj-article .bsj-tldr{background:linear-gradient(135deg,#fff,var(--bsj-soft));border:1px solid var(--bsj-line);
  border-radius:14px;padding:1.4rem 1.6rem;margin:1.8rem 0;box-shadow:var(--bsj-shadow);}
.bsj-article .bsj-tldr h2{border:0;padding:0;margin:0 0 .8rem;font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;color:var(--bsj-red-dark);}
.bsj-article .bsj-tldr ul{list-style:none;margin:0;padding:0;}
.bsj-article .bsj-tldr li{position:relative;padding:.35rem 0 .35rem 2rem;color:var(--bsj-ink);}
.bsj-article .bsj-tldr li::before{content:"";position:absolute;left:0;top:.55rem;width:18px;height:18px;border-radius:50%;
  background:var(--bsj-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;}
.bsj-article ul.bsj-list{list-style:none;margin:1rem 0;padding:0;}
.bsj-article ul.bsj-list li{position:relative;padding:.3rem 0 .3rem 1.6rem;color:var(--bsj-muted);}
.bsj-article ul.bsj-list li::before{content:"";position:absolute;left:.2rem;top:.85rem;width:7px;height:7px;border-radius:50%;background:var(--bsj-red);}
.bsj-article .bsj-callout{display:flex;gap:.9rem;align-items:flex-start;border-radius:12px;padding:1.1rem 1.3rem;margin:1.5rem 0;font-size:.98rem;}
.bsj-article .bsj-callout svg{flex:0 0 22px;margin-top:.15rem;}
.bsj-article .bsj-callout p{margin:0;color:inherit;}
.bsj-article .bsj-callout--info{background:#eef4fb;border:1px solid #d3e3f3;color:#234e7d;}
.bsj-article .bsj-callout--warn{background:#fff6e9;border:1px solid #f5dbab;color:#8a5a06;}
.bsj-article .bsj-faq{border:1px solid var(--bsj-line);border-radius:10px;margin:.7rem 0;overflow:hidden;background:#fff;}
.bsj-article .bsj-faq summary{cursor:pointer;padding:.95rem 1.2rem;font-weight:600;color:var(--bsj-ink);list-style:none;position:relative;padding-right:2.6rem;}
.bsj-article .bsj-faq summary::-webkit-details-marker{display:none;}
.bsj-article .bsj-faq summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--bsj-red);font-weight:400;}
.bsj-article .bsj-faq[open] summary::after{content:"\2013";}
.bsj-article .bsj-faq[open] summary{background:var(--bsj-soft);}
.bsj-article .bsj-faq .bsj-faq-body{padding:.4rem 1.2rem 1.1rem;}
.bsj-article .bsj-faq .bsj-faq-body p{margin:.3rem 0;}
.bsj-article .bsj-cta{background:var(--bsj-ink);color:#fff;border-radius:16px;padding:1.8rem 2rem;margin:2.4rem 0 1.5rem;box-shadow:0 10px 30px rgba(31,41,51,.18);}
.bsj-article .bsj-cta h2{color:#fff;border:0;padding:0;margin:0 0 .5rem;font-size:1.35rem;}
.bsj-article .bsj-cta p{color:#cfd6dd;margin:.4rem 0 1.2rem;}
.bsj-article .bsj-cta a.bsj-btn{display:inline-block;background:var(--bsj-red);color:#fff;border:0;border-radius:8px;padding:.8rem 1.6rem;font-weight:700;text-decoration:none;box-shadow:0 6px 18px rgba(196,24,60,.4);}
.bsj-article .bsj-cta a.bsj-btn:hover{background:var(--bsj-red-dark);}
.bsj-article .bsj-note{font-size:.85rem;color:#8c97a3;border-top:1px solid var(--bsj-line);margin-top:2rem;padding-top:1rem;}

/* === 13 · RESPONSIVE ============================================== */
@media(max-width:880px){
  .bsj-grid3{grid-template-columns:1fr;}
  .bsj-stats{grid-template-columns:1fr 1fr;}
  .bsj-cta{flex-direction:column;align-items:flex-start;}
  .bsj-sec{padding:48px 0;}
}
@media(max-width:600px){
  .bsj-sec-head h2{font-size:24px;}
  .bsj-article h2{font-size:1.35rem;}
  .bsj-article .bsj-lead{font-size:1.08rem;}
}

/* ===== _startseite.css ===== */
/* =====================================================================
   BRANDSCHUTZ JÄGER – STARTSEITE (Ergänzungs-CSS)
   Nur Layout, das NICHT in redesign.css existiert (Hero, About-2-Spalten,
   Rating). Nutzt dieselben --bsj-* Tokens. redesign.css NICHT editieren.
   Laden NACH redesign.css.
   ---------------------------------------------------------------------
   1  Hero (.bsj-hero)
   2  About-2-Spalten (.bsj-about-grid)
   3  Rating (.bsj-rating)
   4  Kleine Helfer (.bsj-sec--cta, .bsj-stat--sm)
   5  Responsive
   ===================================================================== */

/* === 1 · HERO ====================================================== */
.bsj-hero{background:linear-gradient(180deg,#fff,var(--bsj-bg));padding:60px 0 70px;}
.bsj-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
.bsj-hero-title{font-size:46px;line-height:1.1;margin:16px 0 18px;letter-spacing:-.5px;
  color:var(--bsj-ink);font-weight:700;}
.bsj-hero-title .hl{color:var(--bsj-red);}
.bsj-hero-lead{font-size:18px;color:var(--bsj-muted);margin:0 0 26px;max-width:520px;}
.bsj-hero-cta{display:flex;gap:12px;margin-bottom:26px;flex-wrap:wrap;}
.bsj-hero-visual{background:#fff center/contain no-repeat;border-radius:20px;
  aspect-ratio:1672/941;position:relative;overflow:hidden;}
.bsj-hero-badge{position:absolute;bottom:18px;left:18px;right:18px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;
  padding:12px 16px;color:#fff;font-size:13px;display:flex;align-items:center;gap:9px;}
.bsj-hero-badge i{color:var(--bsj-red);}

/* === 2 · ABOUT-2-SPALTEN =========================================== */
.bsj-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.bsj-about-txt h2{font-size:30px;line-height:1.2;margin:0 0 14px;color:var(--bsj-ink);font-weight:700;}
.bsj-about-txt p{color:var(--bsj-muted);font-size:16px;margin:14px 0;}
.bsj-about-txt .bsj-eyebrow{margin-bottom:12px;}

/* === 3 · RATING ==================================================== */
.bsj-rating{display:flex;align-items:center;gap:9px;}
.bsj-rating .bsj-stars{color:#f5b301;font-size:18px;letter-spacing:2px;line-height:1;}
.bsj-rating b{font-size:15px;color:var(--bsj-ink);}
.bsj-rating span{color:var(--bsj-muted);font-size:13px;}

/* === 4 · KLEINE HELFER ============================================= */
/* CTA-Sektion: oben kein Abstand, schließt direkt an Blog-Teaser an */
.bsj-sec--cta{padding-top:0;}
/* kleinere Stat-Überschrift für Textwerte ("deutschlandweit") */
.bsj-stat b.bsj-stat--sm{font-size:22px;}

/* === 5 · RESPONSIVE ================================================ */
@media(max-width:880px){
  .bsj-hero-grid,
  .bsj-about-grid{grid-template-columns:1fr;}
  .bsj-hero{padding:40px 0 48px;}
  .bsj-hero-title{font-size:34px;}
}
@media(max-width:600px){
  .bsj-stats{grid-template-columns:1fr 1fr;}
  .bsj-hero-title{font-size:28px;}
}

/* ===== _leistung.css ===== */
/* =====================================================================
   BRANDSCHUTZ JÄGER – Leistungsseite (Einzelseite einer Dienstleistung)
   Ergänzt redesign.css – HIER nur Klassen, die dort NICHT existieren.
   Quelle der Optik 1:1: dienstleistung-muster.html
   Verwendet die --bsj-* Tokens aus redesign.css.

   Klassen:
     .bsj-shero / .bsj-crumbs              – Hero mit Breadcrumb, Eyebrow, H1, Lead, CTAs
     .bsj-facts / .bsj-fact               – 4 Fakten-Kacheln
     .bsj-checklist                       – Häkchen-Liste
     .bsj-steps / .bsj-step (.n)          – Ablauf 1-2-3
     .bsj-faq                             – details/summary mit +/-
     .bsj-side / .bsj-scard / .bsj-scard-head(.dot) / .bsj-scard-body
     .bsj-minirow / .bsj-rel              – Sidebar-Inhalte
   ===================================================================== */

/* === SERVICE-HERO ================================================== */
.bsj-shero{background:linear-gradient(180deg,#fff,var(--bsj-bg));
  border-bottom:1px solid var(--bsj-line);padding:26px 0 40px;}
.bsj-crumbs{font-size:13px;color:#8c97a3;margin-bottom:18px;}
.bsj-crumbs a{color:#8c97a3;text-decoration:none;}
.bsj-crumbs a:hover{color:var(--bsj-red);}
.bsj-crumbs span{color:var(--bsj-red);}
.bsj-shero h1{font-size:38px;line-height:1.12;margin:14px 0 14px;
  letter-spacing:-.4px;color:var(--bsj-ink);font-weight:700;}
.bsj-shero .bsj-lead{font-size:17px;color:var(--bsj-muted);max-width:680px;margin:0 0 22px;}
.bsj-shero-cta{display:flex;gap:12px;flex-wrap:wrap;}

/* === FAKTEN-KACHELN (4er) ========================================== */
.bsj-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px;}
.bsj-fact{background:#fff;border:1px solid var(--bsj-line);border-radius:var(--bsj-radius);
  padding:16px;display:flex;gap:12px;align-items:center;}
.bsj-fact i{font-size:24px;color:var(--bsj-red);flex:0 0 auto;}
.bsj-fact b{display:block;font-size:15px;color:var(--bsj-ink);}
.bsj-fact span{font-size:12.5px;color:var(--bsj-muted);}

/* === BODY-LAYOUT: Content + Sidebar ================================ */
.bsj-layout{display:grid;grid-template-columns:1fr 340px;gap:40px;padding:50px 0;}
.bsj-content h2{font-size:25px;margin:34px 0 14px;padding-left:14px;
  border-left:4px solid var(--bsj-red);color:var(--bsj-ink);font-weight:700;}
.bsj-content h2:first-child{margin-top:0;}
.bsj-content p{color:var(--bsj-muted);font-size:16px;margin:12px 0;}

/* === CHECKLISTE ==================================================== */
.bsj-checklist{list-style:none;margin:14px 0;padding:0;}
.bsj-checklist li{display:flex;gap:11px;align-items:flex-start;padding:7px 0;
  font-size:15.5px;color:var(--bsj-ink);}
.bsj-checklist i{color:var(--bsj-red);margin-top:3px;flex:0 0 auto;}

/* === STEPS 1-2-3 =================================================== */
.bsj-steps{display:grid;gap:14px;margin:16px 0;}
.bsj-step{display:flex;gap:14px;align-items:flex-start;background:var(--bsj-bg);
  border:1px solid var(--bsj-line);border-radius:12px;padding:16px 18px;}
.bsj-step .n{flex:0 0 32px;height:32px;border-radius:9px;background:var(--bsj-red);
  color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px;}
.bsj-step b{font-size:16px;color:var(--bsj-ink);}
.bsj-step p{margin:3px 0 0;font-size:14px;color:var(--bsj-muted);}

/* === FAQ (details/summary mit +/-) ================================= */
.bsj-faq{border:1px solid var(--bsj-line);border-radius:12px;margin:10px 0;overflow:hidden;background:#fff;}
.bsj-faq summary{cursor:pointer;padding:15px 18px;font-weight:600;font-size:15.5px;
  list-style:none;position:relative;padding-right:46px;color:var(--bsj-ink);}
.bsj-faq summary::-webkit-details-marker{display:none;}
.bsj-faq summary::after{content:"+";position:absolute;right:18px;top:50%;
  transform:translateY(-50%);font-size:22px;color:var(--bsj-red);font-weight:400;}
.bsj-faq[open] summary{background:var(--bsj-soft);}
.bsj-faq[open] summary::after{content:"\2013";}
.bsj-faq .a{padding:4px 18px 16px;color:var(--bsj-muted);font-size:14.5px;}

/* === SIDEBAR-CARDS (Custom-HTML, .bsj-scard) ====================== */
.bsj-side{position:sticky;top:90px;align-self:start;display:flex;flex-direction:column;gap:18px;}
.bsj-scard{background:#fff;border:1px solid var(--bsj-line);border-radius:var(--bsj-radius-lg);
  overflow:hidden;box-shadow:0 6px 20px rgba(31,41,51,.06);}
.bsj-scard-head{background:var(--bsj-ink);color:#fff;font-size:15px;font-weight:600;
  padding:14px 18px;display:flex;align-items:center;gap:9px;}
.bsj-scard-head .dot{width:8px;height:8px;border-radius:50%;background:var(--bsj-red);flex:0 0 auto;}
.bsj-scard-body{padding:18px;}
.bsj-scard-body p{font-size:14px;color:var(--bsj-muted);margin:0 0 14px;}
.bsj-scard-body .bsj-btn{width:100%;justify-content:center;}

.bsj-minirow{display:flex;align-items:center;gap:10px;font-size:14px;padding:7px 0;
  border-top:1px solid var(--bsj-line);color:var(--bsj-ink);}
.bsj-minirow:first-of-type{border-top:0;}
.bsj-minirow i{color:var(--bsj-red);font-size:18px;width:20px;text-align:center;flex:0 0 auto;}

.bsj-rel a{display:flex;align-items:center;gap:9px;padding:9px 0;font-size:14.5px;
  border-top:1px solid var(--bsj-line);color:var(--bsj-ink);text-decoration:none;}
.bsj-rel a:first-of-type{border-top:0;}
.bsj-rel a:hover{color:var(--bsj-red);}
.bsj-rel i{color:#8c97a3;width:18px;text-align:center;flex:0 0 auto;}

/* === RESPONSIVE =================================================== */
@media(max-width:880px){
  .bsj-layout{grid-template-columns:1fr;}
  .bsj-facts{grid-template-columns:1fr 1fr;}
  .bsj-side{position:static;}
  .bsj-shero h1{font-size:30px;}
}
@media(max-width:600px){
  .bsj-facts{grid-template-columns:1fr;}
}

/* ===== _artikel-extra.css ===== */
/* =====================================================================
   BRANDSCHUTZ JÄGER · _artikel-extra.css
   ERGÄNZUNG zu redesign.css – NUR was dort (noch) fehlt.
   Soll-Vorlage: artikel-muster.html · Markup: artikel-vorlage.html

   redesign.css liefert bereits:
     · Abschnitt 12  -> .bsj-article (Lead, TLDR, Listen, Callout, FAQ, CTA, Note)
     · Abschnitt 11  -> Sidebar-Module (Kategorien-Menü, Ranking)
     · Abschnitt 1   -> --bsj-* Design-Tokens (hier wiederverwendet)

   Hier NEU:
     A) Artikel-Header  .bsj-ahead / .bsj-crumbs / .bsj-a-tag / .bsj-a-meta
     B) Hero-Bild 16:8  .bsj-hero-img
     C) "Beitrag teilen" .bsj-share (s-fb / s-li / s-wa / s-ml)
     D) Layout-Raster   .bsj-artlayout (nur für statische Vorschau /
        falls der Header+Sidebar als Custom-HTML statt com_content kommt)
     E) Callout-Icon-Größe für FontAwesome <i> (Muster nutzte SVG)

   Einbau: nach redesign.css laden (zweite <link>) ODER ans Ende von
   redesign.css anhängen. Tokens (--bsj-*) stammen aus redesign.css.
   ===================================================================== */

/* === A · ARTIKEL-HEADER (.bsj-ahead) ================================ */
.bsj-ahead{
  background:linear-gradient(180deg,#fff,var(--bsj-bg));
  border-bottom:1px solid var(--bsj-line);
  padding:26px 0 32px;
}
.bsj-crumbs{font-size:13px;color:#8c97a3;margin-bottom:16px;}
.bsj-crumbs a{color:#8c97a3;text-decoration:none;}
.bsj-crumbs a:hover{color:var(--bsj-red);}
.bsj-crumbs span{color:var(--bsj-red);}
.bsj-a-tag{
  display:inline-block;background:var(--bsj-ink);color:#fff;
  font-size:11px;font-weight:600;letter-spacing:.02em;
  padding:4px 11px;border-radius:6px;margin-bottom:12px;
}
.bsj-ahead h1{
  font-size:36px;line-height:1.15;margin:0 0 14px;
  letter-spacing:-.3px;max-width:820px;color:var(--bsj-ink);font-weight:700;
}
.bsj-a-meta{display:flex;gap:18px;font-size:13.5px;color:#8c97a3;flex-wrap:wrap;}
.bsj-a-meta span{display:inline-flex;align-items:center;gap:6px;}
.bsj-a-meta i{font-size:15px;color:var(--bsj-red);}

/* === B · HERO-BILD 16:8 (.bsj-hero-img) ============================= */
.bsj-article .bsj-hero-img{
  display:block;width:100%;aspect-ratio:16/8;object-fit:cover;
  border-radius:var(--bsj-radius-lg);margin:0 0 1.4rem;
}

/* === C · BEITRAG TEILEN (.bsj-share) ================================
   Sitzt in einem Sidebar-Modul (col-lg-3). Der Accent-Header (.module-title)
   kommt aus redesign.css Abschnitt 11; hier nur die Button-Reihe. */
.bsj-share{display:flex;gap:9px;padding:14px 16px;}
.bsj-share a{
  flex:1;height:38px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;text-decoration:none;font-size:1rem;line-height:1;
  transition:filter .15s ease,transform .15s ease;
}
.bsj-share a:hover{filter:brightness(1.08);transform:translateY(-1px);}
.bsj-share a i{color:#fff;}
.bsj-share .s-fb{background:#3b5998;}   /* Facebook  */
.bsj-share .s-li{background:#0a66c2;}   /* LinkedIn  */
.bsj-share .s-wa{background:#25d366;}   /* WhatsApp  */
.bsj-share .s-ml{background:var(--bsj-ink);} /* E-Mail */

/* === D · LAYOUT-RASTER (.bsj-artlayout) =============================
   Nur für die statische Vorschau bzw. wenn Header/Sidebar als
   Custom-HTML gebaut werden. In Astroid macht das die Component-Section
   (col-lg-9 + col-lg-3) – dann wird diese Regel nicht gebraucht. */
.bsj-artlayout{
  display:grid;grid-template-columns:1fr 330px;gap:44px;
  padding:36px 0 50px;align-items:start;
}
.bsj-artlayout > article{min-width:0;}
.bsj-artlayout > aside{
  display:flex;flex-direction:column;gap:18px;
  position:sticky;top:90px;align-self:start;
}

/* === E · CALLOUT-ICON für FontAwesome ===============================
   Das Muster nutzte ein inline-<svg>; mit <i class="fas …"> braucht das
   Icon eine feste Größe statt der 22px-SVG-Breite. */
.bsj-article .bsj-callout > i{
  flex:0 0 auto;font-size:1.35rem;margin-top:.1rem;line-height:1;
}

/* === RESPONSIVE ===================================================== */
@media(max-width:880px){
  .bsj-artlayout{grid-template-columns:1fr;gap:28px;}
  .bsj-artlayout > aside{position:static;}
  .bsj-ahead h1{font-size:28px;}
}
@media(max-width:600px){
  .bsj-ahead{padding:20px 0 24px;}
  .bsj-ahead h1{font-size:24px;}
}

/* ===== _eventbooking.css ===== */
/* ============================================================================
   _eventbooking.css  ·  Brandschutz Jäger
   ----------------------------------------------------------------------------
   Verfeinertes Styling der EventBooking-Schulungsliste auf die ECHTEN .eb-*
   Klassen der Live-Ausgabe (Grid-Slider, com_eventbooking).
   Soll-Optik: schulungen-muster.html (Event-Karten-Look).

   WICHTIG: Diese Datei stylt NUR Selektoren, die im Live-HTML real vorkommen
   (homepage_current.html, Z. 419–540). Das Muster-Listenlayout mit
   Datums-Block links + Preis rechts + Format-Tags + Plätze-Anzeige ist mit der
   Standard-EB-Grid-Ausgabe NICHT rein per CSS erreichbar -> siehe
   redesign/overrides/README-eventbooking.md (Template-Override nötig).

   Die --bsj-* Tokens werden in redesign.css (Abschnitt 0) definiert.
   Diese Datei NACH redesign.css einbinden.
   ========================================================================== */


/* === Reale EB-Klassen aus der Live-Ausgabe =================================
   .eb-events-grid-items                 Slider-Wrapper (splide)
   .eb-event-item-grid-default-layout    Karte
   .eb-event-thumb-container / -thumb    Bild oben
   .eb-event-main-category               Kategorie-Badge auf Bild
   .eb-event-title-container / -title    Titel
   .eb-event-date-time (+ .eb-time)      Datum/Uhrzeit als Fliesstext
   .eb-event-location                    Ort
   .eb-event-price .btn .btn-primary     Preis-"Button"
   .eb-individual-price                  Preiswert (140.00€)
   .eb-notice-message  /  .eb-event-full Ausgebucht-Hinweis / Status
   .eb-category-3 .eb-event-362 ...       Kategorie- / Event-IDs (für Hooks)
   ========================================================================== */


/* --- Slider-Titel wie sec-head ------------------------------------------- */
.main-bottom-position .module-title{
  font-size:30px;text-align:center;color:var(--bsj-ink);
  font-weight:700;border:0;margin:0 auto 24px;
}

/* --- Splide-Bahn: Karten gleich hoch ------------------------------------- */
.eb-events-grid-items .splide__list{align-items:stretch;}
.eb-events-grid-items .splide__slide{height:auto;display:flex;}
.eb-events-grid-items .splide__slide > .eb-event-item-grid-default-layout{width:100%;}


/* --- Event-Karte ---------------------------------------------------------- */
.eb-event-item-grid-default-layout{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--bsj-line);
  border-radius:var(--bsj-radius-lg);overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  box-shadow:0 1px 2px rgba(31,41,51,.05);height:100%;
}
.eb-event-item-grid-default-layout:hover{
  transform:translateY(-4px);box-shadow:var(--bsj-shadow-h);border-color:#d9dde2;
}

/* --- Bild + Kategorie-Badge ---------------------------------------------- */
.eb-event-thumb-container{position:relative;overflow:hidden;aspect-ratio:16/9;}
.eb-event-thumb{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .3s ease;
}
.eb-event-item-grid-default-layout:hover .eb-event-thumb{transform:scale(1.04);}

/* Kategorie-Badge = Format-Tag-Ersatz (Standard: rot = Präsenz)            */
.eb-event-main-category{
  position:absolute;top:12px;left:12px;
  background:var(--bsj-red);color:#fff;
  font-size:11px;font-weight:600;letter-spacing:.02em;
  padding:4px 11px;border-radius:6px;line-height:1.4;
  box-shadow:0 2px 8px rgba(31,41,51,.18);
}
/* Format-Tag farbig je Kategorie (eb-category-N steht an der Karte).
   Kategorie-IDs ggf. anpassen, sobald Online-/Inhouse-Kategorien existieren. */
.eb-category-online   .eb-event-main-category{background:#185fa5;}  /* Online  blau  */
.eb-category-inhouse  .eb-event-main-category{background:#0f6e56;}  /* Inhouse grün  */

/* --- Titel ---------------------------------------------------------------- */
.eb-event-title-container{padding:14px 18px 4px;}
.eb-event-title{
  font-size:17px;font-weight:600;line-height:1.3;
  color:var(--bsj-ink);text-decoration:none;
}
.eb-event-title:hover{color:var(--bsj-red);}

/* --- Meta-Zeilen: Datum + Ort -------------------------------------------- */
.eb-event-date-time,
.eb-event-location{
  padding:4px 18px;color:var(--bsj-muted);font-size:13.5px;
  display:flex;align-items:flex-start;gap:8px;line-height:1.5;
}
.eb-event-date-time i,
.eb-event-location i{color:var(--bsj-red);margin-top:2px;flex:0 0 auto;}
.eb-event-date-time .eb-time,
.eb-event-date-time .eb-event-time{color:var(--bsj-ink);font-weight:500;}
.eb-event-location a{color:var(--bsj-muted);text-decoration:none;}
.eb-event-location a:hover{color:var(--bsj-red);}

/* Datum-/Ort-Block soll wachsen, Preis bleibt unten (Karten gleich hoch)   */
.eb-event-location{margin-bottom:auto;}

/* --- Preis als "Anmelden"-Button (rot) ----------------------------------- */
/* In der Live-Ausgabe ist der Preis selbst der Button: .eb-event-price.btn.btn-primary */
.eb-event-item-grid-default-layout .eb-event-price,
.eb-event-item-grid-default-layout .eb-event-price.btn.btn-primary,
.eb-event-item-grid-default-layout .eb-register-button,   /* Fallback, falls EB ihn rendert */
.eb-event-item-grid-default-layout .btn-primary{
  display:flex;align-items:baseline;justify-content:center;gap:6px;
  background:var(--bsj-red);border:1px solid var(--bsj-red);color:#fff;
  border-radius:10px;font-weight:700;font-size:16px;
  padding:11px 18px;margin:12px 18px 18px;
  box-shadow:0 6px 18px rgba(196,24,60,.25);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.eb-event-item-grid-default-layout .eb-event-price:hover,
.eb-event-item-grid-default-layout .eb-event-price.btn.btn-primary:hover,
.eb-event-item-grid-default-layout .eb-register-button:hover,
.eb-event-item-grid-default-layout .btn-primary:hover{
  background:var(--bsj-red-dark);border-color:var(--bsj-red-dark);color:#fff;
}
.eb-individual-price{color:#fff;font-weight:700;}
.eb-individual-price::after{
  content:" / Person";font-size:11px;font-weight:400;opacity:.85;
}

/* --- Plätze-/Status-Hinweis (eb-notice-message, eb-event-full) ----------- */
/* Standard: dezenter Hinweis. "Ausgebucht" wird rot, sonst grün ("freie Plätze"). */
.eb-event-item-grid-default-layout .clearfix > .eb-notice-message,
.eb-event-item-grid-default-layout .eb-notice-message{
  margin:0 18px 14px;padding:0;font-size:12.5px;font-weight:600;
}
.eb-event-item-grid-default-layout .eb-notice-message{color:var(--bsj-green);} /* freie/Restplätze */
.eb-event-full .eb-notice-message,
.eb-event-item-grid-default-layout.eb-event-full .eb-notice-message{
  color:var(--bsj-red);                                  /* Ausgebucht = rot */
}
/* Wenige Plätze (amber) – greift, sobald ein eigener Status-Marker existiert */
.eb-event-few .eb-notice-message{color:var(--bsj-amber);}

/* Ausgebuchte Karte leicht abdunkeln + Preis-Button neutralisieren          */
.eb-event-full .eb-event-thumb{filter:grayscale(.25) brightness(.97);}
.eb-event-full .eb-event-price,
.eb-event-full .eb-event-price.btn.btn-primary,
.eb-event-full .btn-primary{
  background:#9aa3ad;border-color:#9aa3ad;box-shadow:none;cursor:default;
}
.eb-event-full .eb-event-price:hover,
.eb-event-full .eb-event-price.btn.btn-primary:hover,
.eb-event-full .btn-primary:hover{background:#9aa3ad;border-color:#9aa3ad;}


/* --- Responsive ----------------------------------------------------------- */
@media (max-width:576px){
  .eb-event-title{font-size:16px;}
  .eb-event-date-time,.eb-event-location{font-size:13px;}
}

/* ===== Home (itemid-435): Full-Width, Sidebar aus (auf Staging angewandt) ===== */
body.itemid-435 #ac-a4lvvsucw{display:none !important;}
body.itemid-435 #ac-1528971714963{flex:0 0 100% !important;max-width:100% !important;width:100% !important;}
body.itemid-435 main.astroid-component-area{padding:0 !important;}
body.itemid-435 .astroid-component.mod-shadow{box-shadow:none !important;background:transparent !important;padding:0 !important;border:0 !important;}
body.itemid-435 .blog-featuredjsn-demopage,
body.itemid-435 .blog-items,
body.itemid-435 .blog-item,
body.itemid-435 .item-content,
body.itemid-435 .article-intro-text{padding:0 !important;margin:0 !important;}
body.itemid-435 .blog-item .item-content > .d-flex{display:block !important;}

/* ===== Tablet-Hochformat (601-880px): Grids 2-spaltig statt 1 ===== */
@media(min-width:601px) and (max-width:880px){
  .bsj-grid3{grid-template-columns:1fr 1fr !important;}
  .bsj-hero-grid{gap:32px;}
  .bsj-facts{grid-template-columns:1fr 1fr !important;}
}

/* ===== EventBooking Timeline (Schulungen) -> Event-Karten-Look ===== */
.eb-events-timeline .eb-event-container{background:#fff;border:1px solid var(--bsj-line);border-radius:16px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 2px rgba(31,41,51,.05);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;}
.eb-events-timeline .eb-event-container:hover{box-shadow:var(--bsj-shadow-h);border-color:#d9dde2;transform:translateY(-2px);}
.eb-events-timeline .eb-event-date.bg-primary{background:var(--bsj-ink) !important;border-radius:12px;color:#fff;padding:12px 6px;}
.eb-events-timeline .eb-event-date-day{font-size:24px;font-weight:700;line-height:1;color:#fff;}
.eb-events-timeline .eb-event-date-month{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#cfd6dd;}
.eb-events-timeline .eb-event-date-year{font-size:11px;color:#9aa3ad;}
.eb-events-timeline .eb-event-title{font-size:18px;font-weight:600;color:var(--bsj-ink);}
.eb-events-timeline .eb-event-title:hover{color:var(--bsj-red);}
.eb-events-timeline .eb-event-price-container.bg-primary{background:transparent !important;color:var(--bsj-ink) !important;}
.eb-events-timeline .eb-individual-price{font-size:20px;font-weight:700;color:var(--bsj-ink);}
.eb-events-timeline .eb-register-button.btn-primary{background:var(--bsj-red);border-color:var(--bsj-red);border-radius:9px;font-weight:600;}
.eb-events-timeline .eb-register-button.btn-primary:hover{background:var(--bsj-red-dark);border-color:var(--bsj-red-dark);}
.eb-events-timeline .eb-thumb-left img{border-radius:10px;}

/* ===== Sidebar-Module: Body-Innenabstand (Header bleibt voll-breit) ===== */
.astroid-component-section .astroid-column[class*="col-lg-3"] .moduletable{padding:0 16px 16px !important;}
.astroid-component-section .astroid-column[class*="col-lg-3"] .module-title{margin:0 -16px 14px !important;}
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articles,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-articleslatest,
.astroid-component-section .astroid-column[class*="col-lg-3"] ul.mod-menu{padding-left:0 !important;padding-right:0 !important;}
/* headerlose Custom-Box ohne Titel: etwas Luft oben */
.astroid-component-section .astroid-column[class*="col-lg-3"] .moduletable:not(:has(.module-title)){padding-top:16px !important;}
/* ===== Footer: Google-Box an dunklen Footer angleichen ===== */
.astroid-footer-section .gp_box,
.astroid-footer-section .gp_box.bright{background:rgba(255,255,255,.06) !important;border:1px solid rgba(255,255,255,.12) !important;box-shadow:none !important;border-radius:14px !important;}
.astroid-footer-section .gp_box, .astroid-footer-section .gp_box *{color:#cfd6dd !important;}
.astroid-footer-section .gp_box .gp_rec h1{color:#fff !important;}
/* ===== EventBooking Timeline: Datumsblock sauber in die Karte (kein Overlap) ===== */
.eb-events-timeline::before{display:none !important;}
.eb-events-timeline .eb-event-container{position:relative !important;padding-left:108px !important;}
.eb-events-timeline .eb-event-container::before{display:none !important;}
.eb-events-timeline .eb-event-date-container{position:absolute !important;left:20px !important;top:18px !important;margin:0 !important;width:auto !important;float:none !important;}
.eb-events-timeline .eb-event-date.bg-primary{background:var(--bsj-ink) !important;border-radius:12px !important;color:#fff !important;width:70px !important;min-height:0 !important;padding:9px 6px 8px !important;text-align:center !important;display:block !important;position:static !important;}
.eb-events-timeline .eb-event-date-day{font-size:22px !important;font-weight:700 !important;line-height:1.05 !important;color:#fff !important;}
.eb-events-timeline .eb-event-date-month{font-size:11px !important;text-transform:uppercase !important;letter-spacing:.05em !important;color:#cfd6dd !important;line-height:1.25 !important;}
.eb-events-timeline .eb-event-date-year{font-size:10px !important;color:#9aa3ad !important;line-height:1.2 !important;}
@media(max-width:600px){
  .eb-events-timeline .eb-event-container{padding-left:20px !important;padding-top:74px !important;}
  .eb-events-timeline .eb-event-date-container{left:16px !important;top:14px !important;}
}
/* ===== EventBooking Grid: Preis ist KEIN Button (war toter btn) ===== */
.eb-events-grid-items .eb-event-price.btn,
.eb-events-grid-items .eb-event-price.btn-primary{background:transparent !important;border:0 !important;box-shadow:none !important;padding:2px 18px 16px !important;text-align:left !important;cursor:default !important;display:block !important;}
.eb-events-grid-items .eb-event-price .eb-individual-price{color:var(--bsj-red) !important;font-size:20px !important;font-weight:700 !important;}

/* ===== Toolbar (Impressum/Kontakt) an Redesign angleichen ===== */
.navHorizontalView a,.navHorizontalView .nav-title{color:var(--bsj-muted) !important;font-size:13.5px !important;font-weight:500 !important;}
.navHorizontalView a:hover,.navHorizontalView a:hover .nav-title{color:var(--bsj-red) !important;}
/* ===== Nav-Dropdown: Aktiv-Unterstrich raus, Icon+Text einzeilig ===== */
.astroid-nav .nav-child .nav-item > a::after,
.astroid-nav .nav-submenu .nav-item > a::after{display:none !important;}
.astroid-nav .nav-child .nav-item > a,
.astroid-nav .nav-submenu .nav-item > a{display:flex !important;align-items:center !important;gap:.5rem !important;flex-wrap:nowrap !important;white-space:nowrap !important;}
.astroid-nav .nav-child .nav-item > a i,
.astroid-nav .nav-submenu .nav-item > a i{flex:0 0 auto !important;}

/* ===== Header einreihig (Astroid horizontal): Telefon-CTA rechts ===== */
/* Logo kompakter (Astroid-Config setzt sonst 200px Höhe) */
#astroid-header .astroid-logo-default,
#astroid-header .astroid-logo-mobile{height:58px !important;width:auto !important;max-width:100% !important;}
#astroid-header .header-right-section{align-items:center !important;}
#astroid-header .header-right-section .moduletable{margin:0 !important;}
.bsj-hd-phone{display:inline-flex !important;align-items:center;gap:8px;background:var(--bsj-red);
  color:#fff !important;font-weight:700;font-size:14.5px;line-height:1;padding:10px 17px;border-radius:999px;
  text-decoration:none;white-space:nowrap;transition:background .15s ease;box-shadow:0 6px 16px rgba(196,24,60,.22);}
.bsj-hd-phone i{font-size:13px;}
.bsj-hd-phone:hover{background:var(--bsj-red-dark);color:#fff !important;}
@media(max-width:767px){
  .bsj-hd-phone{padding:8px 13px;font-size:13.5px;}
}

/* ===== Footer 4-Spalten (Muster): Logo/Social · Leistungen · Aktuelles · Kontakt ===== */
.bsj-foot{max-width:1180px;margin:0 auto;padding:10px 24px 6px;}
.bsj-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:34px;}
.bsj-foot-logo{font-size:18px;font-weight:800;color:#fff;letter-spacing:.02em;}
.bsj-foot-logo span{color:var(--bsj-red);}
.bsj-foot-tag{font-size:12px;color:#9aa3ad;margin-top:4px;letter-spacing:.02em;}
.bsj-foot-desc{font-size:14px;color:#9aa3ad;margin:14px 0 0;line-height:1.6;}
.bsj-foot-social{display:flex;gap:10px;margin-top:16px;}
.bsj-foot-social a{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;color:#fff !important;transition:background .15s ease;}
.bsj-foot-social a:hover{background:var(--bsj-red);}
.bsj-foot-col h4{color:#fff;font-size:15px;font-weight:700;margin:0 0 14px;}
.bsj-foot-col a{display:block;color:#cfd6dd !important;font-size:14px;text-decoration:none;padding:4px 0;transition:color .12s ease;}
.bsj-foot-col a:hover{color:#fff !important;}
.bsj-foot-contact div{display:flex;gap:9px;font-size:14px;margin:9px 0;align-items:flex-start;color:#cfd6dd;}
.bsj-foot-contact i{color:var(--bsj-red);margin-top:3px;}
.bsj-foot-contact a{color:#cfd6dd !important;text-decoration:none;}
.bsj-foot-contact a:hover{color:#fff !important;}
@media(max-width:900px){ .bsj-foot-grid{grid-template-columns:1fr 1fr;gap:26px;} }
@media(max-width:560px){ .bsj-foot-grid{grid-template-columns:1fr;gap:22px;} }
/* alte Astroid-Footer-Elemente ausblenden (durch bsj-foot ersetzt) */
.astroid-footer-section .astroid-contact-info,
.astroid-footer-section .astroid-social-icons{display:none !important;}
/* bsj-foot über volle Footer-Breite (statt col-lg-4) */
.astroid-footer-section .astroid-column:has(.bsj-foot){flex:0 0 100% !important;max-width:100% !important;width:100% !important;}
.astroid-footer-section .astroid-column:has(.bsj-foot) .astroid-module-position{background:transparent !important;box-shadow:none !important;}
/* Footer-Zeile: grauen Kasten weg; Spalten oben, Copyright darunter (column-reverse) */
.astroid-footer-section .astroid-row{background:transparent !important;flex-direction:column-reverse !important;}
.astroid-footer-section .astroid-row > .astroid-column{flex:0 0 100% !important;max-width:100% !important;width:100% !important;}
.astroid-footer-section .astroid-row > .astroid-column:empty{display:none !important;}
/* Copyright als dünne Bottom-Bar (auf dunkel) */
.astroid-footer-section #astroid-footer,
.astroid-footer-section #astroid-footer footer{background:transparent !important;border-top:1px solid rgba(255,255,255,.12);margin-top:8px;color:#9aa3ad !important;}
.astroid-footer-section #astroid-footer a[style*="666"]{color:#9aa3ad !important;}

/* ===== Responsives Breiten-System: Inhalt bis ~1400px, Header bündig, alle Geräte ===== */
html,body{overflow-x:clip;max-width:100%;}
img,video,iframe{max-width:100%;}
/* Container-Cap erst auf breiten Schirmen auf 1400 anheben (Laptop bleibt Bootstrap-komfortabel) */
@media(min-width:1400px){ .container{max-width:1400px !important;} }
/* Redesign-Wrapper füllen den Container (statt fixem 1180er-Cap) → Inhalt nutzt die volle Breite */
.bsj-wrap,.bsj-foot{max-width:100% !important;}
/* Header-Zeile bekommt dasselbe horizontale Padding wie .bsj-wrap (24px) → Logo/Telefon fluchten mit dem Inhalt */
#astroid-header .d-flex.flex-row.justify-content-between{padding-left:24px !important;padding-right:24px !important;}

/* === ÜBER UNS (.bsj-about-page) ==================================== */
.bsj-about-page{padding:6px 0;}
.bsj-about-intro{max-width:780px;}
.bsj-about-intro p{color:var(--bsj-muted);font-size:17px;margin:14px auto 0;}
.bsj-about-block{margin:0 0 60px;}
.bsj-profile{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:center;}
.bsj-profile-photo img{width:100%;height:auto;border-radius:var(--bsj-radius-lg);box-shadow:var(--bsj-shadow-h);display:block;}
.bsj-profile-txt h2{font-size:30px;line-height:1.2;margin:6px 0 14px;color:var(--bsj-ink);font-weight:700;}
.bsj-profile-txt > p{color:var(--bsj-muted);font-size:16px;margin:0 0 14px;}
.bsj-profile-quote{font-size:20px !important;line-height:1.45;color:var(--bsj-ink) !important;font-weight:600;
  border-left:3px solid var(--bsj-red);padding-left:16px;margin:18px 0 !important;}
.bsj-qual-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1000px;margin:0 auto;}
.bsj-qual{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--bsj-line);
  border-radius:var(--bsj-radius);padding:15px 17px;box-shadow:var(--bsj-shadow);}
.bsj-qual i{color:var(--bsj-red);font-size:18px;margin-top:1px;flex:0 0 22px;text-align:center;}
.bsj-qual span{font-size:14.5px;color:var(--bsj-ink);line-height:1.45;}
.bsj-qual a{color:var(--bsj-red);font-weight:600;text-decoration:none;white-space:nowrap;}
.bsj-qual a:hover{text-decoration:underline;}
.bsj-qual--wide{grid-column:1 / -1;}
.bsj-about-cta{margin-top:52px;}
@media(max-width:880px){
  .bsj-profile{grid-template-columns:1fr;gap:22px;}
  .bsj-profile-photo{max-width:260px;margin:0 auto;}
  .bsj-qual-grid{grid-template-columns:1fr;}
  .bsj-qual--wide{grid-column:auto;}
}

/* === EVENTBOOKING-KARTE KOMPAKTER (an Blog-Karten angeglichen) ====== */
/* Preis = schlichte Textzeile statt Button (kein Doppel-Button) */
.eb-event-item-grid-default-layout .eb-event-price,
.eb-event-item-grid-default-layout .eb-event-price.btn.btn-primary{
  display:block;background:none;border:none;box-shadow:none;border-radius:0;
  padding:7px 18px 0;margin:0;text-align:left;font-weight:700;font-size:18px;color:var(--bsj-red);
}
.eb-event-item-grid-default-layout .eb-event-price:hover{background:none;color:var(--bsj-red);}
.eb-event-item-grid-default-layout .eb-individual-price{color:var(--bsj-red);}
.eb-event-item-grid-default-layout .eb-individual-price::after{
  content:" / Person";font-size:11px;font-weight:400;color:var(--bsj-muted);opacity:1;}
/* Texte/Abstände straffen */
.eb-event-title-container{padding:13px 18px 0 !important;margin:0 !important;}
.eb-event-title{font-size:16px !important;line-height:1.3;}
.eb-event-date-time,.eb-event-location{padding:3px 18px !important;margin:0 !important;font-size:13px;}
.eb-event-location{margin-bottom:4px !important;}
/* "Jetzt anmelden" = einziger Button, kompakt */
.eb-event-item-grid-default-layout .eb-taskbar{margin:0 !important;padding:0 !important;}
.eb-event-item-grid-default-layout .eb-register-button,
.eb-event-item-grid-default-layout .eb-register-button.btn.btn-primary{
  margin:10px 18px 16px !important;padding:10px 18px !important;font-size:15px !important;
  box-shadow:0 4px 12px rgba(196,24,60,.22);
}

/* === ÄHNLICHE BEITRÄGE / Related Posts (Astroid) =================== */
.astroid-article-relatedposts{margin:44px 0 8px;}
.relatedposts-wrap > h4{
  font-size:22px;font-weight:700;color:var(--bsj-ink);margin:0 0 22px;
  padding-bottom:11px;border-bottom:2px solid var(--bsj-line);position:relative;
}
.relatedposts-wrap > h4::after{content:"";position:absolute;left:0;bottom:-2px;width:48px;height:2px;background:var(--bsj-red);}
.relateditems .card{
  height:100%;background:#fff;border:1px solid var(--bsj-line);border-radius:var(--bsj-radius-lg);
  overflow:hidden;box-shadow:var(--bsj-shadow);transition:transform .18s ease,box-shadow .18s ease;
}
.relateditems .card:hover{transform:translateY(-4px);box-shadow:var(--bsj-shadow-h);}
.relateditems .card-img-top{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:0;}
.relateditems .card-body{padding:14px 16px 16px;}
.relateditems .related-article-title{font-size:16px;line-height:1.35;margin:0;}
.relateditems .related-article-title a{color:var(--bsj-ink);text-decoration:none;font-weight:600;}
.relateditems .related-article-title a:hover{color:var(--bsj-red);}
.relateditems .article-info{display:none;}
