/* Allgemeine Styles für das Modul Rentable
 * - Inline-Anzeige für Gruppen mit der Klasse `inline_anzeige`
 */

/*
  DOM-Beispiel:
  <div class="inline_anzeige">
    <div class="field ...">Liebe</div>
    <div class="field ...">Familie</div>
  </div>

  Ziel: Alle direkten Kindelemente innerhalb von .inline_anzeige in einer Zeile anzeigen,
  mit weichem Umbruch bei Platzmangel und sauberem Spacing.
*/
.inline_anzeige {
  display: flex;                /* Block-Level, damit aufeinanderfolgende Container umbrechen */
  flex-wrap: wrap;              /* Zeilenumbruch zulassen, falls der Platz nicht reicht */
  column-gap: 0.25rem;          /* kompakter horizontaler Abstand zwischen Items */
  row-gap: 0.125rem;            /* kompakter vertikaler Abstand bei Umbruch */
  align-items: baseline;        /* Baseline-Ausrichtung für sauberes Schriftbild */
}

.inline_anzeige > * {
  margin: 0;                    /* Standard-Margins zurücksetzen */
  flex: 0 0 auto;               /* Items nicht auf volle Breite strecken */
}

/* Hinweis: In einem Flex-Container werden Kinder ohnehin horizontal angeordnet.
   Zusätzliche display:inline-Overrides sind nicht nötig und könnten stören. */

/*
  Kompaktere Node-Anzeige
  - Größere Grundschrift, geringerer Zeilenabstand
  - Weniger vertikale Abstände bei Fieldsets und Feldern
  - Schlankere Label-zu-Wert-Abstände
  Alle Regeln sind auf .node__content gescoped, um Admin-Formulare nicht zu beeinflussen.
*/
.node__content {
  font-size: 1.0625rem;  /* ~17px, leicht größer */
  line-height: 1.15;     /* noch enger für sehr dichte Zeilen */
}

/* Noch engere Zeilenhöhe für typische Inhaltselemente innerhalb der Node */
.node__content .field,
.node__content .field__item,
.node__content p,
.node__content li {
  line-height: 1.15 !important; /* höhere Spezifität + wichtig, um Theme zu übersteuern */
}

.node__content fieldset.fieldset {
  margin: 0 0 0.25rem 0 !important;   /* noch weniger Abstand nach unten */
  padding: 0.25rem 0.5rem !important; /* Innenabstände weiter reduziert */
}

.node__content .fieldset__legend {
  margin: 0 0 0.125rem 0;        /* minimaler Abstand unter der Überschrift */
}

.node__content .fieldset__label {
  font-size: 1.1em;              /* Abschnittsüberschrift leicht größer */
  font-weight: 600;
}

.node__content .fieldset__wrapper {
  margin: 0;                     /* zusätzliche Außenabstände vermeiden */
}

/* Allgemeine Field-Abstände kompakter halten */
.node__content .field {
  margin: 0 0 0.0625rem 0 !important;  /* extrem geringer vertikaler Abstand (~1px @16px) */
}

/* Theme-Default wie .field:not(:last-child) gezielt übersteuern */
.node__content .field:not(:last-child) {
  margin-block-end: 0.0625rem !important;
}

/* Inline-Label-Felder kompakter (z. B. Tel., Mail) */
.node__content .field--label-inline .field__label {
  margin: 0 0.5rem 0 0;          /* enger an den Wert rücken */
}
.node__content .field--label-inline .field__items,
.node__content .field--label-inline .field__item {
  display: inline;               /* sicherstellen, dass Wert in der Zeile bleibt */
}

/* Inline-Gruppen im Content: letzte Zeile ohne übermäßigen Abstand */
.node__content .inline_anzeige {
  margin: 0 0 0.0625rem 0 !important;  /* sehr kompakt zwischen Gruppen */
}

/*
  Nebeneinander-Darstellung für Mieterdaten- und Mitreisende-Abschnitte
  DEAKTIVIERT: Layout wird jetzt über my_claro Admin-Theme gesteuert
  (web/themes/custom/my_claro/css/style.css)
*/
/*
.node--type-guest .node__content fieldset.mieterdaten,
.node--type-guest .node__content fieldset.mitreisende {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 1050px) {
  .node--type-guest .node__content fieldset.mieterdaten,
  .node--type-guest .node__content fieldset.mitreisende {
    display: inline-block;
    vertical-align: top;
    width: calc(50% - 0.5rem);
  }
  .node--type-guest .node__content fieldset.mieterdaten {
    margin-right: 0.5rem;
  }
  .node--type-guest .node__content fieldset.mitreisende {
    margin-left: 0.5rem;
  }
}
*/

/*
  Kompaktere Abstände zwischen Seitentitel/Header und erster View im Content
  - Wirken ausschließlich innerhalb von .region-content, um Seiteneffekte zu vermeiden
  - Entfernen/Reduzieren von Top-Margins typischer View-Container
*/
.region-content > *:first-child {
  margin-top: 0 !important;
}

.region-content .view:first-child {
  margin-top: 0 !important;
}

.region-content .view .view-header {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.region-content .view .view-filters {
  margin-top: 0.25rem !important;
  margin-bottom: 0.5rem !important;
}

/* Falls ein H1/Page-Title direkt vor einer View steht, Abstand stark verkleinern */
.region-content .page-title + .view,
.region-content h1 + .view {
  margin-top: 0.25rem !important;
}

/* Optional: Top-Padding der Content-Region etwas reduzieren (defensiv) */
.region-content {
  padding-top: 0.5rem !important;
}

/* Views mit semantischem <header> (nicht .view-header) innerhalb der View */
.region-content .view > header {
  margin-top: 0 !important;
  margin-bottom: 0.25rem !important;
  padding: 0 !important;
}
.region-content .view > header a {
  display: inline-block;
  margin: 0;
}

/* Tabellen-Views: keinen zusätzlichen Abstand nach oben */
.region-content .view .views-table {
  margin-top: 0 !important;
}

/* Kontext-Wrapper von Views (mit contextual-region) ohne unnötiges Top-Padding */
.region-content .contextual-region.view {
  padding-top: 0 !important;
}

/* Spezifisch: View "mitreisende_in_mieter" besonders eng setzen */
.region-content .view-id-mitreisende_in_mieter {
  margin-top: 0 !important;
}
.region-content .view-id-mitreisende_in_mieter > header {
  margin-top: 0 !important;
  margin-bottom: 0.25rem !important;
}

/* Höhere Spezifität: Kontextual-Wrapper + konkrete View-ID */
.region-content .contextual-region.view.view-id-mitreisende_in_mieter {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.region-content .contextual-region.view.view-id-mitreisende_in_mieter > header {
  margin-top: 0 !important;
  margin-bottom: 0.125rem !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}
.region-content .contextual-region.view.view-id-mitreisende_in_mieter > header br {
  display: none !important; /* Den expliziten Zeilenumbruch entfernen */
}
.region-content .contextual-region.view.view-id-mitreisende_in_mieter .views-table {
  margin-top: 0 !important;
}

/* Fallback ohne .region-content: gleiche Regeln direkt auf die View anwenden */
.contextual-region.view.view-id-mitreisende_in_mieter {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.contextual-region.view.view-id-mitreisende_in_mieter > header {
  margin-top: 0 !important;
  margin-bottom: 0.125rem !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}
.contextual-region.view.view-id-mitreisende_in_mieter > header br {
  display: none !important;
}
.contextual-region.view.view-id-mitreisende_in_mieter .views-table {
  margin-top: 0 !important;
}

/* EVA Reinigung View als Fieldset-Style gestalten */
.node--type-cleaning .views-element-container.contextual-region,
.node--type-cleaning .views-element-container {
  overflow: visible !important;
  margin-top: 1.5rem !important;
}

.node--type-cleaning .view-eva-reinigung,
.node--type-cleaning .view-id-eva_reinigung {
  border: 1px solid #919297 !important;
  border-radius: 4px !important;
  padding: 1rem !important;
  margin-bottom: 1rem !important;
  position: relative !important;
  overflow: visible !important;
}

/* Titel als Legend-Style (über dem Rahmen) */
.node--type-cleaning .view-eva-reinigung::before,
.node--type-cleaning .view-id-eva_reinigung::before {
  position: absolute !important;
  top: -0.6rem !important;
  left: 0.75rem !important;
  background: #fff !important;
  padding: 0 0.5rem !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #1b1b1b !important;
  line-height: 1 !important;
  z-index: 1 !important;
}

/* Spezifische Titel für W1 und W2 */
.node--type-cleaning .view-display-id-entity_view_1::before {
  content: 'Wohnung 1' !important;
}
.node--type-cleaning .view-display-id-entity_view_2::before {
  content: 'Wohnung 2' !important;
}

/* Tabelle weiter nach unten */
.node--type-cleaning .view-eva-reinigung .views-table,
.node--type-cleaning .view-id-eva_reinigung .views-table {
  margin-top: 1.25rem !important;
}

/* PDF-Link Styling für cleaning-Nodes */
.cleaning-pdf-link {
  margin-bottom: 1rem;
}
.cleaning-pdf-link a {
  color: #1a56db;
  text-decoration: none;
  font-weight: 500;
}
.cleaning-pdf-link a:hover {
  text-decoration: underline;
}
