/*
Theme Name: Webcrema Child Theme
Description: This is a custom child theme for Webcrema
Theme URI:   https://webcrema.de
Author: Webcrema
Author URI:  https://webcrema.de
Template: salient
Version: 1.0
*/

/* =========================
   TYPOGRAPHY – LabGrotesque
   Desktop ≥1024px | Tablet 768–1023px | Mobile <768px
   ========================= */

:root {
  --font-sans: "LabGrotesque", system-ui, -apple-system, Segoe UI, Roboto, Arial,
    sans-serif;

  /* Desktop/Tablet sizes (per Design) */
  --h1: 60px;
  --h2: 48px;
  --h3: 40px;
  /* --h4: clamp(22px, 2vw, 32px); */
  --h4: 32px;
  --h5: 24px;
  --h6: 20px;
  --lh-head: 120%;
  --lh-head-tight: 110%;

  --text-big: 22px;
  --lh-big: 28px;
  --text-std: 18px;
  --lh-std: 24px;
  --text-small: 14px;
  --lh-small: 20px;

  /* Mobile sizes (per Design) */
  --text-big-mobile: 20px;
  --lh-big-mobile: 24px;
  --text-std-mobile: 16px;
  --lh-std-mobile: 24px;
  --text-small-mobile: 12px;
  --lh-small-mobile: 16px;

  --ls-1: 1px; /* letter-spacing optional */

  --bg-color-dark-blue: #1a1375;
  --bg-color-light-blue: #1f2b97;

  --color-text: #1a1375;
  --accent: #02f3ec;
  --mobile-container-width: 90%;
}

/* =========================
   Lab Grotesque – Custom Font
   ========================= */

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-Thin.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-ThinItalic.woff2") format("woff2");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-LightItalic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-MediumItalic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-BoldItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesque";
  src: url("fonts/LabGrotesque-BlackItalic.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* =========================
   Lab Grotesque Mono
   ========================= */

@font-face {
  font-family: "LabGrotesqueMono";
  src: url("fonts/LabGrotesqueMono.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "LabGrotesqueMono";
  src: url("fonts/LabGrotesqueMono-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Beispiel-Zuweisung */
body {
  font-family: "LabGrotesque", sans-serif;
  color: #;
}
code,
pre {
  font-family: "LabGrotesqueMono", monospace;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span {
  font-family: "LabGrotesque", sans-serif;
}

body {
  color: currentColor;
}

/* ========== HEADLINES (Desktop/Tablet default) ========== */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-sans);
  font-weight: 400;
  line-height: var(--lh-head);
  letter-spacing: 0; /* optional, neutral */
  margin: 0 0 10px;
  color: currentColor;
}

h1,
h1 span,
.h1 {
  font-size: var(--h1);
}
h2,
h2 span,
.h2 {
  font-size: var(--h2);
}
h3,
h3 span,
.h3 {
  font-size: var(--h3);
}
h4,
h4 span,
.h4 {
  font-size: var(--h4);
}
h5,
h5 span,
.h5 {
  font-size: var(--h5);
}
h6,
h6 span,
.h6 {
  font-size: var(--h6);
}

a {
  font-weight: 500;
  /* text-decoration: underline; */
}

/* ========== TEXT STYLES (Desktop/Tablet default) ========== */

.versal {
  text-transform: uppercase;
  letter-spacing: var(--ls-1);
}

.h1-big h1 {
  /* font-size: var(--h1) !important; */
}

.text-big {
  font-family: var(--font-sans);
  font-size: var(--text-big);
  line-height: var(--lh-big);
  font-weight: 400;
}

.text-standard,
.text-standard p,
.text-standard div,
.text-standard span {
  font-family: var(--font-sans);
  font-size: var(--text-std);
  line-height: var(--lh-std);
  font-weight: 400;
}

.text-small,
.text-small p,
.text-small div,
.text-small span,
.text-small li {
  font-family: var(--font-sans);
  font-size: var(--text-small);
  line-height: var(--lh-small);
  font-weight: 400;
  letter-spacing: 0px;
}

.ls-1 {
  letter-spacing: var(--ls-1);
}

/* ========== TABLET (768–1023px) – gleich wie Desktop ========== */
@media (min-width: 768px) and (max-width: 1023.98px) {
  /* explizit gesetzt, Werte identisch mit Desktop – lässt sich bei Bedarf später leicht anpassen */
  h1,
  .h1 {
    font-size: 60px;
  }
  h2,
  .h2 {
    font-size: 48px;
  }
  h3,
  .h3 {
    font-size: 40px;
  }
  h4,
  .h4 {
    font-size: 32px;
  }
  h5,
  .h5 {
    font-size: 24px;
  }
  h6,
  .h6 {
    font-size: 20px;
  }

  .text-big {
    font-size: 22px;
    line-height: 28px;
  }
  .text-standard {
    font-size: 18px;
    line-height: 24px;
  }
  .text-small {
    font-size: 14px;
    line-height: 20px;
  }
}

/* ========== MOBILE (<768px) – reduzierte Größen laut Mobile-Layout ========== */
@media (max-width: 768px) {
  h1,
  .h1 {
    font-size: 48px;
    line-height: var(--lh-head-tight);
  }
  h2,
  .h2 {
    font-size: 40px;
    line-height: var(--lh-head-tight);
  }
  h3,
  .h3 {
    font-size: 32px;
    line-height: var(--lh-head-tight);
  }
  h4,
  .h4 {
    font-size: 28px;
    line-height: var(--lh-head-tight);
  }
  h5,
  .h5 {
    font-size: 22px;
    line-height: var(--lh-head-tight);
  }
  h6,
  .h6 {
    font-size: 18px;
    line-height: var(--lh-head-tight);
  }

  a,
  abbr,
  acronym,
  address,
  applet,
  article,
  aside,
  audio,
  b,
  big,
  blockquote,
  body,
  canvas,
  caption,
  center,
  cite,
  code,
  dd,
  del,
  details,
  dfn,
  div,
  dl,
  dt,
  em,
  embed,
  fieldset,
  figcaption,
  figure,
  footer,
  form,
  header,
  hgroup,
  html,
  i,
  iframe,
  img,
  ins,
  kbd,
  label,
  legend,
  li,
  mark,
  menu,
  nav,
  object,
  ol,
  output,
  p,
  pre,
  q,
  ruby,
  s,
  samp,
  section,
  small,
  span,
  strike,
  strong,
  sub,
  summary,
  sup,
  table,
  tbody,
  td,
  tfoot,
  th,
  thead,
  time,
  tr,
  tt,
  u,
  ul,
  var,
  video {
    font-size: var(--text-std-mobile);
  }

  .text-big {
    font-size: 20px;
    line-height: 28px;
  }
  .text-standard {
    font-size: 16px;
    line-height: 24px;
  }
  .text-small {
    font-size: 12px;
    line-height: 16px;
  }
}

.blue-100 h1,
.blue-100 h2,
.blue-100 h3,
.blue-100 h4,
.blue-100 h5,
.blue-100 h6,
.blue-100 p,
.blue-100 span,
.blue-100 li,
.blue-100 a {
  color: var(--color-text);
}

.primary-100 h1,
.primary-100 h2,
.primary-100 h3,
.primary-100 h4,
.primary-100 h5,
.primary-100 h6,
.primary-100 p,
.primary-100 span,
.primary-100 li {
  color: #3245f2;
}

.secondary-100 h1,
.secondary-100 h2,
.secondary-100 h3,
.secondary-100 h4,
.secondary-100 h5,
.secondary-100 h6,
.secondary-100 p,
.secondary-100 span,
.secondary-100 li {
  color: #02f3ec;
}

a {
  opacity: 1 !important;
}

.nectar-cta a {
  position: relative;
  text-decoration: none;
  opacity: 1 !important;

  background-image: linear-gradient(currentColor, currentColor);
  background-size: 100% 1px; /* thickness */
  background-repeat: no-repeat;
  background-position: 0 100%; /* underline */
  padding-bottom: 4px; /* underline-offset */
}

.light a {
  color: #fff !important;
}

a:hover {
  opacity: 0.8 !important;
}

body
  #slide-out-widget-area
  .inner-wrap
  > .inner
  .off-canvas-menu-container
  li
  > a {
  font-family: var(--font-sans);
  font-size: var(--text-std);
  line-height: 110%;
  font-weight: 400;
  letter-spacing: 0;
}

/* WEITERE STYLINGS */

div#header-outer {
  border-bottom: 0px !important;
}

body[data-hhun="1"] #header-outer[data-remove-fixed="1"] {
  position: relative;
}

header#top,
#header-outer,
#header-space {
  display: inherit !important;
}

#header-section h1 {
  font-size: clamp(66px, 5vw, 98.12px);
}

#header-section h3 {
  font-size: clamp(32px, 2.2vw, 40px);
}

#header-section h4 {
  font-size: clamp(26px, 1.8vw, 32px);
}

.hero-badge {
  width: 40vw;
  max-width: 720px;
  left: 0 !important;
  z-index: 10000;
  pointer-events: none;
  margin: 0 auto;
}

.header-section-main-content {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

div#header-space {
  display: none;
}

.footer-logo {
  width: 200px;
  height: auto;
}

body #footer-outer .row {
  padding: 0 !important;
}

.global-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 56px;
  width: 100%;
}

@media (max-width: 1000px) {
  .hero-badge {
    max-height: 80vh;
    max-width: 80vw;
    width: auto;
    margin: 0;
    position: relative;
    left: 0;
  }

  .header-section-main-content {
    justify-content: flex-start;
  }

  .hero_text_desc h4 {
    font-size: 28px;
  }

  .global-footer {
    gap: 32px;
    justify-content: space-between;
  }
}

@media (max-width: 1200px) {
  #header-section h1 {
    font-size: clamp(56px, 4.6vw, 76px);
    margin-bottom: 13px;
  }

  #header-section div {
    min-height: auto !important;
  }
  #header-section {
    transform: translateY(0px);
  }
}

@media (min-width: 690px) and (max-width: 1200px) {
  #header-section h1 {
    font-size: clamp(46px, 4.6vw, 56px);
    margin-bottom: 13px;
  }
}

@media (max-width: 768px) {
  .mobile-hidden {
    display: none !important;
  }
}

@media (max-width: 320px) {
  #header-section h1 {
    font-size: 46px;
  }

  #header-section.header-visa-information h1 {
    font-size: 40px;
  }
}

@media (min-width: 2600px) {
  .hero-badge {
    max-width: 920px;
  }

  .hero-right-column .vc_column-inner {
    transform: translateY(-200px) !important;
  }
}

.arrow_back_button a.link_text::before {
  content: "";
  display: inline-block;
  width: 36px; /* Icon-Breite */
  height: 36px; /* Icon-Höhe */
  margin-right: 10px; /* Abstand zum Text */
  background: url("./resources/svg/arrow-left.svg") no-repeat center center;
  background-size: contain;
  vertical-align: middle;
}

.arrow_down_left_button_white a.link_text .text::after,
.button-with-arrow::after {
  content: "";
  display: inline-block;
  width: 36px;
  height: 36px;
  margin-left: 6px;
  vertical-align: middle;

  /* SVG als Maske */
  -webkit-mask: url("./resources/svg/ArrowDownLeft.svg") no-repeat center;
  mask: url("./resources/svg/ArrowDownLeft.svg") no-repeat center;
  -webkit-mask-size: contain;
  mask-size: contain;

  /* Farbe kommt von currentColor */
  background-color: currentColor;
}

.mail_button a.link_text::before {
  content: "";
  display: inline-block;
  width: 28px; /* Icon-Breite */
  height: 28px; /* Icon-Höhe */
  margin-right: 10px; /* Abstand zum Text */
  background: url("./resources/svg/email.svg") no-repeat center center;
  background-size: contain;
  vertical-align: middle;
}

/* Startseite - Menü nach Header-Bereich */

.nectar-hor-list-item {
  border: 0 !important;
}

.menu-with-alternating-bg-colors .nectar-hor-list-item {
  padding: 40px 20px !important;
  color: #fff;
}

/* mobile */
@media (max-width: 690px) {
  .menu-with-alternating-bg-colors .nectar-hor-list-item {
    padding: 20px 20px;
    color: #fff;
  }
}

.menu-with-alternating-bg-colors .nectar-hor-list-item:nth-child(odd) {
  background-color: #1f2b97;
}

.menu-with-alternating-bg-colors .nectar-hor-list-item:nth-child(even) {
  background-color: #1a1375;
}

.nectar-hor-list-item[data-columns="3"][data-column-layout="large_middle"]
  > div:nth-child(1) {
  width: 20%;
}

.nectar-hor-list-item[data-columns="3"][data-column-layout="large_middle"]
  > div:nth-child(2) {
  width: 65%;
}

.nectar-hor-list-item[data-columns="3"][data-column-layout="large_middle"]
  > div:nth-child(3) {
  width: 15%;
}

/* END - Startseite - Menü nach Header-Bereich */

/* Startseite - Newsletter Form - 2-Spalten-Layout */

form#sib_signup_form_2 input[type="text"],
form#sib_signup_form_2 input[type="email"] {
  background-color: #fff;
}

form#sib_signup_form_2 input[type="submit"] {
  background-color: white;
  color: #000;
}

/* 2 Spalten + feste Zuordnung (Zeile 1: First + Email | Zeile 2: Last + Organisation) */
form#sib_signup_form_2 .sib_signup_box_inside_2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-areas:
    "fn email"
    "ln org"
    "submit submit";
  gap: 20px !important;
  align-items: start;
}

/* Bereiche zuweisen */
form#sib_signup_form_2 .sib_signup_box_inside_2 > p.sib-FIRSTNAME-area {
  grid-area: fn !important;
}
form#sib_signup_form_2 .sib_signup_box_inside_2 > p.sib-LASTNAME-area {
  grid-area: ln !important;
}
form#sib_signup_form_2 .sib_signup_box_inside_2 > p.sib-email-area {
  grid-area: email !important;
}
form#sib_signup_form_2 .sib_signup_box_inside_2 > p.sib-JOB_TITLE-area {
  grid-area: org !important;
}

/* Submit */
form#sib_signup_form_2 .sib_signup_box_inside_2 > p:last-of-type {
  grid-area: submit !important;
  margin: 0 !important;
}

/* Inputs volle Breite */
form#sib_signup_form_2 input[type="email"],
form#sib_signup_form_2 input[type="text"] {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Mobile: 1 Spalte */
@media (max-width: 768px) {
  form#sib_signup_form_2 .sib_signup_box_inside_2 {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "email"
      "fn"
      "ln"
      "org"
      "submit";
  }
}

/* END - Startseite - Newsletter Form - 2-Spalten-Layout */

/* Desktop: 64px Abstand zwischen Privacy Policy und Impressum */
.footer_legals .nectar-cta {
  margin-right: 64px;
}
.footer_legals .nectar-cta:last-child {
  margin-right: 0;
}

/* Mobile: 16px Abstand */
@media (max-width: 768px) {
  .footer_legals .nectar-cta {
    margin-right: 16px;
  }
  .footer_legals .nectar-cta:last-child {
    margin-right: 0;
  }
}

/* Off Canvas Menü */
span.nectar-menu-label {
  padding: 0;
  margin-left: 0;
  font-weight: 300;
  text-transform: uppercase;
}

body #slide-out-widget-area .nectar-menu-label:before {
  background-color: transparent !important;
}

#slide-out-widget-area.slide-out-from-right {
  /* width: 100% !important; */
}

.menu-item {
  margin: 0 0 32px !important;
}

/* Letztes Menü-Item ohne Border + größerer Abstand unten */
.menu-item-last {
  /* margin: 0 0 30px !important; */
}

.menu-label {
  margin-bottom: 34px !important;
  padding-top: 40px;
  border-top: 1px solid;
}

.menu-item-with-padding {
  padding-top: 40px;
  padding-bottom: 34px !important;
  border-bottom: 1px solid;
}

.no-pt {
  padding-top: 0 !important;
}

.no-divider {
  border-top: 0;
}

#menu-item-1073 a::after {
  display: none !important;
}

.slide_out_area_close {
  text-decoration: none;
}

/* END - Off Canvas Menü */

/* Salient: Unterstreichung bei Buttons / CTA entfernen */

.off-canvas-menu-container a {
  text-decoration: none !important;
}

.off-canvas-menu-container {
  margin-top: 20px !important;
}

.menu-label a {
  cursor: auto;
}

.day__date {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1;
}
.day__date span {
  display: block;
}
.day__date strong {
  display: block;
  font-size: 44px;
  font-weight: 300;
  margin-top: 4px;
}

.tabbed > ul,
.wpb_content_element .tabbed .wpb_tabs_nav {
  margin-bottom: 70px;
}

.card__time {
  display: flex;
  gap: 42px;
  font-size: 18px;
  opacity: 0.95;
}

.arrow {
  color: var(--accent);
  font-style: normal;
  font-size: 22px;
  transform: translateY(-1px);
}

.align-top .nectar-hor-list-item > .nectar-list-item {
  vertical-align: top !important;
}

.card__speakers-list {
  font-size: 0;
}

.card__speakers-list .card__speakers-item {
  font-size: 16px; /* hier deine gewünschte Schriftgröße */
}

.card__speakers-headline {
  margin-bottom: 20px;
}

.nectar-button.regular-button.extra-color-2.button-accent {
  background-color: transparent !important;
  border-bottom: none !important;
  padding: 0;
}

.nectar-button {
  box-shadow: none !important;
}

.nectar-button.regular-button.extra-color-2.button-accent span {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid #02f3ec;
  padding-bottom: 1px;
  margin-top: auto;
  align-self: flex-start; /* ⬅ verhindert volle Breite */
  width: fit-content; /* ⬅ Underline nur unter Text */
  font-size: var(--text-std);
  font-weight: 400;
}

@media (max-width: 768px) {
  .nectar-button.regular-button.extra-color-2.button-accent span {
    font-size: var(--text-small);
    line-height: var(--lh-small);
  }
}

.blend-wrap {
  background: #17166b; /* zwingend */
}

.multiply {
  mix-blend-mode: multiply;
}

/* 1) Standard-Icon vom Salient Accordion ausblenden */
.toggle h3 a i,
.toggle h3 a .toggle-icon,
.toggle h3 a .fa,
.nectar-toggle-panel h3 a i {
  display: none !important;
}

/* 2) Eigenes Icon via ::after einblenden (nimmt currentColor an) */
.toggle h3 a,
.nectar-toggle-panel h3 a {
  position: relative;
  padding-right: 42px; /* Platz für Icon rechts */
}

.toggle h3 a::after,
.nectar-toggle-panel h3 a::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;

  /* SVG als Maske => färbbar via currentColor */
  -webkit-mask: url("/wp-content/uploads/CaretDown.svg") no-repeat center;
  mask: url("/wp-content/uploads/CaretDown.svg") no-repeat center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: currentColor;

  opacity: 0.9;
}

/* 3) Optional: anderes Icon im geöffneten Zustand */
.toggle.open h3 a::after,
.nectar-toggle-panel.open h3 a::after,
.toggle.accordion.open h3 a::after {
  transform: translateY(-50%) rotate(180deg);
}

.toggle > .toggle-title a {
  font-size: var(--h4);
  line-height: var(--lh-head);
}

div[data-style="minimal"] .toggle > .toggle-title a {
  margin: 52px 0 20px;
  padding: 20px 0;
}

.toggle-title h3 {
  margin-bottom: 0 !important;
}

.light div[data-style="minimal"] .toggle {
  border-color: #fff;
  border-bottom: 1px solid #fff;
}

.info-list.two-cols {
  color: #fff;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
  row-gap: 12px;
  font-size: var(--text-small);
}

.info-list.two-cols li {
  margin: 0;
}

.info-list.two-cols li::marker {
  display: none;
}

.info-list.two-cols {
  list-style: none; /* Marker aus */
  margin: 0;
  padding: 0; /* verhindert Einzug */
}

.info-list.two-cols li {
  list-style: none; /* Fallback */
  margin: 0;
  padding: 0;
}

.uppercase {
  text-transform: uppercase;
  font-weight: inherit;
}

.info-list__item-2 {
  font-size: var(--text-std);
}

.info-list__item-2.ls-1 {
  text-align: right;
}

.info-list__item-2 .card__time {
  display: inline-flex;
}

.no-text-decoration a {
  text-decoration: none !important;
}

.card__more:hover {
  color: var(--accent) !important;
}

@media (max-width: 768px) {
  .m-mb-16 p {
    margin-bottom: 16px !important;
  }
}

@media (min-width: 1000px) and (max-width: 1160px) {
  .row .nectar-hor-list-item h3 {
    font-size: var(--h4) !important;
  }
}

.z-index-100 {
  z-index: 100 !important;
}

/* START PAGE SCHEDULE - Anpassungen für Tabs im Programm-Übersichtsbereich */
/* Tabs Grundlayout */
.wpb_tabs_nav {
  display: flex;
  flex-wrap: wrap;
  background: transparent;
}

/* Alle Tabs */
.wpb_tabs_nav .tab-item {
  background: transparent;
}

/* Link-Reset */
.wpb_tabs_nav .tab-item > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border-top: 1px solid #fff !important;
  border-bottom: 1px solid #fff !important;
  color: #fff;
  text-decoration: none;
  background: transparent;
  font-size: 14px;
  line-height: 1;
}

/* Aktiver Tab (weiß) */
.wpb_tabs_nav .tab-item.active-tab > a {
  background: #ffffff;
  color: #17166b !important;
  border-color: #ffffff;
}

.tabbed[data-color-scheme="accent-color"][data-style="default"]
  li:not(.cta-button)
  .active-tab {
  background-color: #fff;
  border-color: #fff;
}

/* Tab-Titel größer */
.wpb_tabs_nav .tab-item > a > span {
  font-size: 20px;
}

/* Datum (SEP / Zahl) */
.wpb_tabs_nav .tab-item span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Alle anderen Tabs: gleich breit */
.wpb_tabs_nav .tab-item {
  flex: 1 1 0;
  text-align: center;
}

.wpb_tabs_nav .tab-item:first-child > a {
  border-left: 1px solid #fff !important;
}

.wpb_tabs_nav .tab-item:last-child > a {
  border-right: 1px solid #fff !important;
}

/* Program Overview: Pfeil links */

/* Einheitliche Tab-Höhe + Icon beeinflusst Höhe nicht */
.wpb_tabs_nav .tab-item > a {
  min-height: 56px; /* ggf. 52–60px anpassen */
  box-sizing: border-box;
  align-items: center;
}

/* ::before als fixes Icon (kein Höhen-Impact durch Line-Box) */
.wpb_tabs_nav .tab-item:last-child > a::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 16px; /* verhindert “mitwachsen” */
  display: block; /* statt inline-block */
  margin-right: 8px;

  -webkit-mask: url("./resources/svg/ArrowUpLeft.svg") no-repeat center;
  mask: url("./resources/svg/ArrowUpLeft.svg") no-repeat center;
  background-color: currentColor;
}

/* Optional: verhindert, dass Textzeilen die Höhe verändern */
.wpb_tabs_nav .tab-item > a {
  line-height: 1;
}

/* Hover */
.wpb_tabs_nav .tab-item > a:hover {
  background: rgba(255, 255, 255, 0.08);
}

.light .tabbed > ul li a {
  background-color: transparent;
  border-color: #fff;
}

.light .tabbed > ul li a,
.light .tabbed > ul li:last-child a {
  border-color: #fff;
}

.light .tabbed > ul li:last-child a {
  border: inherit;
}

.card__time span {
  font-size: var(--text-std);
}

.wpb_tabs_nav .tab-item > a > span {
  text-wrap: no-wrap;
}

.wpb_tabs_nav .tab-item > a > span {
  line-height: 120% !important;
}

.wpb_tabs_nav .tab-item {
  flex: 0 0 20% !important;
  max-width: 20% !important;
}

.wpb_tabs_nav .tab-item:last-child > a span {
  text-wrap: auto;
}

@media (max-width: 920px) {
  .tabbed > ul,
  .wpb_content_element .tabbed .wpb_tabs_nav {
    margin-bottom: 40px;
  }

  .wpb_tabs_nav .tab-item > a > span {
    text-wrap: inherit;
    font-size: 16px !important;
    line-height: 26px;
  }
}

@media (max-width: 800px) {
  /* Tabs immer in einer Zeile */
  .wpb_tabs_nav {
    flex-wrap: nowrap !important;
  }

  /* 5 Tabs = 20% je Tab */
  .wpb_tabs_nav .tab-item {
    flex: 0 0 20% !important;
    max-width: 20% !important;
  }

  /* damit es auf Mobile wirklich passt */
  .wpb_tabs_nav .tab-item > a {
    flex-direction: column; /* Inhalt im Tab untereinander */
    padding: 10px 8px;
    min-height: 56px;
    text-align: center;
  }

  /* Icon beim letzten Tab zentriert */
  .wpb_tabs_nav .tab-item:last-child > a::before {
    margin-right: 0;
    margin-bottom: 6px;
  }

  /* optional: Titel etwas kleiner, damit "Program Overview" nicht sprengt */
  .wpb_tabs_nav .tab-item > a > span {
    font-size: 16px;
  }

  .wpb_tabs_nav .tab-item > a {
    padding: 8px 2px;
  }
}

@media (max-width: 600px) {
  .wpb_tabs_nav .tab-item > a {
    flex-direction: column;
    align-items: center; /* optional */
    justify-content: center;
    gap: 6px; /* optional kleiner Abstand */
    text-align: center;
  }

  /* Optional: Icon über Text statt links */
  .wpb_tabs_nav .tab-item:last-child > a::before {
    margin-right: 0;
    margin-bottom: 6px;
  }
  .wpb_tabs_nav .tab-item > a > span {
    font-size: 14px !important;
    line-height: 26px;
  }

  .wpb_tabs_nav {
    flex-wrap: nowrap;
  }

  .wpb_tabs_nav .tab-item {
    flex: 1 1 0;
  }
}

@media (max-width: 400px) {
  .wpb_tabs_nav .tab-item > a > span {
    font-size: 14px !important;
  }

  /* program overview noch kleiner */
  .wpb_tabs_nav .tab-item:last-child > a span {
    text-wrap: auto;
    font-size: 12px !important;
    line-height: 16px;
  }
}

/* END PAGE SCHEDULE - Anpassungen für Tabs im Programm-Übersichtsbereich */

/* MOBILE */
@media (max-width: 690px) {
  .find_out_more_acatech_logo_column .right.img-with-aniamtion-wrap,
  .mobile-text-align-left p,
  .mobile-text-align-left {
    text-align: left !important;
  }

  .mobile-text-align-right,
  .mobile-text-align-right p {
    text-align: right !important;
  }
}

/* SVG */

.svg_logo_container svg {
  max-width: 100% !important;
  height: auto !important;
}

.page-host.svg_02 svg {
  width: 520px;
  height: auto;
  padding-right: 150px;
}

/* TABLET AND DESKTOP ONLY */
@media (min-width: 690px) {
  .munich-at-a-glance-columns .column_container {
    padding-right: 6% !important;
  }

  .card__description {
    max-width: 60%;
  }
}
/* END - TABLET AND DESKTOP ONLY */

/* MOBILE ONLY */

@media (max-width: 690px) {
  #header-section.header-accomodation h1 {
    font-size: clamp(28px, 9vw, 56px);
  }
}

@media (max-width: 690px) {
  .left-pulled .hero-right-column {
    left: 25%;
    max-width: 75%;
  }

  .right-pulled .hero-right-column {
    left: 0;
    max-width: 100%;
  }

  .left-pulled .svg_logo_container svg {
    transform: translate(-25%, -20px);
    width: 100%;
    max-width: 100% !important;
    height: auto !important;
  }

  .header-home svg {
    translate: -26px;
  }

  .header-visa-information.left-pulled .svg_logo_container svg,
  .header-accomodation.left-pulled .svg_logo_container svg {
    transform: scale(0.9) translate(-18%, 0);
  }

  .header-visa-information .hero-right-column {
    margin-top: 36px;
  }

  .header-accomodation .hero-right-column {
    margin-top: 0px;
  }

  .header-technical-tours.left-pulled .svg_logo_container svg {
    transform: scale(1.4) translate(-24%, 0);
  }

  .header-technical-tours .hero-right-column {
    margin-top: 110px;
  }

  .header-venue.left-pulled .svg_logo_container svg {
    transform: scale(1) translate(-40%, 0);
  }

  .header-venue .hero-right-column {
    margin-top: -50px;
    margin-left: -20px;
    max-width: 80%;
    translate: -20px 0;
    /* margin-left: -50px; */
  }

  .header-munich.left-pulled .svg_logo_container svg {
    transform: scale(1.3) translate(-27%, 0);
  }

  .header-munich .hero-right-column {
    padding: 0 !important;
  }

  .header-munich .hero-right-column {
    max-width: 78%;
  }

  .header-munich .hero-right-column {
    margin-top: 106px;
  }

  .header-speakers.left-pulled .svg_logo_container svg {
    transform: translate(-35%, -20px);
  }

  .right-pulled .svg_logo_container svg {
    right: 0;
    transform: translate(25%, -20px);
  }

  .header-host .hero-right-column {
    margin-top: -40px;
    max-width: 80%;
    /* margin-left: -50px; */
  }

  .header-host h1 {
    font-size: 60px !important;
  }

  .header-speakers .hero-right-column {
    margin-top: -50px;
    /* margin-left: -50px; */
  }

  .header-about-caets .hero-right-column {
    margin-top: 54px;
    padding-left: 24px !important;
  }

  .header-about-caets .svg_logo_container svg {
    transform: translate(-33%, -20px);
  }

  .page-host.svg_02 {
    text-align: left;
  }

  .page-host.svg_02 svg {
    width: 50% !important;
    height: auto !important;
    padding-right: 0;
  }

  .page-host.svg_03 svg {
    transform: scale(2.4);
  }
  .page-host.svg_03_text_headline {
    max-width: 85%;
  }

  .munich-at-a-glance-image {
    transform: translateX(15px);
  }

  .arrow_down_left_button_white a.link_text .text::after {
    width: 30px;
    height: 30px;
    margin-top: -2px;
  }

  .nectar-cta {
    margin-bottom: 12px !important;
  }

  .arrow_down_left_button_white a {
    padding-bottom: 0px;
  }

  .caets-slide__img {
    height: 455px !important;
  }

  .caets-slider {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .caets-pagination {
    right: 10px !important;
  }

  .caets-slide {
    /* translate: -12px; */
  }

  .divider-wrap.height_tablet_40px > .divider {
    height: 80px !important;
  }

  div[data-style="minimal"] .toggle > .toggle-title a {
    font-size: var(--h4) !important;
    line-height: var(--lh-head) !important;
  }
}

/* END - Mobile only */

@media (min-width: 1000px) and (max-width: 1200px) {
  .svg_logo_container {
    transform: translateX(-15%);
  }
}

/* END SVG */
.header-visa-information svg {
  width: 80%;
}

.footer_legals .nectar-cta {
  margin-bottom: 0 !important;
}

@media (max-width: 360px) {
  .footer_legals p,
  .footer_legals span {
    font-size: 12px;
  }
}

#ajax-content-wrap .nectar-hor-list-item.multiple-columns[data-columns="3"] {
  grid-row-gap: 20px;
}

.tm-modal {
  z-index: 2147483647 !important;
}

a.card__speaker-link {
  text-decoration: underline;
}
