/* Himmelfreund: Landingpages (views/page/*, z. B. /vereine) und Komponenten compare-table.tpl, fact-strip.tpl.
   Eigene Datei, wird von der Seite im Block head geladen. Farben nur über --hf-*-Tokens (hell/dunkel). */
.hf-intro__lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.5; max-width: 52ch; margin: 18px 0 0; color: var(--hf-text); }
.hf-intro__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.hf-landing__section { display: flex; flex-direction: column; gap: 24px; scroll-margin-top: 100px; }
.hf-landing__section > h2 { font-size: clamp(28px, 3vw, 40px); letter-spacing: -0.02em; margin: 0; }
.hf-landing__section > p { margin: 0; max-width: 60ch; }
.hf-landing__block { display: flex; flex-direction: column; gap: 16px; }
.hf-landing__block h3 { font-size: 24px; margin: 0; }
.hf-landing__block p { margin: 0; max-width: 72ch; }
/* nur im Seiteninhalt, nicht in Kopf-/Fußzeile (body trägt .hf-landing) */
.hf-landing .hf-pagebody a:not(.hf-btn):not(.hf-tile) { color: var(--hf-blue); text-decoration: underline; text-underline-offset: 3px; }
.hf-rich__grid.hf-landing__grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.hf-listgrid { list-style: none; margin: 0; padding: 0; }
.hf-listgrid > li { background: var(--hf-white); padding: 28px; }
.hf-listgrid p { margin: 0; }
.hf-facts { list-style: none; margin: 0; padding: 0; }
.hf-facts > li { background: var(--hf-white); padding: 26px 24px; display: flex; flex-direction: column; gap: 6px; }
.hf-tiles--list { list-style: none; margin: 0; padding: 0; }
.hf-tiles--list > li { display: flex; }
.hf-tiles--list .hf-tile { flex: 1; min-height: 0; }
.hf-tiles--list .hf-tile__title { font-size: 1.25rem; }
.hf-band__title { font-family: var(--hf-font-heading); font-weight: 700; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.2; margin: 0; color: var(--hf-on-dark); }

/* Raster mit ungerader Kachelzahl: einzelne Karten statt Haarlinien-Fläche (keine graue Restfläche) */
.hf-rich__grid.hf-listgrid, .hf-rich__grid.hf-landing__grid { background: transparent; border: 0; border-radius: 0; overflow: visible; gap: 16px; }
.hf-rich__grid.hf-listgrid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.hf-listgrid > li, .hf-landing__grid > div { border: 1px solid var(--hf-line); border-radius: var(--hf-radius-card); }
.hf-landing .hf-rich__steps { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.hf-nowrap { white-space: nowrap; }
.hf-compare { overflow-y: hidden; }
.hf-compare__table tbody tr.hf-compare__em th[scope="row"] { background: var(--hf-sky-tint); }

/* Vergleichstabelle (components/compare-table.tpl) */
.hf-compare { position: relative; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--hf-line); border-radius: var(--hf-radius-card); background: var(--hf-white); }
.hf-compare:focus-visible { outline: 2px solid var(--hf-blue); outline-offset: 2px; }
.hf-compare__table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 16px; color: var(--hf-text); }
.hf-compare__table th, .hf-compare__table td { padding: 14px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--hf-line); }
.hf-compare__table thead th { font-family: var(--hf-font-heading); font-size: 1.15rem; color: var(--hf-ink); background: var(--hf-surface-accent); }
.hf-compare__table thead .hf-compare__corner { background: var(--hf-surface-accent); color: var(--hf-muted); font-weight: 600; font-size: 14px; }
.hf-compare__table tbody th { font-weight: 600; color: var(--hf-ink); width: 26%; }
.hf-compare__table tbody tr:last-child th, .hf-compare__table tbody tr:last-child td { border-bottom: 0; }
.hf-compare__table tfoot td { border-top: 1px solid var(--hf-line); border-bottom: 0; padding-top: 18px; padding-bottom: 18px; }
.hf-compare__em th, .hf-compare__em td { font-weight: 700; color: var(--hf-ink); background: var(--hf-sky-tint); }
.hf-compare__table tbody th[scope="row"] { position: sticky; left: 0; z-index: 1; background: var(--hf-white); }
.hf-compare__em th[scope="row"] { background: var(--hf-sky-tint); }
@media (max-width: 575.98px) { .hf-compare__table th, .hf-compare__table td { padding: 12px 14px; font-size: 15px; } .hf-compare__table tbody th { width: auto; min-width: 150px; } }

/* Mehrere Bestell-Buttons je Spalte (z. B. Vereinsrabatte) */
.hf-compare__orders { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.hf-compare__orders .hf-btn { white-space: nowrap; font-size: 15px; padding: 0 14px; }

/* Raster mit genau vier Kacheln: 2×2 ab Tablet, untereinander auf dem Handy (z. B. /domain-portfolio-management) */
@media (min-width: 640px) { .hf-rich__grid.hf-landing__grid--2x2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* FAQ-Frage als echte Überschrift (h3) im summary – sieht aus wie die übrigen FAQ-Fragen */
.hf-faq__item summary .hf-faq__q { font: inherit; color: inherit; letter-spacing: inherit; margin: 0; }
