
/* Stable module root ------------------------------------------------------ */
.henz-home{overflow:hidden}
.henz-class-card__body>.henz-class-card__title{order:0}
.henz-class-card__body>.henz-class-card__class{order:1}
.henz-class-card__body>.henz-class-card__meta{order:2}
.henz-class-card__body>.henz-class-card__link{order:3}
/* Henz content modules v2.2.0
 * Loaded AFTER theme.css on every page. Module selectors use the unique henz-*
 * class namespace directly, so cards render identically on the homepage and on
 * standalone pages such as /ausbildungsklassen/.
 */



/* Module pages use the same 1180px content width as the homepage preview. */
.henz-content--modules>.henz-shell{max-width:1180px!important}
.henz-content--modules .henz-home-section>.henz-shell{width:100%!important;max-width:1180px!important}

/* Ausbildungsklassen ------------------------------------------------------- */
.henz-class-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
  width:100%;
}
.henz-class-grid>.henz-class-card{min-width:0!important;margin:0!important}
.henz-class-grid>p:empty,
.henz-class-grid>br{display:none!important}

.henz-class-card{
  position:relative;
  display:flex!important;
  min-width:0;
  min-height:0!important;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--henz-line);
  border-radius:var(--henz-radius);
  box-shadow:0 7px 18px rgba(17,18,23,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.henz-class-card__hit{
  display:flex!important;
  flex:1;
  min-width:0;
  min-height:0!important;
  flex-direction:column!important;
  color:inherit;
  text-decoration:none;
}
.henz-class-card:hover,
.henz-class-card:focus-within{
  transform:translateY(-4px);
  border-color:#c7cacc;
  box-shadow:0 15px 30px rgba(17,18,23,.13);
}

/* Keep the complete vehicle visible; never stretch/crop the source image. */
.henz-class-card__media{
  position:relative;
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden;
  isolation:isolate;
  background-color:#f5f5f5;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  background-position:center top!important;
  transform:none!important;
}
.henz-class-card--motorrad .henz-class-card__media{background-image:var(--henz-class-motorrad-image,url('../img/classes/motorrad.webp'))}
.henz-class-card--pkw .henz-class-card__media{background-image:var(--henz-class-pkw-image,url('../img/classes/pkw.webp'))}
.henz-class-card--anhaenger .henz-class-card__media{background-image:var(--henz-class-anhaenger-image,url('../img/classes/anhaenger.webp'))}
.henz-class-card--lkw .henz-class-card__media{background-image:var(--henz-class-lkw-image,url('../img/classes/lkw.webp'))}
.henz-class-card--weitere .henz-class-card__media{background-image:var(--henz-class-weitere-image,url('../img/classes/weitere.webp'))}

/* CI stripes stay visible at rest and sweep away on hover/focus. */
.henz-class-card__media:before,
.henz-class-card__media:after{
  content:"";
  position:absolute;
  z-index:2;
  left:-35%;
  width:145%;
  pointer-events:none;
  transform:translateX(0) skewX(var(--henz-angle));
  transform-origin:center;
  will-change:transform,opacity;
  animation:none!important;
  transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .3s ease;
}
.henz-class-card__media:before{
  bottom:14px;
  height:19px;
  background:linear-gradient(90deg,transparent 0 5%,rgba(116,120,122,.82) 5% 38%,rgba(213,215,216,.92) 38% 51%,var(--henz-red) 51% 82%,transparent 82% 100%);
  opacity:.9;
}
.henz-class-card__media:after{
  bottom:0;
  height:7px;
  background:linear-gradient(90deg,transparent 0 9%,rgba(213,215,216,.95) 9% 46%,var(--henz-red) 46% 78%,transparent 78% 100%);
  opacity:.92;
}
.henz-class-card:hover .henz-class-card__media:before,
.henz-class-card:focus-within .henz-class-card__media:before{
  transform:translateX(125%) skewX(var(--henz-angle));
  opacity:0;
}
.henz-class-card:hover .henz-class-card__media:after,
.henz-class-card:focus-within .henz-class-card__media:after{
  transform:translateX(110%) skewX(var(--henz-angle));
  opacity:0;
}

.henz-class-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
  padding:10px 12px 11px!important;
}
.henz-class-card__icon{display:none!important}
.henz-class-card__title{
  margin:0 0 4px!important;
  color:#202326;
  font-size:17px!important;
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.025em;
}
.henz-class-card__class{
  display:block;
  margin:0 0 3px;
  color:#4c5054;
  font-size:10.5px;
  font-weight:800;
  line-height:1.25;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.henz-class-card__meta{
  min-height:0!important;
  margin:0 0 8px!important;
  color:#686b70;
  font-size:9.5px;
  font-weight:700;
  line-height:1.3;
}
.henz-class-card__link{
  margin-top:auto!important;
  color:var(--henz-red);
  font-size:10px;
  font-weight:800;
}


/* Compatibility with older saved homepage markup (title=Klasse, vehicle=Motorrad/PKW).
 * New markup uses __title for vehicle and __class for the class label. */
.henz-class-card__vehicle{display:block;margin:0 0 4px;color:#202326;font-size:17px!important;font-weight:800;line-height:1.08;letter-spacing:-.025em}
.henz-class-card__body:has(>.henz-class-card__vehicle)>.henz-class-card__vehicle{order:0}
.henz-class-card__body:has(>.henz-class-card__vehicle)>.henz-class-card__title{order:1;margin:0 0 3px!important;color:#4c5054;font-size:10.5px!important;font-weight:800;line-height:1.25;text-transform:uppercase;letter-spacing:.035em}
.henz-class-card__body:has(>.henz-class-card__vehicle)>.henz-class-card__meta{order:2}
.henz-class-card__body:has(>.henz-class-card__vehicle)>.henz-class-card__link{order:3}

/* BKF: restore the soft photographic transition into the white copy area. */
.henz-topic-card--bkf{
  position:relative;
  display:flex!important;
  align-items:stretch;
  min-height:220px;
  padding:0;
  overflow:hidden;
  background:#fff;
  isolation:isolate;
}
.henz-topic-card--bkf .henz-topic-card__media{
  position:absolute!important;
  inset:0!important;
  min-height:220px!important;
  border:0!important;
  background-image:var(--henz-topic-image,var(--henz-bkf-image,var(--henz-class-lkw-image,url('../img/classes/lkw.webp'))))!important;
  background-position:var(--henz-bkf-position,18% 52%)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  transform:scale(1.01);
}
.henz-topic-card--bkf .henz-topic-card__media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.04) 30%,rgba(255,255,255,.24) 44%,rgba(255,255,255,.72) 60%,rgba(255,255,255,.94) 72%,#fff 84%,#fff 100%);
}
.henz-topic-card--bkf .henz-topic-card__copy{
  position:relative;
  z-index:2;
  max-width:50%!important;
  margin-left:auto!important;
  padding:29px 28px 29px 22px!important;
}
.henz-topic-card--bkf:before{display:none!important;content:none!important}

@media(max-width:1080px){
  .henz-class-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .henz-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .henz-dual-teasers{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .henz-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .henz-class-card__media{aspect-ratio:4/3!important}
  .henz-class-card__body{padding:8px 9px 9px!important}
  .henz-class-card__title{font-size:14px!important}
  .henz-class-card__vehicle{font-size:14px!important}
  .henz-class-card__body:has(>.henz-class-card__vehicle)>.henz-class-card__title{font-size:9px!important}
  .henz-class-card__class{font-size:9px}
  .henz-class-card__meta{font-size:8.5px;margin-bottom:6px!important}
  .henz-class-card__link{font-size:9px}

  .henz-topic-card--bkf{display:block!important;min-height:230px}
  .henz-topic-card--bkf .henz-topic-card__media{
    min-height:230px!important;
    background-position:var(--henz-bkf-position-mobile,24% 45%)!important;
  }
  .henz-topic-card--bkf .henz-topic-card__media:after{
    background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.18) 38%,rgba(255,255,255,.72) 65%,#fff 86%,#fff 100%);
  }
  .henz-topic-card--bkf .henz-topic-card__copy{
    max-width:none!important;
    min-height:230px;
    justify-content:flex-end;
    padding:88px 23px 22px!important;
  }
}
@media(max-width:350px){
  .henz-class-grid{grid-template-columns:1fr!important}
  .henz-class-card__media{aspect-ratio:16/8!important}
}
@media(prefers-reduced-motion:reduce){
  .henz-class-card,
  .henz-class-card__media:before,
  .henz-class-card__media:after{transition:none!important}
}

/* -------------------------------------------------------------------------
 * v2.3.0 – Bildpfade direkt im Startseiten-HTML konfigurieren
 * Die Seite enthält nur data-henz-img-* Attribute. Kein Seiten-CSS nötig.
 * ---------------------------------------------------------------------- */
.henz-home-slide-bg.has-henz-html-bg{
  background-image:var(--henz-html-bg)!important;
}
.henz-class-card__media.has-henz-html-bg{
  background-image:var(--henz-html-bg)!important;
}

/* Standortbild liegt bewusst rechts; links bleibt eine ruhige weiße Textfläche. */
.henz-feature-panel--map.has-henz-html-bg{
  background-color:#fff!important;
  background-image:
    linear-gradient(90deg,#fff 0%,#fff 30%,rgba(255,255,255,.98) 40%,rgba(255,255,255,.86) 51%,rgba(255,255,255,.52) 63%,rgba(255,255,255,.14) 78%,rgba(255,255,255,0) 100%),
    var(--henz-html-bg)!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%,auto 100%!important;
  background-position:center,right center!important;
}
.henz-feature-panel--map.has-henz-html-bg .henz-mini-map{display:none!important}
.henz-feature-panel--map.has-henz-html-bg .henz-feature-panel__copy{max-width:52%}

.henz-about-teaser__media.has-henz-html-bg{
  background-image:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0)),var(--henz-html-bg)!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.henz-about-teaser__media.has-henz-html-bg .henz-about-teaser__placeholder{display:none!important}

.henz-topic-card--bkf .henz-topic-card__media.has-henz-html-bg{
  background-image:var(--henz-html-bg)!important;
}

@media(max-width:700px){
  .henz-feature-panel--map.has-henz-html-bg{
    background-size:100% 100%,auto 100%!important;
    background-position:center,112% center!important;
  }
  .henz-feature-panel--map.has-henz-html-bg .henz-feature-panel__copy{max-width:62%}
}
