/* ═══════════════════════════════════════════════════════════════
   AUTOHAUS LIENESCH – Custom CSS für Enfold
   v5.0 – Elegantes dunkles Farbdesign
   ═══════════════════════════════════════════════════════════════ */

:root {
  --primary: #2f2f2f;
  --primary-dark: #222222;
  --primary-mid: #353535;
  --primary-light: #3d3d3d;
  --accent: #c7081b;
  --accent-hover: #e0091f;
  --light: #f2f2f2;
  --text: #2b2d42;
  --white: #ffffff;
  --shadow: 0 4px 30px rgba(0,0,0,.1);
}

/* ── TYPOGRAFIE ── */
body, .avia-section, .avia-cell, p { font-family:'DM Sans',sans-serif !important }
h1,h2,h3,h4,h5,h6,.av-special-heading .av-special-heading-tag { font-family:'Bebas Neue',sans-serif !important }

/* H1 innerhalb hero-section: IMMER groß + weiß + NICHT kursiv + ZENTRIERT */
.hero-section h1,
.hero-section .av-special-heading-h1 .av-special-heading-tag,
#top .hero-section .av-special-heading-tag {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(2.8rem, 5.5vw, 4.6rem) !important;
  color: #fff !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
  line-height: 1.05 !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-align: center !important;
}

/* Special Heading Container auch zentrieren */
.hero-section .av-special-heading {
  text-align: center !important;
}

/* Section-Label INNERHALB der Hero-Section: rot bleiben, nicht weiß */
.hero-section .section-label p,
.hero-section .avia_textblock.section-label p,
.hero-section .flex_column_div.section-label > .av_textblock_section p {
  color: var(--accent) !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* Blockquote/Modern-Quote Styles global neutralisieren */
.av-special-heading.blockquote .av-special-heading-tag,
.av-special-heading.modern-quote .av-special-heading-tag,
#top .av-special-heading.blockquote .av-special-heading-tag,
#top .av-special-heading.modern-quote .av-special-heading-tag {
  font-style: normal !important;
  border: none !important;
  padding: 0 !important;
  quotes: none !important;
}

.av-special-heading.blockquote::before,
.av-special-heading.blockquote::after,
.av-special-heading.modern-quote::before,
.av-special-heading.modern-quote::after {
  display: none !important;
  content: none !important;
}

/* Heading-Border (Linie unter Überschriften) global ausblenden */
.special-heading-border {
  display: none !important;
}


/* ════════════════════════════════════════════
   HEADER
   ════════════════════════════════════════════ */
#header_main, #header, .header_color, .header_bg {
  background: var(--primary) !important;
  border-bottom: none !important;
}
#header .logo img { filter:brightness(0) invert(1); height:48px !important; width:auto !important }
#header .inner-container { display:flex !important; align-items:center !important; justify-content:space-between !important; width:100% !important }
#header .logo, #header .logo a { display:flex !important; align-items:center !important }

/* Nav Links */
#avia-menu > li > a .avia-menu-text { font-family:'DM Sans',sans-serif !important; font-size:.82rem !important; font-weight:500 !important; letter-spacing:.06em !important; text-transform:uppercase !important; color:rgba(255,255,255,.72) !important }
#avia-menu > li > a:hover .avia-menu-text { color:#fff !important }
#avia-menu > li > a .avia-menu-fx { display:none !important }
#avia-menu > li > a .avia-bullet { display:none !important }

/* ── Anrufen CTA – nur Desktop ── */
@media (min-width: 990px) {
  #avia-menu > li.nav-cta,
  #menu-item-29 {
    display:flex !important;
    align-items:center !important;
    align-self:center !important;
  }
  #menu-item-29 > a,
  #avia-menu > li.nav-cta > a {
    background:var(--accent) !important;
    border-radius:50px !important;
    padding:9px 24px !important;
    height:auto !important;
    line-height:1.4 !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:6px;
    margin:0 0 0 12px !important;
    vertical-align:middle !important;
    position:relative !important;
    top:auto !important;
    bottom:auto !important;
    transition:all .3s;
  }
  #top #header_main #menu-item-29.menu-item-top-level > a,
  #top #wrap_all #menu-item-29 > a,
  .av-main-nav #menu-item-29 > a {
    padding:9px 24px !important;
    margin-top:auto !important;
    margin-bottom:auto !important;
  }
  #menu-item-29 > a .avia-menu-text { color:#fff !important; font-weight:600 !important }
  #menu-item-29 > a:hover { background:var(--accent-hover) !important; transform:scale(1.03) }
  #menu-item-29 > a::before { content:"✆"; font-size:1rem; color:#fff; line-height:1 }
}

/* Suchicon + Burger-Menü auf Desktop ausblenden */
#menu-item-search, li.menu-item-search-dropdown, .av-main-nav .menu-item-search-dropdown, #top #header .menu-item-search-dropdown, .av-main-nav li[class*="search"] { display:none !important; visibility:hidden !important; width:0 !important; overflow:hidden !important }
#menu-item-29 > a .avia-bullet, #menu-item-29 > a .avia-menu-fx { display:none !important }

/* Burger-Menü: auf Desktop ausblenden, auf Tablet/Mobil zeigen */
@media (min-width: 990px) {
  #top .av-burger-menu-main,
  .av-burger-menu-main,
  li.av-burger-menu-main {
    display: none !important;
  }
}

/* Enfold regelt das Mobil-Menü ab Tablet-Breakpoint (990px) nativ */

/* Sticky Shadow */
.header_scrolled #header_main { box-shadow:0 2px 20px rgba(0,0,0,.4) !important }

/* Nav-Zentrierung NUR auf Desktop */
@media (min-width: 990px) {
  #top #header .av-main-nav,
  #top #header #avia-menu {
    display:flex !important;
    align-items:center !important;
  }
  #top #header #avia-menu > li:not(.av-burger-menu-main) {
    display:flex !important;
    align-items:center !important;
  }
  #top #header #avia-menu > li#menu-item-29 > a {
    padding:9px 24px !important;
    line-height:1.4 !important;
    height:auto !important;
  }
}


/* ════════════════════════════════════════════
   HERO SECTION
   ════════════════════════════════════════════ */
.hero-section, #home.hero-section,
.avia-section.hero-section {
  position: relative;
  overflow: hidden;
}

.hero-section > .container, .hero-section .av-section-cont-open { position:relative; z-index:1 }
.hero-section h1, .hero-section h2, .hero-section h3, .hero-section .av-special-heading-tag { color:#fff !important }
.hero-section .hero-red, .hero-section .av-special-heading-tag span { color:var(--accent) !important }
/* Hero-Section: alles zentriert */
.hero-section,
.hero-section .container,
.hero-section .av-section-cont-open,
.hero-section .flex_column_div,
.hero-section .entry-content-wrapper {
  text-align: center !important;
}

.hero-section p, .hero-section .avia_textblock p { color:rgba(255,255,255,.65) !important; text-transform:none !important; font-size:1.05rem !important; letter-spacing:normal !important; max-width:620px; margin-left:auto !important; margin-right:auto !important }

/* Section-Label in hero: rot + zentriert */
.hero-section .avia_textblock.section-label p { color:var(--accent) !important; text-transform:uppercase !important; font-size:16px !important; letter-spacing:.14em !important; font-family:'DM Sans',sans-serif !important; font-weight:600 !important }

/* Badge */
.avia_textblock.hero-badge { display:inline-block !important; background:rgba(255,255,255,.06) !important; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); padding:8px 20px !important; border-radius:50px !important; border:1px solid rgba(255,255,255,.1) !important; max-width:fit-content !important; width:auto !important; margin-bottom:0 !important }
.avia_textblock.hero-badge div, .avia_textblock.hero-badge p { font-family:'DM Sans',sans-serif !important; font-size:.75rem !important; color:rgba(255,255,255,.8) !important; font-weight:500 !important; letter-spacing:.06em !important; text-transform:uppercase !important; margin:0 !important; padding:0 !important; line-height:1.4 !important }

/* Stat-Boxen */
article.hero-stat-box, .hero-stat-box.iconbox { text-align:center !important; padding:24px 16px !important; background:rgba(255,255,255,.05) !important; border-radius:16px !important; border:1px solid rgba(255,255,255,.08) !important; min-height:120px !important; height:100% !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important }
.hero-stat-box .iconbox_content { display:flex !important; flex-direction:column !important; align-items:center !important; width:100% !important }
.hero-stat-box .entry-content-header { display:flex !important; flex-direction:column !important; align-items:center !important; width:100% !important; float:none !important }
.hero-stat-box .iconbox_icon { display:none !important }
.hero-stat-box .iconbox_content, .hero-stat-box .iconbox_content_container { padding-left:0 !important; margin-left:0 !important; text-align:center !important }
.hero-stat-box .iconbox_content_title { font-family:'Bebas Neue',sans-serif !important; font-size:2.6rem !important; color:#fff !important; line-height:1 !important; margin:0 0 4px !important; text-align:center !important; float:none !important; width:100% !important }
.hero-stat-box .iconbox_content_container p { font-family:'DM Sans',sans-serif !important; font-size:.72rem !important; color:rgba(255,255,255,.5) !important; text-transform:uppercase !important; letter-spacing:.06em !important; margin:0 !important; line-height:1.3 !important; text-align:center !important }
.hero-stat-box footer.entry-footer { display:none !important }
.hero-section .flex_column_div { display:flex !important; flex-direction:column !important }
.hero-section .flex_column_div > article.hero-stat-box { flex:1 !important }

/* Hero Buttons */
.hero-section .avia-button { border-radius:50px !important; font-family:'DM Sans',sans-serif !important; font-weight:600 !important; font-size:.92rem !important; padding:14px 32px !important; transition:all .3s; text-decoration:none !important }
.hero-section .avia-buttonrow-wrap .avia-button:first-child { background:var(--accent) !important; border:none !important; color:#fff !important }
.hero-section .avia-buttonrow-wrap .avia-button:first-child:hover { background:var(--accent-hover) !important; transform:translateY(-2px); box-shadow:0 6px 20px rgba(199,8,27,.35) }
.hero-section .avia-button.avia-color-light { background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.18) !important; color:#fff !important }
.hero-section .avia-button.avia-color-light .avia_iconbox_title { color:#fff !important }
.hero-section .avia-button.avia-color-light .avia_button_background { display:none !important }
.hero-section .avia-button.avia-color-light:hover { background:rgba(255,255,255,.15) !important; transform:translateY(-2px) }
.hero-section .avia-button .avia_iconbox_title { color:#fff !important; font-family:'DM Sans',sans-serif !important }


/* ════════════════════════════════════════════
   SERVICE CARDS – rote Dots + Styling
   ════════════════════════════════════════════ */
article.service-card,
.service-card.iconbox {
  background: var(--white) !important;
  padding: 2rem !important;
  border-radius: 16px !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  transition: all .35s ease;
  position: relative;
  overflow: hidden;
}
article.service-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  border-color: rgba(0,0,0,.1) !important;
}
.service-card .iconbox_icon { display: none !important }
.service-card .iconbox_content, .service-card .iconbox_content_container { padding-left: 0 !important; margin-left: 0 !important }
.service-card .entry-content-header { float: none !important }

/* Roter Dot vor dem Titel + mehr Buchstabenabstand */
.service-card .iconbox_content_title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  color: var(--text) !important;
  margin-bottom: 8px !important;
  float: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  letter-spacing: .08em !important;
}

.service-card .iconbox_content_title::before {
  content: '' !important;
  width: 10px !important;
  height: 10px !important;
  min-width: 10px;
  background: var(--accent) !important;
  border-radius: 50% !important;
  display: inline-block !important;
  flex-shrink: 0;
}

.service-card .iconbox_content_container p { font-size: .9rem !important; color: #5a5e7a !important; line-height: 1.65 !important }
.service-card footer.entry-footer { display: none !important }

/* Roter Akzent-Strich oben bei Hover */
article.service-card::before {
  content: '';
  position: absolute;
  top: 0; left: 2rem; right: 2rem;
  height: 3px;
  background: var(--accent);
  border-radius: 0 0 3px 3px;
  opacity: 0;
  transition: opacity .35s;
}
article.service-card:hover::before { opacity: 1 }


/* ════════════════════════════════════════════
   SECTION LABELS – 16px, rot, uppercase
   ════════════════════════════════════════════ */
.section-label, .section-label p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--accent) !important;
  font-weight: 600;
  line-height: 1.4 !important;
}

/* Wenn section-label auf einer Spalte liegt: Kinder NICHT beeinflussen */
.flex_column_div.section-label .av-special-heading,
.flex_column_div.section-label .av-special-heading-tag {
  font-size: clamp(2rem, 3.5vw, 3rem) !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
  color: var(--text) !important;
  text-align: center !important;
}

/* In hero-section: heading weiß */
.hero-section .flex_column_div.section-label .av-special-heading-tag {
  color: #fff !important;
  font-size: clamp(2.8rem, 5.5vw, 4.6rem) !important;
}

.flex_column_div.section-label .avia_textblock:not(.section-label) p {
  font-size: 1rem !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: #5a5e7a !important;
  font-weight: 400 !important;
}

/* In hero-section: Beschreibungstext WEISS, nicht dunkelblau */
.hero-section .flex_column_div.section-label .avia_textblock:not(.section-label) p {
  color: rgba(255,255,255,.65) !important;
}

/* Section-Label als Spalte: Abstand reduzieren */
.flex_column_div.section-label {
  margin-bottom: -10px !important;
}

.section-title { font-family: 'Bebas Neue', sans-serif !important; color: var(--text) !important }
.section-subtitle { font-family: 'DM Sans', sans-serif !important; font-size: .95rem !important; color: #5a5e7a !important; line-height: 1.7 !important }


/* ════════════════════════════════════════════
   TOPMARKEN
   ════════════════════════════════════════════ */
#marken .av-special-heading-tag {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(2rem, 3.5vw, 3rem) !important;
  color: var(--text) !important;
  font-style: normal !important;
  text-align: center !important;
}

#marken .av-special-heading-tag .hero-red {
  color: var(--accent) !important;
}

/* Partner Logos zentrieren */
#marken .avia-content-slider-inner {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}


/* ════════════════════════════════════════════
   ÜBER UNS – einheitliche Texte + Werte
   ════════════════════════════════════════════ */

/* Alle Texte im Über-uns-Bereich vereinheitlichen */
#ueber-uns p,
#ueber-uns .avia_textblock p,
#ueber-uns .avia_textblock {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .95rem !important;
  color: #5a5e7a !important;
  line-height: 1.7 !important;
}

#ueber-uns h2,
#ueber-uns .av-special-heading-tag,
#ueber-uns .section-title {
  font-family: 'Bebas Neue', sans-serif !important;
  color: var(--text) !important;
}

.values { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.5rem !important }
.value-item { display: flex !important; gap: 12px; align-items: flex-start }
.value-dot { width: 10px !important; height: 10px !important; min-width: 10px; border-radius: 50% !important; background: var(--accent) !important; margin-top: 6px; flex-shrink: 0; display: block !important }
.value-item h4 { font-family: 'DM Sans', sans-serif !important; font-size: .92rem !important; font-weight: 600 !important; color: var(--text) !important; margin: 0 0 3px !important }
.value-item p { font-size: .82rem !important; color: #5a5e7a !important; line-height: 1.55 !important; margin: 0 !important }
@media (max-width: 767px) { .values { grid-template-columns: 1fr } }

/* Alle Buttons auf der Seite einheitlich: Pill-Form, rot */
#top .avia-button.av-link-btn,
#ueber-uns .avia-button {
  background: var(--accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: .92rem !important;
  padding: 14px 32px !important;
  transition: all .3s;
}

#top .avia-button.av-link-btn .avia_iconbox_title,
#ueber-uns .avia-button .avia_iconbox_title {
  color: #fff !important;
}

#top .avia-button.av-link-btn:hover,
#ueber-uns .avia-button:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(199,8,27,.3);
}


/* ════════════════════════════════════════════
   TESTIMONIALS
   ════════════════════════════════════════════ */
.testimonial-card,
.avia-testimonial-wrapper.testimonial-card {
  background: var(--white) !important;
  padding: 2rem !important;
  border-radius: 16px !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  transition: all .3s;
}

.testimonial-card .avia-testimonial-content {
  flex: 1 !important;
}

.testimonial-card:hover { box-shadow: var(--shadow); border-color: rgba(0,0,0,.1) !important; transform: translateY(-3px) }
.testimonial-card .avia-testimonial-content::before { content: "★★★★★"; display: block; color: #f5a623; font-size: 1.1rem; letter-spacing: 3px; margin-bottom: 12px }
.testimonial-card .avia-testimonial-content, .testimonial-card .avia-testimonial-markup-entry-content p { font-size: .95rem !important; color: #5a5e7a !important; line-height: 1.7 !important; font-style: italic }
.testimonial-card .avia-testimonial-meta { margin-top: auto !important; padding-top: 1rem }
.testimonial-card .avia-testimonial-arrow-wrap { display: none !important }
.testimonial-card .avia-testimonial-name { font-family: 'DM Sans', sans-serif !important; font-size: .92rem !important; font-weight: 600 !important; color: var(--text) !important }
.testimonial-card .avia-testimonial-subtitle { font-family: 'DM Sans', sans-serif !important; font-size: .8rem !important; color: #999 !important; display: block }

/* Initialen-Kreise in Rot */
.testimonial-card .avia-testimonial-image img,
.testimonial-card .avia-testimonial-image {
  border-radius: 50% !important;
  background: var(--accent) !important;
}

/* Meta-Bereich: Kreis links, Name+Ort rechts gestapelt */
.testimonial-card .avia-testimonial-meta-mini {
  display: grid !important;
  grid-template-columns: 40px 1fr !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 0 12px !important;
}

/* Roter Kreis – nimmt beide Zeilen ein */
.testimonial-card .avia-testimonial-meta-mini::before {
  content: '';
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  background: var(--accent);
  display: block;
  grid-row: 1 / 3;
  grid-column: 1;
}

/* Name: rechts oben */
.testimonial-card .avia-testimonial-name {
  grid-row: 1;
  grid-column: 2;
  display: block !important;
  line-height: 1.3 !important;
}

/* Ort: rechts unten, volle Breite */
.testimonial-card .avia-testimonial-subtitle {
  grid-row: 2;
  grid-column: 2;
  display: block !important;
  margin-top: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}


/* ════════════════════════════════════════════
   CTA SECTION
   ════════════════════════════════════════════ */
.cta-section { position:relative; overflow:hidden; text-align:center }
.cta-section::before { display:none }
.cta-section h2, .cta-section .av-special-heading-tag { color:#fff !important }
.cta-section p, .cta-section .avia_textblock p { color:rgba(255,255,255,.65) !important }
.cta-section .avia-button { border-radius:50px !important; font-family:'DM Sans',sans-serif !important; font-weight:600 !important; padding:14px 32px !important }
.cta-section .avia-button:first-child { background:var(--accent) !important; border:none !important; color:#fff !important }
.cta-section .avia-button:first-child:hover { background:var(--accent-hover) !important }
.cta-section .avia-button.avia-color-light { background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.18) !important; color:#fff !important }
.cta-section .avia-button.avia-color-light .avia_iconbox_title { color:#fff !important }
.cta-section .avia-button.avia-color-light .avia_button_background { display:none !important }


/* ════════════════════════════════════════════
   KONTAKTFORMULAR – global (Enfold Contact Form)
   ════════════════════════════════════════════ */

/* Eingabefelder */
#top .avia_ajax_form input[type="text"],
#top .avia_ajax_form input[type="email"],
#top .avia_ajax_form input[type="tel"],
#top .avia_ajax_form textarea,
#top .avia_ajax_form select {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .92rem !important;
  padding: 14px 18px !important;
  border: 1px solid rgba(0,0,0,.1) !important;
  border-radius: 12px !important;
  background: var(--white) !important;
  color: var(--text) !important;
  transition: border-color .3s, box-shadow .3s;
  width: 100% !important;
}

#top .avia_ajax_form input:focus,
#top .avia_ajax_form textarea:focus,
#top .avia_ajax_form select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(199,8,27,.08) !important;
  outline: none !important;
}

#top .avia_ajax_form textarea {
  min-height: 150px !important;
  resize: vertical;
}

/* Labels */
#top .avia_ajax_form label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  margin-bottom: 6px !important;
}

/* Submit-Button */
#top .avia_ajax_form input[type="submit"],
#top .avia_ajax_form .button {
  background: var(--accent) !important;
  color: #fff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: .92rem !important;
  padding: 14px 40px !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer;
  transition: all .3s;
}

#top .avia_ajax_form input[type="submit"]:hover,
#top .avia_ajax_form .button:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(199,8,27,.3);
}

/* Captcha / Spam-Schutz Bereich */
#top .avia_ajax_form .value_verifier_label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: var(--text) !important;
}

/* Datenschutz-Checkbox */
#top .avia_ajax_form .av_contact_privacy_check label {
  font-size: .82rem !important;
  color: #5a5e7a !important;
  line-height: 1.55 !important;
}

#top .avia_ajax_form .av_contact_privacy_check a {
  color: var(--accent) !important;
}


/* ════════════════════════════════════════════
   KONTAKTFORMULAR SECTION (Startseite)
   ════════════════════════════════════════════ */
.cta-section-form,
#kontaktform {
  background: var(--light) !important;
  padding: 5rem 0 !important;
}

.cta-section-form .section-label,
.cta-section-form .section-label span {
  font-size: .75rem !important;
  color: var(--accent) !important;
}

.cta-section-form .section-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(2rem, 3.5vw, 3rem) !important;
  color: var(--text) !important;
}

/* Enfold Contact Form Styling */
.cta-section-form input[type="text"],
.cta-section-form input[type="email"],
.cta-section-form input[type="tel"],
.cta-section-form textarea,
.cta-section-form select {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .92rem !important;
  padding: 14px 18px !important;
  border: 1px solid rgba(0,0,0,.1) !important;
  border-radius: 12px !important;
  background: var(--white) !important;
  color: var(--text) !important;
  transition: border-color .3s, box-shadow .3s;
  width: 100% !important;
}

.cta-section-form input:focus,
.cta-section-form textarea:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(199,8,27,.08) !important;
  outline: none !important;
}

.cta-section-form textarea {
  min-height: 150px !important;
  resize: vertical;
}

.cta-section-form label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Submit-Button */
.cta-section-form input[type="submit"],
.cta-section-form button[type="submit"],
.cta-section-form .button,
.cta-section-form .avia-button {
  background: var(--accent) !important;
  color: #fff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: .92rem !important;
  padding: 14px 40px !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer;
  transition: all .3s;
}

.cta-section-form input[type="submit"]:hover,
.cta-section-form button[type="submit"]:hover,
.cta-section-form .avia-button:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(199,8,27,.3);
}


/* ════════════════════════════════════════════
   GLOBALE HEADING/FONT KORREKTUREN
   ════════════════════════════════════════════ */

/* hero-red Klasse überall = Accent-Farbe */
.hero-red, span.hero-red {
  color: var(--accent) !important;
}

/* Heading Letter-Spacing */
.av-special-heading-tag {
  font-family: 'Bebas Neue', sans-serif !important;
  letter-spacing: .04em !important;
}

h3, h4, .iconbox_content_title, .widgettitle {
  letter-spacing: .06em !important;
}

/* Footer Überschriften */
#footer h3, #footer h4, #footer .widgettitle {
  color: rgba(255,255,255,.9) !important;
  font-family: 'DM Sans', sans-serif !important;
  letter-spacing: .08em !important;
}


/* ════════════════════════════════════════════
   COOKIE BANNER & EINSTELLUNGEN
   ════════════════════════════════════════════ */

/* ── Banner ── */
.avia-cookie-consent {
  background: var(--primary) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding: 20px 0 !important;
  box-shadow: 0 -4px 30px rgba(0,0,0,.3) !important;
}

.avia-cookie-consent .avia_cookie_text {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .88rem !important;
  color: rgba(255,255,255,.7) !important;
  line-height: 1.65 !important;
  margin-bottom: 16px !important;
}

/* ── Banner Buttons ── */
.avia-cookie-consent .avia-cookie-consent-button {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  padding: 10px 24px !important;
  border-radius: 50px !important;
  border: none !important;
  cursor: pointer;
  transition: all .3s !important;
  margin: 4px 8px 4px 0 !important;
  text-decoration: none !important;
  display: inline-block !important;
}

/* "Einstellungen akzeptieren" – Hauptbutton rot */
.avia-cookie-consent-button-1,
.avia-cookie-consent-button-4 {
  background: var(--accent) !important;
  color: #fff !important;
}

.avia-cookie-consent-button-1:hover,
.avia-cookie-consent-button-4:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(199,8,27,.3);
}

/* "Verbergen" – dezenter Button */
.avia-cookie-consent-button-2,
.avia-cookie-consent-button-5 {
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.7) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
}

.avia-cookie-consent-button-2:hover,
.avia-cookie-consent-button-5:hover {
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
}

/* "Einstellungen" – Outline-Button */
.avia-cookie-consent-button-3 {
  background: transparent !important;
  color: rgba(255,255,255,.7) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
}

.avia-cookie-consent-button-3:hover {
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
}

/* ── Einstellungen-Popup ── */
#av-consent-extra-info,
.av-inline-modal {
  background: var(--primary-light) !important;
  border-radius: 16px !important;
  padding: 2rem !important;
  box-shadow: 0 10px 50px rgba(0,0,0,.5) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}

#av-consent-extra-info h4,
#av-consent-extra-info h3,
#av-consent-extra-info h2,
.av-inline-modal h4,
.av-inline-modal h3 {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin-bottom: 12px !important;
}

/* Popup Inhaltsbereich – weißer Hintergrund → dunkler Text */
#av-consent-extra-info .av-consent-content,
#av-consent-extra-info section,
#av-consent-extra-info .entry-content,
#av-consent-extra-info .avia_textblock,
#av-consent-extra-info .avia-section,
#av-consent-extra-info div[class*="tab-content"],
#av-consent-extra-info .av-cookie-consent-detail-wrap {
  background: #fff !important;
  color: var(--text) !important;
  border-radius: 10px !important;
  padding: 1.5rem !important;
}

#av-consent-extra-info p,
#av-consent-extra-info section p,
#av-consent-extra-info .entry-content p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .88rem !important;
  color: var(--text) !important;
  line-height: 1.65 !important;
}

/* Navigation Links (Tabs links) */
#av-consent-extra-info a,
#av-consent-extra-info .av-consent-nav a {
  color: rgba(255,255,255,.6) !important;
  text-decoration: none !important;
  transition: color .3s !important;
}

#av-consent-extra-info a:hover,
#av-consent-extra-info .av-consent-nav a:hover {
  color: var(--accent) !important;
}

#av-consent-extra-info a.active,
#av-consent-extra-info .av-consent-nav a.active {
  color: #fff !important;
  font-weight: 600 !important;
}

/* Links innerhalb des weißen Content-Bereichs */
#av-consent-extra-info section a,
#av-consent-extra-info .entry-content a,
#av-consent-extra-info .av-cookie-consent-detail-wrap a {
  color: var(--accent) !important;
}

#av-consent-extra-info section a:hover,
#av-consent-extra-info .entry-content a:hover {
  color: var(--accent-hover) !important;
  text-decoration: underline !important;
}

/* ── Toggle-Switches ── */
.av-toggle-switch {
  margin: 12px 0 !important;
}

.av-toggle-switch .toggle-track {
  background: rgba(255,255,255,.15) !important;
  border-radius: 50px !important;
  width: 44px !important;
  height: 24px !important;
  position: relative;
  cursor: pointer;
  transition: background .3s !important;
}

.av-toggle-switch .toggle-track::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: #fff !important;
  border-radius: 50% !important;
  transition: transform .3s !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
}

.av-toggle-switch input:checked + .toggle-track {
  background: var(--accent) !important;
}

.av-toggle-switch input:checked + .toggle-track::after {
  transform: translateX(20px);
}

.av-toggle-switch .toggle-label-content {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .85rem !important;
  color: rgba(255,255,255,.7) !important;
  margin-left: 8px !important;
}

/* ── Modal Buttons ── */
.avia-cookie-consent-modal-buttons-wrap {
  margin-top: 1.5rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

.avia-cookie-consent-modal-button {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  padding: 10px 24px !important;
  border-radius: 50px !important;
  cursor: pointer;
  transition: all .3s !important;
  margin: 4px 8px 4px 0 !important;
  text-decoration: none !important;
  color: #fff !important;
}

/* Modal: "Einstellungen akzeptieren" */
.avia-cookie-consent-modal-button.avia-cookie-close-bar {
  background: var(--accent) !important;
  color: #fff !important;
}

/* Modal: "Verbergen" */
.avia-cookie-consent-modal-button.avia-cookie-hide-notification {
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.7) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
}

.avia-cookie-consent-modal-button.avia-cookie-hide-notification:hover {
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
}

/* Popup schließen-Button (X) */
.av-inline-modal .avia-popup-close,
#av-consent-extra-info .avia-popup-close {
  color: rgba(255,255,255,.5) !important;
  font-size: 1.2rem;
}

.av-inline-modal .avia-popup-close:hover {
  color: #fff !important;
}


/* ════════════════════════════════════════════
   TEAM-SEITE – Enfold Team-Mitglied Element
   ════════════════════════════════════════════ */

/* ── Team-Karten global ── */
#top .avia-team-member {
  background: var(--white) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(0,0,0,.04) !important;
  overflow: hidden !important;
  transition: all .4s;
  padding: 0 !important;
  margin: 0 !important;
}

#top .avia-team-member:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.08);
  border-color: rgba(0,0,0,.08) !important;
}

/* ── Foto ── */
#top .avia-team-member .team-img-container {
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 16px 16px 0 0 !important;
}

#top .avia-team-member .team-img-container img {
  width: 100% !important;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform .5s;
}

#top .avia-team-member:hover .team-img-container img {
  transform: scale(1.03);
}

/* ── Name ── */
#top .avia-team-member .team-member-name {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--text) !important;
  padding: 1.25rem 1.5rem .2rem !important;
  margin: 0 !important;
}

/* ── Position / Rolle ── */
#top .avia-team-member .team-member-job-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .85rem !important;
  color: var(--accent) !important;
  font-weight: 500 !important;
  padding: 0 1.5rem .5rem !important;
  margin: 0 !important;
}

/* ── Beschreibung ── */
#top .avia-team-member .team-member-description {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .88rem !important;
  color: #5a5e7a !important;
  line-height: 1.65 !important;
  padding: 0 1.5rem 1.5rem !important;
  margin: 0 !important;
}

/* Falls keine Beschreibung/Position: Padding unten am Namen */
#top .avia-team-member .team-member-name:last-child {
  padding-bottom: 1.5rem !important;
}

/* ── Social Icons ── */
#top .avia-team-member .team-social {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid rgba(0,0,0,.06) !important;
  padding: .75rem 1.5rem !important;
}

#top .avia-team-member .team-social a {
  color: #999 !important;
  transition: color .3s;
}

#top .avia-team-member .team-social a:hover {
  color: var(--accent) !important;
}

/* ── Team-Section Hintergrund ── */
.team-section {
  background: var(--light) !important;
}

/* ── Werte-Karten (So arbeiten wir) ── */
.value-card-section .avia_iconbox,
.value-card-section article.iconbox {
  padding: 2rem !important;
  border-radius: 16px !important;
  background: var(--light) !important;
  transition: all .35s;
  border: none !important;
}

.value-card-section .avia_iconbox:hover,
.value-card-section article.iconbox:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(0,0,0,.06);
}

.value-card-section .iconbox_icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 12px !important;
  background: var(--accent) !important;
  color: #fff !important;
  margin-bottom: 1.2rem !important;
}

.value-card-section .iconbox_icon .char,
.value-card-section .iconbox_icon i {
  color: #fff !important;
}


/* ════════════════════════════════════════════
   NEWS / BEITRAGS-SLIDER
   ════════════════════════════════════════════ */

/* Slider-Container */
#top .avia-content-slider .slide-entry-wrap {
  display: flex !important;
  align-items: stretch !important;
}

/* Einzelne Beitrags-Karte */
#top .avia-content-slider .slide-entry {
  background: var(--white) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  transition: all .4s;
  display: flex !important;
  flex-direction: column !important;
}

#top .avia-content-slider .slide-entry:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.08);
  border-color: rgba(0,0,0,.08) !important;
}

/* Bild: quadratisch */
#top .avia-content-slider .slide-image {
  display: block !important;
  overflow: hidden !important;
  border-radius: 16px 16px 0 0 !important;
}

#top .avia-content-slider .slide-image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .5s;
}

#top .avia-content-slider .slide-entry:hover .slide-image img {
  transform: scale(1.04);
}

/* Content-Bereich */
#top .avia-content-slider .slide-content {
  padding: 1.25rem 1.5rem 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

/* Titel */
#top .avia-content-slider .slide-entry-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  margin-bottom: .5rem !important;
}

#top .avia-content-slider .slide-entry-title a {
  color: var(--text) !important;
  text-decoration: none !important;
  transition: color .3s;
}

#top .avia-content-slider .slide-entry-title a:hover {
  color: var(--accent) !important;
}

/* Datum */
#top .avia-content-slider .slide-meta {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .78rem !important;
  color: #999 !important;
  margin-bottom: .75rem !important;
}

/* Trennlinie zwischen Titel und Datum entfernen */
#top .avia-content-slider .av-vertical-delimiter {
  display: none !important;
}

/* Excerpt */
#top .avia-content-slider .slide-entry-excerpt {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .88rem !important;
  color: #5a5e7a !important;
  line-height: 1.65 !important;
}

/* Footer ausblenden */
#top .avia-content-slider .slide-entry footer.entry-footer {
  display: none !important;
}

/* Slider-Pfeile */
#top .avia-content-slider .avia-slideshow-arrows a {
  color: var(--text) !important;
}

#top .avia-content-slider .avia-slideshow-arrows a:hover {
  color: var(--accent) !important;
}


/* ════════════════════════════════════════════
   FOOTER – #2f2f2f
   ════════════════════════════════════════════ */
#footer, .socket_color, #socket { background: var(--primary) !important; border-top:none !important }
#footer .widgettitle { font-family:'DM Sans',sans-serif !important; font-size:.85rem !important; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.9) !important }
#footer, #footer p, #footer .textwidget { color:rgba(255,255,255,.55) !important; font-size:.88rem }
#footer a { color:rgba(255,255,255,.5) !important; transition:color .2s }
#footer a:hover { color:var(--accent) !important }
#footer .widget_media_image img { filter:brightness(0) invert(1) }
#footer .seperator { display:none !important }
#socket .container { border-top:1px solid rgba(255,255,255,.08); padding-top:1.5rem }
#socket, #socket p, #socket a, #socket .copyright { color:rgba(255,255,255,.35) !important; font-size:.82rem }
#socket a:hover { color:rgba(255,255,255,.7) !important }
#socket .social_bookmarks a { color:rgba(255,255,255,.45) !important }
#socket .social_bookmarks a:hover { color:var(--accent) !important }


/* ════════════════════════════════════════════
   ANIMATIONEN & RESPONSIVE
   ════════════════════════════════════════════ */
.fade-up { opacity:0; transform:translateY(28px); transition:all .65s cubic-bezier(.4,0,.2,1) }
.fade-up.visible { opacity:1; transform:translateY(0) }

@media (max-width:768px) {
  .hero-stat-box { min-height:auto !important }
  .hero-stat-box .iconbox_content_title { font-size:2rem !important }
}
