{% extends "base.html" %} {% import "macros/image.html" as image %} {% import "macros/section_title.html" as st %} {% block content %} {# ───────── Carousel ───────── #} {# ───────── News (loaded from content/news.md) ───────── #} {# Mirror live's news.html.twig: section-title always wraps the h2 in `.anchor` (with empty id), and the content lands inside an outer

tag — the auto-close on the first inner

yields one leading empty

, which contributes the 10px-margin that Grav's markdown pipeline produces. #} {% set news_page = get_page(path="news.md") %}
{{ st::section_title(title="Aktuelles", with_anchor=true) }}

{{ news_page.content | safe }}

{# ───────── About columns ───────── #}
{{ st::section_title(title="Willkommen in unserer Praxis am Lienhardplatz") }}
{% for col in section.extra.about_columns %}
{{ col.text | markdown(inline=false) | safe }}
{% endfor %}
{# ───────── Service grid ───────── #}
{{ st::section_title(title="Unsere Leistungen") }}
{% for card in section.extra.service_cards %} {% if loop.index0 % 2 == 0 %}
{% endif %} {% if loop.index0 % 2 == 1 or loop.last %}
{% endif %} {% endfor %}
{# ───────── Team preview ───────── #} {% if section.extra.team_preview %}
{{ st::section_title(title="Ihr Ärzteteam") }}
{% for member in section.extra.team_preview %} {% endfor %}
{% endif %} {# Notfall block intentionally skipped — was `published: false` in Grav. #} {# Map embed removed — third-party iframes trigger GDPR cookie consent. The live site had it removed for this reason; do not add back without a consent gate. #} {% endblock %}