/*
 * SPDX-FileCopyrightText: 2026 Bundesrepublik Deutschland, vertreten durch das BMI/ITZBund
 *
 * SPDX-License-Identifier: GPL-3.0-or-later
 */

/* Schullogo im Titelbild (Ueberlagerung oben links).
 *
 * .schullogo wird als echtes DOM-Kind von .figure gerendert (siehe
 * Resources/Extensions/fluid_styled_content/Private/Partials/Media/Type/
 * Image.html, Override) - nur dadurch kann sich position:absolute
 * ueberhaupt auf diese .figure beziehen. .figure braucht dafuer selbst
 * position:relative, sonst positioniert der Browser gegen den naechsten
 * positionierten Vorfahren weiter oben im Baum.
 *
 * Scoping identisch zu header-image.css (.top-container .ce-gallery
 * .figure), aus demselben Grund: .figure/.ce-gallery kommen auch bei
 * normalen Bild-Content-Elementen im Hauptinhalt vor (Media/Gallery.html,
 * gemeinsame Partial fuer CType image/textpic/gallery) - ohne die
 * .top-container-Einschraenkung wuerde diese Regel auch dort greifen.
 * Server-seitig ist .schullogo ohnehin nur beim tatsaechlichen Titelbild
 * vorhanden (SchullogoProcessor liefert schullogoFile nur fuer colPos=0),
 * die CSS-Einschraenkung ist zusaetzliche Absicherung, kein Ersatz dafuer.
 */
.top-container .ce-gallery .figure {
  position: relative;
}

/* max-height:35% sitzt direkt am <img>, nicht an .schullogo: waere der
 * Rahmen/Hintergrund stattdessen auf dem Wrapper-Div positioniert und
 * groessenbegrenzt, waere die Bildgroesse zirkulaer von der (selbst erst
 * durch das Bild bestimmten) Wrapper-Groesse abhaengig - dasselbe
 * Auto-Hoehe-Problem wie seinerzeit bei .top-container/.figure
 * (width:100% auf einem Kind eines display:inline-block-Vorfahren ohne
 * eigene Breite, siehe header-image.css). Hier stattdessen: das <img>
 * selbst ist das absolut positionierte Element, seine max-height:35%
 * loest sich also unmittelbar gegen .figure auf.
 *
 * Nach CSS2.1 10.7 wird eine Prozent-max-height nur dann auf 'none'
 * zurueckgesetzt, "wenn dieses Element NICHT absolut positioniert ist"
 * und der Hoehe des Containing Blocks 'auto' ist - im Umkehrschluss gilt
 * die Prozentangabe bei einem absolut positionierten Element (hier:
 * .schullogo img selbst) auch dann, wenn .figure (der positionierte
 * Vorfahre) keine explizite Hoehe hat, sondern sie aus dem Bildinhalt
 * bezieht. Anders als das width:100%-Problem oben: dort ging es um ein
 * NICHT absolut positioniertes Kind - genau die Ausnahme, die die Spec
 * hier vorsieht, greift dort nicht.
 *
 * Weisse Flaeche und 7px-Rahmen sitzen direkt am <img>, nicht an einem
 * eigenen Wrapper-Element: box-sizing:content-box legt den Rahmen
 * automatisch AUSSERHALB der (durch max-height/width bestimmten)
 * Content-Box an, ohne dass ein zweites Element die tatsaechliche
 * gerenderte Bildgroesse selbst kennen muesste. background statt
 * opacity, damit das Logo selbst voll deckend bleibt, nur die Flaeche
 * dahinter transparent ist.
 */
.top-container .ce-gallery .figure .schullogo img {
  position: absolute;
  top: 5px;
  left: 5px;
  max-height: 35%;
  width: auto;
  box-sizing: content-box;
  background: rgba(255, 255, 255, 0.6);
  /* rgb(from ...) statt rgba(var(--bs-primary-rgb), ...): der
   * Site-Settings-Mechanismus ueberschreibt pro Schulform nur
   * --bs-primary selbst (inline <style> im <head>), nie die separate
   * Bootstrap-Begleitvariable --bs-primary-rgb - die blieb dadurch
   * live auf gsb_cores Rot (192, 0, 60) stehen, unabhaengig von der
   * Schulform. rgb(from var(--bs-primary) r g b / ...) leitet die
   * Kanaele direkt aus der (korrekt ueberschriebenen) Hex-Variable ab,
   * keine zweite Variable noetig. Gleiches Muster bereits im
   * generierten inline <style>-Block genutzt (--bs-focus-ring-color).
   */
  border: 7px solid rgb(from var(--bs-primary) r g b / 0.6);
  border-radius: 5px;
}
