/* JAKUB'S STYLES */

@font-face {
  font-family: "Rasa variable";
  font-display: auto;
  font-style: italic;
  src: url("https://demo.patriziabach.de/wp-content/uploads/2025/05/Rasa-Italic-VariableFont_wght.ttf")
    format("truetype");
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

html {
  --patrizia-highlight: #ffffcd;

  min-height: 100vh;
  margin-top: 0 !important;
}

*::selection {
  background-color: var(--patrizia-highlight);
  color: black;
}

/* LAYOUT */

.pbnm-page.pbnm-page {
  height: calc(100vh - 6.4rem);
  overflow: hidden;
}

.pbnm-page.pbnm-page aside {
  max-height: 100vh;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.pbnm-page.pbnm-page aside::after {
  position: absolute;
  top: calc(100vh - 6rem - 3rem);
  left: 1rem;
  content: "↓";
  font-weight: bold;
  font-size: 1.5rem;
  font-family: "Rasa Regular";
}

@media screen and (max-width: 1000px) {
  .pbnm-page.pbnm-page {
    height: auto;
    overflow: visible;
  }

  .pbnm-page.pbnm-page aside::after {
    content: none;
  }
}

.pbnm-page.pbnm-page main {
  scrollbar-width: none;
  height: 100%;
  min-height: 0;
  overflow: auto;
}

@media screen and (max-width: 1000px) {
  .pbnm-page.pbnm-page main {
    scrollbar-width: none;
    height: auto;
    overflow: auto;
  }

  .pbnm-page.pbnm-page {
    height: auto;
  }

  .pbnm-page.pbnm-page aside {
    max-height: none;
    overflow: visible;
  }
}

/* LINKS */
*,
body a:hover,
body .menu-item a:hover {
  text-decoration-thickness: 2px !important;
  text-decoration-skip-ink: none;
}

body .menu-item.current-menu-parent > a,
body #menu-projekte > .menu-item.current-menu-item > a {
  text-decoration: underline 2px !important;
  text-decoration-skip-ink: none;
}

body .sub-menu .menu-item a {
  padding: 0;
}

body .sub-menu .menu-item a:hover {
  text-decoration-thickness: 1.5px !important;
  text-decoration-skip-ink: none;
  padding: 0;
}

/* MENU */

#menu-projekte {
  overflow-y: auto;
  padding-bottom: 2rem;
}

@media screen and (max-width: 1000px) {
  #menu-projekte {
    padding-bottom: 0;
    overflow: visible;
  }
}

#menu-projekte,
#menu-projekte .menu-item a {
  font-size: 11px !important;
}

#menu-installation-views {
  width: max-content;
  flex-shrink: 0;
}

#menu-installation-views .menu-item a {
  font-size: 10px !important;
  color: black;
}

#menu-projekte .menu-item a:active,
#menu-projekte .menu-item a:focus {
  background: unset;
}

#menu-installation-views .menu-item a {
  font-weight: bold;
}

#menu-installation-views .elementor-menu-toggle,
#menu-projekte .elementor-menu-toggle {
  background: white;
  font-family: "Helvetica", sans-serif;
  font-size: 11px;
  font-weight: bold;
  padding: 0;
}

#menu-installation-views .elementor-menu-toggle {
  font-size: 10px;
}

#menu-installation-views .elementor-menu-toggle svg,
#menu-projekte .elementor-menu-toggle svg {
  display: none;
}

#menu-projekte .elementor-menu-toggle::before {
  content: "Works";
}

#menu-installation-views .elementor-menu-toggle::before {
  content: "⏵ Installation-Views";
}

#menu-installation-views .elementor-nav-menu--dropdown,
#menu-projekte > div > .elementor-nav-menu--dropdown {
  transition: opacity 300ms;
  max-height: calc(100vh - 8rem);
  overflow-y: auto;
  opacity: 0;
}

#menu-installation-views .elementor-nav-menu--dropdown[aria-hidden="false"],
#menu-projekte > div > .elementor-nav-menu--dropdown[aria-hidden="false"] {
  opacity: 1;
}

#menu-installation-views .elementor-nav-menu--dropdown ul,
#menu-projekte .elementor-nav-menu--dropdown ul {
  margin-left: 3rem;
  margin-top: 0;
  background: white;
  padding: 0.5rem;
}

#menu-installation-views .elementor-nav-menu,
#menu-projekte .elementor-nav-menu {
  display: flex;
  flex-flow: column;
  gap: 0.8rem;
  padding-left: 1.5rem;
}

#menu-installation-views .elementor-nav-menu {
  margin-top: 4.5rem;
  gap: 0.25rem;
}

#menu-projekte .sub-arrow {
  display: none;
}

#menu-projekte .menu-item:not(.current-menu-parent) .sub-menu {
  display: none !important;
}

#menu-projekte .sub-menu {
  padding-left: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 1rem;
  display: flex;
  flex-flow: column;
  gap: 0.5rem;
}

#menu-projekte .current-menu-item.current-menu-item .sub-menu,
#menu-projekte .current-menu-parent .sub-menu {
  display: flex !important;
  flex-flow: column nowrap;
  gap: 0.25rem;
  position: relative !important;
  margin: 0 !important;
  width: auto;
}

#menu-info .current-menu-item > a,
#menu-projekte .current-menu-item > a,
#menu-projekte .current-menu-parent > a {
  text-decoration: underline 2px;
}

#menu-info .current-menu-item > a,
#menu-projekte .current-menu-item > a {
  background: none;
}

#menu-projekte .sub-menu > .menu-item > a {
  border: none;
  line-height: 1;
  font-size: 13px !important;
}

#menu-projekte .sub-menu > .menu-item > a:hover {
  text-decoration: underline 1.5px !important;
  background: none;
}

#menu-projekte .sub-menu .current-menu-item > a {
  text-decoration: none;
  background: var(--patrizia-highlight);
}

#menu-projekte .sub-menu .current-menu-item > a:hover {
  text-decoration: none !important;
  background: var(--patrizia-highlight);
}

#menu-installation-views .menu-item.current-menu-item > a {
  background: var(--patrizia-highlight);
}

#menu-installation-views .menu-item > a,
#menu-installation-views .menu-item.current-menu-item > a,
#menu-installation-views .menu-item.current-menu-item > a:hover {
  padding: 0;
}

#pbnm-page-title h1 {
  max-width: max-content;
}

@media screen and (max-width: 1000px) {
  #menu-installation-views .menu-item.current-menu-item > a,
  #menu-installation-views .elementor-menu-toggle.elementor-active,
  #menu-projekte .elementor-menu-toggle.elementor-active,
  #menu-projekte .sub-menu .current-menu-item > a,
  #pbnm-page-title h1 {
    background-image: linear-gradient(
      var(--patrizia-highlight) 0%,
      var(--patrizia-highlight) 100%
    );
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: 100% 40%;
    background-color: transparent;
    color: black;
  }
}

/* RICH TEXT */

blockquote {
  font-weight: bold;
}

/* ACCORDION */

.elementor-widget-n-accordion
  .e-n-accordion-item-title.e-n-accordion-item-title {
  border: none;
  padding: 0;
  font-weight: bold;
}

.elementor-widget-n-accordion
  .e-n-accordion-item-title.e-n-accordion-item-title:hover {
  text-decoration: underline;
}

.elementor-widget-n-accordion .e-n-accordion-item[open] + .e-n-accordion-item {
  margin-top: 1.5rem;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-text {
  font-size: inherit;
}

.elementor-widget-n-accordion .e-n-accordion-item-title + div {
  border: none;
  padding: 0;
}

.elementor-widget-text-editor p:last-of-type {
  margin-bottom: 0;
}

.elementor-lightbox .elementor-lightbox-image.elementor-lightbox-image {
  box-shadow: none;
  border-radius: 0;
}

/* SPECIAL CASE FOR INSTALLATION VIEWS */
.page-id-43 #pbnm-page-title {
  display: none;
}

body .elementor hr {
  margin: 2rem auto;
  border-color: #0002;
  width: 10ch;
}

.elementor-lightbox .dialog-lightbox-close-button svg,
.elementor-lightbox .elementor-swiper-button svg {
  fill: black !important;
}

.swiper-lazy-preloader {
  --swiper-theme-color: black;

  border-width: 1px !important;
}
