/*
Theme Name:   Hello Elementor Child – Humanismus Stiftung
Template:     hello-elementor
Version:      1.0.10
Description:  Child-Theme für die Humanismus Stiftung Berlin (Elementor Pro, v3-Builder).
Author:       Ole Roloff
Text Domain:  hello-elementor-child
*/

/* Untermenü (Shortcode [hsb_subnav]) – wie im bisherigen Theme: unterstrichen, normal, aktiver Punkt fett mit "> " */
.hsb-subnav { list-style: none; margin: 0; padding: 0; }
.hsb-subnav li { margin: 0; padding: 0; }
.hsb-subnav a { display: block; color: var(--e-global-color-primary, #832F3F); font-family: "Source Sans 3", sans-serif; font-weight: 400; font-size: 22px; line-height: 42px; text-decoration: underline; }
.hsb-subnav a:hover, .hsb-subnav a:focus { color: var(--e-global-color-primary, #832F3F); text-decoration: underline; }
.hsb-subnav .is-current > a { font-weight: 800; }
.hsb-subnav .is-current > a::before { content: "> "; }
.hsb-subnav ul { list-style: none; margin: 0 0 0 36px; padding: 0; }
.hsb-subnav ul a { font-weight: 400; font-size: 20px; line-height: 30px; }

/* Breadcrumb (Shortcode [hsb_breadcrumbs]) – Haus-Icon, Home grau, Trenner und aktuelle Seite bordeaux */
.hsb-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; font-family: "Source Sans 3", sans-serif; font-size: 25px; line-height: 32px; color: #707070; }
.hsb-breadcrumbs a { color: #707070; text-decoration: none; }
.hsb-breadcrumbs a:hover { color: var(--e-global-color-primary, #832F3F); }
.hsb-breadcrumbs .hsb-crumb-home { display: inline-flex; margin-right: 35px; color: var(--e-global-color-primary, #832F3F); }
.hsb-breadcrumbs .hsb-crumb-home svg { width: 35px; height: 35px; display: block; fill: currentColor; }
.hsb-breadcrumbs .sep { margin: 0 .2em; color: var(--e-global-color-primary, #832F3F); }
.hsb-breadcrumbs .is-current { color: var(--e-global-color-primary, #832F3F); font-weight: 600; }

/* Beitragskarte: Bild füllt die linke Spalte komplett (wie bisher) */
.e-loop-item .elementor-element-cardimgwrap { position: relative; }
.e-loop-item .elementor-element-cardimgwrap > .elementor-element-cardimg { position: absolute; inset: 0; height: 100%; }
.e-loop-item .elementor-element-cardimg a,
.e-loop-item .elementor-element-cardimg .elementor-widget-container { display: block; height: 100%; }
.e-loop-item .elementor-element-cardimg img { display: block; width: 100% !important; height: 100% !important; min-height: 182px; max-width: none; object-fit: cover; object-position: center; }
@media (max-width: 767px) { .e-loop-item .elementor-element-cardimgwrap > .elementor-element-cardimg { position: static; } .e-loop-item .elementor-element-cardimg img { height: 200px !important; min-height: 0; } }
/* Startseite Spendenbox: kein Abstand nach dem letzten Absatz */
body .elementor-element.elementor-element-donate-text p:last-child { margin-block-end: 0; margin-bottom: 0; }

/* Beitragskarte: ohne Beitragsbild nimmt der Text die volle Breite ein */
.e-loop-item .elementor-element-cardimgwrap:not(:has(img)) { display: none; }
.e-loop-item .elementor-element-cardimgwrap:not(:has(img)) + .elementor-element-cardbody { --width: 100%; width: 100%; }

@media (max-width: 767px) { .hsb-breadcrumbs { font-size: 18px; line-height: 26px; } .hsb-breadcrumbs .hsb-crumb-home { margin-right: 16px; } .hsb-breadcrumbs .hsb-crumb-home svg { width: 26px; height: 26px; } .hsb-subnav a { font-size: 19px; line-height: 36px; } }
/* Nur für Screenreader/Suchmaschinen sichtbar (z. B. H1 der Startseite) */
.hsb-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Bandtitel als echte Überschrift, Optik vom Texteditor-Widget übernehmen */
body .elementor-widget-text-editor .hsb-band-title { font: inherit; color: inherit; line-height: inherit; letter-spacing: inherit; margin: 0; padding: 0; }

/* Beiträge: semantische H2 im H3-Stil, verknüpft mit der globalen Typografie "H3-Stil" */
html body h2.hsb-h3 { font-family: var(--e-global-typography-hsbh3-font-family), serif; font-size: var(--e-global-typography-hsbh3-font-size); font-weight: var(--e-global-typography-hsbh3-font-weight); line-height: var(--e-global-typography-hsbh3-line-height); }

/* Inhaltsbreite wie im bisherigen Theme: 1400 px ab 1700 px Fensterbreite, 1280 px ab 1366 px, darunter 1038 px */
@media (max-width: 1699px) { .e-con { --container-max-width: 1280px; } }
@media (max-width: 1365px) { .e-con { --container-max-width: 1038px; } }

/* Einzelbeitrag: Inhalt in derselben Spalte wie auf Unterseiten (links Platz der Untermenü-Spalte) */
@media (min-width: 1025px) { .elementor-element-pstcrumbs > .e-con-inner, .elementor-element-pstmain > .e-con-inner { padding-left: 336px; } }

/* Untermenü-Spalte wächst wie im bisherigen Theme mit (mind. 270 px), Hauptpunkte ohne Umbruch */
@media (min-width: 1025px) { .elementor-element-pgside { width: auto; min-width: 270px; } .hsb-subnav > li > a { white-space: nowrap; } }

/* Galerien wie im bisherigen Theme: Bilder auf gleiche Höhe zugeschnitten (3:2, Vererben & Testament 4:3) */
.hsb-gallery .gallery-item img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.elementor-element-e51ca6f.hsb-gallery .gallery-item img { aspect-ratio: 4 / 3; }
