@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Oswald:wght@200..700&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
  --nw-container-max-width: 1425px;
  --nw-container-x-padding: 120px;
}

/* ========================================================================== 
   Global Styles 
   ========================================================================== */

/* Headings */
body h1 {
  font-family: Montserrat;
  font-size: 3.4375rem;
  font-style: normal;
  font-weight: 700;
  line-height: 4.5rem;
  margin: 0;
}

body h2 {
  font-family: Montserrat;
  font-size: 2.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 3.1875rem;
  text-transform: uppercase;
  margin: 0;
}

body h3 {
  font-family: Montserrat;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: 2.375rem;
  margin: 0;
}

body h4 {
  font-family: Montserrat;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2rem;
  margin: 0;
}

/* Body Text */
body p {
  color: #000;
  font-family: Montserrat;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2.125rem;
  margin: 0;
}

/* Strong/Bold Text */
body strong {
  font-weight: 700;
}

/* ========================================================================== 
   Modules Styles 
   ========================================================================== */

/*
 *
 * 
 * Accordion Styles
 * 
 * 
 */

.nw-accordion-row {
  padding-top: 6.75rem !important;
  padding-bottom: 6.75rem !important;
}

.nw-accordion-title.wpb_content_element {
  margin-bottom: 0 !important;
}

.nw-accordion-title p {
  color: #fff !important;
  text-align: center !important;

  /* H2 */
  font-family: Montserrat !important;
  font-size: 2.125rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 3.1875rem !important; /* 150% */
  text-transform: uppercase !important;
}

.nw-accordion-subtitle p {
  color: #fff;
  text-align: center;

  /* H4 */
  font-family: Montserrat;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2rem; /* 133.333% */
}

.nw-accordion-description.wpb_content_element {
  margin-bottom: 6.25rem !important;
}

.nw-accordion-description p {
  color: #fff !important;
  text-align: center !important;

  /* Body */
  font-family: Montserrat !important;
  font-size: 1.25rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 2.125rem !important; /* 170% */
}

/* Section Title */
body div[data-style*='minimal'] .toggle.open > .toggle-title a,
body div[data-style*='minimal'] .toggle > .toggle-title a {
  color: #fff;

  /* H3 */
  font-family: Montserrat;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: 2.375rem; /* 135.714% */
}

/* Section Content */
div[data-style='minimal']
  .toggle[data-inner-wrap='true']
  > div
  .inner-toggle-wrap
  .wpb_text_column
  .wpb_wrapper
  p {
  color: #fff !important;

  /* Body */
  font-family: Montserrat !important;
  font-size: 1.25rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 2.125rem !important; /* 170% */
}

/* Icon */
i[role='presentation'].fa-plus-circle {
  background-color: #003d72 !important;
  border-color: #fff !important;
}

i[role='presentation'].fa-minus-circle {
  border-color: #fff !important;
  background-color: #003d72 !important;
}

div[data-style*='minimal'] .toggle > .toggle-title i {
  width: 50px !important;
  height: 50px !important;
  margin-top: -25px !important;
}

div[data-style='minimal'] .toggle > .toggle-title i:before {
  background-color: #fff !important;
  top: 25px !important;
  left: 14px !important;
  margin-top: -2px !important;
  width: 18px !important;
  height: 2px !important;
}

div[data-style='minimal'] .toggle > .toggle-title i:after {
  background-color: #fff !important;
  top: 16px !important;
  left: 24px !important;
  width: 2px !important;
  margin-left: -2px !important;
  height: 16px !important;
}

/* Separator Line */
div[data-style='minimal'] .toggle {
  border-bottom: 1px solid #fff !important;
  transition: border-color 0.15s ease !important;
}

/*
 *
 * 
 * Nav Styles
 * 
 * 
 */

#header-outer.transparent #top nav > ul > li > a,
#header-outer.transparent #top nav > .sf-menu > li > a {
  opacity: 1 !important;
}

.sf-menu,
.sf-menu * {
  list-style: none outside none;
  margin: 0;
  padding: 0;
  z-index: 10;
  font-size: 1.2rem;
}

/*
 *
 * 
 * Icon with Text
 * 
 * 
 */
.nw-icon-with-text {
  display: flex;
  gap: 1.5rem;
  padding-bottom: 2rem;
  align-items: flex-start;
}

.nw-icon-with-text.text-center {
  justify-content: center;
}

.nw-icon-with-text span.vc_icon_element-icon:before {
  background: #367a35;
  color: #fff;
  font-size: 1.5rem;
  padding: 0.5rem;
  border-radius: 999px;
  display: flex;
  width: 32px;
  height: 32px;
  justify-content: center;
  align-items: center;
}

.nw-icon-with-text h3 {
  margin: 0;
  line-height: 1.4;
}

.nw-icon-with-text p {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 0.5rem;
  text-wrap: pretty;
}

/*
 *
 * 
 * Mehrweg Hero Element
 * 
 * 
 */

.nw-hero {
  position: relative;
  width: 100vw;
  height: 40.625rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Video Background */
.nw-hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.nw-hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Content Container */
.nw-hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--nw-container-max-width, 1200px);
  padding: 0 var(--nw-container-x-padding);
  height: 100%;
  display: flex;
  align-items: flex-end;
  padding-bottom: 2.5rem;
}

/* Text Content (links) */
.nw-hero-text {
  flex: 0 0 auto;
  max-width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  align-self: flex-start;
  margin-top: auto;
  margin-bottom: auto;
}

.nw-hero-title {
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: 3.4375rem;
  font-style: normal;
  font-weight: 700;
  line-height: 4.5rem;
  text-transform: uppercase;
  margin: 0 0 1rem 0;
}

.nw-hero-subtitle {
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2.375rem;
  margin: 0;
}

/* Flaschen Grafik (rechts) */
.nw-hero-bottles {
  flex: 0 1 auto;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  max-width: 50%;
  overflow: visible;
  margin-bottom: 0.5rem;
}

.nw-hero-bottles-img {
  max-width: 100%;
  height: auto;
  max-height: 28rem;
  object-fit: contain;
  display: block;
}

/* Media Query für Tablet/Desktop zwischen Mobile und Full */
@media screen and (min-width: 1000px) and (max-width: 1400px) {
  .nw-hero-content {
    padding: 0 60px;
    padding-bottom: 2.5rem;
    gap: 2rem;
  }

  .nw-hero-text {
    max-width: 45%;
  }

  .nw-hero-bottles {
    max-width: 55%;
  }

  .nw-hero-bottles-img {
    max-height: 24rem;
  }

  .nw-hero-title {
    font-size: 2.8rem;
    line-height: 3.5rem;
  }

  .nw-hero-subtitle {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}

@media screen and (max-width: 999px) {
  .nw-hero {
    height: auto;
    min-height: 50vh;
  }

  .nw-hero-content {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 4rem 2rem;
    gap: 3rem;
  }

  /* Text Content - oben, links */
  .nw-hero-text {
    max-width: 100%;
    align-items: flex-start;
    text-align: left;
    margin: 0;
    order: 1;
  }

  .nw-hero-title {
    font-size: 2.5rem;
    line-height: 3rem;
  }

  .nw-hero-subtitle {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  /* Flaschen - unten, kleiner */
  .nw-hero-bottles {
    order: 2;
    align-items: center;
    justify-content: center;
    max-width: 100%;
  }

  .nw-hero-bottles-img {
    max-height: 20rem;
    width: auto;
  }
}

@media screen and (max-width: 599px) {
  .nw-hero {
    min-height: 40vh;
  }

  .nw-hero-content {
    padding: 3rem 1.5rem;
    gap: 2rem;
  }

  .nw-hero-title {
    font-size: 2rem;
    line-height: 2.5rem;
  }

  .nw-hero-subtitle {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .nw-hero-bottles-img {
    max-height: 16rem;
  }
}

/*
 * Mehrweg Submenu Element
 * 
 */

.nw-submenu {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  align-self: stretch;
  width: 100%;
}

/* Sticky State */
.nw-submenu--sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.nw-submenu-placeholder {
  width: 100%;
}

.nw-submenu-container {
  display: flex;
  width: 100%;
  max-width: 100%;
}

/* Einzelner Bereich/Button - GRID statt FLEX */
.nw-submenu-area {
  display: grid;
  grid-template-rows: auto auto auto auto; /* Icon, Title, Divider, Description */
  row-gap: 0.75rem;
  justify-items: center;
  align-items: center;
  align-content: start;

  flex: 1 1 30rem;
  min-width: 0;
  padding: 3.125rem;
  align-self: stretch;
  text-decoration: none;
  transition: transform 0.3s ease, grid-template-rows 0.3s ease,
    row-gap 0.3s ease, padding 0.3s ease;
  cursor: pointer;
}

/* NEU: Single Element State - Vertikale Zentrierung (JavaScript-gesteuert) */
.nw-submenu-area--single {
  align-content: center !important;
}

/* Icon Container */
.nw-submenu-icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.2s ease, opacity 0.3s ease, width 0.3s ease,
    height 0.3s ease;
  grid-row: 1;
}

.nw-submenu-icon img,
.nw-submenu-icon svg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

/* Icon Hover */
.nw-submenu-area:hover .nw-submenu-icon {
  transform: translateY(-4px);
}

.nw-submenu--sticky .nw-submenu-area:hover .nw-submenu-icon {
  transform: translateY(-2px);
}

/* Titel */
.nw-submenu-title {
  color: #fff;
  text-align: center;
  font-family: Montserrat, sans-serif;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
  padding: 0;
  max-width: 16rem;
  hyphens: auto;
  word-wrap: break-word;
  transition: transform 0.2s ease, opacity 0.3s ease;
  grid-row: 2;
  overflow: hidden;
  min-height: 0;
}

/* Titel Hover */
.nw-submenu-area:hover .nw-submenu-title {
  transform: translateY(-3px);
}

.nw-submenu--sticky .nw-submenu-area:hover .nw-submenu-title {
  transform: translateY(-2px);
}

/* Trennlinie */
.nw-submenu-divider {
  background: #fff;
  width: 9.375rem;
  height: 0.0625rem;
  flex-shrink: 0;
  transition: transform 0.2s ease, opacity 0.3s ease;
  grid-row: 3;
  overflow: hidden;
  min-height: 0;
  margin: 0;
  padding: 0;
}

/* Divider Hover */
.nw-submenu-area:hover .nw-submenu-divider {
  transform: translateY(-3px);
}

.nw-submenu--sticky .nw-submenu-area:hover .nw-submenu-divider {
  transform: translateY(-2px);
}

/* Beschreibung */
.nw-submenu-description {
  color: #fff;
  text-align: center;
  font-family: Montserrat, sans-serif;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  transition: transform 0.2s ease, opacity 0.3s ease;
  grid-row: 4;
  overflow: hidden;
  min-height: 0;
}

/* Beschreibung Hover */
.nw-submenu-area:hover .nw-submenu-description {
  transform: translateY(-3px);
}

.nw-submenu--sticky .nw-submenu-area:hover .nw-submenu-description {
  transform: translateY(-2px);
}

/* Media Query für Tablet/kleinere Desktops */
@media screen and (min-width: 1000px) and (max-width: 1399px) {
  .nw-submenu-area {
    padding: 2rem;
  }

  .nw-submenu-icon {
    width: 2rem;
    height: 2rem;
  }

  .nw-submenu-title {
    font-size: 1.1rem !important;
    line-height: 1.5rem;
    max-width: 10rem;
  }

  .nw-submenu-divider {
    width: 6rem;
  }

  .nw-submenu-description {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

/* Mobile */
@media screen and (max-width: 999px) {
  .nw-submenu {
    padding: 0;
  }

  .nw-submenu-container {
    gap: 0;
    padding: 0;
  }

  .nw-submenu-area {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    padding: 0.875rem;
    min-height: auto;
    gap: 0;
  }

  .nw-submenu-icon {
    width: 2rem;
    height: 2rem;
  }

  .nw-submenu-area:hover .nw-submenu-icon {
    transform: translateY(-3px);
  }

  .nw-submenu--sticky .nw-submenu-area:hover .nw-submenu-icon {
    transform: translateY(-2px);
  }

  .nw-submenu-title,
  .nw-submenu-divider,
  .nw-submenu-description {
    display: none;
  }
}

@media screen and (max-width: 599px) {
  /* 1px Naht zwischen Hero und Submenu schließen */
  .nw-submenu {
    margin-top: -1px;
  }
  /* Wenn sticky, keinen negativen margin (JS setzt top) */
  .nw-submenu.nw-submenu--sticky {
    margin-top: 0;
  }

  .nw-submenu-area {
    padding: 0.75rem;
  }

  .nw-submenu-icon {
    width: 1.75rem;
    height: 1.75rem;
  }

  .nw-submenu-area:hover .nw-submenu-icon {
    transform: translateY(-3px);
  }

  .nw-submenu--sticky .nw-submenu-area:hover .nw-submenu-icon {
    transform: translateY(-2px);
  }
}

/*
 *
 * 
 * Mehrweg Question Answer Element
 * 
 * 
 */

.nw-qa-title.wpb_content_element {
  margin-bottom: 0 !important;
  padding-top: 6.75rem;
  background: #0e707d;
}

.nw-qa-title p {
  text-align: center;
  color: #fff;

  /* H2 */
  font-family: Montserrat;
  font-size: 2.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 3.1875rem; /* 150% */
  text-transform: uppercase;
}

.nw-qa-subtitle.wpb_content_element {
  margin-bottom: 0 !important;
  padding-bottom: 3rem;
  background: #0e707d;
}

.nw-qa-subtitle p {
  text-align: center;
  color: #fff;

  /* H4 */
  font-family: Montserrat;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2rem; /* 133.333% */
}

.nw-qa {
  background: #0e707d;
  width: 100%;
  padding-bottom: 3rem;
}

.nw-qa-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
  max-width: var(--nw-container-max-width, 1200px);
  padding: 0 var(--nw-container-x-padding, 120px);
  margin: 0 auto;
}

/* Linke Seite - Frage */
.nw-qa-question-side {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 18rem;
}

.nw-qa-question {
  color: #fff;
  font-family: Montserrat;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: 2.375rem;
  margin: 0;
}

.nw-qa-image {
  width: 12.5rem;
  height: 12.5rem;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 50%;
}

.nw-qa-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Rechte Seite - Antwort */
.nw-qa-answer-side {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.nw-qa-answer-header {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nw-qa-arrow {
  width: 3.125rem;
  height: auto;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nw-qa-arrow img {
  width: 100%;
  height: auto;
  display: block;
}

.nw-qa-answer-title {
  color: #fff;
  font-family: Montserrat;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2rem;
  margin: 0;
  margin-bottom: 0 !important;
}

.nw-qa-answer-text p {
  color: #fff;
  font-family: Montserrat;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2.125rem;
  margin: 0 0 1rem 0;
}

.nw-qa-answer-text p:last-child {
  margin-bottom: 0;
}

/* Separator */
.nw-qa-separator {
  width: 100%;
  height: 0.0625rem;
  background: #fff;
  margin-top: 1rem;
  order: 3;
}

@media screen and (max-width: 999px) {
  .nw-qa-container {
    flex-direction: column;
    gap: 2rem;
    padding-left: 0;
    padding-right: 0;
    max-width: var(--mobile-container-width);
  }

  .nw-qa-question-side {
    max-width: 100%;
    width: 100%;
  }

  .nw-qa-answer-side {
    width: 100%;
  }
}

/* Linkliste - aligned mit Antwortbereich */
.nw-qa-linklist.wpb_content_element {
  margin-bottom: 0 !important;
  padding-bottom: 6.25rem;
}

.nw-qa-linklist {
  background: #0e707d;
  width: 100%;
}

.nw-qa-linklist-container {
  display: flex;
  max-width: var(--nw-container-max-width, 1200px);
  padding: 0 var(--nw-container-x-padding, 120px);
  margin: 0 auto;
}

/* Linker Spacer - gleiche Breite wie Question Side */
.nw-qa-linklist-spacer {
  flex: 0 0 auto;
  width: calc(18rem + 2rem); /* 18rem Question Side + 2rem Gap */
}

/* Rechter Bereich - aligned mit Answer Side */
.nw-qa-linklist-content {
  flex: 1;
}

.nw-qa-linklist a {
  color: #afca00;
  font-family: Montserrat;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 2.125rem;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

/* Mobile */
@media screen and (max-width: 999px) {
  .nw-qa-linklist-container {
    flex-direction: column;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
    max-width: var(--mobile-container-width);
  }

  .nw-qa-linklist-spacer {
    display: none;
  }

  .nw-qa-linklist-content {
    width: 100%;
  }
}

/*
 * Mehrweg Quote Element
 */

.nw-quote {
  padding: 6rem 0;
  background-color: #f1f5f9;
}

/* Mit Bild: Kein Padding - Bild bestimmt die Höhe */
.nw-quote--with-image {
  padding: 0;
}

.nw-quote-container {
  max-width: var(--nw-container-max-width, 1200px);
  width: 100%;
  padding: 0 var(--nw-container-x-padding, 120px);
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.nw-quote-inner-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  width: 100%;
}

/* Mit Bild: mindestens Bildhöhe */
.nw-quote-inner-content--with-image {
  min-height: 23rem;
}

/* NEU: Bild Container */
.nw-quote-image-wrapper {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  max-width: 23rem;
  max-height: 23rem;
  overflow: hidden;
}

.nw-quote-image {
  width: 100%;
  height: 100%;
  min-height: 23rem;
  display: block;
  object-fit: cover;
  object-position: top;
}

/* NEU: Content Wrapper */
.nw-quote-content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
  flex: 1;
  min-width: 0;
}

.nw-quote-text {
  color: #002955;
  font-family: Montserrat, sans-serif;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2.375rem;
  margin: 0;
  padding: 0;
  border: none;
  quotes: none;
  text-align: left;
}

.nw-quote-author {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.nw-quote-name {
  color: #0168b4;
  font-family: Montserrat, sans-serif;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: 2.125rem;
  margin: 0;
}

.nw-quote-title {
  color: #002955;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4375rem;
  margin: 0;
}

/* Responsive Design */
@media screen and (max-width: 999px) {
  .nw-quote {
    padding: 2rem 0 0 0;
  }

  /* Mit Bild: Auch auf Mobile normales Padding oben */
  .nw-quote--with-image {
    padding: 2rem 0 0 0;
  }

  .nw-quote-container {
    max-width: var(--mobile-container-width);
    padding: 0;
  }

  .nw-quote-inner-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    justify-content: flex-start;
    min-height: auto;
  }

  /* Mit Bild: Bild UNTER Content */
  .nw-quote-inner-content--with-image {
    flex-direction: column-reverse;
    align-items: center;
    min-height: auto;
  }

  .nw-quote-image-wrapper {
    width: 100%;
    max-width: 200px;
    max-height: none;
    justify-content: center;
  }

  .nw-quote-image {
    min-height: auto;
    object-fit: contain;
  }

  .nw-quote-content-wrapper {
    width: 100%;
  }

  .nw-quote-text {
    font-size: 1.75rem;
  }

  .nw-quote-name {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .nw-quote-title {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

/*
 *
 * Mehrweg Slider Element
 * 
 */

.nw-slider {
  padding: 4rem 0;
  color: #fff;
  position: relative;
  overflow: hidden;
  background-color: #054e89;
}

/* Container - minimal für Achsen-Ausrichtung */
.nw-slider-container {
  max-width: var(--nw-container-max-width);
  width: 100%;
  padding: 0 90px;
  margin: 0 auto;
}

.nw-slider-inner-content {
  width: 66%; /* Achse wie Hero */
  position: relative;
}

/* Dots */
.nw-slider-inner-content:before {
  content: '';
  position: absolute;
  width: 300px;
  height: 300px;
  background-image: radial-gradient(circle, #7ba2c2 1px, transparent 1px);
  background-size: 16px 20px;
  bottom: -2rem;
  left: -4rem;
  pointer-events: none;
  z-index: 0;
  opacity: 0.6;
}

@media screen and (max-width: 999px) {
  .nw-slider-inner-content:before {
    width: 340px;
    height: 68%;
    background-size: 16px 20px;
    top: 3rem;
    left: 0;
  }
}

@media screen and (max-width: 599px) {
  .nw-slider-inner-content:before {
    top: 2rem;
  }
}

@media screen and (max-width: 499px) {
  .nw-slider-inner-content:before {
    top: 1.5rem;
    height: 62%;
  }
}

/* Title */
.nw-slider-main-title {
  margin: 0 0 3rem 0 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  font-family: var(--font-inter) !important;
  font-weight: 700 !important;
}

/* Swiper - freies Scrollen ohne Clipping */
.nw-swiper {
  overflow: visible !important;
}

.nw-swiper .swiper-wrapper {
  display: flex !important;
}

.nw-swiper .swiper-slide {
  width: 100% !important; /* Volle Breite - jeder Step füllt den Container */
  flex-shrink: 0 !important;
}

/* Step Layout - wie ursprünglich */
.nw-slider-step {
  display: flex !important;
  align-items: start;
  gap: 1rem;
  padding: 2rem 0;
}

.row .swiper-slide img.nw-slider-step-image {
  border-radius: 1rem;
  height: 400px;
  max-width: 300px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.nw-slider-step-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.nw-slider-step-content {
  flex: 1;
  padding-left: 1rem;
}

.nw-slider-step-number {
  font-family: var(--font-inter);
  font-weight: 800;
  color: var(--schiffers-gelb);
  line-height: 1;
  margin-bottom: 1rem;
  font-size: 5rem;
}

.nw-slider-step-title {
  font-size: 1.8rem;
  color: var(--schiffers-gelb);
  margin: 0 0 1.5rem 0;
  line-height: 1.3;
  font-family: var(--font-ibm-plex-serif);
  font-weight: 400;
  font-style: italic;
}

.nw-slider-step-description {
  font-family: var(--font-inter) !important;
  font-weight: 400 !important;
  font-size: 1.25rem !important;
  line-height: 2rem !important;
  color: #fff !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Progress - nur die Linie */
.nw-slider-progress {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.nw-slider-progress-bar {
  width: 200px;
  height: 4px;
  background-color: #122d59;
  border-radius: 2px;
  transition: background 0.2s ease;
}

/* Verstecke alle Swiper Pagination falls doch welche da sind */
.nw-slider .swiper-pagination {
  display: none !important;
}

.nw-slider .swiper-pagination-bullet {
  display: none !important;
}

.nw-slider .swiper-pagination-progressbar {
  display: none !important;
}

.swiper-slide.nw-slider-step.swiper-slide-active,
.swiper-slide.nw-slider-step.swiper-slide-active * {
  cursor: grab;
}

/* Responsive - nur was nötig */
@media screen and (max-width: 999px) {
  .nw-slider-container {
    max-width: 88%;
    padding: unset;
  }

  .nw-slider-inner-content {
    width: 100%;
  }

  .nw-swiper .swiper-slide {
    width: 100% !important;
    margin-right: 0;
  }

  .nw-slider-step {
    flex-direction: column;
    text-align: left;
    gap: 2rem;
  }

  .nw-slider-step-content {
    padding-left: 0;
    margin-top: -80px;
  }

  .nw-slider-step-number {
    font-size: 6rem;
    margin-left: 1rem;
    text-shadow: 0px 0 24px rgb(0 0 0 / 30%), 0px 0 48px rgb(0 0 0 / 20%),
      0px 0 96px rgb(0 0 0 / 10%);
  }

  .nw-slider-step-title {
    font-size: 1.5rem;
  }

  .nw-slider-step-description {
    text-align: left;
  }

  .nw-slider-main-title {
    font-size: 1.5rem;
  }

  .nw-slider-progress-bar {
    width: 150px;
  }
}

/* Responsive - nur was nötig */
@media screen and (max-width: 499px) {
  .row .swiper-slide img.nw-slider-step-image {
    height: unset;
    width: 100% !important;
  }
}

/*
 *
 * Mehrweg Media Content Element
 * 
 */

.nw-media-content {
  padding: 60px 0;
  position: relative;
  overflow: hidden;
}

.nw-media-content-container {
  max-width: var(--nw-container-max-width);
  margin: 0 auto;
  padding: 0 90px;
  display: flex;
  align-items: flex-start;
  gap: 0;
  position: relative;
}

/* Layout Variants */
.nw-media-content--media-left .nw-media-content-container {
  flex-direction: row;
}

.nw-media-content--media-right .nw-media-content-container {
  flex-direction: row-reverse;
}

/* Media Container */
.nw-media-content-media {
  /* flex: 0 0 50%; */
  flex: 0 0 calc(50% + 180px);
  position: relative;
  z-index: 2;
  /* Even width */
  /* max-width: calc(50% - 1rem); */
  margin-top: 40px;
}

.nw-media-content--media-right .nw-media-content-media {
  margin-top: 40px;
}

/* Image Styles */
.nw-media-content-image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
  box-shadow: 0px 18px 48px 0 rgba(0, 0, 0, 0.25);
}

.nw-media-content-container img.nw-media-content-image {
  width: 100% !important;
}

/* WordPress Theme Override */
.nw-media-content-media img {
  margin-bottom: 0 !important;
}

/* Video Embed Styles */
.nw-video-embed {
  position: relative;
  width: 100%;
  border-radius: 20px;
  aspect-ratio: 16 / 9; /* Fixe das Seitenverhältnis */
  box-shadow: 0px 18px 48px 0 rgba(0, 0, 0, 0.25);
}

.nw-video-embed video {
  width: 100%;
  height: 100%; /* Volle Höhe des Containers */
  display: block;
  border-radius: 20px;
  object-fit: cover; /* Behält Proportionen bei und füllt Container */
}

/* Video Overlay Styles */
.nw-video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  opacity: 1;
  visibility: visible;
  transition: all 0.3s ease;
  z-index: 10;
}

.nw-video-overlay.nw-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.nw-video-play-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
  outline: none;
}

.nw-video-play-btn:hover {
  transform: scale(1.1);
}

.nw-video-play-btn svg {
  width: 80px;
  height: 80px;
  transition: all 0.3s ease;
}

.nw-video-play-btn:hover svg {
  transform: scale(1.05);
}

/* Video mit Controls verstecken Overlay */
.nw-video-embed.nw-playing .nw-video-overlay {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Video Controls when playing */
.nw-video-embed video.nw-playing {
  cursor: pointer;
}

/* Text Container */
.nw-media-content-text {
  flex: 1;
  position: relative;
  z-index: 1;
}

.nw-media-content-text-inner {
  background-color: #f1f5f9;
  padding: 60px 40px;
  position: relative;
}

/* Media Left Layout */
.nw-media-content--media-left .nw-media-content-text-inner {
  margin-left: -100px;
  padding-left: 140px;
}

/* Media Right Layout */
.nw-media-content--media-right .nw-media-content-text-inner {
  margin-right: -100px;
  padding-right: 140px;
}

/* Typography */
.nw-media-content-title {
  color: var(--schiffers-blau);
  font-weight: bold;
  margin-bottom: 1.5rem;
  line-height: 1.2;
  font-family: var(--font-inter);
  font-weight: 700;
  font-size: 2rem;
}

.nw-media-content-description {
  color: #333;
  font-family: var(--font-inter);
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.6;
  margin-bottom: 2rem;
}

.nw-media-content-description p {
  margin-bottom: 1rem;
}

.nw-media-content-description p:last-child {
  margin-bottom: 0;
}

/* Action Link */
.nw-media-content-action {
  margin-top: 2rem;
}

.nw-media-content-link {
  display: inline-flex;
  align-items: center;
  color: #337ab7;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-family: var(--font-inter);
  font-weight: 400;
  font-size: 1rem;
}

.nw-media-content-link:hover {
  color: var(--schiffers-gelb);
  text-decoration: none;
}

.nw-media-content-arrow {
  margin-left: 10px;
  display: inline-block;
  transition: transform 0.3s ease;
  color: #337ab7;
}

.nw-media-content-link:hover .nw-media-content-arrow {
  transform: translateX(5px);
  color: var(--schiffers-gelb);
}

.nw-media-content-arrow svg {
  width: 82px;
  height: 14px;
  vertical-align: middle;
}

/* Custom List Styling */
.nw-media-content-description ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.nw-media-content-description li {
  position: relative;
  padding-left: 60px; /* Platz für das SVG */
  margin-bottom: 1rem; /* Basis-Margin reduziert */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.nw-media-content-description li:last-child {
  margin-bottom: 0;
}

/* Custom SVG Bullet */
.nw-media-content-description li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.25rem; /* Anpassung für vertikale Ausrichtung */
  width: 39px;
  height: 56px;
  background-image: url('data:image/svg+xml,<svg width="39" height="56" viewBox="0 0 39 56" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M25.244 7.09703H25.1057C25.1334 7.04723 25.2164 6.99743 25.244 6.97253C25.244 7.02233 25.244 7.07213 25.244 7.09703Z" fill="%23EDBF17"/><path d="M25.4101 6.97232H25.2718C25.3271 6.92252 25.3548 6.72332 25.4101 6.97232Z" fill="%23EDBF17"/><path d="M22.3401 11.305C22.3401 11.305 22.2019 11.4046 22.3401 11.1805V11.305Z" fill="%23EDBF17"/><path d="M11.8861 31.6234H11.7478V31.8724H11.8861V31.6234ZM11.3607 31.4989V31.6234L11.4436 31.5487L11.3607 31.474V31.4989ZM26.4056 5.27929C26.9034 4.55719 28.1756 3.21259 28.4798 2.61499C28.6181 2.34109 28.95 0.747494 29.0053 0.672794C29.0606 0.647894 29.9179 0.871994 30.1945 0.772394C30.6923 0.622994 30.3604 0.075195 30.9689 0.000495102C32.0751 -0.124005 35.4215 0.349095 36.5554 0.672794C36.6107 0.672794 36.5554 1.04629 36.5554 1.04629C36.6384 1.07119 36.9979 0.747494 37.4127 0.847094C38.5743 1.12099 38.9615 3.01339 38.8232 3.93469C38.7402 4.43269 35.781 9.73638 35.2832 10.5581C34.9513 11.1059 34.5642 11.1059 34.5365 11.1557C33.8174 12.3758 33.1537 14.5172 31.9092 15.2642L30.5817 18.4763C30.1668 17.7293 29.5861 20.0699 29.8626 20.3189L29.6414 20.045L29.5584 20.5679L29.2818 20.3189C27.7607 24.7511 24.9951 28.9591 22.7826 33.4162C22.6444 33.6652 22.9209 33.964 22.8656 34.0636C22.8656 34.0636 22.4231 34.0636 22.3678 34.1881C22.0912 34.7359 21.8976 35.5327 21.7041 35.9311C20.902 37.5745 19.7128 39.5416 19.0767 41.2348C19.0214 41.3842 19.2427 41.6083 19.215 41.6083C19.215 41.683 18.9384 41.5336 18.9384 41.5585C18.3577 43.2019 17.9152 44.9449 17.6109 46.663L17.3344 46.5385L16.6153 50.3482L16.3388 50.2237C16.2281 51.2446 15.9516 54.9547 15.1772 55.5274L13.4349 56.0005H13.2966C11.8861 55.1788 9.95019 55.3282 8.53973 55.0045C8.12489 54.9049 7.90364 54.5065 7.57177 54.4069C7.21224 54.3073 6.90802 54.4318 6.79739 54.4069C6.74208 54.4069 6.79739 54.1828 6.79739 54.1579C6.54849 54.0832 6.85271 54.5812 6.21662 54.3322C5.38693 54.0334 4.7785 52.8382 4.19772 52.3153C3.83819 51.9916 3.2021 52.0165 2.56601 51.3193C0.823668 49.402 1.10023 42.43 0.961949 39.7906C0.906637 38.8693 0.796012 37.699 0.242889 37.0267L0.961949 28.1125L2.12351 23.6555L1.26617 22.9334C1.51507 22.8338 1.8746 23.0579 1.98523 23.0579C2.04054 23.0579 2.06819 23.0579 2.12351 23.0579C2.17882 23.0579 2.28944 23.2073 2.40007 23.1824C2.45538 22.9832 2.40007 22.4105 2.12351 22.6595C2.15116 22.5848 2.06819 22.3856 2.12351 22.286C2.51069 21.8876 8.70567 23.0579 9.5077 23.5061C9.89488 23.7302 10.9735 24.9254 10.9735 25.3985L11.25 25.0001L11.416 31.0756C11.8585 31.723 11.6372 30.5527 12.1074 30.3784V31.2997L21.2616 12.6746L21.5658 12.7991C21.6487 12.2264 22.0083 11.7035 22.2848 11.2304V11.1059C22.5337 10.7075 22.8933 9.86088 23.0039 9.66168C23.0039 9.66168 23.2805 9.81108 23.2805 9.78618C23.3358 9.71148 23.2805 9.28818 23.4187 9.06408C23.474 8.96448 23.7506 9.11388 23.8612 8.93958C24.0548 8.64078 23.9442 8.26728 23.9995 8.19258C23.9995 8.19258 24.2484 8.36688 24.442 8.11788C24.525 7.99338 24.0548 8.16768 24.2208 7.91868C24.4697 7.57008 24.8292 7.61988 24.8569 7.59498C24.8569 7.57008 24.7462 7.39578 25.0228 6.99738C25.0228 7.07208 24.9675 7.27128 25.1058 7.27128C25.244 7.27128 25.1334 7.07208 25.1887 6.99738C25.2164 6.94758 25.2994 6.92268 25.327 6.87288C25.5206 6.57408 25.6312 6.42468 25.4653 6.07609C25.9631 6.74838 25.8525 5.60299 26.1843 5.15479C26.295 5.95158 26.212 5.30419 26.3226 5.15479" fill="%23EDBF17"/><path d="M26.4057 5.27931H26.2674C26.378 5.12991 26.378 5.05521 26.4057 5.27931Z" fill="%23EDBF17"/><path d="M2.12345 23.1076H1.98517C1.9022 22.9582 2.09579 22.8088 2.12345 22.7092C2.09579 22.7341 2.1511 23.0578 2.12345 23.1076Z" fill="%23EDBF17"/><path d="M13.9052 27.2908C13.7392 27.5149 13.7116 26.6683 13.9052 26.8924C13.9052 26.8924 13.9052 27.2659 13.9052 27.2908Z" fill="%23EDBF17"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}

/* Strong Text (Überschriften in Listen) */
.nw-media-content-description li strong {
  color: var(--schiffers-blau);
  font-family: var(--font-inter);
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.25rem; /* Weniger Margin wenn P folgt */
  display: block;
}

/* Wenn Strong das letzte Element ist (kein P danach) - mehr Abstand */
.nw-media-content-description li strong:last-child {
  margin-bottom: 3rem; /* Mehr Margin wenn kein P-Text folgt */
}

/* P Text in Listen */
.nw-media-content-description li p {
  color: #1e1e1e;
  font-family: var(--font-inter);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  margin: 0;
}

/* Entferne <br> Tags in Listen */
.nw-media-content-description li br {
  display: none;
}

/* Responsive Design */
@media screen and (max-width: 999px) {
  .nw-media-content-container {
    max-width: 88%;
    flex-direction: column !important;
    padding: 0px;
  }

  .nw-media-content-media {
    max-width: 100%;
    order: 1;
    padding: 8rem 2rem 2rem 2rem;
    box-shadow: none;
    background: none;
    border-radius: 0.5rem;
  }

  .nw-media-content-image {
    border-radius: 0.5rem;
  }

  .nw-video-embed {
    background: none;
  }

  .nw-video-overlay {
    border-radius: 0.5rem;
  }

  .nw-media-content-text {
    order: 2;
    margin-bottom: -6rem;
    margin-top: -6rem;
  }

  /* Reset text margins on mobile */
  .nw-media-content--media-left .nw-media-content-text-inner,
  .nw-media-content--media-right .nw-media-content-text-inner {
    margin-left: 0;
    margin-right: 0;
    padding: 5.5rem 2rem;
  }

  /* Reset shadow on mobile */
  .nw-media-content-media,
  .nw-media-content--media-right .nw-media-content-media {
    box-shadow: none;
  }

  .nw-media-content-title {
    font-size: 2rem;
    margin-bottom: 1rem;
  }

  .nw-media-content-description {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }

  /* Mobile Video Play Button */
  .nw-video-play-btn svg {
    width: 60px;
    height: 60px;
  }
}

@media screen and (max-width: 499px) {
  .nw-media-content {
    padding: 2rem 1rem 1rem 1rem;
  }

  .nw-media-content-text-inner {
    padding: 30px 20px;
  }

  .nw-media-content-title {
    font-size: 1.75rem;
  }

  .nw-media-content-description {
    font-size: 0.95rem;
  }

  .nw-media-content-link {
    font-size: 1rem;
  }

  /* Small Mobile Video Play Button */
  .nw-video-play-btn svg {
    width: 50px;
    height: 50px;
  }
}

/*
 *
 * Mehrweg Pricing Plans Element
 * 
 */

.nw-pricing-plans {
  padding: 60px 0;
  position: relative;
  overflow: hidden;
}

.nw-pricing-plans-container {
  max-width: 1125px;
  margin: 0 auto;
  padding: 0 90px;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* Header Section */
.nw-pricing-plans-header {
  margin-bottom: 70px;
}

.nw-pricing-plans-top-title {
  font-size: 2rem;
  font-family: var(--font-ibm-plex-serif);
  font-weight: 400;
  font-style: italic;
  color: #337ab7;
  margin: 0 0 20px 0;
  line-height: 1.2;
}

.nw-pricing-plans-main-title {
  color: var(--schiffers-blau);
  font-family: var(--font-inter);
  font-weight: 700;
  font-size: 2rem;
  margin: 0;
  line-height: 3rem;
}

.nw-pricing-plans-description {
  margin-top: 70px;
  color: #333;
  font-family: var(--font-inter);
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 2rem;
}

.nw-pricing-plans-description p {
  margin-bottom: 1rem;
}

.nw-pricing-plans-description p:last-child {
  margin-bottom: 0;
}

/* Pricing Plans Grid */
.nw-pricing-plans-grid {
  display: flex;
  gap: 40px;
  justify-content: center;
  align-items: stretch;
}

.nw-pricing-plan {
  flex: 1;
  max-width: 400px;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  text-align: center;
  position: relative;
  min-height: 500px;
  transition: transform 0.3s ease; /* nur transform animieren */
  cursor: default; /* Karte selbst nicht mehr klickbar */
  border: none;
  outline: none;
  font-family: inherit;
}

/* Standard Plan Styling */
.nw-pricing-plan--standard {
  background-color: var(--schiffers-grau);
}

/* Featured Plan Styling */
.nw-pricing-plan--featured {
  background-color: #004b8c;
}

/* Hover-Effekt (für alle Karten gleich) */
.nw-pricing-plan--standard:hover,
.nw-pricing-plan--featured:hover {
  transform: translateY(-2px);
  /* Box-Shadow optional – aktuell deaktiviert:
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1),
              -3px 0 8px rgba(0, 0, 0, 0.05),
               3px 0 8px rgba(0, 0, 0, 0.05),
               0 -3px 8px rgba(0, 0, 0, 0.03);
  */
}

/* Plan Title */
.nw-pricing-plan-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 32px;
  margin: 35px 20px 0 20px;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nw-pricing-plan--standard .nw-pricing-plan-title {
  color: var(--schiffers-blau);
  font-family: var(--font-inter);
  font-weight: 700;
  font-size: 1.25rem;
}

.nw-pricing-plan--featured .nw-pricing-plan-title {
  color: #ffffff;
}

/* Line Separator */
.nw-pricing-plan-separator {
  width: 100px;
  height: 2px;
  margin: 25px auto;
}

.nw-pricing-plan--standard .nw-pricing-plan-separator {
  background-color: #004b8c;
}

.nw-pricing-plan--featured .nw-pricing-plan-separator {
  background-color: #ffffff;
}

/* Price Text */
.nw-pricing-plan-price {
  color: var(--schiffers-blau);
  font-family: var(--font-inter);
  font-weight: 800;
  font-size: 3rem;
  margin: 0;
  margin-top: 15px;
}

.nw-pricing-plan--standard .nw-pricing-plan-price {
  color: #004b8c;
}

.nw-pricing-plan--featured .nw-pricing-plan-price {
  color: #ffffff;
}

/* Pro Teilnehmer Text */
.nw-pricing-plan-per-participant {
  margin-top: 20px;
  font-size: 1rem;
  font-weight: 700;
  color: #337ab7;
}

.nw-pricing-plan--standard .nw-pricing-plan-per-participant {
  color: #337ab7;
}

.nw-pricing-plan--featured .nw-pricing-plan-per-participant {
  color: #ffffff;
}

/* Plan Description */
.nw-pricing-plan-description {
  margin-top: 0px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  padding: 0 20px;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 69px;
}

.nw-pricing-plan--standard .nw-pricing-plan-description {
  color: #1e1e1e;
}

.nw-pricing-plan--featured .nw-pricing-plan-description {
  color: #ffffff;
}

/* Plan Button */
.nw-pricing-plan-button {
  margin: 0px auto 35px auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 30px;
  border-radius: 3px;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.5px;
  min-width: 215px;
  text-decoration: none; /* Links ohne Unterstreichung */
  transition: background-color 0.2s ease, color 0.2s ease,
    border-color 0.2s ease;
}

/* Standard Plan Button (links/rechts) */
.nw-pricing-plan-button--standard {
  background-color: #ffffff;
  border: 3px solid #337ab7;
  color: #337ab7;
}

/* Hover: blau + weiße Schrift */
.nw-pricing-plan-button--standard:hover,
.nw-pricing-plan-button--standard:focus-visible {
  background-color: #337ab7;
  color: #ffffff;
  border-color: #337ab7;
}

/* Featured Plan Button (mitte) */
.nw-pricing-plan-button--featured {
  background-color: #edbf17;
  color: #1e1e1e;
  border: none;
}

/* Hover: invertieren -> blaues Bg + gelbe Schrift */
.nw-pricing-plan-button--featured:hover,
.nw-pricing-plan-button--featured:focus-visible {
  background-color: #337ab7;
  color: #edbf17;
}

/* Tastaturfokus sichtbar */
.nw-pricing-plan-button:focus-visible {
  outline: 2px solid rgba(51, 122, 183, 0.5);
  outline-offset: 2px;
}

/* Bottom Description */
.nw-pricing-plans-bottom-description {
  margin-top: 70px;
  color: #333;
  font-size: 1rem;
  line-height: 1.6;
  text-align: left;
}

.nw-pricing-plans-bottom-description p {
  margin-bottom: 1rem;
  font-size: 0.8rem !important;
}

.nw-pricing-plans-bottom-description p:last-child {
  margin-bottom: 0;
}

/* Responsive Design */
@media screen and (max-width: 999px) {
  .nw-pricing-plans-container {
    padding: 0px;
    max-width: 88%;
  }

  .nw-pricing-plans-grid {
    flex-direction: column;
    gap: 40px;
    align-items: center;
  }

  .nw-pricing-plan {
    max-width: 100%;
    width: 100%;
    min-height: auto;
  }

  .nw-pricing-plan-title {
    min-height: auto;
    margin: 35px 15px 0 15px;
  }

  .nw-pricing-plan-separator {
    margin: 15px auto;
  }

  .nw-pricing-plan-description {
    margin: 35px 0;
    min-height: auto;
  }

  .nw-pricing-plans-header {
    margin-bottom: 50px;
  }

  .nw-pricing-plans-top-title {
    font-size: 26px;
  }

  .nw-pricing-plans-main-title {
    font-size: 28px;
    line-height: 40px;
  }

  .nw-pricing-plans-description {
    margin-top: 15px;
    font-size: 1rem;
  }

  .nw-pricing-plans-bottom-description {
    margin-top: 50px;
  }

  /* Optional: Mobil den Lift-Effekt deaktivieren
     (falls du keine „springenden" Karten auf Touch willst) */
  .nw-pricing-plan--standard:hover,
  .nw-pricing-plan--featured:hover {
    transform: none;
  }
}

/*
 *
 * Mehrweg Overlapping Colored Text Element
 * 
 */

.nw-overlapping-colored-text {
  padding: 60px 0;
  position: relative;
  overflow: hidden;
}

.nw-overlapping-colored-text-container {
  max-width: var(--nw-container-max-width);
  margin: 0 auto;
  padding: 0 90px;
  /* display: flex;
  align-items: flex-start; */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  position: relative;
}

/* Yellow Box */
.nw-overlapping-yellow-box {
  flex: 0 0 55%;
  position: relative;
  z-index: 2;
  background-color: var(--schiffers-gelb);
  border-radius: 15px;
  max-width: 100%;
}

.nw-overlapping-yellow-content {
  padding: 70px;
}

/* Yellow Box Typography */
.nw-overlapping-yellow-title {
  color: var(--schiffers-blau);
  font-family: var(--font-inter);
  font-weight: 800;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 3rem;
}

.nw-overlapping-yellow-list {
  color: var(--schiffers-blau);
  font-family: var(--font-inter);
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 2rem;
}

.nw-overlapping-yellow-list ul {
  margin: 0;
  padding-left: 1.2em;
}

.nw-overlapping-yellow-list li {
  margin-bottom: 0.5rem;
}

.nw-overlapping-yellow-list li:last-child {
  margin-bottom: 0;
}

/* Blue Box */
.nw-overlapping-blue-box {
  flex: 1;
  position: relative;
  z-index: 1;
  background-color: #004b8c;
  border-radius: 15px;
  margin-top: 260px;
  margin-left: -180px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.nw-overlapping-blue-content {
  padding: 3rem 3rem 4rem calc(3rem + 180px);
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* Blue Box Typography */
.nw-overlapping-blue-title {
  font-family: var(--font-inter) !important;
  color: var(--schiffers-gelb) !important;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 3rem;
}

.nw-overlapping-blue-description {
  color: #ffffff;
  font-size: 20px;
  margin-bottom: 2rem;
  font-family: var(--font-inter);
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 2rem;
}

/* Action Link */
.nw-overlapping-blue-action {
  margin-bottom: 2rem;
}

.nw-overlapping-blue-link {
  display: inline-flex;
  align-items: center;
  color: var(--schiffers-gelb);
  text-decoration: none;
  font-weight: 400;
  font-size: 1rem;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.nw-overlapping-blue-link:hover {
  color: #ffffff;
  text-decoration: none;
}

.nw-overlapping-blue-arrow {
  margin-left: 10px;
  font-size: 1.2rem;
  transition: transform 0.3s ease;
}

.nw-overlapping-blue-link:hover .nw-overlapping-blue-arrow {
  transform: translateX(5px);
}

/* Background Text */
.nw-overlapping-background-text {
  margin-top: auto;
  align-self: flex-end;
  color: rgba(255, 255, 255, 0.1);
  font-size: 8vw;
  font-weight: 900;
  text-transform: uppercase;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  margin-top: 40px;
  position: absolute;
  bottom: 0;
  left: calc(180px + 3rem);
  line-height: 0.75;
  z-index: -1;
  font-family: var(--font-inter);
}

/* Responsive Design */
@media screen and (min-width: 1400px) {
  .nw-overlapping-background-text {
    font-size: 128px;
  }
}

@media screen and (max-width: 1200px) {
  .nw-overlapping-background-text {
    font-size: 7vw;
  }
}

@media screen and (max-width: 999px) {
  .nw-overlapping-colored-text-container {
    max-width: 88%;
    padding: 0px;
    /* flex-direction: column; */
    grid-template-columns: 1fr;
    gap: 40px;
  }

  /* Reset positioning for mobile */
  .nw-overlapping-yellow-box {
    min-width: 100%;
    order: 1;
  }

  .nw-overlapping-blue-box {
    order: 2;
    margin-top: 0;
    margin-left: 0;
    max-width: 100%;
    width: 100%;
  }

  /* Adjust padding for mobile */
  .nw-overlapping-yellow-content {
    padding: 40px 30px;
  }

  .nw-overlapping-blue-content {
    padding: 40px 30px 20px 30px;
  }

  /* Typography adjustments */
  .nw-overlapping-yellow-title,
  .nw-overlapping-blue-title {
    font-size: 28px;
    margin-bottom: 1rem;
  }

  .nw-overlapping-yellow-list,
  .nw-overlapping-blue-description {
    font-size: 18px;
  }

  .nw-overlapping-blue-description {
    margin-bottom: 1.5rem;
  }

  .nw-overlapping-blue-link {
    font-size: 14px;
  }

  /* Background text adjustments */
  .nw-overlapping-background-text {
    font-size: 60px;
    margin-top: auto;
    align-self: end;
    text-align: right;
    width: 60%;
    white-space: nowrap;
  }
}

@media screen and (max-width: 599px) {
  .nw-overlapping-background-text {
    width: 50%;
  }
}

@media screen and (max-width: 499px) {
  .nw-overlapping-background-text {
    font-size: 4rem;
    align-self: flex-start;
    text-align: center;
    position: static;
    width: 100%;
  }
}
