/*
Theme Name: OBF Child
Author: oaris
Description: Your description goes here
Template: Divi
Version: 1.0.34
*/

/*=== Global SART ===*/
/* Variablen */
:root {
  --green-600: #445853;
  --green-500: #556f67;
  --green-200: #b0c0bb;

  --green-600-rgb: 68, 88, 83;
  --green-500-rgb: 85, 111, 103;
  --green-200-rgb: 176, 192, 187;

  --orange-600: #b36b3f;
  --orange-500: #ce7e4d;
  --orange-200: #f0c1a6;

  --orange-600-rgb: 179, 107, 63;
  --orange-500-rgb: 206, 126, 77;
  --orange-200-rgb: 240, 193, 166;

  /* ===== Underline vars ===== */
  --underline-height: 2px;
  --underline-bottom: -4px;
  --underline-offset: 5px;

  /* ===== Badges ===== */
  --badge-1: #6b8c82; /* Musik Acts (green-ish) */
  --badge-1-rgb: 107, 140, 130;

  --badge-2: #ce7e4d; /* Workshops (orange) */
  --badge-2-rgb: 206, 126, 77;

  --badge-3: #9a6464; /* Show & Talk (muted brick) */
  --badge-3-rgb: 154, 100, 100;
}

/* ===== FONT START ===== */
@font-face {
  font-family: 'Poppins';
  src: url('/wp-content/uploads/et-fonts/poppins-400-latin.woff2')
    format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+000-5FF;
  ascent-override: 92%;
  descent-override: 23%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Poppins';
  src: url('/wp-content/uploads/et-fonts/poppins-700-latin.woff2')
    format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+000-5FF;
  ascent-override: 92%;
  descent-override: 23%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Tan Nimbus';
  src: url('/wp-content/uploads/et-fonts/tan-nimbus-webfont.woff2')
    format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+000-5FF;
  ascent-override: 92%;
  descent-override: 23%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Righteous';
  src: url('/wp-content/uploads/et-fonts/righteous-400-latin.woff2')
    format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+000-5FF;
  ascent-override: 92%;
  descent-override: 23%;
  line-gap-override: 0%;
}
body {
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto,
    'Helvetica Neue', Arial, sans-serif;
}
h1 {
  font-family: 'Tan Nimbus', 'Poppins', system-ui, sans-serif;
}
/* ===== FONT END ===== */

/* ===== Menu START ===== */
.hidden {
  display: none !important;
}
.nav li li {
  padding: 0 12px;
  margin: 0;
}
.et-menu li li a {
  padding: 8px 16px;
  width: 216px;
}
/* ===== Menu END ===== */
/* padding Icon List */
ul.et_pb_icon_list.et_pb_module.et_flex_module {
  padding: 0;
}

/* =========================
   Links & Buttons (Underline)
   ========================= */
/* Ticket Nav Button */
/* Minimal highlight for ticket menu item */
.et_pb_menu .menu-item.ticket-highlight > a {
  text-decoration: underline;
  text-decoration-color: var(--orange-500);
  text-decoration-thickness: 3px;
  text-underline-offset: 6px; /* pushes it away from glyphs */
  font-weight: 600;
}
.et_pb_menu .menu-item.ticket-highlight > a:hover {
  text-decoration-color: var(--orange-600);
}

/* Animatd Underline */
#programm-section {
  --underline-color: var(--green-600);
  --underline-thickness: 2px;
  --underline-gap: 6px; /* used by the button bg-underline method */
  --underline-speed: 0.25s;
}

/* Text links (pseudo-element underline) */
#programm-section .location-link a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  text-decoration-color: var(--green-200);
  text-underline-offset: 3px;
}
#programm-section .location-link a:hover,
#programm-section .location-link a:focus-visible {
  text-decoration-color: transparent;
}
#programm-section .location-link a::after {
  content: '';
  position: absolute;
  inset: auto 0 calc(-1 * var(--underline-gap) + 4px) 0; /* fine-tune if needed */
  height: var(--underline-thickness);
  transform: scaleX(0);
  background-color: var(--underline-color);
  transform-origin: bottom right;
  transition: transform var(--underline-speed) ease-out;
  will-change: transform;
}
#programm-section .location-link a:hover::after,
#programm-section .location-link a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* Divi button underline (background method, no pseudo conflicts) */
#programm-section .et_pb_button.button-underline {
  display: inline-block;
  text-decoration: none;
  text-decoration-color: var(--green-200);
  text-underline-offset: 0;

  padding-bottom: var(--underline-gap); /* controls distance to text */
  background-origin: content-box; /* underline hugs text box */
  background-image: linear-gradient(
    var(--underline-color),
    var(--underline-color)
  );
  background-repeat: no-repeat;
  background-position: 0% 100%;
  background-size: 0% var(--underline-thickness);
  transition: background-size var(--underline-speed) ease-out;
  will-change: background-size;
}
#programm-section .et_pb_button.button-underline:hover,
#programm-section .et_pb_button.button-underline:focus-visible {
  text-decoration-color: transparent;
  background-size: 100% var(--underline-thickness);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  #programm-section .location-link a::after {
    transition: none;
    transform: scaleX(1);
  }
  #programm-section .et_pb_button.button-underline {
    transition: none;
    background-size: 100% var(--underline-thickness);
  }
}

/* =========================
   Shadow / Lift Cards
   ========================= */
#programm-section,
#value-proposition-section {
  --shadow-speed: 0.35s;
  --shadow-ease: ease-out;
}
#programm-section .shadow-card-green-500-rgb,
#value-proposition-section .shadow-card-green-500-rgb {
  transition: box-shadow var(--shadow-speed) var(--shadow-ease),
    transform var(--shadow-speed) var(--shadow-ease);
}
#programm-section .shadow-card-green-500-rgb:hover,
#value-proposition-section .shadow-card-green-500-rgb:hover,
#programm-section .shadow-card-green-500-rgb:focus-within,
#value-proposition-section .shadow-card-green-500-rgb:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 20px 25px -5px rgba(var(--green-500-rgb), 0.3),
    0 8px 10px -6px rgba(var(--green-500-rgb), 0.3);
}
@media (prefers-reduced-motion: reduce) {
  #programm-section .shadow-card-green-500-rgb,
  #value-proposition-section .shadow-card-green-500-rgb {
    transition: none;
    transform: none;
    box-shadow: 0 20px 25px -5px rgba(var(--green-500-rgb), 0.3),
      0 8px 10px -6px rgba(var(--green-500-rgb), 0.3);
  }
}
#programm-section .shadow-card-green-500-rgb {
  border-color: rgba(221, 221, 221, 0.5) !important;
}
#programm-section .act-fallback-text {
  color: #f9f9f9 !important;
}
/*=== Global END ===*/

/* ===== Header Menu START ===== */
#menu-main .sub-menu {
  background-color: #fff !important;
}
/* ===== Header Menu END ===== */

/* ===== Back to top Button START ===== */
.et_pb_scroll_top.et-pb-icon {
  background: rgba(var(--green-500-rgb), 0.8);
}
/* ===== Back to top Button ENDE ===== */

/* ========  Programm Loop Elements START ============ */
/* category badges*/
#programm-category a:hover,
.category-badge a:hover {
  text-decoration: none !important;
}
#programm-category a,
.category-badge a {
  padding: 4px 12px;
  border-radius: 0.7rem;
}
/* Badge colors */
/* Musik Acts */
#programm-category a[href*='/kategorie/musik-acts/'],
.category-badge a[href*='/kategorie/musik-acts/'],
.et_pb_column:has(#programm-category a[href*='/kategorie/musik-acts/'])
  .card-divider {
  background-color: var(--badge-1);
}
/* Workshops */
#programm-category a[href*='/kategorie/workshops/'],
.category-badge a[href*='/kategorie/workshops/'],
.et_pb_column:has(#programm-category a[href*='/kategorie/workshops/'])
  .card-divider {
  background-color: var(--badge-2);
}
/* Show & Talk */
#programm-category a[href*='/kategorie/show-talk/'],
.category-badge a[href*='/kategorie/show-talk/'],
.et_pb_column:has(#programm-category a[href*='/kategorie/show-talk/'])
  .card-divider {
  background-color: var(--badge-3);
}
/* No Results */
.entry {
  padding: 1.25rem 1.5rem;
}
/* Base style - fallback for default viewport */
.act-fallback-text .et_pb_text_inner {
  font-size: clamp(12px, 1.5vw, 24px); /* fluid scaling with min/max */
}
/* Mobile devices (phones) */
@media (max-width: 767px) {
  .act-fallback-text .et_pb_text_inner {
    font-size: 7vw;
    line-height: normal;
  }
}

@media (min-width: 1900px) {
  .act-fallback-text {
    font-size: 1.5vw !important;
  }
}
@media (min-width: 2700px) {
  .act-fallback-text {
    font-size: 1.2vw !important;
  }
}
@media (min-width: 3840px) {
  .act-fallback-text {
    font-size: 0.8vw !important;
  }
}
/* ========= Programm Loop Elements END ============ */

/* START lightbox settings */
.mfp-title {
  display: none !important;
}
/* END lightbox settings */

/* START oa wp video */
.wp-block-video video {
  border-radius: 1rem;
}
/* END oa wp video */

/* Footer Menu START */
.oa-hide-hamburger nav ul li {
  display: block;
  width: 100%;
  margin: 10px 0;
}
@media (max-width: 980px) {
  .oa-hide-hamburger .et_pb_menu__menu {
    display: flex !important;
  }
  .oa-hide-hamburger .et_mobile_nav_menu {
    display: none !important;
  }
}
/* Footer Menu ENDE*/

/* ===== Kontaktformular START ===== */
/* Rechenaufgabe */
.et_pb_contact_right p input {
  padding: 7px;
  font-size: 16px !important;
}
/* OpenCall Formular */
.et_pb_with_border .et_pb_contact_form .input[type='radio'] + label i {
  display: none;
}
/* size textareas */
.et_pb_contact_field textarea.et_pb_contact_message {
  min-height: 100px;
}
/* arrow dropdown */
.et_pb_contact_field[data-type='select']:after {
  margin-top: 15px;
}
/* Abstand Felder nebeneinander */
p.et_pb_contact_field {
  padding: 0 0 0 2%;
}
/*move the labels above fields*/
.oa-contact-form-label .et_pb_contact_form_label {
  display: block !important;
  margin-left: 10px;
}
/*hide the label in the field*/
.oa-contact-form-label .et_pb_contact_field_options_title {
  display: none;
}
/*make the placeholder text the same color as field background*/
.oa-contact-form-label input::placeholder,
.oa-contact-form-label textarea::placeholder {
  color: #ffffff !important;
}
/* label design */
.oa-contact-form-label .et_pb_contact_form_label {
  font-weight: bold;
  color: #000000;
  font-size: 16px;
}
.oa-tabs-form .dsm-content-wrapper {
  padding: 15px 0 0 0 !important;
}
@media (max-width: 980px) {
  .oa-tabs-form .dsm-advanced-tabs-wrapper {
    display: block !important;
  }
}
.oa-tabs-form .dsm-advanced-tabs-wrapper .dsm-tab {
  margin: 20px;
}
/* weForms */
ul.wpuf-form.form-label-above li .wpuf-label {
  margin-bottom: 0px !important;
  color: #2b2b2b !important;
  padding-left: 10px;
  font-size: 16px !important;
}
ul.wpuf-form li .wpuf-label .required {
  color: #d98e57 !important;
}
#form-preview-stage.wpuf-style ul.wpuf-form .wpuf-fields input[type='text'],
.wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input[type='text'],
#form-preview-stage.wpuf-style ul.wpuf-form .wpuf-fields input[type='password'],
.wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input[type='password'],
#form-preview-stage.wpuf-style ul.wpuf-form .wpuf-fields input[type='email'],
.wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input[type='email'],
#form-preview-stage.wpuf-style ul.wpuf-form .wpuf-fields input[type='url'],
.wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input[type='url'],
#form-preview-stage.wpuf-style ul.wpuf-form .wpuf-fields input[type='number'],
.wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input[type='number'],
#form-preview-stage.wpuf-style ul.wpuf-form .wpuf-fields input[type='tel'],
.wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input[type='tel'],
#form-preview-stage.wpuf-style ul.wpuf-form .wpuf-fields textarea,
.wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields textarea {
  background: #ffffff !important;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: 2px solid #2b2b2b !important;
  border-radius: 0.8rem;
  color: #2b2b2b !important;
  width: 100% !important;
  padding: 10px 15px !important;
  font-size: 16px !important;
}
#form-preview-stage.wpuf-style ul.wpuf-form .wpuf-fields select,
.wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields select {
  border: 2px solid #2b2b2b !important;
  padding: 10px 15px !important;
  height: auto !important;
  -webkit-border-radius: 0.8rem !important;
  -moz-border-radius: 0.8rem !important;
  border-radius: 0.8rem !important;
  min-width: 150px;
  max-width: 100%;
  color: #2b2b2b !important;
  font-size: 16px !important;
}
ul.wpuf-form li .wpuf-fields .wpuf-help {
  color: #7a7a7a !important;
  margin: 3px 0 0 0 !important;
  font-size: 16px !important;
  padding-left: 10px;
  line-height: 1.3em;
}
ul.wpuf-form li .wpuf-fields .wpuf-radio-block,
ul.wpuf-form li .wpuf-fields .wpuf-checkbox-block {
  color: #2b2b2b !important;
  font-size: 16px !important;
  margin-bottom: 0px !important;
  margin-top: 6px;
  margin-left: 10px;
}
ul.wpuf-form .custom_html {
  color: #2b2b2b !important;
  font-size: 16px !important;
}
ul.wpuf-form .oa-form-datenschutz .wpuf-label {
  display: none !important;
}
#form-preview-stage.wpuf-style ul.wpuf-form .wpuf-submit input[type='submit'],
.wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type='submit'] {
  padding: 10px 25px !important;
  border: none !important;
  -webkit-border-radius: 0.8rem !important;
  -moz-border-radius: 0.8rem !important;
  border-radius: 0.8rem !important;
  background: #d98e57 !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-shadow: none !important;
  position: absolute;
  right: 0;
  margin-right: 45px;
}
#form-preview-stage.wpuf-style
  ul.wpuf-form
  .wpuf-submit
  input[type='submit']:hover,
.wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type='submit']:hover {
  background: #ce7e4d !important;
}
.lade-hinweistext p {
  color: #d98e57;
  font-weight: bold;
}
/* ===== Kontaktformular ENDE ===== */

/* Dropdown Translater */
.et_mobile_menu li a:hover,
.nav ul li a:hover {
  background-color: transparent;
  opacity: 1;
}

/* ===== Pretix Widget START ===== */
.pretix-widget {
  border-radius: 1rem;
}
.pretix-widget button,
.pretix-widget input[type='button'],
.pretix-widget a.pretix-widget-button,
.pretix-widget-alert-box button,
.pretix-widget-alert-box input[type='button'],
.pretix-widget-alert-box a.pretix-widget-button {
  border-radius: 0.5rem;
}
/* ===== Pretix Widget ENDE ===== */
