/*
Theme Name: Humboldt Studio
Theme URI: https://example.com/humboldt-studio
Author: Julian / OpenAI
Description: Modulares, vollständig bearbeitbares Premium-Block-Theme für Schulen. Anthrazit, Weiß und Gelb, flexible Templates, Hero-Slider und umfangreiche Karten-Patterns in 2-, 3- und 4-spaltigen Varianten.
Version: 2.1.3
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: humboldt-studio
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: block-patterns, full-site-editing, education, custom-colors, custom-logo, editor-style, wide-blocks
*/

:root{--hs-yellow:#f4b400;--hs-yellow-dark:#dca300;--hs-charcoal:#151b20;--hs-slate:#242c33;--hs-ink:#1d2329;--hs-muted:#66717b;--hs-line:#e4e7e9;--hs-paper:#f5f5f2;--hs-white:#fff;--hs-radius:0px;--hs-shadow:0 14px 36px rgba(17,24,29,.10)}
html{scroll-behavior:smooth}body{text-rendering:optimizeLegibility}.wp-site-blocks{overflow:visible}.wp-site-blocks>*{margin-block-start:0!important}a{text-underline-offset:.18em}.hs-site-main{min-height:45vh}

/* Landingpage: normale Blöcke folgen derselben 1000-px-Inhaltsbreite wie Unterseiten.
   Nur ausdrücklich auf „Breite“ oder „Volle Breite“ gesetzte Blöcke dürfen darüber hinausgehen. */
.hs-landing-main{width:100%;min-height:45vh}
.hs-landing-main>.wp-block-post-content{width:100%;margin:0}
.hs-landing-main .wp-block-post-content>:where(:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright)){
  width:min(100%,var(--wp--style--global--content-size));
  max-width:var(--wp--style--global--content-size);
  margin-left:auto!important;
  margin-right:auto!important;
}
.hs-landing-main .wp-block-post-content>.alignwide{
  width:min(100%,var(--wp--style--global--wide-size));
  max-width:var(--wp--style--global--wide-size);
  margin-left:auto!important;
  margin-right:auto!important;
}
.hs-shadow{box-shadow:var(--hs-shadow)}.hs-card{height:100%;transition:transform .2s ease,box-shadow .2s ease}.hs-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(17,24,29,.13)}.hs-card .wp-block-image img{width:100%;height:100%;object-fit:cover}.hs-card-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--hs-line);font-size:1.45rem}.hs-kicker{letter-spacing:.09em;text-transform:uppercase;font-weight:750}.hs-section-title{position:relative;padding-left:18px}.hs-section-title:before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:4px;background:var(--hs-yellow)}
.wp-block-navigation .wp-block-navigation-item__content{text-decoration:none}.wp-block-navigation .wp-block-navigation-item__content:hover{color:var(--hs-yellow)}.wp-block-button__link{transition:transform .2s ease,background-color .2s ease}.wp-block-button__link:hover{transform:translateY(-1px)}

/* Header */
.hs-site-header{position:relative;z-index:50;overflow:visible}.hs-header-inner,.hs-header-actions{position:relative;overflow:visible}.hs-header-actions{margin-left:auto;gap:.65rem;align-items:center}.hs-search-toggle{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;padding:0;border:0;background:var(--hs-yellow);color:var(--hs-charcoal);cursor:pointer}.hs-search-toggle:hover{background:var(--hs-yellow-dark)}.hs-search-toggle:focus-visible{outline:3px solid var(--hs-charcoal);outline-offset:2px}.hs-header-search-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:100;width:min(430px,calc(100vw - 32px));padding:14px;background:#fff;border:1px solid var(--hs-line);box-shadow:0 14px 38px rgba(17,24,29,.18);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.hs-header-search-panel.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.hs-header-search-panel .wp-block-search{margin:0}

/* Page hero: always flush below header */
.hs-page-hero{margin:0!important;min-height:clamp(210px,25vw,310px)}.hs-page-hero .wp-block-cover__inner-container{width:100%}.hs-page-hero h1{margin:0}.hs-breadcrumbs{opacity:.78}

/* Hero slider */
.wp-site-blocks .hs-hero-slider{position:relative;min-height:clamp(520px,68vh,760px);overflow:hidden;isolation:isolate;background:var(--hs-charcoal)}
.wp-site-blocks .hs-hero-slider>.hs-hero-slides.wp-block-gallery{position:absolute!important;inset:0!important;z-index:0;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;gap:0!important}
.wp-site-blocks .hs-hero-slider>.hs-hero-slides.wp-block-gallery.has-nested-images>figure.wp-block-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;opacity:0;transition:opacity 1.05s ease-in-out}
.wp-site-blocks .hs-hero-slider>.hs-hero-slides.wp-block-gallery.has-nested-images>figure.wp-block-image.is-active{opacity:1}
.wp-site-blocks .hs-hero-slider>.hs-hero-slides.wp-block-gallery.has-nested-images>figure.wp-block-image>img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
.wp-site-blocks .hs-hero-slider:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(9,13,17,.92),rgba(9,13,17,.62) 55%,rgba(9,13,17,.24))}.wp-site-blocks .hs-hero-content{position:relative;z-index:2;min-height:clamp(520px,68vh,760px);display:flex;align-items:center}.wp-site-blocks .hs-slider-dots{position:absolute;z-index:3;left:max(28px,calc((100vw - 1000px)/2 + 8px));bottom:28px;display:flex;gap:10px}.wp-site-blocks .hs-slider-dots button{width:34px;height:4px;padding:0;border:0;background:rgba(255,255,255,.45);cursor:pointer}.wp-site-blocks .hs-slider-dots button.is-active{background:var(--hs-yellow)}

/* Cards and queries */
.hs-equal-columns>.wp-block-column{display:flex}.hs-equal-columns>.wp-block-column>*{width:100%}.hs-news-grid .wp-block-post{height:100%}.hs-news-grid .wp-block-post-featured-image img{aspect-ratio:16/10;object-fit:cover}.hs-query-card{height:100%;border:1px solid var(--hs-line);background:#fff}.hs-query-card .wp-block-post-excerpt__more-link{font-weight:700;color:var(--hs-yellow-dark)}
.hs-stat{border-right:1px solid rgba(255,255,255,.18)}.hs-stat:last-child{border-right:0}

/* Footer */
.hs-footer a{color:inherit}.hs-footer a:hover{color:var(--hs-yellow)}

@media(max-width:960px){.hs-header-inner{gap:1rem}.hs-brand{min-width:0}}
@media(max-width:781px){.hs-header-actions{flex-direction:row!important}.hs-header-search-panel{position:fixed;top:88px;left:16px;right:16px;width:auto}.wp-site-blocks .hs-hero-slider,.wp-site-blocks .hs-hero-content{min-height:600px}.wp-site-blocks .hs-slider-dots{left:24px;bottom:20px}.hs-stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:16px}.hs-stat:last-child{border-bottom:0}.hs-card{margin-bottom:4px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hs-card,.wp-site-blocks .hs-hero-slides figure{transition:none!important}}

/* Version 1.0.1: aufgeräumter Footer */
.hs-footer .hs-footer-navigation .wp-block-navigation__container,
.hs-footer .hs-footer-navigation .wp-block-page-list{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:.5rem!important;
}
.hs-footer .hs-footer-navigation .wp-block-navigation-item{width:100%;margin:0!important}
.hs-footer .hs-footer-navigation .wp-block-navigation-item__content{display:inline-block;padding:.15rem 0}

/* Kompatibilität mit dem früheren Hero-Pattern aus Humboldt Campus. */
.wp-site-blocks .hc-hero-slider{position:relative;min-height:clamp(520px,68vh,760px);overflow:hidden;isolation:isolate;background:var(--hs-charcoal)}
.wp-site-blocks .hc-hero-slider>.hc-hero-slides.wp-block-gallery{position:absolute!important;inset:0!important;z-index:0;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;gap:0!important;grid-template-columns:none!important}
.wp-site-blocks .hc-hero-slider>.hc-hero-slides.wp-block-gallery.has-nested-images>figure.wp-block-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;opacity:0;visibility:hidden;transition:opacity 1.05s ease-in-out,visibility 1.05s ease-in-out}
.wp-site-blocks .hc-hero-slider>.hc-hero-slides.wp-block-gallery.has-nested-images>figure.wp-block-image.is-active{opacity:1;visibility:visible}
.wp-site-blocks .hc-hero-slider>.hc-hero-slides.wp-block-gallery.has-nested-images>figure.wp-block-image>img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
.wp-site-blocks .hc-hero-slider:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(9,13,17,.92),rgba(9,13,17,.62) 55%,rgba(9,13,17,.24))}
.wp-site-blocks .hc-hero-content{position:relative;z-index:2;min-height:clamp(520px,68vh,760px);display:flex;align-items:center}
.wp-site-blocks .hc-hero-slider .hs-slider-dots{position:absolute;z-index:3;left:max(28px,calc((100vw - 1000px)/2 + 8px));bottom:28px;display:flex;gap:10px}
@media(max-width:781px){.wp-site-blocks .hc-hero-slider,.wp-site-blocks .hc-hero-content{min-height:600px}.wp-site-blocks .hc-hero-slider .hs-slider-dots{left:24px;bottom:20px}}

/* Version 1.0.3: balanced 1000px content canvas and aligned hero content */
.hs-site-main .wp-block-post-content > :where(:not(.alignfull):not(.alignwide)){max-width:1000px}
.wp-site-blocks :where(.hs-hero-content,.hc-hero-content){text-align:left}
.wp-site-blocks :where(.hs-hero-content,.hc-hero-content) > .wp-block-group{
  width:min(1000px,calc(100% - 56px))!important;
  max-width:1000px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.wp-site-blocks :where(.hs-hero-content,.hc-hero-content) .wp-block-buttons{justify-content:flex-start}
.wp-site-blocks :where(.hs-hero-content,.hc-hero-content) :where(h1,p){text-align:left}
.wp-site-blocks :where(.hs-hero-slider,.hc-hero-slider) .hs-slider-dots{
  left:max(28px,calc((100vw - 1000px)/2 + 8px))!important;
}
@media(max-width:1056px){
  .wp-site-blocks :where(.hs-hero-content,.hc-hero-content) > .wp-block-group{width:calc(100% - 56px)!important}
  .wp-site-blocks :where(.hs-hero-slider,.hc-hero-slider) .hs-slider-dots{left:36px!important}
}
@media(max-width:781px){
  .wp-site-blocks :where(.hs-hero-content,.hc-hero-content) > .wp-block-group{width:calc(100% - 40px)!important}
  .wp-site-blocks :where(.hs-hero-slider,.hc-hero-slider) .hs-slider-dots{left:28px!important}
}

/* Version 1.1.1: separate header and footer dropdown styles */
.hs-site-header .wp-block-navigation,
.hs-site-header .wp-block-navigation__container{
  position:relative;
  overflow:visible;
}
.hs-site-header .wp-block-navigation__submenu-container{
  min-width:240px!important;
  padding:8px 0!important;
  border:1px solid var(--hs-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:0 16px 38px rgba(17,24,29,.16)!important;
  top:calc(100% + 25px)!important;
  left:50%!important;
  opacity:0;
  transform:translate(-50%,-6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
}
.hs-site-header .wp-block-navigation-item:hover>.wp-block-navigation__submenu-container,
.hs-site-header .wp-block-navigation-item:focus-within>.wp-block-navigation__submenu-container{
  opacity:1;
  transform:translate(-50%,0);
}
.hs-site-header .wp-block-navigation-item.has-child:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:28px;
}
.hs-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  display:block!important;
  width:100%;
  padding:11px 16px!important;
  border-radius:0!important;
  color:var(--hs-ink)!important;
  line-height:1.35;
  border-left:3px solid transparent;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,padding-left .16s ease;
}
.hs-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.hs-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus{
  color:var(--hs-charcoal)!important;
  background:#f7f7f4!important;
  border-left-color:var(--hs-yellow);
  padding-left:19px!important;
}
.hs-site-header .wp-block-navigation__submenu-icon{margin-left:.35rem}

.hs-footer .wp-block-navigation__submenu-container{
  min-width:230px!important;
  padding:10px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:10px!important;
  background:var(--hs-charcoal)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.22)!important;
  top:0!important;
  left:calc(100% + 12px)!important;
  z-index:120;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
}
.hs-footer .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  display:block!important;
  width:100%;
  padding:10px 12px!important;
  border-radius:7px;
  color:#fff!important;
  line-height:1.35;
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
.hs-footer .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.hs-footer .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus{
  color:var(--hs-charcoal)!important;
  background:var(--hs-yellow)!important;
  transform:translateX(2px);
}
.hs-footer .wp-block-navigation-item.has-child{position:relative}
.hs-footer .wp-block-navigation-item:hover>.wp-block-navigation__submenu-container,
.hs-footer .wp-block-navigation-item:focus-within>.wp-block-navigation__submenu-container{
  opacity:1;
  transform:translateY(0);
}
.hs-footer .wp-block-navigation-item.has-child:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:100%;
  width:14px;
}
@media(max-width:781px){
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
  .hs-footer .wp-block-navigation__submenu-container{
    position:static!important;
    min-width:0!important;
    margin:.35rem 0 0 .75rem!important;
    padding:.35rem!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-shadow:none!important;
    border-left:2px solid var(--hs-yellow)!important;
    border-radius:0!important;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
    background:#fff!important;
    border-top:1px solid var(--hs-line)!important;
    border-right:1px solid var(--hs-line)!important;
    border-bottom:1px solid var(--hs-line)!important;
  }
}

/* Humboldt Studio icon block */
.hs-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;vertical-align:middle;color:var(--hs-yellow)}
.hs-icon svg{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hs-icon-link{display:inline-flex;text-decoration:none}
.hs-icon-link:hover .hs-icon{transform:translateY(-1px)}
.hs-icon-contact-list{display:grid;gap:16px}
.hs-icon-contact-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start}
.hs-icon-contact-row .hs-icon{margin-top:2px}
.hs-icon-contact-row p{margin:0}

/* Version 1.1.4: Karten ausschließlich auf der Landingpage.
   Die Beitragsübersicht „Aktuelles“ bleibt bewusst unverändert wie in 1.1.2. */

/* WordPress-Block „Neueste Beiträge“: automatisch als ruhige Karten gestalten. */
.hs-landing-main .wp-block-latest-posts{
  box-sizing:border-box;
  gap:clamp(18px,2.2vw,28px)!important;
  margin-left:auto;
  margin-right:auto;
  padding-left:0;
  list-style:none;
}
.hs-landing-main .wp-block-latest-posts>li{
  box-sizing:border-box;
  position:relative;
  min-width:0;
  height:100%;
  margin:0!important;
  padding:22px 22px 24px;
  overflow:hidden;
  background:var(--hs-white);
  border:1px solid var(--hs-line);
  border-top:4px solid var(--hs-yellow);
  box-shadow:0 10px 28px rgba(17,24,29,.09);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.hs-landing-main .wp-block-latest-posts>li:hover{
  transform:translateY(-3px);
  border-color:#d9dde0;
  border-top-color:var(--hs-yellow-dark);
  box-shadow:0 16px 36px rgba(17,24,29,.13);
}
.hs-landing-main .wp-block-latest-posts__featured-image{
  width:auto;
  margin:-22px -22px 20px!important;
  overflow:hidden;
  background:#edf0f1;
}
.hs-landing-main .wp-block-latest-posts__featured-image a{
  display:block;
  width:100%;
}
.hs-landing-main .wp-block-latest-posts__featured-image img{
  display:block;
  width:100%!important;
  max-width:none!important;
  aspect-ratio:16/10;
  object-fit:cover;
  transition:transform .35s ease;
}
.hs-landing-main .wp-block-latest-posts>li:hover .wp-block-latest-posts__featured-image img{
  transform:scale(1.025);
}
.hs-landing-main .wp-block-latest-posts__post-title{
  display:inline-block;
  color:var(--hs-yellow-dark)!important;
  font-size:clamp(1.08rem,1.7vw,1.35rem);
  font-weight:750;
  line-height:1.22;
  text-decoration:none!important;
}
.hs-landing-main .wp-block-latest-posts__post-title:hover,
.hs-landing-main .wp-block-latest-posts__post-title:focus-visible{
  color:var(--hs-ink)!important;
  text-decoration:underline!important;
  text-decoration-color:var(--hs-yellow)!important;
}
.hs-landing-main .wp-block-latest-posts__post-date{
  margin-bottom:.55rem;
  color:var(--hs-muted);
  font-size:.84rem;
}
.hs-landing-main .wp-block-latest-posts__post-excerpt{
  margin-top:.8rem;
  color:var(--hs-ink);
  line-height:1.65;
}

/* Query-Loop-Karten auf der Landingpage. Dies erfasst das Theme-Pattern
   sowie Blöcke mit der vom Nutzer vergebenen CSS-Klasse „news-karten“. */
.hs-landing-main .wp-block-query .wp-block-post-template,
.hs-landing-main .hs-news-grid .wp-block-post-template,
.hs-landing-main .news-karten .wp-block-post-template,
.hs-landing-main .News-Karten .wp-block-post-template,
.hs-landing-main .hs-news-cards .wp-block-post-template{
  align-items:stretch;
  gap:clamp(18px,2.2vw,28px)!important;
  margin:0;
  padding:0;
  list-style:none;
}
.hs-landing-main .wp-block-query .wp-block-post,
.hs-landing-main .hs-news-grid .wp-block-post,
.hs-landing-main .news-karten .wp-block-post,
.hs-landing-main .News-Karten .wp-block-post,
.hs-landing-main .hs-news-cards .wp-block-post{
  box-sizing:border-box;
  min-width:0;
  height:100%;
  margin:0;
}
.hs-landing-main .wp-block-query .hs-query-card,
.hs-landing-main .hs-news-grid .hs-query-card,
.hs-landing-main .news-karten .hs-query-card,
.hs-landing-main .News-Karten .hs-query-card,
.hs-landing-main .hs-news-cards .hs-query-card{
  position:relative;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  height:100%;
  overflow:hidden;
  background:var(--hs-white);
  border:1px solid var(--hs-line);
  border-top:4px solid var(--hs-yellow);
  box-shadow:0 10px 28px rgba(17,24,29,.09);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.hs-landing-main .wp-block-query .hs-query-card:hover,
.hs-landing-main .hs-news-grid .hs-query-card:hover,
.hs-landing-main .news-karten .hs-query-card:hover,
.hs-landing-main .News-Karten .hs-query-card:hover,
.hs-landing-main .hs-news-cards .hs-query-card:hover{
  transform:translateY(-3px);
  border-color:#d9dde0;
  border-top-color:var(--hs-yellow-dark);
  box-shadow:0 16px 36px rgba(17,24,29,.13);
}
.hs-landing-main .wp-block-query .wp-block-post-featured-image,
.hs-landing-main .hs-news-grid .wp-block-post-featured-image,
.hs-landing-main .news-karten .wp-block-post-featured-image,
.hs-landing-main .News-Karten .wp-block-post-featured-image,
.hs-landing-main .hs-news-cards .wp-block-post-featured-image{
  margin:0!important;
  overflow:hidden;
  background:#edf0f1;
}
.hs-landing-main .wp-block-query .wp-block-post-featured-image img,
.hs-landing-main .hs-news-grid .wp-block-post-featured-image img,
.hs-landing-main .news-karten .wp-block-post-featured-image img,
.hs-landing-main .News-Karten .wp-block-post-featured-image img,
.hs-landing-main .hs-news-cards .wp-block-post-featured-image img{
  display:block;
  width:100%!important;
  max-width:none!important;
  aspect-ratio:16/10;
  object-fit:cover;
  transition:transform .35s ease;
}
.hs-landing-main .hs-query-card:hover .wp-block-post-featured-image img,
.hs-landing-main .news-karten .wp-block-post:hover .wp-block-post-featured-image img,
.hs-landing-main .News-Karten .wp-block-post:hover .wp-block-post-featured-image img,
.hs-landing-main .hs-news-cards .wp-block-post:hover .wp-block-post-featured-image img{
  transform:scale(1.025);
}
.hs-landing-main .wp-block-query .wp-block-post-title a,
.hs-landing-main .hs-news-grid .wp-block-post-title a,
.hs-landing-main .news-karten .wp-block-post-title a,
.hs-landing-main .News-Karten .wp-block-post-title a,
.hs-landing-main .hs-news-cards .wp-block-post-title a{
  color:var(--hs-yellow-dark)!important;
  text-decoration:none!important;
}
.hs-landing-main .wp-block-query .wp-block-post-title a:hover,
.hs-landing-main .hs-news-grid .wp-block-post-title a:hover,
.hs-landing-main .news-karten .wp-block-post-title a:hover,
.hs-landing-main .News-Karten .wp-block-post-title a:hover,
.hs-landing-main .hs-news-cards .wp-block-post-title a:hover{
  color:var(--hs-ink)!important;
  text-decoration:underline!important;
  text-decoration-color:var(--hs-yellow)!important;
}
.hs-landing-main .wp-block-query .wp-block-post-excerpt__more-link,
.hs-landing-main .hs-news-grid .wp-block-post-excerpt__more-link,
.hs-landing-main .news-karten .wp-block-post-excerpt__more-link,
.hs-landing-main .News-Karten .wp-block-post-excerpt__more-link,
.hs-landing-main .hs-news-cards .wp-block-post-excerpt__more-link{
  color:var(--hs-yellow-dark)!important;
  font-weight:750;
  text-decoration:none!important;
}

/* Fallback für einen manuell erstellten Query Loop ohne innere hs-query-card-Gruppe.
   Er bleibt ausschließlich auf die Landingpage begrenzt. */
.hs-landing-main .wp-block-query .wp-block-post-template>li,
.hs-landing-main .news-karten .wp-block-post-template>li,
.hs-landing-main .News-Karten .wp-block-post-template>li,
.hs-landing-main .hs-news-cards .wp-block-post-template>li{
  min-width:0;
}
.hs-landing-main .wp-block-query .wp-block-post-template>li:not(:has(.hs-query-card)),
.hs-landing-main .news-karten .wp-block-post-template>li:not(:has(.hs-query-card)),
.hs-landing-main .News-Karten .wp-block-post-template>li:not(:has(.hs-query-card)),
.hs-landing-main .hs-news-cards .wp-block-post-template>li:not(:has(.hs-query-card)){
  box-sizing:border-box;
  overflow:hidden;
  background:var(--hs-white);
  border:1px solid var(--hs-line);
  border-top:4px solid var(--hs-yellow);
  box-shadow:0 10px 28px rgba(17,24,29,.09);
}

@media(max-width:620px){
  .hs-landing-main .wp-block-latest-posts>li{padding:18px 18px 21px}
  .hs-landing-main .wp-block-latest-posts__featured-image{margin:-18px -18px 18px!important}
}
@media(prefers-reduced-motion:reduce){
  .hs-landing-main .wp-block-latest-posts>li,
  .hs-landing-main .wp-block-latest-posts__featured-image img,
  .hs-landing-main .hs-query-card,
  .hs-landing-main .wp-block-post-featured-image img{transition:none!important}
}

/* Version 1.1.5: Das Raster des WordPress-Blocks „Neueste Beiträge“ nutzt
   auf der Landingpage echte CSS-Grid-Spalten. So werden die von WordPress
   vergebenen prozentualen Breiten nicht zusätzlich durch den Kartenabstand
   vergrößert und die dritte Karte bleibt zuverlässig in derselben Zeile. */
.hs-landing-main .wp-block-latest-posts.is-grid{
  display:grid!important;
  width:100%;
  align-items:stretch;
  grid-auto-flow:row;
}
.hs-landing-main .wp-block-latest-posts.is-grid.columns-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.hs-landing-main .wp-block-latest-posts.is-grid.columns-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.hs-landing-main .wp-block-latest-posts.is-grid.columns-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.hs-landing-main .wp-block-latest-posts.is-grid>li{
  width:auto!important;
  max-width:none!important;
  margin-right:0!important;
}
@media(max-width:820px){
  .hs-landing-main .wp-block-latest-posts.is-grid.columns-3,
  .hs-landing-main .wp-block-latest-posts.is-grid.columns-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .hs-landing-main .wp-block-latest-posts.is-grid.columns-2,
  .hs-landing-main .wp-block-latest-posts.is-grid.columns-3,
  .hs-landing-main .wp-block-latest-posts.is-grid.columns-4{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Version 1.1.6: optisch zentrierter Footer-Inhalt.
   Die Regel greift auch bei einem bereits im Website-Editor gespeicherten Footer,
   solange dessen äußerer Theme-Block weiterhin die Klasse hs-footer besitzt. */
.hs-footer > .wp-block-columns.alignwide,
.hs-footer .hs-footer-columns{
  box-sizing:border-box;
  padding-left:clamp(42px,4.5vw,82px);
  padding-right:0;
}
@media(max-width:1100px){
  .hs-footer > .wp-block-columns.alignwide,
  .hs-footer .hs-footer-columns{
    padding-left:clamp(18px,3vw,36px);
  }
}
@media(max-width:781px){
  .hs-footer > .wp-block-columns.alignwide,
  .hs-footer .hs-footer-columns{
    padding-left:0;
    padding-right:0;
  }
}

/* Verlinkte Abschnittsüberschrift für Landingpages und Unterseiten. */
.hs-linked-section-heading{
  margin-top:0;
  line-height:1.15;
}
.hs-linked-section-heading > a{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.58em;
  padding-bottom:.18em;
  color:var(--hs-charcoal)!important;
  text-decoration:none!important;
  background-image:linear-gradient(var(--hs-yellow),var(--hs-yellow));
  background-repeat:no-repeat;
  background-position:left bottom;
  background-size:0 3px;
  transition:background-size .28s ease,color .2s ease;
}
.hs-linked-section-heading > a::after{
  content:"";
  display:block;
  box-sizing:border-box;
  width:.46em;
  height:.46em;
  flex:0 0 auto;
  border-top:3px solid var(--hs-yellow);
  border-right:3px solid var(--hs-yellow);
  transform:translateX(0) rotate(45deg);
  transition:transform .25s ease,border-color .2s ease;
}
.hs-linked-section-heading > a:hover,
.hs-linked-section-heading > a:focus-visible{
  color:var(--hs-charcoal)!important;
  text-decoration:none!important;
  background-size:100% 3px;
}
.hs-linked-section-heading > a:hover::after,
.hs-linked-section-heading > a:focus-visible::after{
  transform:translateX(4px) rotate(45deg);
}
.hs-linked-section-heading > a:focus-visible{
  outline:3px solid rgba(244,180,0,.45);
  outline-offset:5px;
}
@media(prefers-reduced-motion:reduce){
  .hs-linked-section-heading > a,
  .hs-linked-section-heading > a::after{
    transition:none!important;
  }
}


/* Version 1.1.7: einheitliche breite Achse ausschließlich auf der Landingpage.
   Hero-Inhalt, Slider-Markierungen und reguläre Inhaltsblöcke beginnen auf
   Desktop-Bildschirmen an derselben linken Kante wie breite Medien- und CTA-Bereiche.
   Unterseiten, Archive und die Beitragsübersicht „Aktuelles“ bleiben unverändert. */
.hs-landing-main > .wp-block-post-content{
  box-sizing:border-box;
  padding-left:0!important;
  padding-right:0!important;
}

/* Normale und breite Blöcke nutzen auf der Landingpage gemeinsam die breite
   1240-px-Achse. Volle Breite bleibt weiterhin für Hero, CTA usw. reserviert. */
.hs-landing-main .wp-block-post-content > :where(:not(.alignfull):not(.alignleft):not(.alignright)){
  box-sizing:border-box;
  width:min(100%,var(--wp--style--global--wide-size))!important;
  max-width:var(--wp--style--global--wide-size)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Vollbreite-Blöcke wirklich bis an den Viewportrand führen. Dadurch verschwindet
   insbesondere der schmale weiße Rand links am gelben Handlungsaufruf. */
.hs-landing-main .wp-block-post-content > .alignfull{
  box-sizing:border-box;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

/* Der Slidertext folgt auf der Landingpage derselben 1240-px-Achse. */
.hs-landing-main :where(.hs-hero-content,.hc-hero-content) > .wp-block-group{
  width:min(var(--wp--style--global--wide-size),calc(100% - 56px))!important;
  max-width:var(--wp--style--global--wide-size)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.hs-landing-main :where(.hs-hero-slider,.hc-hero-slider) .hs-slider-dots{
  left:max(28px,calc((100vw - 1240px)/2 + 8px))!important;
}

@media(max-width:1296px){
  .hs-landing-main :where(.hs-hero-content,.hc-hero-content) > .wp-block-group{
    width:calc(100% - 56px)!important;
  }
  .hs-landing-main :where(.hs-hero-slider,.hc-hero-slider) .hs-slider-dots{
    left:36px!important;
  }
}
@media(max-width:781px){
  .hs-landing-main .wp-block-post-content > :where(:not(.alignfull)){
    width:100%!important;
  }
  .hs-landing-main :where(.hs-hero-content,.hc-hero-content) > .wp-block-group{
    width:calc(100% - 40px)!important;
  }
  .hs-landing-main :where(.hs-hero-slider,.hc-hero-slider) .hs-slider-dots{
    left:28px!important;
  }
}

/* Version 1.1.8: Blocksatz mit automatischer Silbentrennung.
   Im Block-Editor kann entweder der Stil „Blocksatz mit Silbentrennung“ gewählt
   oder unter „Erweitert → Zusätzliche CSS-Klasse(n)“ die Klasse blocksatz bzw.
   hs-blocksatz eingetragen werden. Die Trennsprache richtet sich nach der in
   WordPress eingestellten Seitensprache (bei Deutsch üblicherweise de-DE). */
:where(.blocksatz,.hs-blocksatz,.is-style-blocksatz){
  text-align:justify;
  text-align-last:auto;
  text-justify:inter-word;
  -webkit-hyphens:auto;
  hyphens:auto;
  hyphenate-limit-chars:6 3 3;
  overflow-wrap:break-word;
}

/* Rechts- und linksbündig umflossene Bilder folgen derselben Inhaltsachse wie
   der Fließtext. In Standardseiten liegt der Beitragsinhalt zwar in der breiten
   1240-px-Fläche, der Text selbst endet jedoch bei 1000 px. Der dynamische
   Innenabstand gleicht genau diese Differenz aus. */
.hs-site-main .wp-block-post-content > .wp-block-image.alignright,
.hs-site-main .wp-block-post-content > figure.wp-block-image.alignright{
  margin-right:max(0px,calc((100% - var(--wp--style--global--content-size))/2))!important;
  margin-left:clamp(1.25rem,3vw,2.5rem)!important;
  margin-bottom:1.25rem!important;
}
.hs-site-main .wp-block-post-content > .wp-block-image.alignleft,
.hs-site-main .wp-block-post-content > figure.wp-block-image.alignleft{
  margin-left:max(0px,calc((100% - var(--wp--style--global--content-size))/2))!important;
  margin-right:clamp(1.25rem,3vw,2.5rem)!important;
  margin-bottom:1.25rem!important;
}

/* Auf der Landingpage ist die gemeinsame Inhaltsachse 1240 px breit. Floats
   werden deshalb an dieser Achse ausgerichtet, ohne ihre individuell gewählte
   Bildbreite durch die allgemeine Landingpage-Regel zu überschreiben. */
.hs-landing-main .wp-block-post-content > .wp-block-image.alignright,
.hs-landing-main .wp-block-post-content > figure.wp-block-image.alignright{
  margin-right:max(0px,calc((100% - var(--wp--style--global--wide-size))/2))!important;
  margin-left:clamp(1.25rem,3vw,2.5rem)!important;
  margin-bottom:1.25rem!important;
}
.hs-landing-main .wp-block-post-content > .wp-block-image.alignleft,
.hs-landing-main .wp-block-post-content > figure.wp-block-image.alignleft{
  margin-left:max(0px,calc((100% - var(--wp--style--global--wide-size))/2))!important;
  margin-right:clamp(1.25rem,3vw,2.5rem)!important;
  margin-bottom:1.25rem!important;
}

/* Floats sauber abschließen, damit nachfolgende Vollbreite-Abschnitte nicht
   ungewollt neben einem Bild hochrutschen. */
.hs-site-main .wp-block-post-content::after,
.hs-landing-main .wp-block-post-content::after{
  content:"";
  display:table;
  clear:both;
}

@media(max-width:700px){
  .hs-site-main .wp-block-post-content > .wp-block-image.alignright,
  .hs-site-main .wp-block-post-content > .wp-block-image.alignleft,
  .hs-landing-main .wp-block-post-content > .wp-block-image.alignright,
  .hs-landing-main .wp-block-post-content > .wp-block-image.alignleft{
    float:none!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}



/* Version 1.1.9: Schulbranding im Header und fotografischer Seitenkopf. */

/* Das vorhandene Website-Logo bleibt ein normaler WordPress-Site-Logo-Block.
   Falls noch kein eigenes Logo gesetzt wurde, hinterlegt das Theme beim nächsten
   Aufruf des WordPress-Backends automatisch das mitgelieferte Humboldt-Logo. */
.hs-site-header .hs-brand{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:clamp(10px,1.1vw,15px);
  min-width:0;
}
.hs-site-header .hs-brand .wp-block-site-logo{
  flex:0 0 auto;
  margin:0!important;
  line-height:0;
}
.hs-site-header .hs-brand .wp-block-site-logo img,
.hs-site-header .hs-brand .custom-logo{
  display:block;
  width:clamp(58px,5.2vw,72px)!important;
  height:auto!important;
  max-height:54px;
  object-fit:contain;
}

/* Der vorhandene Site-Title-Link bleibt als echter, barrierefreier Home-Link
   bestehen. Die visuelle Ausgabe wird jedoch bewusst in zwei feste Zeilen
   gegliedert, damit sie auf allen Bildschirmgrößen gleich professionell wirkt. */
.hs-site-header .hs-brand .wp-block-site-title{
  min-width:0;
  margin:0!important;
  line-height:1!important;
}
.hs-site-header .hs-brand .wp-block-site-title > a{
  display:grid!important;
  gap:3px;
  min-width:0;
  color:var(--hs-charcoal)!important;
  font-size:0!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:normal!important;
}
.hs-site-header .hs-brand .wp-block-site-title > a::before,
.hs-site-header .hs-brand .wp-block-site-title > a::after{
  display:block;
  font-family:inherit;
  font-weight:800;
  line-height:1.08;
  letter-spacing:.015em;
  text-transform:uppercase;
}
.hs-site-header .hs-brand .wp-block-site-title > a::before{
  content:"STAATLICHES GYMNASIUM";
  font-size:clamp(.72rem,.72vw,.82rem);
}
.hs-site-header .hs-brand .wp-block-site-title > a::after{
  content:"„WILHELM VON HUMBOLDT“ NORDHAUSEN";
  font-size:clamp(.66rem,.68vw,.78rem);
}
.hs-site-header .hs-brand .wp-block-site-tagline{
  display:none!important;
}

/* Der Standard-Seitenkopf verwendet das mitgelieferte Schulfoto. Es liegt
   bewusst rechts; die linke Anthrazitfläche und der weiche Verlauf sichern
   die Lesbarkeit der Überschrift. Wird später im Cover-Block ein eigenes Bild
   gewählt, liegt dieses wie gewohnt über dem Theme-Hintergrund. */
.wp-site-blocks .hs-page-hero{
  position:relative;
  isolation:isolate;
  min-height:clamp(250px,22vw,310px)!important;
  overflow:hidden;
  background-color:var(--hs-charcoal);
  background-image:url("assets/images/humboldt-school-hero.jpg");
  background-repeat:no-repeat;
  background-position:right 58%;
  background-size:auto 150%;
}
.wp-site-blocks .hs-page-hero > .wp-block-cover__background{
  z-index:1;
  opacity:1!important;
  background:linear-gradient(
    90deg,
    rgba(21,27,32,1) 0%,
    rgba(21,27,32,.98) 27%,
    rgba(21,27,32,.90) 43%,
    rgba(21,27,32,.62) 63%,
    rgba(21,27,32,.18) 100%
  )!important;
}
.wp-site-blocks .hs-page-hero > .wp-block-cover__image-background,
.wp-site-blocks .hs-page-hero > video.wp-block-cover__video-background{
  z-index:0;
}
.wp-site-blocks .hs-page-hero > .wp-block-cover__inner-container{
  position:relative;
  z-index:2;
}
.wp-site-blocks .hs-page-hero :where(h1,.wp-block-post-title,.wp-block-query-title){
  color:var(--hs-yellow)!important;
  text-shadow:0 2px 14px rgba(0,0,0,.34);
}
.wp-site-blocks .hs-page-hero .hs-breadcrumbs{
  color:rgba(255,255,255,.88)!important;
}

@media(max-width:1100px){
  .hs-site-header .hs-brand .wp-block-site-title > a::before{font-size:.72rem}
  .hs-site-header .hs-brand .wp-block-site-title > a::after{font-size:.66rem}
  .wp-site-blocks .hs-page-hero{
    background-position:82% 58%;
    background-size:auto 138%;
  }
}
@media(max-width:781px){
  .hs-site-header .hs-brand{gap:9px}
  .hs-site-header .hs-brand .wp-block-site-logo img,
  .hs-site-header .hs-brand .custom-logo{width:54px!important;max-height:42px}
  .hs-site-header .hs-brand .wp-block-site-title > a{gap:2px}
  .hs-site-header .hs-brand .wp-block-site-title > a::before{font-size:.66rem}
  .hs-site-header .hs-brand .wp-block-site-title > a::after{font-size:.59rem}
  .wp-site-blocks .hs-page-hero{
    min-height:230px!important;
    background-position:76% 58%;
    background-size:auto 118%;
  }
  .wp-site-blocks .hs-page-hero > .wp-block-cover__background{
    background:linear-gradient(
      90deg,
      rgba(21,27,32,.98) 0%,
      rgba(21,27,32,.93) 48%,
      rgba(21,27,32,.54) 100%
    )!important;
  }
}
@media(max-width:480px){
  .hs-site-header .hs-brand .wp-block-site-title > a::before{font-size:.61rem}
  .hs-site-header .hs-brand .wp-block-site-title > a::after{font-size:.54rem}
  .wp-site-blocks .hs-page-hero{
    background-position:72% 58%;
    background-size:auto 108%;
  }
}


/* Version 1.1.10: weicherer, größerer Schulfoto-Seitenkopf und zuverlässiges Logo. */

/* Der Standard-Seitenkopf zeigt das Schulfoto deutlich größer. Das Bild reicht
   weiter nach links in die Fläche hinein; der untere Weg darf dabei zugunsten
   der stärkeren Gebäudewirkung beschnitten werden. */
.wp-site-blocks .hs-page-hero{
  background-size:92% auto;
  background-position:right 45%;
}

/* Mehrstufiger Verlauf statt sichtbarer Bildkante: links bleibt der Titelbereich
   ruhig anthrazit, anschließend wird das Foto stufenlos eingeblendet. */
.wp-site-blocks .hs-page-hero > .wp-block-cover__background{
  background:linear-gradient(
    90deg,
    rgba(21,27,32,1) 0%,
    rgba(21,27,32,1) 28%,
    rgba(21,27,32,.98) 36%,
    rgba(21,27,32,.86) 44%,
    rgba(21,27,32,.62) 53%,
    rgba(21,27,32,.35) 64%,
    rgba(21,27,32,.12) 78%,
    rgba(21,27,32,.03) 100%
  )!important;
}

/* Fallback-Abmessungen für das mitgelieferte Logo. Die serverseitige Ausgabe
   greift nur, wenn in WordPress noch kein eigenes Website-Logo hinterlegt ist. */
.hs-site-header .hs-default-logo-link{
  display:block;
  flex:0 0 auto;
  margin:0;
  line-height:0;
}
.hs-site-header .hs-default-logo-link img{
  display:block;
  width:clamp(58px,5.2vw,72px)!important;
  height:auto!important;
  max-height:54px;
  object-fit:contain;
}

@media(max-width:1100px){
  .wp-site-blocks .hs-page-hero{
    background-size:105% auto;
    background-position:right 45%;
  }
}
@media(max-width:781px){
  .hs-site-header .hs-default-logo-link img{
    width:54px!important;
    max-height:42px;
  }
  .wp-site-blocks .hs-page-hero{
    background-size:150% auto;
    background-position:72% 45%;
  }
  .wp-site-blocks .hs-page-hero > .wp-block-cover__background{
    background:linear-gradient(
      90deg,
      rgba(21,27,32,.99) 0%,
      rgba(21,27,32,.98) 34%,
      rgba(21,27,32,.88) 50%,
      rgba(21,27,32,.58) 72%,
      rgba(21,27,32,.22) 100%
    )!important;
  }
}
@media(max-width:480px){
  .wp-site-blocks .hs-page-hero{
    background-size:185% auto;
    background-position:70% 45%;
  }
}


/* Version 1.2.2: verlässlicher Markenblock im Header und verfeinerter Seitenkopf. */

/* Die Kopfmarke zeigt immer Logo plus die gewünschte zweizeilige Schulbezeichnung.
   Die bisherige Site-Title/Tagline-Gruppe wird visuell ersetzt, damit auch bei
   älteren WordPress-Anpassungen zuverlässig die richtige Beschriftung erscheint. */
.hs-site-header .hs-brand{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:clamp(10px,1.1vw,15px);
  row-gap:3px;
  min-width:0;
}
.hs-site-header .hs-brand .wp-block-site-logo,
.hs-site-header .hs-brand .wp-block-site-logo + .wp-block-group{
  margin:0!important;
}
.hs-site-header .hs-brand .wp-block-site-logo{grid-column:1;grid-row:1 / span 2}
.hs-site-header .hs-brand > .wp-block-group{display:none!important}
.hs-site-header .hs-brand::before,
.hs-site-header .hs-brand::after{
  grid-column:2;
  display:block;
  color:var(--hs-charcoal);
  text-transform:uppercase;
  letter-spacing:.015em;
  line-height:1.06;
  white-space:normal;
}
.hs-site-header .hs-brand::before{
  content:"STAATLICHES GYMNASIUM";
  grid-row:1;
  font-weight:800;
  font-size:clamp(.72rem,.72vw,.82rem);
}
.hs-site-header .hs-brand::after{
  content:"„WILHELM VON HUMBOLDT“ NORDHAUSEN";
  grid-row:2;
  font-weight:800;
  font-size:clamp(.66rem,.68vw,.78rem);
}

/* Der Seitenkopf wird einen Hauch heller und etwas weniger eng beschnitten.
   Das Gebäude bleibt besser erkennbar, die Farben sind dezent sichtbar.
   Gleichzeitig maskiert ein dunklerer rechter Rand das störende Wohnhaus. */
.wp-site-blocks .hs-page-hero{
  background-size:84% auto;
  background-position:108% 45%;
}
.wp-site-blocks .hs-page-hero > .wp-block-cover__background{
  background:linear-gradient(
    90deg,
    rgba(21,27,32,1) 0%,
    rgba(21,27,32,.99) 24%,
    rgba(21,27,32,.94) 34%,
    rgba(21,27,32,.78) 46%,
    rgba(21,27,32,.48) 60%,
    rgba(21,27,32,.22) 74%,
    rgba(21,27,32,.16) 84%,
    rgba(21,27,32,.38) 94%,
    rgba(21,27,32,.70) 100%
  )!important;
}

@media(max-width:1100px){
  .hs-site-header .hs-brand::before{font-size:.72rem}
  .hs-site-header .hs-brand::after{font-size:.66rem}
  .wp-site-blocks .hs-page-hero{
    background-size:96% auto;
    background-position:110% 45%;
  }
}
@media(max-width:781px){
  .hs-site-header .hs-brand{
    column-gap:9px;
    row-gap:2px;
  }
  .hs-site-header .hs-brand::before{font-size:.66rem}
  .hs-site-header .hs-brand::after{font-size:.59rem}
  .wp-site-blocks .hs-page-hero{
    background-size:138% auto;
    background-position:82% 45%;
  }
  .wp-site-blocks .hs-page-hero > .wp-block-cover__background{
    background:linear-gradient(
      90deg,
      rgba(21,27,32,.99) 0%,
      rgba(21,27,32,.97) 36%,
      rgba(21,27,32,.82) 52%,
      rgba(21,27,32,.46) 74%,
      rgba(21,27,32,.28) 88%,
      rgba(21,27,32,.54) 100%
    )!important;
  }
}
@media(max-width:480px){
  .hs-site-header .hs-brand::before{font-size:.61rem}
  .hs-site-header .hs-brand::after{font-size:.54rem}
  .wp-site-blocks .hs-page-hero{
    background-size:168% auto;
    background-position:78% 45%;
  }
}


/* Version 1.2.2: kompakter Markenblock und fein abgestimmter Seitenkopf. */

/* Beide Zeilen des Schulnamens sind gleich groß. Ein vollständig aufgehobener
   Zeilenabstand hält die Wortmarke kompakt direkt neben dem Logo. */
.hs-site-header .hs-brand{
  row-gap:0!important;
  align-content:center;
}
.hs-site-header .hs-brand::before,
.hs-site-header .hs-brand::after{
  margin:0!important;
  padding:0!important;
  font-size:clamp(.72rem,.72vw,.82rem)!important;
  line-height:1!important;
}
.hs-site-header .hs-brand::after{
  margin-top:-1px!important;
}

/* Der Seitenkopf wird gegenüber 1.2.1 nur leicht stärker gezoomt und etwas
   dunkler überlagert. Die natürlichen Farben des Fotos bleiben dabei erhalten. */
.wp-site-blocks .hs-page-hero{
  background-size:88% auto;
  background-position:107% 45%;
}
.wp-site-blocks .hs-page-hero > .wp-block-cover__background{
  background:linear-gradient(
    90deg,
    rgba(21,27,32,1) 0%,
    rgba(21,27,32,.995) 24%,
    rgba(21,27,32,.96) 34%,
    rgba(21,27,32,.84) 46%,
    rgba(21,27,32,.58) 60%,
    rgba(21,27,32,.32) 74%,
    rgba(21,27,32,.24) 84%,
    rgba(21,27,32,.46) 94%,
    rgba(21,27,32,.74) 100%
  )!important;
}

@media(max-width:1100px){
  .hs-site-header .hs-brand::before,
  .hs-site-header .hs-brand::after{
    font-size:.72rem!important;
  }
  .wp-site-blocks .hs-page-hero{
    background-size:101% auto;
    background-position:109% 45%;
  }
}
@media(max-width:781px){
  .hs-site-header .hs-brand{
    row-gap:0!important;
  }
  .hs-site-header .hs-brand::before,
  .hs-site-header .hs-brand::after{
    font-size:.66rem!important;
  }
  .wp-site-blocks .hs-page-hero{
    background-size:145% auto;
    background-position:81% 45%;
  }
  .wp-site-blocks .hs-page-hero > .wp-block-cover__background{
    background:linear-gradient(
      90deg,
      rgba(21,27,32,1) 0%,
      rgba(21,27,32,.985) 36%,
      rgba(21,27,32,.87) 52%,
      rgba(21,27,32,.54) 74%,
      rgba(21,27,32,.36) 88%,
      rgba(21,27,32,.61) 100%
    )!important;
  }
}
@media(max-width:480px){
  .hs-site-header .hs-brand::before,
  .hs-site-header .hs-brand::after{
    font-size:.61rem!important;
  }
  .wp-site-blocks .hs-page-hero{
    background-size:176% auto;
    background-position:77% 45%;
  }
}


/* Version 1.2.3: nutzerbearbeiteter Seitenkopf mit weichem Verlauf, leichtem Zoom und ohne sichtbares Wohnhaus am rechten Rand. */
.wp-site-blocks .hs-page-hero{
  background-image:url("assets/images/humboldt-school-hero.jpg");
  background-repeat:no-repeat;
  background-position:right center;
  background-size:cover;
}
.wp-site-blocks .hs-page-hero > .wp-block-cover__background{
  background:linear-gradient(
    90deg,
    rgba(21,27,32,1) 0%,
    rgba(21,27,32,.995) 22%,
    rgba(21,27,32,.96) 34%,
    rgba(21,27,32,.83) 46%,
    rgba(21,27,32,.61) 58%,
    rgba(21,27,32,.34) 72%,
    rgba(21,27,32,.16) 86%,
    rgba(21,27,32,.30) 94%,
    rgba(21,27,32,.58) 100%
  )!important;
}
@media(max-width:1100px){
  .wp-site-blocks .hs-page-hero{
    background-position:70% center;
    background-size:cover;
  }
}
@media(max-width:781px){
  .wp-site-blocks .hs-page-hero{
    background-position:66% center;
    background-size:cover;
  }
  .wp-site-blocks .hs-page-hero > .wp-block-cover__background{
    background:linear-gradient(
      90deg,
      rgba(21,27,32,1) 0%,
      rgba(21,27,32,.985) 34%,
      rgba(21,27,32,.88) 50%,
      rgba(21,27,32,.56) 72%,
      rgba(21,27,32,.34) 88%,
      rgba(21,27,32,.56) 100%
    )!important;
  }
}
@media(max-width:480px){
  .wp-site-blocks .hs-page-hero{
    background-position:64% center;
  }
}


/* Version 1.2.5: neues Linienlogo im Header.
   Das Logo ersetzt das bisherige gelbe Signet und wird harmonisch an die
   Höhe der zweizeiligen Wortmarke angepasst. */
.hs-site-header .hs-brand .wp-block-site-logo img,
.hs-site-header .hs-brand .custom-logo,
.hs-site-header .hs-default-logo-link img{
  width:clamp(82px,8.2vw,118px)!important;
  height:auto!important;
  max-height:34px!important;
  object-fit:contain;
}
.hs-site-header .hs-brand{
  column-gap:clamp(12px,1.2vw,16px)!important;
}
@media(max-width:781px){
  .hs-site-header .hs-brand .wp-block-site-logo img,
  .hs-site-header .hs-brand .custom-logo,
  .hs-site-header .hs-default-logo-link img{
    width:clamp(72px,22vw,96px)!important;
    max-height:30px!important;
  }
}
@media(max-width:480px){
  .hs-site-header .hs-brand .wp-block-site-logo img,
  .hs-site-header .hs-brand .custom-logo,
  .hs-site-header .hs-default-logo-link img{
    width:clamp(66px,24vw,88px)!important;
    max-height:26px!important;
  }
}


/* Version 1.2.6: Seitenkopf aus 1.2.4 wiederhergestellt und kompakter gestaltet. */
.wp-site-blocks .hs-page-hero{
  min-height:clamp(190px,14vw,220px)!important;
  background-image:url("assets/images/humboldt-school-hero-v124.png")!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
}

/* Logo und Wortmarke etwas enger zusammen; das Linienlogo darf die beiden
   Textzeilen optisch leicht überragen. Die linke Kante folgt exakt derselben
   1240-px-Achse wie der Landingpage-Inhalt. */
.hs-site-header .hs-header-inner{
  box-sizing:border-box;
  width:min(var(--wp--style--global--wide-size),calc(100% - 56px))!important;
  max-width:var(--wp--style--global--wide-size)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.hs-site-header .hs-brand{
  column-gap:8px!important;
}
.hs-site-header .hs-brand .wp-block-site-logo img,
.hs-site-header .hs-brand .custom-logo,
.hs-site-header .hs-default-logo-link img{
  width:auto!important;
  height:clamp(38px,3vw,43px)!important;
  max-height:none!important;
  max-width:128px!important;
  object-fit:contain!important;
}

@media(max-width:781px){
  .hs-site-header .hs-header-inner{
    width:calc(100% - 40px)!important;
  }
  .hs-site-header .hs-brand{
    column-gap:7px!important;
  }
  .hs-site-header .hs-brand .wp-block-site-logo img,
  .hs-site-header .hs-brand .custom-logo,
  .hs-site-header .hs-default-logo-link img{
    height:34px!important;
    max-width:102px!important;
  }
  .wp-site-blocks .hs-page-hero{
    min-height:185px!important;
    background-position:center center!important;
  }
}

@media(max-width:480px){
  .hs-site-header .hs-brand .wp-block-site-logo img,
  .hs-site-header .hs-brand .custom-logo,
  .hs-site-header .hs-default-logo-link img{
    height:31px!important;
    max-width:94px!important;
  }
  .wp-site-blocks .hs-page-hero{
    min-height:175px!important;
  }
}


/* Version 1.2.7: Beitragsübersicht und Footer auf die gewünschten Inhaltsachsen abgestimmt. */

/* „Aktuelles“ gehört zu den normalen Unterseiten: Das Beitragsraster nutzt
   deshalb auf Desktop die reguläre 1000-px-Inhaltsbreite statt der breiten
   1240-px-Landingpage-Achse. Die drei Spalten bleiben erhalten. */
body.blog .hs-site-main .hs-news-grid,
body.archive .hs-site-main .hs-news-grid{
  box-sizing:border-box;
  width:min(var(--wp--style--global--content-size),calc(100% - 56px))!important;
  max-width:var(--wp--style--global--content-size)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Humboldt-Gelb als klarer Markenakzent oberhalb des Beitragsbildes – analog
   zu den Karten auf der Landingpage. */
body.blog .hs-news-grid .hs-query-card,
body.archive .hs-news-grid .hs-query-card{
  border-top:4px solid var(--hs-yellow)!important;
}
body.blog .hs-news-grid .hs-query-card:hover,
body.archive .hs-news-grid .hs-query-card:hover{
  border-top-color:var(--hs-yellow-dark)!important;
}

/* Der Footer folgt exakt derselben 1240-px-Achse wie Header und Landingpage.
   Die frühere zusätzliche Linksverschiebung wird dafür aufgehoben. */
.hs-footer > .wp-block-columns.alignwide,
.hs-footer .hs-footer-columns,
.hs-footer > .wp-block-separator.alignwide,
.hs-footer > p{
  box-sizing:border-box;
  width:min(var(--wp--style--global--wide-size),calc(100% - 56px))!important;
  max-width:var(--wp--style--global--wide-size)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.hs-footer > .wp-block-columns.alignwide,
.hs-footer .hs-footer-columns{
  padding-left:0!important;
  padding-right:0!important;
}

@media(max-width:781px){
  body.blog .hs-site-main .hs-news-grid,
  body.archive .hs-site-main .hs-news-grid,
  .hs-footer > .wp-block-columns.alignwide,
  .hs-footer .hs-footer-columns,
  .hs-footer > .wp-block-separator.alignwide,
  .hs-footer > p{
    width:calc(100% - 40px)!important;
  }
}


/* Humboldt Studio 2.0.0: Feinschliff für Footer, mobile Navigation und Sticky Header. */

/* Der Kopfbereich bleibt beim Scrollen erreichbar. Im eingeloggten Zustand
   berücksichtigt er die WordPress-Adminleiste auf Desktop und Mobilgeräten. */
.hs-site-header{
  position:sticky!important;
  top:0;
  z-index:1000;
}
body.admin-bar .hs-site-header{top:32px}
@media(max-width:782px){
  body.admin-bar .hs-site-header{top:46px}
}

/* Der Footer bleibt auf derselben 1240-px-Achse wie Header und Landingpage.
   Ein sehr kleiner Innenabstand verhindert, dass die sichtbaren Inhalte an der
   linken oder rechten Kante optisch über die gemeinsame Achse hinausragen. */
@media(min-width:782px){
  .hs-footer > .wp-block-columns.alignwide,
  .hs-footer .hs-footer-columns{
    box-sizing:border-box!important;
    width:min(var(--wp--style--global--wide-size),calc(100% - 56px))!important;
    max-width:var(--wp--style--global--wide-size)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .hs-footer > .wp-block-separator.alignwide,
  .hs-footer > p{
    width:min(var(--wp--style--global--wide-size),calc(100% - 56px))!important;
    max-width:var(--wp--style--global--wide-size)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Mobile Hauptnavigation: Der rechte Menürand bleibt erhalten, aber jede
   Untermenübox bekommt eine sichere, begrenzte Breite innerhalb des Viewports.
   Dadurch können längere Menüpunkte nicht mehr links aus dem Feld herausragen. */
@media(max-width:781px){
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    box-sizing:border-box!important;
    width:100%!important;
    padding-left:24px!important;
    padding-right:24px!important;
    align-items:flex-end!important;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    box-sizing:border-box!important;
    width:min(100%,460px)!important;
    max-width:460px!important;
    margin-left:auto!important;
    margin-right:0!important;
    align-items:stretch!important;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    justify-content:flex-end!important;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content{
    box-sizing:border-box!important;
    max-width:100%!important;
    text-align:right!important;
    overflow-wrap:anywhere;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
    box-sizing:border-box!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:.45rem 0 0!important;
    padding:.35rem 0!important;
    transform:none!important;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    justify-content:flex-start!important;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:10px 14px!important;
    text-align:left!important;
    overflow-wrap:anywhere;
  }

  /* Im Footer reicht mobil die verlinkte Hauptebene. Das Desktop-Untermenü wird
     ausgeblendet; damit verschwindet zugleich das kleine leere Kästchen, das auf
     iOS neben „Unsere Schule“ sichtbar wurde. */
  .hs-footer .hs-footer-navigation .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container,
  .hs-footer .hs-footer-navigation .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon{
    display:none!important;
  }
  .hs-footer .hs-footer-navigation .wp-block-navigation-item.has-child::after{
    display:none!important;
  }
}


/* Humboldt Studio 2.0.1: Sticky-Fix und exakte Footer-Achse. */
/* Sticky-Positionierung benötigt einen vertikal nicht geclippten Vorfahren.
   Der bisherige overflow:clip-Wert des Site-Containers wurde deshalb aufgehoben. */
.hs-site-header{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
  width:100%;
}
body.admin-bar .hs-site-header{top:32px!important}
@media(max-width:782px){
  body.admin-bar .hs-site-header{top:46px!important}
}

/* Footer-Inhalt exakt auf derselben breiten Inhaltsachse wie Header und Landingpage. */
.hs-footer > .wp-block-columns.alignwide,
.hs-footer .hs-footer-columns,
.hs-footer > .wp-block-separator.alignwide,
.hs-footer > p{
  box-sizing:border-box!important;
  width:min(var(--wp--style--global--wide-size),calc(100% - 56px))!important;
  max-width:var(--wp--style--global--wide-size)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.hs-footer > .wp-block-columns.alignwide,
.hs-footer .hs-footer-columns{
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:781px){
  .hs-footer > .wp-block-columns.alignwide,
  .hs-footer .hs-footer-columns,
  .hs-footer > .wp-block-separator.alignwide,
  .hs-footer > p{
    width:calc(100% - 40px)!important;
  }
}


/* Humboldt Studio 2.0.2: Sticky-Header auf dem tatsächlichen Template-Part-Wrapper.
   WordPress rendert den Header-Template-Part als äußeres <header>-Element. Ein
   sticky gesetztes Kind kann nicht über die Höhe dieses Eltern-Elements hinaus
   haften; deshalb sitzt die Sticky-Positionierung nun auf dem Wrapper selbst. */
header.wp-block-template-part{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  z-index:99999!important;
  width:100%!important;
}
header.wp-block-template-part .hs-site-header{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
}
body.admin-bar header.wp-block-template-part{top:32px!important}
@media(max-width:782px){
  body.admin-bar header.wp-block-template-part{top:46px!important}
}


/* Version 2.0.5: Einzelbeiträge – Titelbild unter dem Text und auf normale Inhaltsbreite begrenzt. */
.single .hs-site-main > .wp-block-group > .wp-block-post-featured-image,
.single-post .hs-site-main > .wp-block-group > .wp-block-post-featured-image{
  width:100%;
  max-width:var(--wp--style--global--content-size);
  margin-left:auto!important;
  margin-right:auto!important;
}
.single .hs-site-main > .wp-block-group > .wp-block-post-featured-image img,
.single-post .hs-site-main > .wp-block-group > .wp-block-post-featured-image img{
  display:block;
  width:100%;
  height:auto;
}


/* Version 2.1.0: verschachtelte Desktop-Untermenüs als seitliches Flyout. */
@media(min-width:782px){
  .hs-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child{
    position:relative!important;
  }
  .hs-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container{
    top:-9px!important;
    left:calc(100% + 8px)!important;
    right:auto!important;
    margin:0!important;
    transform:translate(7px,0)!important;
    z-index:160!important;
  }
  .hs-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
  .hs-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container{
    transform:translate(0,0)!important;
  }
  .hs-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child::after{
    top:0!important;
    bottom:0!important;
    left:100%!important;
    right:auto!important;
    width:10px!important;
    height:auto!important;
  }
  .hs-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon{
    margin-left:auto!important;
    margin-right:8px!important;
  }
  .hs-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon svg{
    transform:rotate(-90deg);
    transform-origin:center;
  }
}

/* Humboldt Studio Kachelbutton: vollständig verlinkbare, farblich frei editierbare Kachel. */
.hs-tile-button{
  --hs-tile-bg:#f4b400;
  --hs-tile-text:#151b20;
  --hs-tile-arrow-bg:#151b20;
  --hs-tile-arrow-color:#fff;
  --hs-tile-border:#e4e7e9;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-sizing:border-box;
  width:100%;
  height:100%;
  min-height:160px;
  padding:30px 84px 30px 30px;
  overflow:hidden;
  border:1px solid var(--hs-tile-border);
  border-radius:16px;
  background:var(--hs-tile-bg);
  color:var(--hs-tile-text)!important;
  text-decoration:none!important;
  box-shadow:0 1px 0 rgba(17,24,29,.02);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
a.hs-tile-button:hover,
a.hs-tile-button:focus-visible{
  color:var(--hs-tile-text)!important;
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(17,24,29,.10);
}
a.hs-tile-button:focus-visible{
  outline:3px solid var(--hs-yellow);
  outline-offset:3px;
}
.hs-tile-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.hs-tile-eyebrow{
  display:block;
  font-size:.76rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:inherit;
}
.hs-tile-title{
  display:block;
  font-size:clamp(1.18rem,1.6vw,1.75rem);
  line-height:1.12;
  font-weight:800;
  color:inherit;
}
.hs-tile-text{
  display:block;
  font-size:.98rem;
  line-height:1.45;
  color:inherit;
}
.hs-tile-arrow{
  position:absolute;
  right:24px;
  bottom:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border-radius:999px;
  background:var(--hs-tile-arrow-bg);
  color:var(--hs-tile-arrow-color);
  font-size:1.8rem;
  font-weight:400;
  line-height:1;
  transition:transform .18s ease;
}
a.hs-tile-button:hover .hs-tile-arrow,
a.hs-tile-button:focus-visible .hs-tile-arrow{transform:translateX(3px)}
.hs-tile-editor{cursor:text}

/* Raster der Kachelbutton-Vorlagen. */
.hs-tile-layout{
  display:grid!important;
  width:100%;
  gap:18px;
  align-items:stretch;
}
.hs-tile-layout > *{min-width:0;margin:0!important}
.hs-tile-layout-featured-3{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:1fr 1fr}
.hs-tile-layout-featured-3 > :nth-child(1){grid-column:1;grid-row:1 / span 2}
.hs-tile-layout-featured-3 > :nth-child(2){grid-column:2;grid-row:1}
.hs-tile-layout-featured-3 > :nth-child(3){grid-column:2;grid-row:2}
.hs-tile-layout-featured-3 > :nth-child(1) .hs-tile-button{min-height:360px}

.hs-tile-layout-featured-5{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:1fr 1fr 1.15fr}
.hs-tile-layout-featured-5 > :nth-child(1){grid-column:1;grid-row:1 / span 2}
.hs-tile-layout-featured-5 > :nth-child(2){grid-column:2;grid-row:1}
.hs-tile-layout-featured-5 > :nth-child(3){grid-column:2;grid-row:2}
.hs-tile-layout-featured-5 > :nth-child(4){grid-column:1;grid-row:3}
.hs-tile-layout-featured-5 > :nth-child(5){grid-column:2;grid-row:3}
.hs-tile-layout-featured-5 > :nth-child(1) .hs-tile-button{min-height:360px}

.hs-tile-layout-stack-5{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);grid-template-rows:1fr 1fr 1fr}
.hs-tile-layout-stack-5 > :nth-child(1){grid-column:1;grid-row:1 / span 2}
.hs-tile-layout-stack-5 > :nth-child(2){grid-column:2;grid-row:1}
.hs-tile-layout-stack-5 > :nth-child(3){grid-column:2;grid-row:2}
.hs-tile-layout-stack-5 > :nth-child(4){grid-column:1;grid-row:3}
.hs-tile-layout-stack-5 > :nth-child(5){grid-column:2;grid-row:3}
.hs-tile-layout-stack-5 > :nth-child(1) .hs-tile-button{min-height:330px}
.hs-tile-layout-stack-5 > :nth-child(2) .hs-tile-button,
.hs-tile-layout-stack-5 > :nth-child(3) .hs-tile-button,
.hs-tile-layout-stack-5 > :nth-child(5) .hs-tile-button{min-height:145px}

.hs-tile-layout-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.hs-tile-layout-pair .hs-tile-button{min-height:220px}

.hs-tile-layout-2plus1{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto}
.hs-tile-layout-2plus1 > :nth-child(3){grid-column:1 / -1}
.hs-tile-layout-2plus1 > :nth-child(1) .hs-tile-button,
.hs-tile-layout-2plus1 > :nth-child(2) .hs-tile-button{min-height:170px}
.hs-tile-layout-2plus1 > :nth-child(3) .hs-tile-button{min-height:190px}

.hs-tile-layout-triple{grid-template-columns:repeat(3,minmax(0,1fr))}
.hs-tile-layout-triple .hs-tile-button{min-height:210px}
.hs-tile-layout-four{grid-template-columns:repeat(2,minmax(0,1fr))}
.hs-tile-layout-four .hs-tile-button{min-height:190px}

/* Editor: Gutenberg legt um dynamische Blöcke zusätzliche Wrapper. Diese
   sollen im Raster dieselben Spannen wie die Ausgabe im Frontend erhalten. */
.editor-styles-wrapper .hs-tile-layout > .wp-block-humboldt-studio-tile{height:100%}
.editor-styles-wrapper .hs-tile-layout-featured-3 > .wp-block-humboldt-studio-tile:nth-child(1){grid-column:1;grid-row:1 / span 2}
.editor-styles-wrapper .hs-tile-layout-featured-5 > .wp-block-humboldt-studio-tile:nth-child(1),
.editor-styles-wrapper .hs-tile-layout-stack-5 > .wp-block-humboldt-studio-tile:nth-child(1){grid-column:1;grid-row:1 / span 2}
.editor-styles-wrapper .hs-tile-layout-2plus1 > .wp-block-humboldt-studio-tile:nth-child(3){grid-column:1 / -1}

@media(max-width:781px){
  .hs-tile-layout,
  .hs-tile-layout-featured-3,
  .hs-tile-layout-featured-5,
  .hs-tile-layout-stack-5,
  .hs-tile-layout-pair,
  .hs-tile-layout-2plus1,
  .hs-tile-layout-triple,
  .hs-tile-layout-four{
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
  }
  .hs-tile-layout > *{grid-column:1!important;grid-row:auto!important}
  .hs-tile-button,
  .hs-tile-layout .hs-tile-button{min-height:150px!important;padding:24px 76px 24px 24px}
  .hs-tile-arrow{right:20px;bottom:20px;width:46px;height:46px}
}

/* Version 2.1.1: wiederverwendbarer Vorher-Nachher-Bildvergleich. */
.hs-before-after{
  --hs-before-after-position:50%;
  width:100%;
  max-width:100%;
  margin:1.5rem 0;
}
.hs-before-after-stage{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:18px;
  background:var(--hs-charcoal);
  box-shadow:0 12px 32px rgba(17,24,29,.10);
  cursor:ew-resize;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
}
.hs-before-after-image{
  display:block;
  width:100%;
  height:auto;
  margin:0!important;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.hs-before-after-after{
  position:relative;
  z-index:1;
}
.hs-before-after-before-wrap{
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  clip-path:inset(0 calc(100% - var(--hs-before-after-position)) 0 0);
  will-change:clip-path;
  pointer-events:none;
}
.hs-before-after-before-wrap .hs-before-after-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hs-before-after-label{
  position:absolute;
  top:16px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(21,27,32,.82);
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.02em;
  line-height:1;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  pointer-events:none;
}
.hs-before-after-label-before{left:16px}
.hs-before-after-label-after{right:16px}
.hs-before-after-divider{
  position:absolute;
  z-index:5;
  top:0;
  bottom:0;
  left:var(--hs-before-after-position);
  width:3px;
  transform:translateX(-50%);
  background:#fff;
  box-shadow:0 0 0 1px rgba(21,27,32,.14),0 0 14px rgba(0,0,0,.18);
  outline:none;
}
.hs-before-after-handle{
  position:absolute;
  top:50%;
  left:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  transform:translate(-50%,-50%);
  border:3px solid #fff;
  border-radius:50%;
  background:var(--hs-yellow);
  color:var(--hs-charcoal);
  box-shadow:0 5px 18px rgba(0,0,0,.24);
  transition:transform .16s ease,box-shadow .16s ease;
}
.hs-before-after-handle svg{
  display:block;
  width:26px;
  height:26px;
}
.hs-before-after-stage:hover .hs-before-after-handle,
.hs-before-after.is-dragging .hs-before-after-handle,
.hs-before-after-divider:focus-visible .hs-before-after-handle{
  transform:translate(-50%,-50%) scale(1.07);
  box-shadow:0 7px 22px rgba(0,0,0,.30);
}
.hs-before-after-divider:focus-visible .hs-before-after-handle{
  outline:3px solid var(--hs-charcoal);
  outline-offset:3px;
}
@media(max-width:600px){
  .hs-before-after-stage{border-radius:14px}
  .hs-before-after-label{top:10px;min-height:28px;padding:5px 9px;font-size:.7rem}
  .hs-before-after-label-before{left:10px}
  .hs-before-after-label-after{right:10px}
  .hs-before-after-handle{width:44px;height:44px}
  .hs-before-after-handle svg{width:23px;height:23px}
}
@media(prefers-reduced-motion:reduce){
  .hs-before-after-handle{transition:none}
}


/* Version 2.1.2: individueller Bildfokus für Beitragsbilder.
   Die eigentliche Position wird pro Beitrag als Inline-Stil gesetzt; diese
   Regel hält die Darstellung auch bei zugeschnittenen Karten konsistent. */
.wp-block-post-featured-image img,
.wp-block-latest-posts__featured-image img{
  object-fit:cover;
}


/* Version 2.1.3: kompaktere Titel in „Aktuelles“ und klar gestufte mobile Navigation. */

/* Nur die Beitragsübersicht „Aktuelles“: lange Überschriften kompakter darstellen
   und auf höchstens drei Zeilen begrenzen. Einzelbeiträge und Landingpage bleiben
   von dieser Regel unberührt. */
body.blog .hs-news-grid .wp-block-post-title,
body.archive .hs-news-grid .wp-block-post-title{
  font-size:clamp(1rem,1.2vw,1.16rem)!important;
  line-height:1.22!important;
  margin-top:.35rem!important;
  margin-bottom:.5rem!important;
}
body.blog .hs-news-grid .wp-block-post-title a,
body.archive .hs-news-grid .wp-block-post-title a{
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  line-clamp:3;
}

/* Mobile Navigation: Hauptebene linksbündig; jede weitere Ebene wird sichtbar
   weiter eingerückt. Die gelbe Linie greift die Humboldt-Farbe dezent auf. */
@media(max-width:781px){
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    align-items:flex-start!important;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    align-items:stretch!important;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item{
    justify-content:flex-start!important;
    align-items:flex-start!important;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content{
    width:100%!important;
    text-align:left!important;
    padding:.55rem 0!important;
  }

  /* Erste Unterebene */
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-container{
    box-sizing:border-box!important;
    width:calc(100% - 14px)!important;
    margin:.15rem 0 .35rem 14px!important;
    padding:.15rem 0 .15rem 12px!important;
    border-left:2px solid var(--hs-yellow)!important;
    border-top:0!important;
    border-right:0!important;
    border-bottom:0!important;
    background:transparent!important;
  }

  /* Zweite und weitere Unterebenen: nochmals weiter einrücken. */
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{
    box-sizing:border-box!important;
    width:calc(100% - 16px)!important;
    margin:.1rem 0 .25rem 16px!important;
    padding:.1rem 0 .1rem 12px!important;
    border-left:2px solid rgba(244,180,0,.48)!important;
    border-top:0!important;
    border-right:0!important;
    border-bottom:0!important;
    background:transparent!important;
  }

  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
    padding:.48rem .2rem!important;
    text-align:left!important;
    border-left:0!important;
  }
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  .hs-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus{
    padding-left:.2rem!important;
    background:transparent!important;
    color:var(--hs-yellow-dark)!important;
  }
}
