/* Load More */
.hrw-loading { opacity: .6; pointer-events: none; }
.hrw-lm-img { width: 100%; height: auto; display: block; }

/* Praxis-Status */
.hrw-px-status { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 0 .5em; line-height: 1.4; }
.hrw-px-status--pill { padding: .3em .9em; border-radius: 999px; background: color-mix(in srgb, currentColor 8%, transparent); }
.hrw-px-label { font-weight: 600; }
.hrw-px-dot { width: .6em; height: .6em; border-radius: 50%; background: #8a8a8a; align-self: center; flex: none; }
/* Grün/Rot mit mindestens 3:1 auf Weiß; der Text sagt den Zustand ohnehin, die Farbe ist nur Zusatz */
.hrw-px-status.is-open .hrw-px-dot { background: #1e7d3a; }
.hrw-px-status.is-closed .hrw-px-dot { background: #b3261e; }
.hrw-px-detail:empty { display: none; }

/* Sprechzeiten */
.hrw-px-hours th[scope="row"] { font-weight: 600; white-space: nowrap; padding-right: 1.5em; width: 1%; }
.hrw-px-hours .hrw-px-closed, .hrw-px-hours .hrw-px-note { opacity: .8; }
.hrw-px-hours .is-today > th, .hrw-px-hours .is-today > td,
.hrw-px-hours .is-today > dt, .hrw-px-hours .is-today > dd { font-weight: 700; }
.hrw-px-hours .is-today > th, .hrw-px-hours .is-today > dt { box-shadow: inset 3px 0 0 currentColor; padding-left: .6em; }
.hrw-px-today-note { display: block; font-size: .875em; font-weight: 600; }
.hrw-px-today-note:empty { display: none; }
.hrw-px-hours--list { margin: 0; }
.hrw-px-hours--list > div { display: flex; flex-wrap: wrap; gap: 0 1em; padding: .2em 0; }
.hrw-px-hours--list dt { min-width: 6em; font-weight: 600; }
.hrw-px-hours--list dd { margin: 0; }

/* Schließzeit-Hinweis */
.hrw-px-notice[hidden], .hrw-px-notice__item[hidden] { display: none; }
.hrw-px-notice__item + .hrw-px-notice__item { margin-top: .5em !important; }

/* FAQ */
.hrw-faq__answer > :last-child { margin-bottom: 0; }
.hrw-faq__item[hidden], .hrw-faq__empty[hidden] { display: none; }
.hrw-faq--theme .hrw-faq__list > .hrw-faq__item + .hrw-faq__item { margin-top: 20px; }

/* FAQ: Werkzeuge (Suche, alle öffnen) */
.hrw-faq__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-bottom: 16px; }
.hrw-faq__search { flex: 1 1 240px; max-width: 420px; }
.hrw-faq__all { margin-left: auto; }
.hrw-faq__empty { margin: 0 0 16px; opacity: .8; }

/* FAQ: eigene Stile. Größen und Abstände als Variablen, die Klassen am Element wählen die Werte. */
/* :where() ohne Gewicht, damit die Klassen darunter die Werte überschreiben */
:where(.hrw-faq:not(.hrw-faq--theme)) {
    --hrw-faq-q: 1.125rem; --hrw-faq-a: 1rem; --hrw-faq-gap: 10px; --hrw-faq-py: 16px; --hrw-faq-px: 20px;
    --hrw-faq-r: 6px; --hrw-faq-sh: 0 1px 4px rgba(0, 0, 0, .14), 0 0 1px rgba(0, 0, 0, .08); --hrw-faq-is: 22px; --hrw-faq-card: #fff;
}
.hrw-faq__wrap { --hrw-faq-a1: var(--hrw-faq-accent, #1e87f0); }
.hrw-faq--q-s { --hrw-faq-q: 1rem; } .hrw-faq--q-l { --hrw-faq-q: 1.25rem; } .hrw-faq--q-xl { --hrw-faq-q: 1.5rem; }
.hrw-faq--a-s { --hrw-faq-a: .9375rem; } .hrw-faq--a-l { --hrw-faq-a: 1.125rem; }
.hrw-faq--gap-none { --hrw-faq-gap: 0px; } .hrw-faq--gap-m { --hrw-faq-gap: 16px; } .hrw-faq--gap-l { --hrw-faq-gap: 24px; }
.hrw-faq--pad-s { --hrw-faq-py: 10px; --hrw-faq-px: 14px; } .hrw-faq--pad-l { --hrw-faq-py: 22px; --hrw-faq-px: 28px; }
.hrw-faq--r-none { --hrw-faq-r: 0px; } .hrw-faq--r-m { --hrw-faq-r: 10px; } .hrw-faq--r-l { --hrw-faq-r: 18px; }
.hrw-faq--sh-none { --hrw-faq-sh: 0 0 0 transparent; } .hrw-faq--sh-strong { --hrw-faq-sh: 0 4px 18px rgba(0, 0, 0, .16), 0 1px 3px rgba(0, 0, 0, .08); }
.hrw-faq--is-s { --hrw-faq-is: 16px; } .hrw-faq--is-l { --hrw-faq-is: 28px; }
.uk-light .hrw-faq:not(.hrw-faq--theme), .hrw-faq.uk-light:not(.hrw-faq--theme) { --hrw-faq-card: rgba(255, 255, 255, .08); }

.hrw-faq:not(.hrw-faq--theme) .hrw-faq__list > .hrw-faq__item + .hrw-faq__item { margin-top: var(--hrw-faq-gap); }
.hrw-faq:not(.hrw-faq--theme) .hrw-faq__question { margin: 0; font-size: var(--hrw-faq-q); font-weight: var(--hrw-faq-weight, 500); line-height: 1.35; text-transform: none; letter-spacing: normal; }
.hrw-faq:not(.hrw-faq--theme) .hrw-faq__toggle,
.hrw-faq--list:not(.hrw-faq--theme) .hrw-faq__question { display: flex; align-items: center; gap: 14px; padding: var(--hrw-faq-py) var(--hrw-faq-px); color: inherit; text-decoration: none; }
.hrw-faq:not(.hrw-faq--theme) .hrw-faq__q { flex: 1 1 auto; min-width: 0; }
.hrw-faq:not(.hrw-faq--theme) .hrw-faq__answer { padding: 0 var(--hrw-faq-px) var(--hrw-faq-py); font-size: var(--hrw-faq-a); }
.hrw-faq:not(.hrw-faq--theme) .hrw-faq__toggle:focus-visible { outline: 2px solid var(--hrw-faq-a1); outline-offset: -2px; border-radius: var(--hrw-faq-r); }

/* Farbe der Fragen */
.hrw-faq.hrw-faq--tc-accent .hrw-faq__toggle, .hrw-faq.hrw-faq--tc-accent_all .hrw-faq__toggle,
.hrw-faq.hrw-faq--tc-accent.hrw-faq--list .hrw-faq__question, .hrw-faq.hrw-faq--tc-accent_all.hrw-faq--list .hrw-faq__question { color: var(--hrw-faq-a1); }
.hrw-faq.hrw-faq--tc-accent .uk-open > .hrw-faq__question .hrw-faq__toggle { color: inherit; }
.hrw-faq.hrw-faq--tc-text .hrw-faq__toggle:hover { color: var(--hrw-faq-a1); }

/* Stile */
.hrw-faq--cards .hrw-faq__item { background: var(--hrw-faq-card); border-radius: var(--hrw-faq-r); box-shadow: var(--hrw-faq-sh); }
.hrw-faq--bordered .hrw-faq__item { border-radius: var(--hrw-faq-r); box-shadow: inset 0 0 0 1px rgba(128, 128, 128, .35); }
.hrw-faq--boxed .hrw-faq__list { border-radius: var(--hrw-faq-r); box-shadow: inset 0 0 0 1px rgba(128, 128, 128, .35); overflow: hidden; }
.hrw-faq--boxed .hrw-faq__list > .hrw-faq__item + .hrw-faq__item,
.hrw-faq--lines .hrw-faq__list > .hrw-faq__item + .hrw-faq__item { margin-top: 0; border-top: 1px solid rgba(128, 128, 128, .3); }
.hrw-faq--lines .hrw-faq__list { border-top: 1px solid rgba(128, 128, 128, .3); border-bottom: 1px solid rgba(128, 128, 128, .3); }
.hrw-faq--lines { --hrw-faq-px: 0px; }

/* Geöffneter Eintrag – Rahmen und Strich als Schatten, damit nichts springt */
.hrw-faq--open-border.hrw-faq--cards .uk-open { box-shadow: var(--hrw-faq-sh), inset 0 0 0 2px var(--hrw-faq-a1); }
.hrw-faq--open-border.hrw-faq--bordered .uk-open,
.hrw-faq--open-border.hrw-faq--boxed .uk-open,
.hrw-faq--open-border.hrw-faq--lines .uk-open { box-shadow: inset 0 0 0 2px var(--hrw-faq-a1); }
.hrw-faq--open-bar .uk-open { box-shadow: inset 4px 0 0 var(--hrw-faq-a1); }
.hrw-faq--open-bar.hrw-faq--cards .uk-open { box-shadow: var(--hrw-faq-sh), inset 4px 0 0 var(--hrw-faq-a1); }
.hrw-faq--open-bar.hrw-faq--bordered .uk-open { box-shadow: inset 0 0 0 1px rgba(128, 128, 128, .35), inset 4px 0 0 var(--hrw-faq-a1); }
.hrw-faq--open-tint .uk-open { background: color-mix(in srgb, var(--hrw-faq-a1) 7%, var(--hrw-faq-card)); }
/* Schlicht: offener Eintrag bekommt seitlich Luft, sonst klebt der Text an der Hervorhebung */
.hrw-faq--lines:not(.hrw-faq--open-none) .uk-open { --hrw-faq-px: 14px; }

/* Symbol */
.hrw-faq__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: var(--hrw-faq-is); height: var(--hrw-faq-is); box-sizing: border-box; }
.hrw-faq__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s ease; }
.hrw-faq__icon .hrw-faq__fill { fill: currentColor; stroke: none; }
.hrw-faq__icon .hrw-faq__v { transform-box: fill-box; transform-origin: center; transition: transform .25s ease; }
.hrw-faq--icon-left .hrw-faq__icon { order: -1; }
.hrw-faq--frame-circle, .hrw-faq--frame-circle_fill, .hrw-faq--frame-square, .hrw-faq--frame-square_fill { --hrw-faq-box: calc(var(--hrw-faq-is) * 1.6); }
.hrw-faq--frame-circle .hrw-faq__icon, .hrw-faq--frame-circle_fill .hrw-faq__icon,
.hrw-faq--frame-square .hrw-faq__icon, .hrw-faq--frame-square_fill .hrw-faq__icon { width: var(--hrw-faq-box); height: var(--hrw-faq-box); border: 1.5px solid currentColor; }
.hrw-faq--frame-circle .hrw-faq__icon, .hrw-faq--frame-circle_fill .hrw-faq__icon { border-radius: 50%; }
.hrw-faq--frame-square .hrw-faq__icon, .hrw-faq--frame-square_fill .hrw-faq__icon { border-radius: 6px; }
.hrw-faq--frame-circle_fill .hrw-faq__icon, .hrw-faq--frame-square_fill .hrw-faq__icon { background: var(--hrw-faq-a1); border-color: var(--hrw-faq-a1); color: #fff; }
/* Dunkler Grund: dort ist die Akzentfarbe hell, das Symbol darin also dunkel */
.uk-light .hrw-faq--frame-circle_fill .hrw-faq__icon, .uk-light .hrw-faq--frame-square_fill .hrw-faq__icon { color: #222; }
.hrw-faq--frame-circle .hrw-faq__icon svg, .hrw-faq--frame-circle_fill .hrw-faq__icon svg,
.hrw-faq--frame-square .hrw-faq__icon svg, .hrw-faq--frame-square_fill .hrw-faq__icon svg { width: 62%; height: 62%; }
/* Symbol links: Antwort bündig unter dem Fragetext */
.hrw-faq--icon-left .hrw-faq__answer { padding-left: calc(var(--hrw-faq-px) + var(--hrw-faq-box, var(--hrw-faq-is)) + 14px) !important; }
.hrw-faq--icon-chevron .uk-open .hrw-faq__icon svg, .hrw-faq--icon-arrow .uk-open .hrw-faq__icon svg { transform: rotate(180deg); }
.hrw-faq--icon-plusx .uk-open .hrw-faq__icon svg { transform: rotate(45deg); }
.hrw-faq--icon-caret .uk-open .hrw-faq__icon svg { transform: rotate(90deg); }
.hrw-faq--icon-plus .uk-open .hrw-faq__v { transform: scaleY(0); }
@media (prefers-reduced-motion: reduce) { .hrw-faq__icon svg, .hrw-faq__icon .hrw-faq__v { transition: none; } }

/* Nummern */
.hrw-faq--num .hrw-faq__list { counter-reset: hrw-faq; }
.hrw-faq--num .hrw-faq__item { counter-increment: hrw-faq; }
.hrw-faq--num .hrw-faq__q::before { content: counter(hrw-faq) ".\00a0"; }

/* Kontaktleiste: fest am unteren Rand, Seite bekommt unten Platz dafür */
.hrw-cbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 975; padding-bottom: env(safe-area-inset-bottom, 0); box-shadow: 0 -2px 12px rgba(0, 0, 0, .12); }
.hrw-cbar.uk-background-default { border-top: 1px solid rgba(128, 128, 128, .25); }
.hrw-cbar__list { display: flex; margin: 0; padding: 0; list-style: none; }
.hrw-cbar__list > li { flex: 1 1 0; min-width: 0; }
.hrw-cbar__link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 56px; padding: 6px 4px; font-size: .8125rem; line-height: 1.2; text-align: center; color: inherit; text-decoration: none; }
.hrw-cbar__link:hover { text-decoration: none; background: color-mix(in srgb, currentColor 8%, transparent); }
.hrw-cbar__link:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }
.hrw-cbar__list > li + li { border-left: 1px solid color-mix(in srgb, currentColor 15%, transparent); }
.hrw-cbar__text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
body:has(.hrw-cbar--all) { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 639px) { body:has(.hrw-cbar--s) { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); } }
@media (max-width: 959px) { body:has(.hrw-cbar--m) { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); } }
@media (min-width: 640px) { .hrw-cbar--s { display: none; } }
@media (min-width: 960px) { .hrw-cbar--m { display: none; } }
@media print { .hrw-cbar { display: none; } }
/* Builder-Vorschau (Seite im iframe oder WordPress-Customizer): immer zeigen, mit Hinweis darüber */
.hrw-cbar.hrw-cbar--preview, .hrw-cbar-frame .hrw-cbar { display: block; }
body:has(.hrw-cbar--preview), .hrw-cbar-frame body:has(.hrw-cbar) { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
.hrw-cbar__hint { display: none; }
.hrw-cbar--preview .hrw-cbar__hint, .hrw-cbar-frame .hrw-cbar__hint { display: block; position: absolute; right: 8px; bottom: 100%; margin-bottom: 6px; padding: 3px 8px; border-radius: 4px; background: #222; color: #fff; font-size: 12px; line-height: 1.4; }

/* Gesperrte Inhalte (Audio, Downloads) */
.hrw-el-locked { padding: 12px 16px; border-radius: 6px; background: color-mix(in srgb, currentColor 6%, transparent); }

/* Audio */
.hrw-audio { display: grid; gap: 20px; }
.hrw-audio--cards { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.hrw-audio__item { overflow: hidden; }
.hrw-audio__image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.hrw-audio__body > * + * { margin-top: 10px !important; }
.hrw-audio--list .hrw-audio__item + .hrw-audio__item { padding-top: 20px; border-top: 1px solid rgba(128, 128, 128, .3); }
.hrw-audio__player { display: block; width: 100%; }
.hrw-audio__text > :last-child { margin-bottom: 0; }
.hrw-audio__transcript summary { cursor: pointer; font-weight: 600; }
.hrw-audio__transcript > div { margin-top: 10px; }

/* Downloads */
.hrw-dl__list { margin: 0; padding: 0; list-style: none; }
.hrw-dl__link { display: inline-flex; align-items: center; gap: 12px; font-weight: 500; }
.hrw-dl__meta { font-weight: 400; opacity: .8; white-space: nowrap; }
.hrw-dl__text { margin: 4px 0 0; font-size: .9375em; opacity: .85; }
.hrw-dl--list .hrw-dl__icon + .hrw-dl__name, .hrw-dl--list .hrw-dl__link { line-height: 1.4; }
.hrw-dl--boxed .hrw-dl__list { display: grid; gap: 12px; }
.hrw-dl--boxed .hrw-dl__item { padding: 14px 18px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgba(128, 128, 128, .35); }
.hrw-dl__icon { flex: none; }
.hrw-dl__item:has(.hrw-dl__icon) .hrw-dl__text { padding-left: 38px; }

/* Inhaltsverzeichnis */
.hrw-toc[hidden] { display: none; }
.hrw-toc--box { padding: 18px 22px; border-radius: 8px; background: color-mix(in srgb, currentColor 5%, transparent); }
.hrw-toc__title { margin: 0 0 8px; }
.hrw-toc__list, .hrw-toc__list ul, .hrw-toc__list ol { margin: 0; padding-left: 1.2em; }
ul.hrw-toc__list, .hrw-toc__list ul { list-style: none; padding-left: 0; }
.hrw-toc__list ul, .hrw-toc__list ol { padding-left: 1.2em; }
.hrw-toc__list li { margin: 4px 0; }
.hrw-toc__list a { text-decoration: none; }
.hrw-toc__list a:hover { text-decoration: underline; }
.hrw-toc__list a[aria-current="true"] { font-weight: 700; }
[data-hrw-toc-target] { scroll-margin-top: 100px; }
[data-hrw-toc-target]:focus { outline: none; }
