/*
Theme Name: Layout
Description: A <a href='http://codex.wordpress.org/Child_Themes'>Child Theme</a> for the Enfold Wordpress Theme. If you plan to do a lot of file modifications we recommend to use this Theme instead of the original Theme. Updating wil be much easier then.
Version: 1.0
Author: Kriesi
Author URI: http://www.kriesi.at
Template: enfold
*/

/* ============================================================================
   Hundeschule Allgäu / CaniNature — aninova e.U.
   Die Seiten bestehen aus Enfold-Standardelementen; hier stehen nur die Regeln,
   die daraus das festgelegte Gestaltungssystem machen.
   Grundlage: analyse/design-system.md
   ============================================================================ */

/* ------------------------------------------------------------------ Skalen */

:root {
  /* Flächen — genau vier */
  --hsa-papier: #F7F5F1;
  --hsa-sand:   #EAE5DC;
  --hsa-weiss:  #FFFFFF;
  --hsa-tanne:  #1F2A24;

  /* Farben */
  --hsa-text:         #22201C;
  --hsa-neben:        #4A463E;
  --hsa-akzent:       #A64B2A;
  --hsa-akzent-tief:  #8B3D21;
  --hsa-akzent-hell:  #E8B79E;
  --hsa-rahmen:       #8C8579;
  --hsa-linie:        #E0DACF;
  --hsa-auf-dunkel:   #F7F5F1;
  --hsa-neben-dunkel: #C9C3B7;
  --hsa-linie-dunkel: rgba(247, 245, 241, .16);

  /* Größen */
  --hsa-h1: 54px;
  --hsa-h2: 38px;
  --hsa-h3: 26px;
  --hsa-text-gr: 18px;
  --hsa-klein: 14px;

  /* Abstände */
  --hsa-naht-gross:  160px;
  --hsa-naht-mittel: 112px;
  --hsa-naht-klein:   72px;
  --hsa-fuge:  40px;
  --hsa-absatz: 24px;
  --hsa-polster: 32px;

  --hsa-radius: 4px;
  --hsa-breite: 1200px;
  --hsa-satz: 62ch;
  --hsa-anim: 420ms;
}

@media only screen and (max-width: 767px) {
  :root {
    --hsa-h1: 34px;
    --hsa-h2: 27px;
    --hsa-h3: 21px;
    --hsa-text-gr: 17px;
    --hsa-klein: 13px;
    --hsa-naht-gross:  88px;
    --hsa-naht-mittel: 64px;
    --hsa-naht-klein:  48px;
    --hsa-fuge: 28px;
    --hsa-polster: 24px;
  }
}

/* ------------------------------------------------------------- Grundlagen */

#top,
#top .avia_textblock,
#top .avia_codeblock,
#top .av-special-heading .av-subheading {
  font-family: 'Public Sans', system-ui, 'Segoe UI', Helvetica, Arial, sans-serif;
}

#top {
  font-size: var(--hsa-text-gr);
  line-height: 1.65;
  color: var(--hsa-text);
  -webkit-font-smoothing: antialiased;
}

#top h1, #top h2, #top h3, #top h4, #top h5, #top h6,
#top .av-special-heading-tag {
  font-family: Newsreader, 'Iowan Old Style', Cambria, Georgia, serif;
  color: var(--hsa-text);
  font-weight: 600;
  /* Enfolds Voreinstellung ist uppercase — das schreit über die ganze Seite. */
  text-transform: none;
  letter-spacing: -0.015em;
  text-wrap: balance;
  margin: 0;
  padding: 0;
}

#top .av-special-heading-h1 .av-special-heading-tag { font-size: var(--hsa-h1); line-height: 1.08; }
#top .av-special-heading-h2 .av-special-heading-tag { font-size: var(--hsa-h2); line-height: 1.15; }
#top .av-special-heading-h3 .av-special-heading-tag {
  font-size: var(--hsa-h3);
  line-height: 1.25;
  letter-spacing: -0.005em;
}

/* Enfold hängt an jede Überschrift zwei leere Rahmen-Divs. */
#top .special-heading-border { display: none; }

/* Der Umschlag trägt das Polster — nicht die Überschrift selbst. */
#top .av-special-heading { padding-bottom: 20px; margin: 0; }
#top .av-special-heading.hsa-hero__h1,
#top .av-special-heading.hsa-kopf__h1 { padding-bottom: 20px; }

#top .avia_textblock p { margin: 0 0 var(--hsa-absatz); }
#top .avia_textblock p:last-child { margin-bottom: 0; }
#top .avia_textblock { margin-bottom: var(--hsa-fuge); }
#top .avia_textblock:last-child { margin-bottom: 0; }

#top .avia_textblock a { color: var(--hsa-akzent); text-underline-offset: 3px; }
#top .avia_textblock a:hover { color: var(--hsa-akzent-tief); }

#top :focus-visible { outline: 3px solid var(--hsa-akzent); outline-offset: 3px; border-radius: 2px; }
#top strong { font-weight: 600; }

/* Enfolds gesetztes Kaufmanns-Und passt nicht zu Newsreader. */
#top .special_amp { font-family: inherit; font-style: normal; font-size: inherit; color: inherit; }

/* ------------------------------------------------------------- Sektionen */

#top .hsa-sec > .container,
#top .hsa-sec .content {
  max-width: var(--hsa-breite);
  padding-left: 24px;
  padding-right: 24px;
}

/* Abstände auf .content, nicht auf > .container — Enfold schiebt bei aktivem
   Overlay einen Wrapper dazwischen. */
#top .hsa-naht--gross  .content { padding-top: var(--hsa-naht-gross);  padding-bottom: var(--hsa-naht-gross); }
#top .hsa-naht--mittel .content { padding-top: var(--hsa-naht-mittel); padding-bottom: var(--hsa-naht-mittel); }
#top .hsa-naht--klein  .content { padding-top: var(--hsa-naht-klein);  padding-bottom: var(--hsa-naht-klein); }
#top .hsa-naht--keine  .content { padding-top: 0; padding-bottom: 0; }

/* Enfold hängt hinter jede Sektion ein <br> und leere Absätze. */
#top .entry-content-wrapper > br,
#top .entry-content-wrapper > p:empty,
#top #main > p { display: none; }

/* Text auf dunkler Fläche */
#top .hsa-flaeche--tanne,
#top .hsa-flaeche--tanne .avia_textblock,
#top .hsa-flaeche--tanne .av-special-heading-tag,
#top .hsa-flaeche--tanne h1, #top .hsa-flaeche--tanne h2, #top .hsa-flaeche--tanne h3,
#top .hsa-flaeche--tanne p, #top .hsa-flaeche--tanne li,
#top .hsa-bildsec,
#top .hsa-bildsec .avia_textblock,
#top .hsa-bildsec .av-special-heading-tag,
#top .hsa-bildsec p, #top .hsa-bildsec li { color: var(--hsa-auf-dunkel); }

/* ------------------------------------------------------------- Etikett */

#top .avia_textblock.hsa-etikett,
#top .hsa-etikett .avia_textblock { margin-bottom: 8px; }
#top .hsa-etikett p {
  font-family: 'Public Sans', system-ui, sans-serif;
  font-size: var(--hsa-klein);
  line-height: 1.45;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--hsa-neben);
  margin: 0;
}
#top .hsa-flaeche--tanne .hsa-etikett p,
#top .hsa-bildsec .hsa-etikett p { color: var(--hsa-neben-dunkel); }

/* ------------------------------------------------------------- Satzspiegel */

#top .hsa-satz p,
#top .hsa-vorspann p,
#top .hsa-zuordnung p { max-width: var(--hsa-satz); }

#top .hsa-vorspann p {
  font-size: 20px;
  line-height: 1.6;
  color: var(--hsa-neben);
}
#top .hsa-flaeche--tanne .hsa-vorspann p { color: var(--hsa-neben-dunkel); }

#top .hsa-zuordnung p { font-size: 20px; line-height: 1.6; }

/* ------------------------------------------------------------- Schaltflächen */

#top .avia-button {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 28px;
  border-radius: var(--hsa-radius);
  font-family: 'Public Sans', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
  text-wrap: balance;
  border: 1px solid transparent;
  box-shadow: none;
  text-shadow: none;
  transition: background-color 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out;
}
#top .avia-button .avia_iconbox_title { font-weight: 600; }
/* Enfolds Hintergrund-Span liegt über der Fläche und würde die Farbe kippen. */
#top .avia-button .avia_button_background { display: none; }

#top .hsa-knopf--haupt .avia-button,
#top .hsa-aktionen .avia-button:first-of-type {
  background: var(--hsa-akzent);
  color: #FFFFFF;
  border-color: var(--hsa-akzent);
}
#top .hsa-knopf--haupt .avia-button:hover,
#top .hsa-aktionen .avia-button:first-of-type:hover {
  background: var(--hsa-akzent-tief);
  border-color: var(--hsa-akzent-tief);
  color: #FFFFFF;
}

#top .hsa-knopf--umriss .avia-button,
#top .hsa-aktionen .avia-button:not(:first-of-type) {
  background: transparent;
  color: var(--hsa-text);
  border-color: var(--hsa-rahmen);
}
#top .hsa-knopf--umriss .avia-button:hover,
#top .hsa-aktionen .avia-button:not(:first-of-type):hover {
  background: rgba(34, 32, 28, .05);
  border-color: var(--hsa-text);
  color: var(--hsa-text);
}
#top .hsa-flaeche--tanne .hsa-aktionen .avia-button:not(:first-child),
#top .hsa-bildsec .hsa-aktionen .avia-button:not(:first-of-type),
#top .hsa-flaeche--tanne .hsa-knopf--umriss .avia-button {
  color: var(--hsa-auf-dunkel);
  border-color: rgba(247, 245, 241, .42);
}
#top .hsa-flaeche--tanne .hsa-aktionen .avia-button:not(:first-child):hover,
#top .hsa-bildsec .hsa-aktionen .avia-button:not(:first-of-type):hover,
#top .hsa-flaeche--tanne .hsa-knopf--umriss .avia-button:hover {
  background: rgba(247, 245, 241, .10);
  border-color: var(--hsa-auf-dunkel);
  color: var(--hsa-auf-dunkel);
}

/* Textlink statt Schaltfläche */
#top .hsa-knopf--link .avia-button,
#top .hsa-kachel__link .avia-button {
  background: transparent !important;
  border: 0 !important;
  padding: 0;
  min-height: 44px;
  color: var(--hsa-akzent);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  justify-content: flex-start;
}
#top .hsa-knopf--link .avia-button:hover,
#top .hsa-kachel__link .avia-button:hover { color: var(--hsa-akzent-tief); background: transparent !important; }
#top .hsa-flaeche--tanne .hsa-knopf--link .avia-button { color: var(--hsa-akzent-hell); }

#top .avia-button-wrap { margin: var(--hsa-fuge) 0 0; display: block; }
#top .avia-button-wrap.hsa-kachel__link { margin-top: auto; padding-top: 16px; }

#top .avia-buttonrow-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin: var(--hsa-fuge) 0 0;
}
#top .avia-buttonrow-wrap .avia-button { margin: 0; }

/* ------------------------------------------------------------- Bilder */

#top .avia_image { border-radius: 0; box-shadow: none; }
#top .avia-image-container { margin: 0; }
#top .avia-image-container-inner { border-radius: 0; }
/* Enfolds Bildunterschrift ist ein Overlay mitten im Bild — wir setzen sie darunter. */
#top .av-image-caption-overlay { display: none; }

#top .hsa-bildunter p {
  font-size: var(--hsa-klein);
  line-height: 1.45;
  color: var(--hsa-neben);
  margin: 10px 0 0;
}
#top .hsa-flaeche--tanne .hsa-bildunter p { color: var(--hsa-neben-dunkel); }
#top .avia_textblock.hsa-bildunter,
#top .hsa-bildunter { margin-bottom: 0; }

/* Bildband 21:9, randabfallend */
#top .hsa-band-sec > .container,
#top .hsa-band-sec .content { max-width: none; padding-left: 0; padding-right: 0; }
#top .hsa-band-sec .content { padding-top: 0; padding-bottom: 0; }
#top .hsa-band img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; display: block; }
#top .hsa-band-sec .hsa-bildunter p {
  max-width: var(--hsa-breite);
  margin: 12px auto 0;
  padding: 0 24px;
}

/* Kachelbild: festes Seitenverhältnis, damit die Reihe nicht ausfranst */
#top .hsa-kachel__bild img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}
#top .hsa-kachel__bild { margin-bottom: 0; }

/* ------------------------------------------------------------- Spalten / Kacheln */

#top .hsa-sec .flex_column { margin-bottom: var(--hsa-fuge); }

/* Gleichhohe Kacheln: Enfolds Spalten sind Floats, deshalb Flex im Inneren. */
#top .flex_column.hsa-kachel {
  display: flex;
  flex-direction: column;
  background: var(--hsa-weiss);
  border: 1px solid var(--hsa-linie);
  border-radius: var(--hsa-radius);
  overflow: hidden;
}
#top .flex_column.hsa-kachel > .avia-image-container:first-child { order: -1; }
#top .flex_column.hsa-kachel .av-special-heading,
#top .flex_column.hsa-kachel .avia_textblock,
#top .flex_column.hsa-kachel .avia-button-wrap { padding-left: var(--hsa-polster); padding-right: var(--hsa-polster); }
#top .flex_column.hsa-kachel > .avia-image-container { padding: 0; }
#top .flex_column.hsa-kachel .av-special-heading { padding-top: var(--hsa-polster); padding-bottom: 8px; }
#top .flex_column.hsa-kachel .avia-button-wrap { padding-bottom: var(--hsa-polster); margin-top: auto; }
#top .flex_column.hsa-kachel .avia_textblock { margin-bottom: 16px; }
#top .flex_column.hsa-kachel .avia_textblock p { font-size: 16px; max-width: 46ch; hyphens: auto; }

#top .hsa-kachel__meta p {
  font-size: 13px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--hsa-neben);
  font-weight: 600;
  margin: 0;
}
#top .hsa-kachel__meta { margin-bottom: 14px !important; }

/* Auf Flächen ohne Kachel-Rahmen (Schwerpunkte, Qualifikationen) */
#top .hsa-flaeche--sand .flex_column.hsa-kachel { background: var(--hsa-weiss); }

/* ------------------------------------------------------------- Aufzählungen */

#top .avia-icon-list { margin: 0; }
#top .avia-icon-list li { padding: 0; margin: 0; }
#top .avia-icon-list .iconlist_icon {
  width: 10px;
  height: 10px;
  min-width: 10px;
  line-height: 10px;
  margin-top: 12px;
  background: var(--hsa-akzent) !important;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
}
#top .avia-icon-list .iconlist_icon .av-icon-char { display: none; }
#top .avia-icon-list .article-icon-entry {
  padding: 14px 0 14px 26px;
  border-bottom: 1px solid var(--hsa-linie);
  min-height: 0;
}
#top .avia-icon-list li:last-child .article-icon-entry { border-bottom: 0; }
#top .avia-icon-list .iconlist_title {
  font-family: Newsreader, Georgia, serif;
  font-size: 19px;
  line-height: 1.4;
  font-weight: 600;
  margin: 0;
  letter-spacing: -0.005em;
}
#top .avia-icon-list .iconlist_content_wrap,
#top .avia-icon-list .iconlist-timeline { border: 0; }
#top .avia-icon-list .iconlist_content { margin-top: 4px; }
#top .avia-icon-list .iconlist_content p {
  font-size: 16px;
  line-height: 1.55;
  max-width: 56ch;
  margin: 0;
  color: var(--hsa-neben);
}
#top .hsa-flaeche--tanne .avia-icon-list .article-icon-entry,
#top .hsa-bildsec .avia-icon-list .article-icon-entry { border-bottom-color: var(--hsa-linie-dunkel); }
#top .hsa-flaeche--tanne .avia-icon-list .iconlist_content p { color: var(--hsa-neben-dunkel); }
#top .avia-icon-list .article-icon-entry a { color: inherit; }
#top .avia-icon-list .iconlist_title a { text-decoration: none; }
#top .avia-icon-list .iconlist_title a:hover { color: var(--hsa-akzent); }

/* Modulliste auf der Kursseite: der Titel ist der Link */
#top .hsa-module .iconlist_title { font-size: 21px; }

/* ------------------------------------------------------------- Hero und Seitenkopf */

#top .hsa-bildsec { background-size: cover; background-position: center 42%; }
#top .hsa-bildsec .content { padding-top: 168px; padding-bottom: 96px; }
#top .hsa-kopf-sec .content { padding-top: 152px; padding-bottom: 80px; }

/* Ein Verlauf statt einer flachen Deckfläche — sonst verschwindet das Motiv. */
#top .hsa-bildsec .av-section-color-overlay {
  opacity: 1 !important;
  background: linear-gradient(180deg,
    rgba(23, 31, 27, .28) 0%,
    rgba(23, 31, 27, .58) 46%,
    rgba(23, 31, 27, .88) 100%) !important;
}

#top .hsa-hero__h1 .av-special-heading-tag,
#top .hsa-kopf__h1 .av-special-heading-tag { color: #FFFFFF; max-width: 17ch; }

#top .hsa-hero__vorspann p,
#top .hsa-kopf__vorspann p {
  color: #F1EDE6;
  font-size: 21px;
  line-height: 1.55;
  max-width: 46ch;
}
#top .hsa-hero__vorspann,
#top .hsa-kopf__vorspann { margin-bottom: 32px; }

#top .hsa-hero__stich .article-icon-entry { border-bottom: 0; padding: 6px 0 6px 26px; }
#top .hsa-hero__stich .iconlist_title {
  font-family: 'Public Sans', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #F1EDE6;
}
#top .hsa-hero__stich .iconlist_icon { margin-top: 10px; background: #C98A6B !important; }
#top .hsa-hero__stich { margin-bottom: var(--hsa-fuge); }

#top .hsa-hero__mikro p { font-size: var(--hsa-klein); color: #CFC7B9; }
#top .hsa-hero__mikro { margin-top: 28px; }

/* ------------------------------------------------------------- Zitat */

#top .hsa-zitat.av-special-heading {
  max-width: 820px;
  padding: 0 0 14px 28px;
  border-left: 3px solid var(--hsa-akzent);
}
#top .hsa-zitat .av-special-heading-tag {
  font-size: 28px;
  line-height: 1.35;
  font-style: italic;
  font-weight: 400;
}
#top .hsa-zitat__wer { margin-left: 31px; }
#top .hsa-zitat__wer p { font-size: var(--hsa-klein); color: var(--hsa-neben); }
#top .hsa-flaeche--tanne .hsa-zitat__wer p { color: var(--hsa-neben-dunkel); }
/* Enfolds Anführungszeichen-Grafik brauchen wir nicht. */
#top .av-special-heading.blockquote .av-special-heading-tag::before,
#top .av-special-heading.blockquote .av-special-heading-tag::after { display: none; }

/* ------------------------------------------------------------- FAQ */

#top .togglecontainer { margin: 0; }
#top .togglecontainer .single_toggle { margin: 0; }
#top .togglecontainer .toggler {
  font-family: Newsreader, Georgia, serif;
  font-size: 21px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: -0.005em;
  padding: 22px 46px 22px 0;
  border: 0;
  border-top: 1px solid var(--hsa-linie);
  background: transparent;
  color: var(--hsa-text);
  min-height: 44px;
  text-transform: none;
}
#top .togglecontainer .single_toggle:last-of-type .toggle_wrap { border-bottom: 1px solid var(--hsa-linie); }
#top .togglecontainer .toggler:hover { color: var(--hsa-akzent); }
#top .togglecontainer .toggler .toggle_icon {
  right: 6px;
  left: auto;
  border: 0;
  width: 22px;
  height: 22px;
  top: 26px;
}
#top .togglecontainer .toggle_icon .vert_icon,
#top .togglecontainer .toggle_icon .hor_icon { border-color: var(--hsa-akzent); border-width: 2px; }
#top .togglecontainer .toggle_wrap { border: 0; }
#top .togglecontainer .toggle_content {
  padding: 0 46px 26px 0;
  border: 0;
  background: transparent;
  max-width: var(--hsa-satz);
}
#top .togglecontainer .toggle_content p { margin-bottom: 14px; }
#top .togglecontainer .toggle_content p:last-child { margin-bottom: 0; }

/* ------------------------------------------------------------- Hinweiskasten */

#top .avia-promobox,
#top .hsa-platzhalter .avia-promobox {
  border: 0;
  border-left: 4px solid #96690F;
  border-radius: 0 var(--hsa-radius) var(--hsa-radius) 0;
  background: #FFF3D6;
  box-shadow: none;
  margin: var(--hsa-fuge) 0 0;
}
#top .avia-promobox .avia-promocontent { padding: 18px 22px; }
#top .avia-promobox .avia-promocontent p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--hsa-text);
  margin: 0;
  max-width: 74ch;
}

/* ------------------------------------------------------------- Trenner */

#top .hr { margin: 0; }
#top .hr .hr-inner { border: 0; }

/* ------------------------------------------------------------- Codeblock-Bausteine */

#top .avia_codeblock { margin: 0; }

/* Belegband */
.hsa-belege {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--hsa-fuge);
}
.hsa-belege li {
  font-size: 15px;
  line-height: 1.55;
  color: var(--hsa-neben);
  padding-top: 16px;
  border-top: 2px solid var(--hsa-akzent);
}
.hsa-belege strong {
  display: block;
  font-family: Newsreader, Georgia, serif;
  font-size: 19px;
  font-weight: 600;
  color: var(--hsa-text);
  margin-bottom: 6px;
  letter-spacing: -0.005em;
}

/* Passt / passt nicht */
.hsa-fuerwen__paar { display: grid; grid-template-columns: 1fr 1fr; gap: var(--hsa-naht-klein); }
.hsa-fuerwen__spalte + .hsa-fuerwen__spalte {
  padding-left: var(--hsa-naht-klein);
  border-left: 1px solid var(--hsa-linie);
  margin-left: calc(var(--hsa-naht-klein) * -1);
}
#top .hsa-fuerwen h3 {
  font-size: 20px;
  margin: 0 0 20px;
  font-family: Newsreader, Georgia, serif;
  font-weight: 600;
}
.hsa-fuerwen ul { list-style: none; margin: 0; padding: 0; }
.hsa-fuerwen li { position: relative; padding: 0 0 16px 30px; line-height: 1.55; max-width: 46ch; }
.hsa-liste--ja li::before,
.hsa-liste--nein li::before { position: absolute; left: 0; top: 0; font-weight: 700; font-size: 17px; }
.hsa-liste--ja li::before   { content: '✓'; color: #3F6B4E; }
.hsa-liste--nein li::before { content: '✕'; color: var(--hsa-neben); }

/* Karte als Zwei-Klick-Lösung */
.hsa-karte-platzhalter {
  background: var(--hsa-weiss);
  border: 1px solid var(--hsa-linie);
  border-radius: var(--hsa-radius);
  padding: var(--hsa-polster);
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 20px;
}
.hsa-karte-platzhalter p { font-size: 15px; color: var(--hsa-neben); max-width: 44ch; margin: 0; }
.hsa-karte-platzhalter iframe { width: 100%; height: 340px; border: 0; display: block; }
#top .hsa-knopf-einfach {
  min-height: 54px;
  padding: 15px 26px;
  border: 1px solid var(--hsa-rahmen);
  border-radius: var(--hsa-radius);
  background: transparent;
  font-family: 'Public Sans', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--hsa-text);
  cursor: pointer;
}
#top .hsa-knopf-einfach:hover { border-color: var(--hsa-text); background: rgba(34, 32, 28, .05); }

/* Adresse und Kontaktwege */
#top .hsa-adresse {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-style: normal;
  line-height: 1.7;
  margin: 0;
}
#top .hsa-adresse__name { font-weight: 600; }
#top .hsa-adresse a { min-height: 26px; display: inline-block; color: var(--hsa-akzent); }
#top .hsa-adresse-block { margin-top: var(--hsa-fuge); }

#top .hsa-wege { list-style: none; margin: 0; padding: 0; }
#top .hsa-wege li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px 0;
  border-top: 1px solid var(--hsa-linie);
}
#top .hsa-wege li:last-child { border-bottom: 1px solid var(--hsa-linie); }
#top .hsa-wege span:first-child {
  font-size: 13px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--hsa-neben);
  font-weight: 600;
}
#top .hsa-wege a { font-size: 19px; min-height: 30px; display: inline-block; color: var(--hsa-akzent); }

/* Fazit */
#top .hsa-fazit p {
  font-family: Newsreader, Georgia, serif;
  font-size: 21px;
  line-height: 1.5;
  font-style: italic;
  max-width: var(--hsa-satz);
}

/* Rechtstexte */
#top .hsa-recht { max-width: 820px; }
#top .hsa-recht h2 { font-size: 27px; margin: 56px 0 16px; }
#top .hsa-recht > *:first-child { margin-top: 0; }
#top .hsa-recht h3 { font-size: 20px; margin: 32px 0 10px; }
#top .hsa-recht p, #top .hsa-recht li { font-size: 17px; line-height: 1.7; }
#top .hsa-recht ul { margin: 0 0 var(--hsa-absatz) 20px; }
#top .hsa-recht a { color: var(--hsa-akzent); }
#top .hsa-rechtskopf__stand p { color: var(--hsa-neben); font-size: var(--hsa-klein); }
#top .hsa-rechtskopf-sec .av-special-heading { padding-bottom: 10px; }

#top .hsa-fehlt { background: #FFE1DA; color: #97371A; padding: 2px 8px; font-size: 14px; }

/* ------------------------------------------------------------- Formular */

#top .hsa-feldgruppe { border: 0; padding: 0; margin: 0 0 var(--hsa-fuge); }
#top .hsa-feldgruppe legend {
  font-family: Newsreader, Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  padding: 0 0 10px;
  margin: 0 0 20px;
  border-bottom: 1px solid var(--hsa-linie);
  width: 100%;
}
#top .hsa-feldpaar { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
#top .hsa-feld { display: block; margin-bottom: 20px; }
#top .hsa-feld > span:first-child,
#top .hsa-feld-titel { display: block; font-size: 15px; font-weight: 600; margin-bottom: 7px; }
#top .hsa-pflicht { color: var(--hsa-akzent); border: 0; text-decoration: none; }

#top .wpcf7 input[type=text],
#top .wpcf7 input[type=email],
#top .wpcf7 input[type=tel],
#top .wpcf7 select,
#top .wpcf7 textarea {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  font-family: 'Public Sans', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--hsa-text);
  background: var(--hsa-weiss);
  border: 1px solid var(--hsa-rahmen);   /* 3,36 : 1 — WCAG 1.4.11 verlangt 3,0 */
  border-radius: var(--hsa-radius);
  box-shadow: none;
}
#top .wpcf7 textarea { min-height: 170px; resize: vertical; }
#top .wpcf7 input:focus, #top .wpcf7 select:focus, #top .wpcf7 textarea:focus { border-color: var(--hsa-akzent); }

#top .wpcf7 .wpcf7-list-item { display: block; margin: 0 0 10px; }
#top .wpcf7 .wpcf7-list-item label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
#top .wpcf7 .wpcf7-list-item input[type=checkbox] { margin-top: 4px; width: 20px; height: 20px; flex: 0 0 auto; }
#top .wpcf7 .wpcf7-list-item-label { font-size: 16px; line-height: 1.5; }
#top .wpcf7 .hsa-honig { position: absolute; left: -9999px; }

#top .wpcf7 input[type=submit] {
  min-height: 54px;
  padding: 15px 32px;
  background: var(--hsa-akzent);
  color: #FFFFFF;
  border: 1px solid var(--hsa-akzent);
  border-radius: var(--hsa-radius);
  font-family: 'Public Sans', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
}
#top .wpcf7 input[type=submit]:hover { background: var(--hsa-akzent-tief); }
#top .wpcf7 .hsa-formhinweis { font-size: 14px; color: var(--hsa-neben); max-width: 60ch; }
#top .wpcf7-not-valid-tip { color: #97371A; font-size: 14px; margin-top: 5px; }
#top .wpcf7-response-output {
  border-width: 1px;
  border-radius: var(--hsa-radius);
  padding: 14px 16px;
  margin: var(--hsa-fuge) 0 0;
  font-size: 16px;
}

/* ------------------------------------------------------------- Kopf */

#top #header { border-bottom: 0; }
#top #header_main { border-bottom: 0; }

#top .av-main-nav > li > a {
  font-family: 'Public Sans', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
#top .av-main-nav-wrap, #top .main_menu { white-space: nowrap; }

/* Logo als Schriftzug — es gibt kein Bildlogo. */
#top .logo a {
  font-family: Newsreader, Georgia, serif;
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.15;
  display: flex;
  align-items: center;
  box-sizing: content-box;
  padding-right: 48px;
  color: var(--hsa-text);
  text-decoration: none;
}
#top .av_header_transparency .logo a { color: #FFFFFF; }
#top .av_header_transparency .av-main-nav > li > a .avia-menu-text { color: #FFFFFF; }

/* Hauptaktion im Menü */
#top .av-main-nav > li.hsa-menue-cta > a .avia-menu-text {
  background: var(--hsa-akzent);
  color: #FFFFFF;
  padding: 11px 20px;
  border-radius: var(--hsa-radius);
  font-weight: 600;
  display: inline-block;
}
#top .av-main-nav > li.hsa-menue-cta > a:hover .avia-menu-text { background: var(--hsa-akzent-tief); }
#top .av-main-nav > li.hsa-menue-cta > a { padding-left: 14px; padding-right: 0; }

/* Burger früher umschalten — bei fünf Punkten plus Aktionsknopf kollidiert
   das Menü unterhalb von 1120 px mit dem Logo. */
@media only screen and (min-width: 768px) and (max-width: 1120px) {
  .responsive.html_mobile_menu_tablet #top .av-burger-menu-main { display: block; }
  .responsive #top .av_mobile_menu_tablet .av-main-nav .menu-item { display: none; }
  .responsive #top .av_mobile_menu_tablet .av-main-nav .menu-item-avia-special { display: block; }
  .responsive #top #wrap_all .av_mobile_menu_tablet .main_menu { top: 0; left: auto; right: 0; display: block; }
  #top .av-burger-menu-main { display: flex; align-items: center; height: 100%; }
}
#top #av-burger-menu-ul li a { white-space: normal; }

/* ------------------------------------------------------------- Fuß */

.hsa-fuss { background: var(--hsa-tanne); color: var(--hsa-auf-dunkel); padding: 80px 0 0; }
.hsa-fuss__innen {
  max-width: var(--hsa-breite);
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: var(--hsa-fuge);
}
.hsa-fuss__kopf, .hsa-fuss__name {
  font-family: Newsreader, Georgia, serif;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 16px;
  color: var(--hsa-auf-dunkel);
  letter-spacing: -0.005em;
}
.hsa-fuss address { font-style: normal; line-height: 1.75; font-size: 16px; color: var(--hsa-neben-dunkel); }
.hsa-fuss a { color: var(--hsa-auf-dunkel); }
.hsa-fuss a:hover { color: #FFFFFF; }
.hsa-fuss__liste { list-style: none; margin: 0; padding: 0; }
.hsa-fuss__liste li { margin: 0; }
.hsa-fuss__liste a {
  display: inline-block;
  padding: 10px 0;
  min-height: 44px;
  font-size: 16px;
  line-height: 24px;
  color: var(--hsa-neben-dunkel);
}
.hsa-fuss__spalte--aktion p { font-size: 16px; color: var(--hsa-neben-dunkel); max-width: 34ch; margin: 0 0 20px; }
.hsa-fuss__spalte--aktion .hsa-knopf--haupt,
.hsa-fuss a.hsa-knopf--haupt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 15px 26px;
  background: var(--hsa-akzent);
  color: #FFFFFF;
  border-radius: var(--hsa-radius);
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
}
.hsa-fuss a.hsa-knopf--haupt:hover { background: var(--hsa-akzent-tief); color: #FFFFFF; }
.hsa-fuss__zeile {
  max-width: var(--hsa-breite);
  margin: 56px auto 0;
  padding: 24px;
  border-top: 1px solid var(--hsa-linie-dunkel);
  font-size: var(--hsa-klein);
  color: var(--hsa-neben-dunkel);
}

#top #socket { display: none; }
#top #footer { padding: 0; background: var(--hsa-tanne); border: 0; }

/* ------------------------------------------------------------- Bewegung */

.hsa-js .hsa-sec:not(.hsa-bildsec) .entry-content-wrapper > * {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity var(--hsa-anim) ease-out, transform var(--hsa-anim) ease-out;
}
.hsa-js .hsa-sec.hsa-sichtbar .entry-content-wrapper > * { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .hsa-js .hsa-sec .entry-content-wrapper > * { opacity: 1 !important; transform: none !important; transition: none; }
  #top * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ------------------------------------------------------------- Handy */

@media only screen and (max-width: 1024px) {
  .hsa-belege { grid-template-columns: repeat(2, 1fr); }
}

@media only screen and (max-width: 989px) {
  #top .hsa-bildsec .content { padding-top: 132px; padding-bottom: 72px; }
  .hsa-fuerwen__paar { grid-template-columns: 1fr; gap: var(--hsa-fuge); }
  .hsa-fuerwen__spalte + .hsa-fuerwen__spalte {
    padding-left: 0;
    margin-left: 0;
    border-left: 0;
    border-top: 1px solid var(--hsa-linie);
    padding-top: var(--hsa-fuge);
  }
  .hsa-fuss__innen { grid-template-columns: 1fr 1fr; }
}

@media only screen and (max-width: 767px) {
  #top .hsa-sec > .container,
  #top .hsa-sec .content { padding-left: 20px; padding-right: 20px; }
  #top .hsa-bildsec .content { padding-top: 118px; padding-bottom: 64px; }
  #top .hsa-kopf-sec .content { padding-top: 108px; padding-bottom: 56px; }

  #top .hsa-hero__h1 .av-special-heading-tag,
  #top .hsa-kopf__h1 .av-special-heading-tag { max-width: none; }
  #top .hsa-hero__vorspann p, #top .hsa-kopf__vorspann p { font-size: 18px; }
  #top .hsa-bildsec .av-section-color-overlay {
    background: linear-gradient(180deg,
      rgba(23, 31, 27, .24) 0%,
      rgba(23, 31, 27, .62) 40%,
      rgba(23, 31, 27, .92) 100%) !important;
  }

  .hsa-belege { grid-template-columns: 1fr; gap: 24px; }

  /* Angebote werden Zeilenliste statt Karten — spart über 1.000 px Scrollweg. */
  #top .hsa-angebote-sec .flex_column.hsa-kachel {
    border: 0;
    border-bottom: 1px solid var(--hsa-linie);
    border-radius: 0;
    background: transparent;
    margin-bottom: 0;
  }
  #top .hsa-angebote-sec .flex_column.hsa-kachel > .avia-image-container { display: none; }
  #top .hsa-angebote-sec .flex_column.hsa-kachel .hsa-kachel__text { display: none; }
  #top .hsa-angebote-sec .flex_column.hsa-kachel .av-special-heading,
  #top .hsa-angebote-sec .flex_column.hsa-kachel .avia_textblock,
  #top .hsa-angebote-sec .flex_column.hsa-kachel .avia-button-wrap { padding-left: 0; padding-right: 0; }
  #top .hsa-angebote-sec .flex_column.hsa-kachel .av-special-heading { padding-top: 22px; }
  #top .hsa-angebote-sec .flex_column.hsa-kachel .avia-button-wrap { padding-bottom: 18px; }

  /* Schaltflächen: eine Breite, eine Höhe, volle Breite. */
  #top .avia-buttonrow-wrap { flex-direction: column; align-items: stretch; gap: 12px; }
  #top .avia-buttonrow-wrap .avia-button { width: 100%; }
  #top .hsa-knopf--haupt .avia-button,
  #top .hsa-knopf--umriss .avia-button { width: 100%; }

  #top .hsa-zitat .av-special-heading-tag { font-size: 22px; }
  #top .hsa-vorspann p, #top .hsa-zuordnung p { font-size: 18px; }
  #top .togglecontainer .toggler { font-size: 19px; padding-right: 40px; }

  .hsa-fuss__innen { grid-template-columns: 1fr; gap: 32px; }
  .hsa-fuss { padding-top: 56px; }

  #top .hsa-feldpaar { grid-template-columns: 1fr; gap: 0; }
  #top .hsa-band img { aspect-ratio: 16 / 10; }
}

/* Mitlaufende Aktionsleiste — nur auf Marketingseiten. */
@media only screen and (max-width: 767px) {
  .hsa-leiste {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 400;
    display: flex;
    gap: 10px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(31, 42, 36, .97);
    transform: translateY(110%);
    transition: transform 260ms ease-out;
  }
  .hsa-leiste[data-an] { transform: none; }
  .hsa-leiste a {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--hsa-radius);
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
  }
  .hsa-leiste__tel {
    width: 48px;
    flex: 0 0 48px;
    border: 1px solid rgba(247, 245, 241, .4);
    color: var(--hsa-auf-dunkel);
  }
  .hsa-leiste__cta { flex: 1 1 auto; background: var(--hsa-akzent); color: #FFFFFF; }
  @media (prefers-reduced-motion: reduce) { .hsa-leiste { transition: none; } }
}
@media only screen and (min-width: 768px) { .hsa-leiste { display: none; } }

/* ============================================================================
   Nachbesserungen aus dem ersten Sichtdurchgang — jede Regel mit Grund.
   ============================================================================ */

/* Gleichhohe Kacheln. Enfolds Spalten sind Floats und franzen unten aus; ein
   Grid auf dem Inhaltsumschlag macht daraus eine echte Reihe. Überschrift und
   Vorspann laufen über die volle Breite. */
#top .hsa-angebote-sec .entry-content-wrapper,
#top .hsa-kachelreihe .entry-content-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--hsa-fuge);
  align-items: stretch;
}
#top .hsa-angebote-sec .entry-content-wrapper > .av-special-heading,
#top .hsa-angebote-sec .entry-content-wrapper > .av_textblock_section,
#top .hsa-angebote-sec .entry-content-wrapper > .hr,
#top .hsa-kachelreihe .entry-content-wrapper > .av-special-heading,
#top .hsa-kachelreihe .entry-content-wrapper > .av_textblock_section,
#top .hsa-kachelreihe .entry-content-wrapper > .hr { grid-column: 1 / -1; }
#top .hsa-angebote-sec .flex_column,
#top .hsa-kachelreihe .flex_column {
  width: auto !important;
  margin: 0 !important;
  float: none;
  clear: none;
}

/* Codeblöcke stehen unter der Überschrift, nicht daneben — Enfolds
   Spalten-Floats davor wirken sonst nach. */
#top .avia_codeblock_section { clear: both; }

/* Belegband: die Listenpunkte kommen aus Enfolds Grundstil. */
#top .hsa-belege,
#top .hsa-belege li,
#top .hsa-fuerwen ul,
#top .hsa-fuerwen li { list-style: none !important; }
#top .hsa-belege li::marker,
#top .hsa-fuerwen li::marker { content: ''; }

/* Aufzählungspunkte: Enfold setzt Breite und Höhe je Element in layout.css. */
#top .avia-icon-list .iconlist_icon {
  width: 9px !important;
  height: 9px !important;
  min-width: 9px !important;
  max-width: 9px;
  line-height: 9px !important;
  font-size: 0 !important;
  left: 0;
}
#top .avia-icon-list .iconlist_icon:hover { background: var(--hsa-akzent) !important; }
#top .hsa-hero__stich .iconlist_icon:hover { background: #C98A6B !important; }

/* Knopfreihe: der erste Knopf ist die Hauptaktion. Enfold hängt den Items
   `avia-color-theme-color` an und reicht custom_class nicht durch — deshalb
   hier über die Position und mit Nachdruck. */
#top .avia-buttonrow-wrap > .avia-button:first-of-type,
#top .avia-buttonrow-wrap > .avia-button:first-of-type:hover {
  background-color: var(--hsa-akzent) !important;
  border-color: var(--hsa-akzent) !important;
  color: #FFFFFF !important;
}
#top .avia-buttonrow-wrap > .avia-button:first-of-type:hover {
  background-color: var(--hsa-akzent-tief) !important;
  border-color: var(--hsa-akzent-tief) !important;
}
#top .avia-buttonrow-wrap > .avia-button:first-of-type .avia_iconbox_title { color: #FFFFFF !important; }
#top .avia-buttonrow-wrap > .avia-button:not(:first-of-type) {
  background-color: transparent !important;
  border-color: var(--hsa-rahmen) !important;
  color: var(--hsa-text) !important;
}
#top .hsa-flaeche--tanne .avia-buttonrow-wrap > .avia-button:not(:first-of-type),
#top .hsa-bildsec .avia-buttonrow-wrap > .avia-button:not(:first-of-type) {
  border-color: rgba(247, 245, 241, .42) !important;
  color: var(--hsa-auf-dunkel) !important;
}
#top .hsa-flaeche--tanne .avia-buttonrow-wrap > .avia-button:not(:first-of-type) .avia_iconbox_title,
#top .hsa-bildsec .avia-buttonrow-wrap > .avia-button:not(:first-of-type) .avia_iconbox_title {
  color: var(--hsa-auf-dunkel) !important;
}

/* Einzelknopf: gleiche Regel über die eigene Klasse am Umschlag. */
#top .hsa-knopf--haupt .avia-button,
#top .hsa-knopf--haupt .avia-button:hover {
  background-color: var(--hsa-akzent) !important;
  border-color: var(--hsa-akzent) !important;
}
#top .hsa-knopf--haupt .avia-button .avia_iconbox_title { color: #FFFFFF !important; }
#top .hsa-knopf--haupt .avia-button:hover {
  background-color: var(--hsa-akzent-tief) !important;
  border-color: var(--hsa-akzent-tief) !important;
}
#top .hsa-knopf--umriss .avia-button {
  background-color: transparent !important;
  border-color: var(--hsa-rahmen) !important;
}
#top .hsa-knopf--umriss .avia-button .avia_iconbox_title { color: var(--hsa-text) !important; }
#top .hsa-flaeche--tanne .hsa-knopf--umriss .avia-button .avia_iconbox_title { color: var(--hsa-auf-dunkel) !important; }
#top .hsa-knopf--link .avia-button .avia_iconbox_title { color: var(--hsa-akzent) !important; }
#top .hsa-flaeche--tanne .hsa-knopf--link .avia-button .avia_iconbox_title { color: var(--hsa-akzent-hell) !important; }

/* Der Abstand zum Zugehörigen ist kleiner als der Abstand zum Nächsten. */
#top .av-special-heading + .av_textblock_section { margin-top: 0; }
#top .av-special-heading { padding-bottom: 22px !important; }
#top .hsa-etikett + .av-special-heading { padding-top: 0; }
#top .av_textblock_section + .flex_column,
#top .av-special-heading + .flex_column { margin-top: 8px; }

/* Adressblock */
#top .hsa-adresse { line-height: 1.8; }
#top .hsa-adresse strong { display: block; margin-bottom: 6px; }

/* Logo als SVG-Schriftzug */
#top .logo,
#top .logo a { display: flex; align-items: center; height: 100%; }
#top .logo img,
#top .logo svg { width: auto; max-height: 46px; height: auto; }
#top .logo a { padding-right: 48px; box-sizing: content-box; }
#top .av-contains-svg svg { color: var(--hsa-text); }
#top .av_header_transparency .av-contains-svg svg { color: #FFFFFF; }

/* Bildband: das Seitenverhältnis muss auch das äußere Div tragen. */
#top .hsa-band .avia-image-container-inner,
#top .hsa-band .avia_image { display: block; width: 100%; }
#top .hsa-band { width: 100%; }

/* Meta-Zeile in den Kacheln kurz halten */
#top .hsa-kachel__meta p { letter-spacing: .04em; line-height: 1.5; }

/* Das SVG-Logo bringt keine eigene Breite mit — ohne Angabe bleibt es 48 px breit. */
#top .logo a.av-contains-svg { width: auto; }
#top .logo svg {
  width: 236px;
  height: auto;
  max-height: none;
  display: block;
}
@media only screen and (max-width: 767px) { #top .logo svg { width: 176px; } }

/* Über dem Hero liegt der transparente Kopf. Ein schmaler Verlauf hält das Menü
   lesbar, ohne das Motiv zu verdecken. */
#top .hsa-bildsec .av-section-color-overlay::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 180px;
  background: linear-gradient(180deg, rgba(23, 31, 27, .55) 0%, rgba(23, 31, 27, 0) 100%);
  pointer-events: none;
}
#top .hsa-bildsec .av-section-color-overlay { position: absolute; inset: 0; }

/* Belegband: etwas Luft unter der Linie */
.hsa-belege li { padding-top: 18px; }

/* Drei-Schritte-Reihe: gleiche Aufteilung wie die Kachelreihen, aber ohne Rahmen. */
#top .hsa-schritte-sec .entry-content-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--hsa-fuge);
}
#top .hsa-schritte-sec .entry-content-wrapper > .av-special-heading,
#top .hsa-schritte-sec .entry-content-wrapper > .av_textblock_section,
#top .hsa-schritte-sec .entry-content-wrapper > .hr,
#top .hsa-schritte-sec .entry-content-wrapper > .avia-button-wrap { grid-column: 1 / -1; }
#top .hsa-schritte-sec .flex_column { width: auto !important; margin: 0 !important; float: none; }
#top .flex_column.hsa-schritt { border-top: 1px solid var(--hsa-rahmen); padding-top: 20px; }
#top .flex_column.hsa-schritt .av-special-heading { padding-bottom: 10px !important; }
#top .flex_column.hsa-schritt .avia_textblock p { font-size: 16px; max-width: 46ch; }

@media only screen and (max-width: 767px) {
  #top .hsa-schritte-sec .entry-content-wrapper,
  #top .hsa-kachelreihe .entry-content-wrapper,
  #top .hsa-angebote-sec .entry-content-wrapper { grid-template-columns: 1fr; gap: 0; }
  #top .hsa-kachelreihe .flex_column.hsa-kachel { margin-bottom: var(--hsa-fuge) !important; }
  #top .hsa-schritte-sec .flex_column.hsa-schritt { padding-bottom: 20px; }
}
@media only screen and (min-width: 768px) and (max-width: 989px) {
  #top .hsa-kachelreihe .entry-content-wrapper,
  #top .hsa-angebote-sec .entry-content-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ------------------------------------------------------------- Antippflächen
   [Messen] Auf 360/390/412 px waren die verlinkten Kachelüberschriften 21 px hoch,
   Telefon- und Mailzeilen 30 px, die Auswahlfelder im Formular 27 px.
   WCAG 2.2 (2.5.8) verlangt 24 px, unsere eigene Vorgabe 44 px. */

#top .av-heading-link {
  display: block;
  min-height: 44px;
  display: flex;
  align-items: center;
}
#top .hsa-adresse a,
#top .hsa-wege a,
#top .hsa-fuss address a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
#top .wpcf7 .wpcf7-list-item label {
  min-height: 44px;
  align-items: center;
  padding: 4px 0;
}
#top .wpcf7 .wpcf7-list-item input[type=checkbox] { margin-top: 0; }

@media only screen and (min-width: 768px) {
  /* Auf dem Schreibtisch reicht die Zeilenhöhe — der Block würde sonst
     unnötig Luft in die Kacheln reißen. */
  #top .av-heading-link { min-height: 0; display: inline; }
  #top .hsa-adresse a { min-height: 26px; }
}
