/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Child Theme Styles
Version: 1.0.0
License: GPLv2 or later
Text Domain: astra-child
Template: astra
*/

/* =====================
   0) CSS-Variablen
   ===================== */
:root{
  --nds-pad-x: clamp(16px, 4vw, 40px);
  --frame-w: 1200px;
  --content-w: 960px;

  /* Single-Post Abstände */
  --post-top-space: 180px;            /* Desktop-Default */
  --post-bottom-space: clamp(40px, 6vw, 60px);
}

/* =====================
   1) Global/Layout
   ===================== */
body .entry-content{
  display: flex;
  flex-direction: column;
  align-items: center;
}
body .entry-content > *:not(.teammitglied):not(.teammitglieder-grid){
  max-width: var(--content-w);
  width: 100%;
  margin-inline: auto;
}
body .entry-content > .teammitglied,
body .entry-content > .teammitglieder-grid{
  max-width: var(--content-w) !important;
  width: var(--content-w) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

/* Haupt-Container */
main > .ast-container{
  max-width: var(--frame-w);
  margin-inline: auto;
  padding-inline: 40px;
  box-sizing: border-box;
}

/* Content-Top-Abstand (Tablet) */
@media (max-width: 1400px) and (min-width: 769px){
  .entry-content > *:first-child{ margin-top: 60px; }
}

/* Astra Container-Fix */
.ast-container .site-content{ width: 100%; }

/* =====================
   2) Header
   ===================== */
.site-header .custom-logo{ max-width: 220px; height: auto; }
.site-header .custom-logo-link{
  margin-right: clamp(20px, 9vw, 180px);
  margin-left: 20px;
}
@media (max-width: 1400px) and (min-width: 1025px){
  .site-header .custom-logo-link{ margin-right: 80px; margin-left: 20px; }
}
@media (max-width: 1024px) and (min-width: 769px){
  .site-header .custom-logo-link{ margin-right: 60px; margin-left: 20px; }
}
@media (max-width: 768px){
  .site-header .custom-logo-link{ margin-right: 20px; margin-left: 10px; }
}

/* Header-Rechts Innenabstand/Icon-Ausrichtung */
.ast-header-section-right{ padding-right: clamp(16px, 5vw, 40px); }
.ast-header-section-right .ast-builder-layout-element{
  display: flex; align-items: center; gap: 18px;
}

/* =====================
   3) Shared/Utilities
   ===================== */
.trennlinie{ border: none; border-top: 1px solid #000; margin: .4rem 0; }
figure.wp-block-image figcaption{
  font-size: .8rem; font-style: italic; color: #666;
  text-align: left; margin-top: .5em;
}

/* =====================
   4) Team (Verantwortliche)
   ===================== */
.teammitglieder-grid{
  display: flex; flex-direction: column; gap: 2rem; margin-top: 2rem;
}
.teammitglied{ display: flex; gap: 1.5rem; align-items: flex-start; }
.teammitglied img{
  width: 100px; height: 130px; object-fit: cover; margin: 0; border-radius: 0;
}
.teammitglied-content{ font-size: .80rem; line-height: 1.4; }
.teammitglied h3{ margin: 0 0 .2rem; font-size: 1.1rem; }
.teammitglied p{ margin: 0; }
.teammitglied p.position{ margin-bottom: .6rem; }
.teammitglied p.firma a{ color: inherit; text-decoration: underline; }
.teammitglied p.firma a:hover{ color: #555; }

/* Kontaktzeilen (zweispaltig) */
.kontaktzeile{
  display: grid; grid-template-columns: 220px 1fr; gap: 1rem; margin-top: .5rem;
}
.kontaktzeile .adresse,
.kontaktzeile .kontakt{ display: flex; flex-direction: column; gap: .1rem; }
.kontaktzeile a{ color: inherit; text-decoration: underline; word-break: break-word; overflow-wrap: anywhere; }
.kontaktzeile a:hover{ color: #333; }

/* Team – Responsive */
@media (max-width: 600px){
  .kontaktzeile{ grid-template-columns: 1fr; gap: .6rem; }
  .teammitglied{ flex-direction: column; align-items: flex-start; }
  .teammitglied-image{ width:100px; height:130px; margin-bottom:.8rem; }
  .teammitglied img{ width:100px; height:130px; object-fit:cover; }
}

/* Innungen + Obermeister */
.teammitglied.innung{ font-size: .9rem; line-height: 1.5; margin-bottom: .5rem; }
.teammitglied.innung h3{ font-size: 1.8rem; font-weight: 400; margin-bottom: .5rem; }

/* Innung – dreispaltige Kontaktzeile */
.teammitglied.innung .kontaktzeile{
  display: grid; grid-template-columns: 1fr 180px 1fr; gap: 1rem; margin-top: .5rem;
}
.teammitglied.innung .kontaktzeile > div{ display: flex; flex-direction: column; gap: .1rem; }

/* Obermeister-Card */
.teammitglied.obermeister{ display:flex; gap:1.5rem; align-items:flex-start; }
.teammitglied.obermeister .teammitglied-image{ width:100px; height:130px; margin:0; flex-shrink:0; }
.teammitglied.obermeister .teammitglied-image img{ width:100px; height:130px; object-fit:cover; border-radius:0; }
.teammitglied.obermeister .teammitglied-content{ font-size:.80rem; line-height:1.4; }
.teammitglied.obermeister .kontaktzeile{
  display:grid; grid-template-columns:220px 1fr; gap:1rem; margin-top:.5rem;
}
.teammitglied.obermeister .kontaktzeile .adresse,
.teammitglied.obermeister .kontaktzeile .kontakt{ display:flex; flex-direction:column; gap:.1rem; }
.obermeister-trennlinie{ border-bottom:1px solid #000; margin:.2rem 0; }

/* Dreispaltig Utility */
.kontaktzeile.dreispaltig{
  display:grid !important; grid-template-columns:190px 160px 1fr !important;
  gap:.5rem !important; margin-top:.5rem !important;
}
.kontaktzeile.dreispaltig > div{ display:flex; flex-direction:column; gap:.1rem; }

@media (max-width: 768px){
  .kontaktzeile.dreispaltig { grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .teammitglied.obermeister { flex-direction: column; align-items: flex-start; }
  .teammitglied.obermeister .teammitglied-image { margin-bottom: .8rem; }
  .teammitglied.obermeister .kontaktzeile { grid-template-columns: 1fr; gap: .5rem; }
  .kontaktzeile.dreispaltig { grid-template-columns: 1fr !important; }
}

/* =====================
   5) Termine
   ===================== */
.termin { margin-top: 0.5rem; margin-bottom: 0.8rem; }
.termin .datum {
  margin-bottom: 0.4rem; color: #666; font-size: 1rem; line-height: 1.2;
}
.termin h3 {
  font-size: 1.3rem; font-weight: 500; margin: 0 0 0.6rem; line-height: 1.25;
}
.termin .beschreibung {
  margin-top: 0; margin-bottom: 1rem; font-size: 0.85rem; font-weight: 300; line-height: 1.2;
}
.termin .beschreibung p { margin: 0.2rem 0; }
.termin .beschreibung p:first-child { margin-top: 0; }
.termin .beschreibung p:last-child { margin-bottom: 0; }

/* =====================
   6) Downloads (Interner Bereich)
   ===================== */
.download-block{ margin-bottom:.5rem; }
.download-titel{ font-size:1.2rem; font-weight:400; margin:0 0 .3rem; }
.download-beschreibung{ margin:0 0 .5rem; font-size:.9rem; font-weight:400; }
.download-meta-button{
  display:flex; justify-content:space-between; align-items:center;
  font-size:.85rem; color:#666;
}
.download-button{
  display:inline-flex; align-items:center; gap:.5rem;
  background:#000; color:#fff; padding:.3rem .6rem;
  text-decoration:none !important; font-weight:600; border:none; border-radius:0;
}
.download-button:hover{ background:#000; color:#fff; }
.download-button .icon-download{
  display:inline-block; width:1.5em; height:1.5em;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="white" viewBox="0 0 24 24"><path d="M5 20h14v-2H5v2zM11 4h2v9h3l-4 4-4-4h3V4z"/></svg>');
  background-size:contain; background-repeat:no-repeat; background-position:center;
}
.download-button:focus,
.download-button:active,
.download-button:visited { background: #000; color: #fff !important; }

/* =====================
   7) Kadence Akkordeon (global)
   ===================== */
.wp-block-kadence-accordion.mein-akko{
  border:1px solid #000; padding:1.5rem; font-family:'Danton-Light', sans-serif;
}
/* Trenner zwischen Items */
.wp-block-kadence-accordion.mein-akko .kb-accordion-item + .kb-accordion-item{ border-top:1px solid #e5e5e5; }
/* Titel-Button neutralisieren */
.wp-block-kadence-accordion.mein-akko .kb-accordion-title-wrap{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  width:100%; margin:0; padding:1rem 0;
  background:transparent !important; color:inherit !important;
  border:none !important; box-shadow:none !important; text-align:left; cursor:pointer;
}
/* Titel-Typo */
.wp-block-kadence-accordion.mein-akko .kb-accordion-title{
  font-family:inherit !important; font-weight:500 !important;
  font-size:1.2rem !important; line-height:1.3 !important; color:#666; margin:0;
}
/* Chevron rechts */
.wp-block-kadence-accordion.mein-akko .kb-accordion-title-wrap::after{
  content:""; width:10px; height:10px; color:#666;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); transition: transform .2s ease; flex:0 0 auto;
}
.wp-block-kadence-accordion.mein-akko .kb-accordion-title-wrap[aria-expanded="true"]::after{
  transform: rotate(225deg);
}
/* Panel */
.wp-block-kadence-accordion.mein-akko .kb-accordion-panel{
  padding:0 0 1rem 0 !important; background:transparent !important;
  border:none !important; box-shadow:none !important;
}
.wp-block-kadence-accordion.mein-akko .kb-accordion-content{ padding-top:.25rem !important; padding-bottom:.25rem !important; }
/* Download-Layout im Akkordeon */
.wp-block-kadence-accordion.mein-akko .download-block{ margin:0 0 1rem; }
.wp-block-kadence-accordion.mein-akko .download-meta-button{ gap:1rem; flex-wrap:wrap; }
/* Kadence-Default-Icon ausblenden */
.wp-block-kadence-accordion.mein-akko .kb-accordion-icon{ display:none !important; }
/* Mobile Typo */
@media (max-width: 768px){
  .wp-block-kadence-accordion.mein-akko .kb-accordion-title,
  .wp-block-kadence-accordion.mein-akko .kb-accordion-content{
    font-family:'Danton-Light', sans-serif !important;
  }
}

/* =====================
   8) Gutenberg/Kadence Helpers
   ===================== */
.spalte-flex-anpassen{ display:flex !important; flex-direction:column !important; height:100% !important; }
.bild-flex-anpassen{ height:100% !important; width:100% !important; object-fit:cover !important; display:block !important; }

/* =====================
   9) News (Liste + Pagination)
   ===================== */
.nds-news{
  --gap: 28px; --thumb-w: 300px; --thumb-ratio: 4/3;
  max-width: var(--frame-w); margin-inline:auto; padding-inline: var(--nds-pad-x); box-sizing:border-box;
}
.nds-news.nds-news--portrait{ --thumb-w: 200px; --thumb-ratio: 1/1; }
.nds-news__item{
  display:grid; grid-template-columns: var(--thumb-w) 1fr; column-gap: var(--gap); row-gap:10px; align-items:start;
  max-width: var(--content-w); margin:0 auto; padding:24px 0 36px; border-bottom:1px solid #eaeaea;
}
.nds-news__item + .nds-news__item{ margin-top: 26px; }
.nds-news__item:last-child{ border-bottom: 0; }
.nds-news__thumb{ display:block; aspect-ratio: var(--thumb-ratio); overflow:hidden; border-radius:0; margin-bottom:6px; border-style:solid; border-width:0px; border-color:black; }
.nds-news__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.nds-news__title{ margin:0 0 6px; line-height:1.25; }
.nds-news__date{ margin-bottom:6px; color:#666; font-size:.92rem; }
@media (max-width: 900px){
  .nds-news__item{ grid-template-columns: 1fr; padding:20px 0 28px; }
  .nds-news__thumb{ max-width:520px; margin:0 auto 8px; }
}
/* Pagination */
.nds-news__pagination{ max-width: var(--content-w); margin:40px auto 0; text-align:center; }
.nds-news__pagination ul{ list-style:none; margin:0; padding:0; display:inline-flex; gap:8px; }
.nds-news__pagination li{ display:block; }
.nds-news__pagination a,
.nds-news__pagination span{
  display:inline-block; min-width:38px; padding:8px 12px; border:1px solid #d5d5d5; border-radius:6px;
  text-decoration:none; color:inherit; line-height:1;
}
.nds-news__pagination a:hover{ background:#f5f5f5; }
.nds-news__pagination .current{ background:#222; color:#fff; border-color:#222; }
.nds-news__excerpt { margin: 0; font-size: 1rem; line-height: 1.4; max-width: 100%; }
.nds-news__excerpt-text {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden; text-overflow: ellipsis;
}
.nds-news__more { white-space: nowrap; }

/* =====================
   10) Single-Post + Galerie/Lightbox
   ===================== */
/* Header/Content/Innenkanten angleichen */
.single-post .ast-single-post{ display:block; }
.single-post .entry-header,
.single-post .entry-content{
  max-width: var(--content-w); margin:0 auto; padding-inline: var(--nds-pad-x);
}
.single-post .entry-header{ margin-bottom:1.5rem; }
.single-post .entry-title{ margin-bottom:.3rem; }
.single-post .entry-meta{ margin-bottom:1.5rem; }
.single-post .entry-content > *:first-child{ margin-top:0; }
.single-post .entry-content > *:last-child{ margin-bottom:0; }

/* Container-Top/Bottom-Spacing */
body.single-post .site-content > .ast-container{
  padding-top: var(--post-top-space) !important;
  padding-bottom: var(--post-bottom-space) !important;
}
/* Adminbar berücksichtigen */
body.admin-bar.single-post .site-content > .ast-container{ padding-top: calc(var(--post-top-space) + 32px) !important; }
@media (max-width: 782px){
  body.admin-bar.single-post .site-content > .ast-container{ padding-top: calc(var(--post-top-space) + 46px) !important; }
}
/* keine zusätzlichen Top-Pushes */
.single-post .site-content{ padding-top:0 !important; }
.single-post .site-content > .ast-container{ padding-top:0 !important; }
.single-post .site-main,
.single-post .site-main > article{ margin-top:0 !important; padding-top:0 !important; }
body.ast-theme-transparent-header.single-post #content .site-content > .ast-container{ padding-top:0 !important; }
.single-post .site-content #primary{ margin:0 auto !important; padding:0 !important; max-width:none; }
.single-post .entry-header{ margin-top:0 !important; padding-top:0 !important; }

/* Post-Titel Typo */
body.single-post h1.entry-title{
  font-family: "EpocaClassic-Light", sans-serif !important;
  font-size: var(--ast-h3-font-size, 1.6rem) !important;
  line-height: var(--ast-h3-line-height, 1.3) !important;
  font-weight: normal; margin-bottom: .3rem;
}
/* Datum unter Titel */
body.single-post .entry-meta .published{
  font-family: "Danton-Light", sans-serif !important;
  font-size: 1rem; font-weight: normal; color:#666;
}

/* Post-Galerie */
.nds-post-gallery{
  max-width: var(--frame-w);
  margin: 16px auto 0;
  padding-inline: var(--nds-pad-x);
  box-sizing: border-box;
}
.nds-post-gallery__title{
  max-width: var(--content-w);
  margin: 0 auto 12px;
  font-size: clamp(1.1rem, 1.2vw + 1rem, 1.6rem);
}
.nds-post-gallery__grid{
  max-width: var(--content-w);
  margin: 0 auto;
  display: grid;
  gap: 16px;
}
.nds-post-gallery--cols-3 .nds-post-gallery__grid{ grid-template-columns: repeat(3,1fr); }
.nds-post-gallery--cols-4 .nds-post-gallery__grid{ grid-template-columns: repeat(4,1fr); }
.nds-post-gallery__thumb{ position: relative; display:block; border-radius:4px; overflow:hidden; }
.nds-post-gallery__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
/* alte Ratio-Varianten */
.nds-post-gallery--ratio-43 .nds-post-gallery__thumb img{ aspect-ratio: 4/3; }
.nds-post-gallery--ratio-34 .nds-post-gallery__thumb img{ aspect-ratio: 3/4; }

/* Thumbnails immer quadratisch (nur Vorschau, Lightbox bleibt Original) */
.nds-post-gallery__thumb{ aspect-ratio: 1 / 1; overflow: hidden; }
.nds-post-gallery__thumb img{ width: 100%; height: 100%; object-fit: cover; }
/* Ratio-Klassen neutralisieren */
.nds-post-gallery--ratio-43 .nds-post-gallery__thumb,
.nds-post-gallery--ratio-34 .nds-post-gallery__thumb{ aspect-ratio: 1 / 1; }

@media (max-width: 900px){
  .nds-post-gallery--cols-4 .nds-post-gallery__grid{ grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 640px){
  .nds-post-gallery__grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 420px){
  .nds-post-gallery__grid{ grid-template-columns: 1fr; }
}

/* Lightbox */
.nds-lightbox{
  position: fixed; inset: 0; background: rgba(0,0,0,.85);
  display: grid; place-items: center; opacity: 0; pointer-events: none;
  transition: opacity .2s ease; z-index: 9999;
}
.nds-lightbox.is-open{ opacity:1; pointer-events:auto; }
.nds-lightbox__img{
  max-width: min(92vw, 1400px); max-height: 90vh;
  box-shadow: 0 10px 40px rgba(0,0,0,.6); border-radius: 6px;
}
.nds-lightbox__close,
.nds-lightbox__prev,
.nds-lightbox__next{
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 46px; height: 46px; border-radius: 50%; border: none;
  background: rgba(255,255,255,.12); color:#fff; cursor:pointer; transition: background .2s ease;
  display:flex; align-items:center; justify-content:center; font-size: 30px; line-height: 1; padding:0;
}
.nds-lightbox__close{ top: 32px; right: 32px; transform: none; font-size: 28px; }
.nds-lightbox__prev{ left: 24px; }
.nds-lightbox__next{ right: 24px; }
.nds-lightbox__close:hover,
.nds-lightbox__prev:hover,
.nds-lightbox__next:hover{ background: rgba(255,255,255,.2); }

/* Galerie bündig mit Text – keine doppelte Einrückung */
.single-post .nds-post-gallery,
.single-post .entry-header,
.single-post .entry-content{
  max-width: var(--content-w) !important;
  margin-inline: auto !important;
  padding-inline: var(--nds-pad-x) !important;
}
.single-post .nds-post-gallery__title,
.single-post .nds-post-gallery__grid{
  margin: 0 !important; padding: 0 !important; max-width: none !important; width: 100% !important; box-sizing: border-box;
}
.single-post .nds-post-gallery__thumb{ margin: 0 !important; }

/* =====================
   11) Formulare (Passwort)
   ===================== */
.post-password-form label{ display:block; margin-bottom:-1rem; font-weight:500; }
.post-password-form input[type="password"]{
  width:300px; max-width:100%; padding:.5em; font-size:1rem;
  border:1px solid #ccc; box-shadow:none; margin-bottom:.2rem; display:block; margin-inline:auto;
}
.post-password-form input[type="submit"]{
  display:block; margin:0 auto; background:#000; color:#fff; border:none;
  padding:.6em 1.2em; font-size:1rem; font-weight:600; cursor:pointer; transition: background-color .2s ease;
}
.post-password-form input[type="submit"]:hover{ background:#000; }

/* =====================
   12) Niedersachsen Map
   ===================== */
.region{ fill:#e0e0e0; cursor:pointer; transition: fill .2s ease; }
.region:hover{ fill:#cce6ff !important; }
.region.active{ fill:#9bc9ff !important; }
.hwk-rahmen{ display:none; }
.hwk-rahmen.visible{ display:inline; }
#svg-tooltip{
  position:fixed; background:rgba(0,0,0,.8); color:#fff; padding:4px 8px;
  border-radius:4px; font-size:.8rem; pointer-events:none; z-index:9999; display:none;
}
/* Kontakte untereinander */
.kontakt-vertikal > * { display:block; margin: 2px 0; }

/* Typo: Region groß, Innung kleiner */
.nds-map-result .region-title { margin:.2em 0 .6em; font-size:clamp(1.2rem,3vw,2.2rem); line-height:1.15; color:#666666; }
.nds-map-result .innung-title { margin:.2em 0 .4em; font-size:clamp(1.2rem,3vw,2.2rem); line-height:1.15;  }

/* Einheitliche Adress-Optik bei allen Karten (Innung, Obermeister, HWK) */
.nds-map-result .teammitglied .adresse p { margin:0 0 2rem; }

/* Abstand zwischen Innungs-Gruppen (Innung + zugehörige Obermeister) */
.nds-map-result .innungsgruppe { margin-bottom: 1rem; }

/* Trennlinie deutlicher absetzen */
.nds-map-result .trennlinie,
.nds-map-result hr.trennlinie { border:0; border-top:1px solid #222; margin:1.5rem 0; }

/* Map ~20% kleiner auf Desktop, zentriert */
.nds-map-wrap svg { width: 70% !important; height: auto; display: block; margin: 0 auto; }

/* HWK-Titel wie Innungs-Titel */
.nds-map-result .teammitglied.hwk .teammitglied-content > h3 {
  margin: .2em 0 .4em;
  font-size: clamp(1.0rem, 3vw, 1.6rem);
  line-height: 1.15;
}

/* Intro unter der Karte ausblenden, sobald eine Region gewählt wurde */
body.nds-map-has-selection .nds-map-intro { display: none !important; }

/* Auf kleineren Screens wieder volle Breite */
@media (max-width: 992px) {
  .nds-map-wrap svg { width: 100% !important; }
}

@media (hover:none) {
  #svg-tooltip { display: none !important; }
}

/* =====================
   13) Responsive Vars (global)
   ===================== */
@media (max-width: 1024px) and (min-width: 769px){
  :root{ --post-top-space: 160px; }
}
@media (max-width: 768px){
  :root{ --post-top-space: 40px; }
}

/* =====================
   14) Social Icons (Instagram/Facebook)
   ===================== */
.nds-icon {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  vertical-align: text-bottom;
  margin-right: 0.35em;
}
.nds-icon--instagram {
  background: center / contain no-repeat
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23000" viewBox="0 0 24 24"><path d="M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm5 3.5a5.5 5.5 0 1 1 0 11.001A5.5 5.5 0 0 1 12 7.5zm0 2a3.5 3.5 0 1 0 .001 7.001A3.5 3.5 0 0 0 12 9.5zm5.25-3a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5z"/></svg>');
}
.nds-icon--facebook {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  vertical-align: text-bottom;
  margin-right: 0.35em;
  background: center / contain no-repeat
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23000" viewBox="0 0 24 24"><path d="M22 12a10 10 0 1 0-11.5 9.9v-7h-2v-3h2v-2.3c0-2 1.2-3.1 3-3.1.9 0 1.8.1 1.8.1v2h-1c-1 0-1.3.6-1.3 1.2V12h2.2l-.4 3h-1.8v7A10 10 0 0 0 22 12z"/></svg>');
}

/* =====================
   15) Header-Leisten (Sticky-Reihenfolge)
   ===================== */
/* Obere Leiste (Sekundärmenü) Sticky aber HINTER dem Hauptheader */
.ast-above-header.ast-sticky-active {
  position: sticky;
  z-index: 1 !important;
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: 0px;
  background-color: white;
  box-shadow: none !important;
}
/* Hauptheader (Logo + Menü) muss OBEN drauf liegen */
.ast-main-header-wrap { position: relative; z-index: 10 !important; }
/* Optional: sicherstellen, dass Inhalt nicht rausrutscht */
.ast-header-break-point .ast-above-header .ast-builder-grid-row {
  box-sizing: border-box; padding-inline: 20px;
}
/* Entfernt ALLE Schatten vom Sticky-Header */
.ast-sticky-active,
.ast-header-break-point .ast-sticky-active { box-shadow: none !important; }
@media (max-width: 1000px){
  .ast-header-break-point .ast-site-identity { margin-top: 0 !important; }
}

/* =====================
   16) Startseiten-Slider (Chevrons, Rahmen)
   ===================== */
/* Pfeile: schwarze Chevrons, ohne Hover/Active/Focus-Hintergrund */
.nds-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 50px; height: 50px;
  padding: 0; border: 0; border-radius: 0;
  background: transparent !important; box-shadow: none !important;
  cursor: pointer; z-index: 2; display: grid; place-items: center;
  outline: none !important; -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none; appearance: none;
}
.nds-nav.prev { left: 8px; }
.nds-nav.next { right: 8px; }

/* Nur im Slider: Icon-Größen/Farbe (scoped, kollidiert nicht mit Social-Icons) */
.nds-slider .nds-icon { width: 40px; height: 40px; color: #666; }

/* States neutral */
.nds-nav:hover,
.nds-nav:active,
.nds-nav:focus,
.nds-nav:focus-visible {
  background: transparent !important; box-shadow: none !important; outline: none !important;
}
.nds-nav:hover .nds-icon,
.nds-nav:active .nds-icon { opacity: 1; transform: none; }

/* Rahmen um den gesamten Slider */
.nds-slider{
  border: 0px solid #000;
  box-sizing: border-box;
}

/* Mobile: Pfeile kleiner */
@media (max-width: 680px){
  .nds-slider .nds-nav{ width: 44px; height: 44px; }
  .nds-slider .nds-icon{ width: 26px; height: 26px; }
  .nds-slider .nds-nav.prev{ left: 4px; }
  .nds-slider .nds-nav.next{ right: 4px; }
}
/* Sehr klein */
@media (max-width: 420px){
  .nds-slider .nds-nav{ width: 40px; height: 40px; }
  .nds-slider .nds-icon{ width: 22px; height: 22px; }
}
.error404 #primary {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 60vh; /* sorgt dafür, dass die Box schön mittig sitzt */
}

.error404 .ast-404-layout {
  max-width: 700px; /* verhindert, dass der Text zu breit wird */
}
