/* Kast & Schmidt – Joomla 6 / Riley integration */
:root{--ks-blue:#143d8d;--ks-red:#e5232f;--ks-ink:#182235;--ks-muted:#667085;--ks-line:#e8eaee;--ks-soft:#f5f7fa}
body{color:var(--ks-ink)}
#container_header{background:#fff}.logo{padding:8px 0}.logo-image{max-width:310px!important;max-height:72px!important;width:auto!important;height:auto!important}
.hornav > ul > li > a,.hornav > ul > li > span{font-weight:700}.hornav > ul > li.active > a,.hornav > ul > li > a:hover{color:var(--ks-red)!important}
.header_top{background:#0e2f70!important}.header_top,.header_top a{color:#fff!important}.header_top .module{margin:0!important}.ks-topbar{display:flex;justify-content:flex-end;gap:24px;align-items:center;font-size:.92rem;padding:7px 0}.ks-topbar a{color:#fff!important}
#container_main{padding:0!important}.component_block .wrapper960{max-width:none!important;width:100%!important}.maincontent,.content_full,.side_margins{padding:0!important;margin:0!important}.item-page{padding:0!important}.item-page > .page-header{display:none!important}
.ks-site{font-family:Arial,Helvetica,sans-serif;color:var(--ks-ink);line-height:1.65}.ks-site *{box-sizing:border-box}.ks-site a{color:var(--ks-blue);text-decoration:none}.ks-site img{max-width:100%;display:block}.ks-site .container{width:min(1180px,calc(100% - 40px));margin:auto}.ks-site section{padding:72px 0}.ks-site .soft{background:var(--ks-soft)}.ks-site h1,.ks-site h2,.ks-site h3,.ks-site h4{line-height:1.2}.ks-site h2{font-size:clamp(2rem,4vw,3.1rem);margin:0 0 16px}.ks-site h3{font-size:1.45rem}.ks-site .lead{font-size:1.16rem;color:#455168;max-width:840px}
.ks-site .hero{position:relative;min-height:650px;display:grid;align-items:end;overflow:hidden;background:#0b1c37;padding:0}.ks-site .hero video,.ks-site .hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ks-site .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,48,.84),rgba(4,20,48,.38) 58%,rgba(4,20,48,.12))}.ks-site .hero-inner{position:relative;z-index:2;color:#fff;padding:110px 0 75px;max-width:760px}.ks-site .eyebrow{text-transform:uppercase;font-weight:800;letter-spacing:.13em;color:#dbe5ff;font-size:.8rem}.ks-site .hero h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.03;margin:10px 0 20px;color:#fff}.ks-site .hero p{font-size:1.18rem;max-width:650px}.ks-site .btn{display:inline-block;border-radius:5px;padding:13px 19px;background:var(--ks-red);color:#fff!important;font-weight:800;margin:10px 7px 0 0}.ks-site .btn.secondary{background:#fff;color:var(--ks-blue)!important}
.ks-site .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.ks-site .card{border:1px solid var(--ks-line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(24,34,53,.05)}.ks-site .card img{width:100%;height:220px;object-fit:cover}.ks-site .card-body{padding:23px}.ks-site .card h3{margin-top:0}.ks-site .card p{color:#5d687a}.ks-site .split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.ks-site .split img{border-radius:12px;min-height:410px;width:100%;object-fit:cover}.ks-site .quote{border-left:5px solid var(--ks-red);padding:18px 24px;background:#f9fafc;font-size:1.18rem;font-weight:700;margin:28px 0}
.ks-site .pagehero{background:#102f70;color:#fff;padding:65px 0 55px}.ks-site .pagehero h1{font-size:clamp(2.3rem,5vw,4rem);margin:0;color:#fff}.ks-site .breadcrumb{color:#cdd8ee;font-size:.9rem;margin-bottom:10px}.ks-site .content{max-width:900px}.ks-site .content h2{font-size:2rem;margin-top:45px}.ks-site .content h3{margin-top:35px}.ks-site .content ul{padding-left:21px}.ks-site .content li{margin:6px 0}.ks-site .content-image{width:100%;max-height:520px;object-fit:cover;border-radius:12px;margin:28px 0}.ks-site .media-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.ks-site .media-row img{width:100%;height:330px;object-fit:cover;border-radius:10px}.ks-site .contact-box{background:#102f70;color:#fff;padding:28px;border-radius:12px}.ks-site .contact-box a{color:#fff!important}
.ks-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px;padding:25px 0}.ks-footer h4{color:#fff;margin-top:0}.ks-footer,.ks-footer a{color:#d7deec!important}.ks-footer a{display:block;margin:6px 0}.ks-footer img{background:#fff;padding:8px;border-radius:4px;max-width:260px}.container_footer{background:#0b1730!important}.copyright{color:#d7deec!important}.footermenu{display:none!important}
@media(max-width:900px){.ks-topbar{display:none}.logo-image{max-width:235px!important}.ks-site .grid,.ks-site .split,.ks-footer{grid-template-columns:1fr 1fr}.ks-site .hero{min-height:580px}}
@media(max-width:640px){.ks-site .container{width:min(100% - 28px,1180px)}.ks-site .grid,.ks-site .split,.ks-site .media-row,.ks-footer{grid-template-columns:1fr}.ks-site .hero{min-height:540px}.ks-site .hero-inner{padding:100px 0 48px}.ks-site .card img{height:200px}.ks-site .media-row img{height:250px}.ks-site section{padding:55px 0}}


/* =========================================================
   Kast & Schmidt – Riley visual alignment to approved preview
   ========================================================= */
html,body{margin:0!important;padding:0!important}
body{background:#fff!important}
#body_bg,#body_bg_inner,#container_main,.component_block{background:#fff!important}
.wrapper960{max-width:1180px!important;width:calc(100% - 40px)!important}
#container_main>.wrapper960,
#container_main .maincontent,
#container_main .content_full,
#container_main .side_margins,
#container_main main{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
#container_main .item-page,
#container_main .com-content-article,
#container_main .article-info{margin:0!important;padding:0!important}
#container_main .page-header,
#container_main .article-info,
#container_main .icons,
#container_main .pager{display:none!important}

/* Header closely matching the approved static preview */
#container_header{background:rgba(255,255,255,.98)!important;border-bottom:1px solid #e8eaee!important;box-shadow:none!important}
#header_main{min-height:88px!important;display:flex!important;align-items:center!important}
.logo{margin:0!important;padding:8px 0!important}
.logo img,.logo-image{width:310px!important;max-width:310px!important;height:auto!important;max-height:68px!important;object-fit:contain!important}
.hornav{margin-left:auto!important}
.hornav ul{gap:4px}
.hornav ul li a,.hornav ul li span{font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;font-weight:700!important;color:#27344d!important}
.hornav ul li.active>a,.hornav ul li:hover>a{color:#e5232f!important}
.hornav ul ul{background:#fff!important;border-radius:8px!important;box-shadow:0 15px 35px rgba(0,0,0,.13)!important;border:0!important}
.hornav ul ul li a{color:#27344d!important}
.header_top{min-height:34px!important;background:#0e2f70!important}
.header_top .wrapper960{max-width:1180px!important}
.ks-topbar{min-height:34px;display:flex!important;justify-content:flex-end!important;gap:24px!important;align-items:center!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important}

/* Approved homepage hero */
.ks-site{width:100%!important;max-width:none!important;overflow:hidden}
.ks-site .hero{margin:0!important;min-height:650px!important}
.ks-site .hero video{display:block!important;object-fit:cover!important}
.ks-site .hero-inner{margin-left:max(20px,calc((100vw - 1180px)/2))!important;margin-right:20px!important;width:min(760px,calc(100% - 40px))!important}
.ks-site .hero-inner.container{margin-left:auto!important;margin-right:auto!important;width:min(1180px,calc(100% - 40px))!important;max-width:1180px!important}
.ks-site .hero-inner.container>*{max-width:760px}

/* Keep all content blocks visually identical to approved preview */
.ks-site .container{max-width:1180px!important}
.ks-site section:not(.hero){position:relative}
.ks-site .card{transition:transform .2s ease,box-shadow .2s ease}
.ks-site .card:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(24,34,53,.09)}
.ks-site .card img{aspect-ratio:16/10}
.ks-site .content-image{background:#f5f7fa}

/* Riley footer module */
#container_base,#container_footer{background:#0b1730!important;color:#d7deec!important}
.ks-footer{max-width:1180px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:50px 20px 30px;font-family:Arial,Helvetica,sans-serif}
.ks-footer img{background:#fff;padding:10px;border-radius:5px;width:300px;max-width:100%}
.ks-footer a{display:block;color:#d7deec!important;margin:7px 0}
.ks-footer h4{color:#fff!important}

/* Mobile */
@media(max-width:900px){
 .wrapper960{width:calc(100% - 28px)!important}
 #header_main{min-height:74px!important}
 .logo img,.logo-image{width:220px!important;max-width:220px!important}
 .ks-site .hero{min-height:580px!important}
 .ks-site .grid,.ks-site .split,.ks-footer{grid-template-columns:1fr 1fr!important}
}
@media(max-width:640px){
 .ks-site .grid,.ks-site .split,.ks-site .media-row,.ks-footer{grid-template-columns:1fr!important}
 .ks-site .hero{min-height:540px!important}
 .ks-site .hero-inner{padding:100px 0 48px!important}
}


/* ===== K&S Footer-Korrektur – entspricht der freigegebenen Vorschau ===== */
#container_base1_modules{
  background:#0b1730 !important;
  color:#d7deec !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}
#container_base1_modules > .wrapper960{
  width:min(1180px,calc(100% - 40px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 !important;
}
#container_base1_modules .module,
#container_base1_modules .module_surround,
#container_base1_modules .module_content{
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#container_base1_modules h3,
#container_base1_modules h4{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:none !important;
}
#container_base1_modules a{
  color:#d7deec !important;
}
#container_base1_modules a:hover{
  color:#fff !important;
}
.ks-footer{
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:50px 0 34px !important;
  display:grid !important;
  grid-template-columns:2fr 1fr 1fr !important;
  gap:52px !important;
  color:#d7deec !important;
  font-family:Arial,Helvetica,sans-serif !important;
}
.ks-footer > div{
  min-width:0;
}
.ks-footer img{
  display:block !important;
  width:300px !important;
  max-width:100% !important;
  height:auto !important;
  padding:10px !important;
  background:#fff !important;
  border-radius:5px !important;
  margin:0 0 16px !important;
}
.ks-footer p{
  color:#d7deec !important;
  margin:0 !important;
  line-height:1.65 !important;
}
.ks-footer h4{
  margin:4px 0 14px !important;
  font-size:1rem !important;
  line-height:1.3 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:700 !important;
}
.ks-footer a{
  display:block !important;
  margin:7px 0 !important;
  line-height:1.5 !important;
}
#container_copyright,
.container_copyright{
  background:#0b1730 !important;
  color:#d7deec !important;
  border-top:1px solid #33405a !important;
}
#container_copyright .wrapper960,
.container_copyright .wrapper960{
  max-width:1180px !important;
  width:min(1180px,calc(100% - 40px)) !important;
  padding-top:18px !important;
  padding-bottom:22px !important;
}
@media(max-width:900px){
  .ks-footer{grid-template-columns:1fr 1fr !important;gap:32px !important}
}
@media(max-width:640px){
  #container_base1_modules > .wrapper960{width:calc(100% - 28px) !important}
  .ks-footer{grid-template-columns:1fr !important;padding:38px 0 28px !important}
}


/* ===== K&S Feinabstimmung v3 ===== */

/* Sticky Header darf den Seiteninhalt nicht optisch überdecken */
#container_header{
  position:sticky !important;
  top:0 !important;
  z-index:999 !important;
  background:#fff !important;
}
#container_main{
  position:relative !important;
  z-index:1 !important;
}

/* Bei Sprung-/Scrollpositionen genügend Abstand unter dem Sticky-Header */
.ks-site [id]{
  scroll-margin-top:110px !important;
}

/* Joomla Vor/Zurück-Navigation komplett ausblenden */
.pagenavigation,
ul.pager,
ul.pager.pagenav,
.pagination,
.com-content-article__navigation,
.article-index,
.article-index + .pager,
nav[aria-label*="Artikel"],
nav[aria-label*="article"],
#container_main .pagenavigation,
#container_main ul.pager,
#container_main .pagination{
  display:none !important;
}

/* Header etwas klarer und näher an der freigegebenen Vorschau */
#header_main{
  min-height:88px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
#header_main .logo{
  display:flex !important;
  align-items:center !important;
}
#header_main .logo img,
#header_main .logo-image{
  width:300px !important;
  max-width:300px !important;
  max-height:66px !important;
}
.hornav{
  align-self:center !important;
}
.hornav ul.menu > li > a,
.hornav ul.menu > li > span{
  padding-top:28px !important;
  padding-bottom:28px !important;
}

/* Kartenbereich: mehr Abstand zum Header / sauberer Abschluss */
.ks-site .pagehero + section,
.ks-site > section:first-child:not(.hero){
  padding-top:72px !important;
}
.ks-site .grid{
  padding-bottom:8px !important;
}

/* Footer kompakter und wie in der freigegebenen Vorschau */
#container_base1_modules{
  margin-top:0 !important;
}
.ks-footer{
  padding-top:44px !important;
  padding-bottom:30px !important;
}
.ks-footer > div:first-child{
  max-width:380px !important;
}
.ks-footer img{
  width:278px !important;
}
#container_copyright .wrapper960,
.container_copyright .wrapper960{
  padding-top:16px !important;
  padding-bottom:18px !important;
}

/* Alte Riley-Hintergrundgrafiken rund um den Hauptinhalt neutralisieren */
#body_bg,
#body_bg_inner,
#container_main,
.component_block{
  background-image:none !important;
}

/* Mobil */
@media(max-width:900px){
  #header_main{
    min-height:74px !important;
  }
  #header_main .logo img,
  #header_main .logo-image{
    width:220px !important;
    max-width:220px !important;
  }
  .hornav ul.menu > li > a,
  .hornav ul.menu > li > span{
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
}
