/*
Theme Name: NPH
Description: Custom Block Theme.
Author: NPH
Version: 1.0.0
Requires at least: 6.6
Tested up to: 6.6
Text Domain: nph
 */
y
/* Header */
ul.header-liste::marker,
ul.footer-liste::marker,
ul.comingsoon-liste::marker {
  display: none;
}

ul.header-liste li,
ul.footer-liste li,
ul.comingsoon-liste li {
  display: inline-block;
}

.sticky-part div:first-child {
  padding-left: 0;
}

.header-spalten {
  margin-bottom: 0;
}

/* Listen mit Punkten getrennt */
ul.header-liste li:nth-child(-n + 2)::after {
  content: "•";
  color: #00ee68;
  padding-right: 20px;
  padding-left: 15px;
  padding-right: 15px;
}

ul.footer-liste li:nth-child(-n + 3)::after {
  content: "•";
  color: #00ee68;
  padding-right: 20px;
  padding-left: 15px;
  padding-right: 15px;
}

ul.comingsoon-liste li:nth-child(-n + 1)::after {
  content: "•";
  color: #00ee68;
  padding-right: 20px;
  padding-left: 15px;
  padding-right: 15px;
}

ul.comingsoon-liste a {
  text-decoration: none;
}

ul.comingsoon-liste a:hover {
  text-decoration: underline;
}

@media (max-width: 1440px) {
  .wp-block-group.footer-navi-block.has-white-background-color.has-background.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-ba373346.wp-block-group-is-layout-flex {
    padding-left: 6rem !important;
  }
}

@media (max-width: 500px) {
  .wp-block-group.footer-navi-block.has-white-background-color.has-background.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-ba373346.wp-block-group-is-layout-flex {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
}

@media (max-width: 400px) {
  .wp-block-group.footer-navi-block.has-white-background-color.has-background.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-ba373346.wp-block-group-is-layout-flex {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Main-Menue mit Icons */

.wp-block-navigation .wp-block-navigation-item {
  display: block;
}

li.fahrplan::before {
  content: url(https://nph.vegasystems.org/wp-content/uploads/2025/09/karte.svg);
}

li.ticket::before {
  content: url(https://nph.vegasystems.org/wp-content/uploads/2025/09/ticket.svg);
}

li.aktuelles::before {
  content: url(https://nph.vegasystems.org/wp-content/uploads/2025/09/sprechblase.svg);
}

li.service::before {
  content: url(https://nph.vegasystems.org/wp-content/uploads/2025/09/info.svg);
}

li.freizeit::before {
  content: url(https://nph.vegasystems.org/wp-content/uploads/2025/09/sonne.svg);
}

li.unternehmen::before {
  content: url(https://nph.vegasystems.org/wp-content/uploads/2025/09/bewegt.svg);
}

li::before {
  color: rgba(180, 14, 128, 0.25);
  display: block;
  font-family: iavv;
  font-size: 1.875rem;
  padding: 8px 10px;
  text-align: center;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}

/* Submenü */

.sticky-part .wp-block-navigation__submenu-icon {
  display: none !important;
}

.wp-block-navigation:not(.has-background)
  .wp-block-navigation__submenu-container {
  background-color: #fff;
  border: 0 !important;
}

.sticky-part li:hover {
  text-decoration: underline;
  text-decoration-color: currentcolor;
  text-decoration-thickness: auto;
  text-decoration-color: #00ee68;
  text-decoration-thickness: 3.5px;
  text-underline-offset: 20px;
}
ul.wp-block-navigation li {
  align-self: end;
}

ul.wp-block-navigation ul.wp-block-navigation-submenu li {
  align-self: start;
}

.sticky-part
  .wp-block-navigation__submenu-container
  a.wp-block-navigation-item__content {
  font-size: 26px;
}

/* Adminbar-Offset (WP) */
body.admin-bar {
  --adminbar-h: 32px;
}
@media (max-width: 782px) {
  body.admin-bar {
    --adminbar-h: 46px;
  }
}

/* NUR der Subheader (sticky-part) klebt */
.sticky-part {
  position: sticky;
  top: var(--adminbar-h, 0);
  z-index: 1000;
  overflow: visible; /* Dropdown darf überstehen */
}

/* li nicht zur Positionierungs-Referenz machen */
.sticky-part .wp-block-navigation .has-child {
  position: static !important;
}

/* Grundstil Submenü */
.sticky-part
  .wp-block-navigation
  .has-child
  > .wp-block-navigation__submenu-container {
  background: #eaf7f0;
  padding: 18px 24px;
  border-radius: 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease,
    visibility 0s linear 0.18s;
}
/* Links im Submenü */
.sticky-part
  .wp-block-navigation__submenu-container
  a.wp-block-navigation-item__content {
  display: block !important;
  padding: 12px 0 !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  white-space: nowrap !important;
  hyphens: none !important;
  word-break: normal !important;
}

/* Anzeigen (Hover/Keyboard) */
.sticky-part .has-child:hover > .wp-block-navigation__submenu-container,
.sticky-part .has-child:focus-within > .wp-block-navigation__submenu-container {
  opacity: 1;
  visibility: visible;
}

/* --- Zustand A: Subheader NOCH NICHT sticky -> absolut direkt darunter, volle Breite --- */
.sticky-part:not(.is-stuck)
  .wp-block-navigation
  .has-child
  > .wp-block-navigation__submenu-container {
  position: absolute !important;
  top: 117% !important;
  left: 30% !important;
  transform: translateX(-50%) translateY(0);
  width: 100dvw !important;
  max-width: none !important;
  z-index: 900;
  padding-top: 75px;
  padding-bottom: 80px;
  max-height: 260px;
  padding-right: 800px;
}

/* --- Zustand B: Subheader IST sticky -> fixiert direkt UNTER der Leiste --- */
:root {
  --sticky-part-h: 0px;
} /* wird per JS gesetzt */
.sticky-part.is-stuck
  .wp-block-navigation
  .has-child
  > .wp-block-navigation__submenu-container {
  position: fixed !important;
  top: calc(var(--adminbar-h, 0) + var(--sticky-part-h)) !important;
  left: 0 !important;
  width: 100dvw !important;
  max-width: none !important;
  transform: none;
  z-index: 900; /* unterhalb der Leiste */
}

/* Mobile: Standard-Accordion */
@media (max-width: 960px) {
  .sticky-part
    .wp-block-navigation
    .has-child
    > .wp-block-navigation__submenu-container {
    position: static !important;
    width: auto !important;
    transform: none !important;
    box-shadow: none;
    background: transparent;
    padding: 0;
    opacity: 1;
    visibility: visible;
  }
}

/* Fallback, falls 100dvw nicht unterstützt wird */
@supports not (width: 100dvw) {
  .sticky-part
    .wp-block-navigation
    .has-child
    > .wp-block-navigation__submenu-container {
    width: 100vw !important;
  }
}

.wp-block-navigation__submenu-container.wp-block-navigation-submenu {
  padding-left: 16.5vw !important;
}

.sticky-part .wp-block-navigation__submenu-container {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px 48px;
}

ul.wp-block-navigation ul.wp-block-navigation-submenu li::after {
  content: url("https://nph.vegasystems.org/wp-content/uploads/2025/09/pfeil.png");
  padding-left: 10px;
}

ul
  ul.wp-block-navigation-submenu
  .wp-block-navigation-item.wp-block-navigation-link {
  display: flex;
}

.wp-block-navigation
  .has-child
  .wp-block-navigation__submenu-container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content {
  display: flex;
  flex-grow: 0 !important;
}

.wp-block-list.header-liste li a {
  text-decoration: none;
  color: #000;
}

.wp-block-list.header-liste li a:hover {
  text-decoration: underline;
  text-decoration-color: #00ee68;
}

/* Footer */
.footer-bogen {
  background: url("https://nph.vegasystems.org/wp-content/uploads/footer-immer-dabei.png");
  background-color: rgba(0, 0, 0, 0);
  background-position-x: 0%;
  background-repeat: repeat;
  background-repeat: no-repeat;
  background-position-x: 105%;
  background-position-y: -170%;
}

footer > .wp-block-group {
  min-height: 0 !important;
}

footer > .wp-block-group.footer-bogen {
  min-height: 450px !important;
}

.wp-block-list.footer-liste {
  padding-left: 0;
}

.wp-block-group.footer-navi-block {
  padding-left: 0;
}

/* Coming-Soon Seite */
.wp-block-column.\.comingsoon-sticky.is-layout-flow.wp-block-column-is-layout-flow {
  position: absolute;
  top: 0%;
  right: 0%;
  z-index: 10;
}

.coming-soon-intro p {
  font-size: 30px !important;
  line-height: 45px;
}

.page-template-wp-custom-template-coming-soon
  .wp-block-group.alignfull.is-style-default.is-layout-flow.wp-block-group-is-layout-flow {
  padding: 0 !important;
}

.footer-fixed-buttons {
  padding-right: 0 !important;

  position: fixed;
  bottom: 20px;
  right: 20px;
}

.meldungen-button {
  padding-right: 14px;
}

.wp-block-group.is-vertical.is-content-justification-right.is-layout-flex.wp-container-core-group-is-layout-c0d519fa.wp-block-group-is-layout-flex {
  gap: 8px;
}

@media (max-width: 1440px) {
  .entry-content.wp-elements-53e4b85271da4d63c990feaaef01de49.wp-block-post-content.has-text-color.has-brand-700-color.has-xxl-font-size.is-layout-constrained.wp-block-post-content-is-layout-constrained {
    margin-top: 0.5rem !important;
    margin-bottom: var(--wp--preset--spacing--60);
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }

  .wp-block-cover.has-custom-content-position.is-position-bottom-right {
    min-height: 550px !important;
  }

  .wp-image-383 {
    width: 480px !important;
  }

  .wp-block-group.has-white-background-color.has-background.is-content-justification-left.is-layout-constrained.wp-container-core-group-is-layout-f1c2ef42.wp-block-group-is-layout-constrained {
    padding-left: 8rem !important;
  }
}

@media (max-width: 1200px) {
  .wp-image-1668 {
    width: 550px !important;
  }
}

@media (max-width: 1080px) {
  .coming-soon-intro p {
    font-size: 28px !important;
    line-height: 48px;
  }

  .wp-image-383 {
    width: 400px !important;
  }

  .wp-image-1668 {
    width: 500px !important;
  }
}

@media (max-width: 810px) {
  .wp-block-list.comingsoon-liste {
    padding-left: 0 !important;
  }
}

@media (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 0% !important;
  }
}

@media (max-width: 600px) {
  .wp-image-383 {
    width: 320px !important;
  }

  .coming-soon-intro p {
    font-size: 24px !important;
    line-height: 38px;
  }

  .entry-content.wp-elements-53e4b85271da4d63c990feaaef01de49.wp-block-post-content.has-text-color.has-brand-700-color.has-xxl-font-size.is-layout-constrained.wp-block-post-content-is-layout-constrained {
    margin-top: 0rem !important;
    margin-bottom: 0 !important;
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }

  .wp-block-cover.has-custom-content-position.is-position-bottom-right {
    min-height: 400px !important;
  }

  .wp-block-group.has-white-background-color.has-background.is-content-justification-left.is-layout-constrained.wp-container-core-group-is-layout-f1c2ef42.wp-block-group-is-layout-constrained {
    padding-left: 6rem !important;
    padding-right: 0;
  }
}

@media (max-width: 480px) {
  .wp-block-group.alignfull.coming-soon-intro.has-white-color.has-brand-300-background-color.has-text-color.has-background.has-link-color.has-xxl-font-size.wp-elements-96136f514e2473d0a2e28e3864fbc93d.is-layout-flow.wp-block-group-is-layout-flow {
    padding: 30px 50px !important;
  }

  .wp-block-group.has-white-background-color.has-background.is-content-justification-left.is-layout-constrained.wp-container-core-group-is-layout-f1c2ef42.wp-block-group-is-layout-constrained {
    padding-left: 3rem !important;
    padding-right: 0 !important;
  }

  .has-brand-700-color.has-text-color.has-link-color.has-lg-font-size.wp-elements-b036000cf36641de0e7631620e70689b {
    hyphens: auto;
  }
}

/* Ticket-Karten */
.nph-ticket-card {
  border-radius: 32px; /* große Rundung wie im Layout */
  overflow: hidden; /* Bild folgt der Rundung */
  background: var(--color-white);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.nph-ticket-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
}

.nph-ticket-media img {
  display: block;
  width: 100%;
  height: auto;
}

/* Link im Teaser */
.nph-ticket-card .wp-block-post-excerpt__more-link,
.nph-ticket-card .wp-block-post-excerpt__more-text {
  color: var(--color-ink);
  font-weight: 700;
  text-underline-offset: 3px;
}
.nph-news-grid-wrapper.wp-block-group.section ul.wp-block-post-template,
.nph-tickets-grid-wrapper.wp-block-group.section ul.wp-block-post-template {
  display: flex;
  gap: 32px;
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1440px) {
  .footer-bogen {
    background-position-x: 100%;
    background-position-y: 101%;
    background-size: 30%;
  }
}

@media (max-width: 1150px) {
  .nph-news-grid-wrapper.wp-block-group.section ul.wp-block-post-template,
  .nph-tickets-grid-wrapper.wp-block-group.section ul.wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .nph-news-grid-wrapper.wp-block-group.section ul.wp-block-post-template,
  .nph-tickets-grid-wrapper.wp-block-group.section ul.wp-block-post-template {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .footer-bogen {
    background-position-x: 100%;
    background-position-y: 108%;
    background-size: 57%;
  }
  ul.footer-liste li {
    font-size: var(--wp--preset--font-size--2xs) !important;
  }
}

@media (max-width: 400px) {
  .footer-bogen {
    background: url("https://nph.vegasystems.org/wp-content/uploads/immer-dabei-footer-mobil.png");
    background-position-x: 87%;
    background-position-y: 96%;
    background-size: 50%;
    background-repeat: no-repeat;
    padding-bottom: 140px !important;
  }

  .wp-block-columns.alignwide.is-layout-flex.wp-container-core-columns-is-layout-28f84493.wp-block-columns-is-layout-flex {
    gap: 70px;
  }

  ul.footer-liste li {
    display: block;
    margin-bottom: 30px;
    font-size: var(--wp--preset--font-size--md) !important;
    font-weight: bold;
  }

  ul.footer-liste li:nth-child(-n + 3)::after {
    content: "";
    color: #00ee68;
    padding-right: 20px;
    padding-left: 15px;
    padding-right: 15px;
  }

  header {
    display: none;
  }
}

/* ÜBERSCHRIFTEN */

h1:not(.home h1) {
  color: var(--color-ink);
  font-size: var(--h2-size);
  line-height: 1.2;
}

.has-lg-font-size {
  line-height: 1.4;
}

/* Links im Footer & Links allgemein */

footer .has-white-background-color a {
  color: var(--color-ink);
  text-decoration: none !important;
}

footer .has-white-background-color a:hover {
  color: var(--color-ink);
  text-decoration: underline !important;
  text-decoration-color: #00ee68 !important;
}

a:where(:not(.wp-element-button)):hover,
.breadcrumbs a:hover {
  text-decoration: none;
}

.breadcrumbs a {
  color: var(--color-green);
}

/*Seite: Verkehrsmeldungen*/
.el-afjih .fwpl-result {
  height: 500px;
}

/*Seite: Fahrpläne und Netzpläne*/

.fwpl-layout.el-afjih {
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2rem;
}

.fwpl-layout.el-afjih .fwpl-result {
  background-color: #ffffff;
  text-align: left;
  padding: 2vw;
  padding-top: 2vw;
  padding-top: 2.2vw;
}

.fwpl-item.el-jfacsv {
  padding: 35px 0px !important;
  text-align: left;
  font-weight: 400;
  font-size: 26px;
}

.fwpl-item.el-c1yz9n {
  padding-top: 25px;
}

.facets-wrapper div.facetwp-facet {
  display: inline;
}

.facets-wrapper {
  padding-bottom: 1vw;
  padding-top: 0.5vw;
}

.fwpl-layout.el-pot .fwpl-result {
  background-color: transparent !important;
  text-align: left;
}

.fwpl-col.el-uzgxxm.el-pot {
  padding: 1vw 2vw;
}

.fwpl-item.el-acjjxg {
  margin-top: 15px;
}

.facetwp-facet-kommune,
.facetwp-facet-linie {
  padding-right: 20px;
}

.fwpl-row.el-aysogs {
  min-height: 100%;
}

.facetwp-dropdown,
.facetwp-autocomplete.fcomplete-enabled {
  background: none;
  border-top: none;
  border-left: none;
  border-bottom: solid 2px var(--color-ink);
  border-right: none;
  padding-bottom: 10px;
  font-family: var(--wp--preset--font-family--red-hat-display);
  font-size: var(--wp--preset--font-size--xs);
}

.facetwp-autocomplete-update {
  background: var(--color-green);
  padding: 11px 23px;
  border-radius: 100px;
  border: none;
  font-family: var(--wp--preset--font-family--red-hat-display);
  font-weight: bold;
  font-size: var(--wp--preset--font-size--sm);
  color: var(--color-white);
  cursor: pointer;
}

.facetwp-reset {
  background: none;
  border: none;
  text-decoration: underline;
  font-family: var(--wp--preset--font-family--red-hat-display);
  font-size: var(--wp--preset--font-size--xs);
  font-weight: bold;
  cursor: pointer;
}

.facetwp-reset:hover {
  text-decoration: none;
}

.el-acjjxg {
  display: none;
}

.el-i6az1:hover .el-qw23v9 {
  text-decoration: underline;
}

.fwpl-layout.el-pot .fwpl-row.el-aysogs {
  .fwpl-col {
    padding: 12px;
    display: flex;
    justify-content: start;
    align-items: center;

    .fwpl-item {
      font-size: 17px;
      line-height: 20px;
    }
  }
  .fwpl-col:first-of-type {
    justify-content: center;

    .fwpl-item {
      font-size: 22px;
      padding: 15px 5px !important;
      line-height: 24px;
    }
  }
}

@media (max-width: 1760px) {
  .fwpl-layout.el-pot {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 1260px) {
  .fwpl-layout.el-pot .fwpl-row.el-aysogs {
    grid-template-columns: 30% 1fr !important;
  }
}
@media (max-width: 767px) {
  .fwpl-layout.el-pot {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .fwpl-layout.el-pot .fwpl-row.el-aysogs {
    grid-template-columns: 25% 1fr !important;

    .fwpl-col:first-of-type {
      .fwpl-item {
        font-size: 20px;
        padding: 5px !important;
        line-height: 22px;
      }
    }
  }
}

/*Holibri-Seite*/

.holibri-logo div {
  padding-left: 0% !important;
  padding-right: 22% !important;
}
