/* Zwei self-hosted Schriften:
 * - „Material Icons“: Toolbar-Pseudo-Elemente (dashboard, event, link, …).
 * - „Material Symbols Outlined“: Subset nur für Ligaturen wie location_away
 *   (Datei: fonts/MaterialSymbolsOutlined-subset.ttf, Ligaturen u. a. location_away, list_arrow). */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/MaterialIcons-Regular.woff2') format('woff2'),
       url('../fonts/MaterialIcons-Regular.woff') format('woff'),
       url('../fonts/MaterialIcons-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('../fonts/MaterialSymbolsOutlined-subset.ttf') format('truetype');
}

.material-icons {
  font-family: 'Material Icons' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: 'liga';
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: 'liga';
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}


/* Dashboard in Gin-Sidebar (gin_helper) + ggf. alter Toolbar: Material-Icon */
.toolbar-link--msi-absence-dashboard::before,
.toolbar-link--msi-absence-navigation-dashboard::before,
.toolbar-link--msi-absence-navigation-dashboard.toolbar-link--has-icon::before,
.toolbar-link--resource-planning-admin-dashboard-resources::before,
.toolbar-link--mis-config-external-links-group-admin::before,
.toolbar-icon-msi-absence-admin-under-resources-planning::before  {
  content: 'dashboard' !important;
  font-family: 'Material Icons' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  background: none !important;
  mask: none !important;
}

.toolbar-link--resource-planning-admin-dashboard-resources::before {
  content: 'event' !important;
}

.toolbar-link--mis-config-external-links-group-admin::before {
  content: 'link' !important;
}

.toolbar-icon-msi-absence-admin-under-resources-planning::before {
  content: 'location_away' !important;
}

/*
 * Menügruppe „Links“ (mis_config): Core/Gin setzen am Nolink-Elternpunkt oft dauerhaft
 * .active-path — die alte :not(.active-path)-Regel greift dann nie. Nur den
 * Dropdown-Trigger neutralisieren (Level 1 bzw. 2), nicht die übrigen Menüpunkte.
 * Aktuelle Seite bleibt an den echten Einträgen im Untermenü erkennbar.
 */
.gin--navigation
  .toolbar-menu__item.toolbar-menu__item--level-1
  > .toolbar-link.toolbar-link--mis-config-external-links-group-admin,
.gin--navigation
  .toolbar-menu__item.toolbar-menu__item--level-1
  > .toolbar-link.toolbar-link--mis-config-external-links-group-main,
.gin--navigation
  .toolbar-menu__item.toolbar-menu__item--level-2
  > .toolbar-link.toolbar-link--mis-config-external-links-group-admin,
.gin--navigation
  .toolbar-menu__item.toolbar-menu__item--level-2
  > .toolbar-link.toolbar-link--mis-config-external-links-group-main {
  color: var(--gin-color-text) !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/*
 * Kein transform auf .admin-toolbar__logo img: Der Container hat in Core
 * overflow:hidden – Rotation clippt das Logo vollständig („wird nicht angezeigt“).
 * Größe nur sanft begrenzen, Orientierung unverändert lassen.
 */
.admin-toolbar__logo img {
  width: 100px;
}

.admin-toolbar-expanded .admin-toolbar__logo img {
  width: 100px;
  height: auto;
  margin-left: 10px;
  transform: rotate(0);
  transition: all 0.2s ease-out allow-discrete;
}

.admin-toolbar-expanded .admin-toolbar__logo img {
  width: 100px;
  height: auto;
  margin-left: 10px;
  transform: rotate(0);
  transition: all 0.2s ease-out allow-discrete;
}
.admin-toolbar__logo img {
  width: 40px;
  height: auto;
  transform: rotate(-90deg);
  margin-left: -2px;
  transition: all 0.2s ease-out allow-discrete;
}

/* Zwei-Spalten-Layout 2/3 + 1/3 (ohne Bootstrap) */
.row.customgrid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 1rem 1.25rem;
  align-items: start;
}

.row.customgrid > .col1,
.row.customgrid > .col2 {
  min-width: 0;
  margin-bottom: 1.25rem;
}

@media (max-width: 768px) {
  .row.customgrid {
    grid-template-columns: 1fr;
  }
}


.msi-dashboard__col--absences .msi-absence-card__title:before,
.toolbar-link--msi-absence-admin-under-resources-planning:before,
#mis-dok-dashboard-recent-heading::before {
  content: 'location_away';
  font-family: 'Material Symbols Outlined' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: unset;
  margin-right: 8px;
  float: left;
  margin-top: -6px;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: 'liga';
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.msi-dashboard__mount--reservations .rp-res-card__title:before,
.resource-planning-entity-list__title:before {
  content: 'event' !important;
  font-family: 'Material Icons' !important;
  margin-top: -2px;
}

.resource-planning-entity-list__title:before,
.msi-dashboard__mount--reservations .rp-res-card__title:before  {
  margin-top: 0px;
  margin-right: 6px;
  float: left;
}

#mis-dok-dashboard-recent-heading::before {
  content: 'alarm' !important;
  font-family: 'Material Icons' !important;
  margin-top: -2px;
  font-size: 21px;
}

#toolbar-link-msi_absence-absences_planning::before {
  margin-right: 0;
}

.admin-toolbar-expanded #toolbar-link-msi_absence-absences_planning::before {
  margin-right: 8px;
}

/* Admin-Menü: Bereich-Dokumente — Icon aus Taxonomie field_material_icon_class (data-material-icon). */
a.mis-dokumente-bereich-menu-link[data-material-icon]::before,
a.toolbar-button.mis-dokumente-bereich-menu-link[data-material-icon]::before {
  content: attr(data-material-icon);
  font-family: 'Material Icons' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  background: none !important;
  mask: none !important;
}

.mis-dokumente-bereich,
.abwesenheit-content {
  padding: 15px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08), 0 10px 24px rgba(0, 0, 0, 0.07);
  border: 1px solid #e8eaed;
  overflow: hidden;
  width: 100%;
  max-width: calc(100% - 30px);
}


.mis-dokumente-bereich__title,
.mis-dokumente-bereich__summary {
display: flex;
align-items: end;
}


.mis-dokumente-bereich__title::before,
.mis-dokumente-bereich__summary::before {
  content: "description";
  font-family: 'Material Icons' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  line-height: 21px;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  background: none !important;
  mask: none !important;
  margin-right: 4px;
  margin-top: 0px;
}

.mis-dokumente-bereich__summary::before {
  content: "folder";
}

.mis-dokumente-bereich__accordion--open .mis-dokumente-bereich__summary::before {
  content: "folder_open";
}


.mis-dokumente-bereich__accordion--open {
  background-color: rgba(var(--gin-color-primary-rgb), .15);
}

.node-msi-absence-form .field--name-title,
.resource-booking-form .field--name-label {
  display: none;
}

.mis-dok-dashboard-recent__doc-title,
.mis-dok-dashboard-recent__download {
  display: flex;
}

.mis-dok-dashboard-recent__doc-title::before,
.mis-dok-dashboard-recent__download::before,
.toolbar-link--mis-config-legal-urladmin-impressum-url::before,
.toolbar-link--mis-config-legal-urladmin-datenschutz-url::before,
#toolbar-link-mis_help-settings::before {
  content: "description";
  font-family: 'Material Icons' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  line-height: 21px;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  background: none !important;
  mask: none !important;
  margin-right: 4px;
  margin-top: 0px;
}

#toolbar-link-mis_help-settings::before {
  content: "live_help";
}

.mis-dok-dashboard-recent__download::before {
  content: "download";
}

.toolbar-link--mis-config-legal-urladmin-impressum-url::before,
.toolbar-link--mis-config-legal-urladmin-datenschutz-url::before,
.toolbar-link--mis-config-legal-urladmin-impressum-url,
.toolbar-link--mis-config-legal-urladmin-datenschutz-url {
color:#666 !important;
}

.toolbar-link--mis-config-legal-urladmin-impressum-url::before {
  content: "privacy_tip" !important;
}

.toolbar-link--mis-config-legal-urladmin-datenschutz-url::before {
  content: "policy" !important;
}

.resource-planning-entity-list__toolbar .form-type--search,
#resource-planning-entity-list-table {
  margin-top: 0;
}

.resource-planning-entity-list__toolbar .form-type--search {
  margin-block: 0;
  max-width: 22rem;
}

/* Freitext-Filter: Abwesenheiten + Ressourcenplanung (Referenz: .msi-absence-person-input). */
.mis-filter-text-input,
.msi-absence-person-input,
.resource-planning-entity-list__toolbar .form-type--search input,
.resource-planning-entity-list__search {
  width: 100%;
  max-width: 22rem;
  box-sizing: border-box;
  padding: 0.45rem 0.65rem;
  font-size: 0.88rem;
  line-height: 1.35;
  border: 1px solid #d7dade;
  border-radius: 8px;
  background: #fff;
  color: #1f1f1f;
}

.mis-filter-text-input:focus,
.msi-absence-person-input:focus,
.resource-planning-entity-list__toolbar .form-type--search input:focus,
.resource-planning-entity-list__search:focus {
  outline: 2px solid #1565c0;
  outline-offset: 0;
  border-color: #1565c0;
}

@media (max-width: 520px) {
  .mis-filter-text-input,
  .msi-absence-person-input,
  .resource-planning-entity-list__toolbar .form-type--search input,
  .resource-planning-entity-list__search {
    max-width: none;
  }
}

.mis-help__dialog-body {
  padding-top: 15px;
  padding-bottom: 15px;
}

/* Responsive Paragraphs (Medien, Medien+Text, Text, Links) */
.field--name-field-inhalte > .field__items {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.paragraph-medien__wrapper img,
.paragraph-media-text__media img,
.paragraph-medien__wrapper .field--name-field-media-image img,
.paragraph-media-text__media .field--name-field-media-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.paragraph-media-text__media .media,
.paragraph-medien__wrapper .media {
  margin: 0;
}

.paragraph-media-text__grid {
  display: grid;
  gap: 1.25rem 1.75rem;
  align-items: center;
}

/* Desktop: Text 2 Teile, Medien 1 Teil */
.paragraph-media-text--media-left .paragraph-media-text__grid,
.paragraph-media-text--image-left .paragraph-media-text__grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

.paragraph-media-text--media-right .paragraph-media-text__grid,
.paragraph-media-text--image-right .paragraph-media-text__grid {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

.paragraph-media-text__media,
.paragraph-media-text__content {
  min-width: 0;
}

.paragraph-media-text__content > :first-child,
.paragraph-text__content > :first-child {
  margin-top: 0;
}

.paragraph-media-text__content > :last-child,
.paragraph-text__content > :last-child {
  margin-bottom: 0;
}

.paragraph-medien__wrapper .media-oembed-content,
.paragraph-media-text__media .media-oembed-content {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
  background: #000;
}

.paragraph-medien__wrapper .media-oembed-content iframe,
.paragraph-media-text__media .media-oembed-content iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.paragraph-medien__wrapper video,
.paragraph-media-text__media video {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

.paragraph-links__list .field__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.paragraph-links__list .field__item {
  margin: 0;
}

.paragraph-links__list a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.paragraph-downloads__title {
  margin: 0 0 0.75rem;
  font-size: 1.125rem;
  line-height: 1.35;
}

.paragraph-downloads__list .field__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.paragraph-downloads__list .field__item {
  margin: 0;
}

.paragraph-downloads__list .file {
  margin: 0;
}

.paragraph-downloads__list a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

@media (max-width: 768px) {
  .paragraph-media-text--media-left .paragraph-media-text__grid,
  .paragraph-media-text--media-right .paragraph-media-text__grid,
  .paragraph-media-text--image-left .paragraph-media-text__grid,
  .paragraph-media-text--image-right .paragraph-media-text__grid {
    grid-template-columns: 1fr;
  }

  .paragraph-media-text__media,
  .paragraph-media-text__content {
    width: 100%;
    max-width: 100%;
  }
}

.page-node-type-page .field--name-field-inhalte {
    background: #fff !important;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08), 0 10px 24px rgba(0, 0, 0, 0.07);
    border: 1px solid #e8eaed;
    overflow: hidden; 
    padding: 30px;
}