/*
Theme Name: Avada-Weingut-RH
Description: Child theme for Avada-Weingut-RH
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  avada-weingut-rh
*/


/* ============================================
   1. GLOBALS & RESETS
   ============================================ */

:root {
  --h2-typography-font-weight: 400 !important;
}

.bold {
  font-weight: 700 !important;
}

:focus {
  outline: none;
}

:focus-visible,
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid black;
  outline-offset: 2px;
}

header :focus-visible {
  outline-color: white;
}

/* Überschriften: nur trennen, wenn nötig; erst bei langen Wörtern */
a, span, h1, h2, h3, h4, h5, h6 {
  word-break: normal;        /* keine harten Wortbrüche */
  overflow-wrap: normal;     /* brich Wörter nicht "einfach so" */
  hyphens: auto;             /* trenne nur bei Platzmangel */
  hyphenate-character: "-";  /* Trennzeichen (Support variiert) */

  /* Ab >12 Zeichen erlauben (Standard-Eigenschaft, moderne Browser) */
  hyphenate-limit-chars: 13 3 3; /* total / vor / nach dem Trennstrich */

  /* Safari/WebKit Näherung (kennt 'total' nicht, aber vor/nach): */
  -webkit-hyphenate-limit-before: 3;
  -webkit-hyphenate-limit-after: 3;
}

.post-content h2,
h2 {
  font-weight: 400 !important;
}

h1 {
  text-shadow: 0px 0px 40px rgba(0, 0, 0, 0.42);
  margin-bottom: 20px !important;
}

.plain-text h1, 
.plain-text h2,
.plain-text h3
{
  color: black !important;
  text-shadow:none !important;
  font-family:Inter !important;
  font-weight: 400 !important;
  
}
.plain-text h2
{
  font-size:1.8rem !important;
  margin-bottom:10px !important;
}
.plain-text h3
{
  font-size:1.5rem !important;
  margin-bottom:10px !important;
}
.plain-text p
{
  font-size:1rem;
}


#main {
  padding-top: 0 !important;
}

/* Fliesstext-Links im Content standardmaessig schwarz halten */
#main .post-content a:not(.fusion-button):not(.back-link):not(.pp-hamburger),
#main .fusion-text a:not(.fusion-button):not(.back-link):not(.pp-hamburger),
#main .fusion-toggle-content a:not(.fusion-button):not(.back-link):not(.pp-hamburger),
#main .fusion-tab-content a:not(.fusion-button):not(.back-link):not(.pp-hamburger),
#main .awb-text-block a:not(.fusion-button):not(.back-link):not(.pp-hamburger) {
  color: #000 !important;
}

#main .post-content a:not(.fusion-button):not(.back-link):not(.pp-hamburger):hover,
#main .fusion-text a:not(.fusion-button):not(.back-link):not(.pp-hamburger):hover,
#main .fusion-toggle-content a:not(.fusion-button):not(.back-link):not(.pp-hamburger):hover,
#main .fusion-tab-content a:not(.fusion-button):not(.back-link):not(.pp-hamburger):hover,
#main .awb-text-block a:not(.fusion-button):not(.back-link):not(.pp-hamburger):hover {
  color: #000 !important;
}




/* ============================================
   2. RESPONSIVE HELPERS
   ============================================ */

@media (max-width: 989px) {
  .mobile  { display: flex !important; }
  .desktop { display: none !important; }
}

@media (min-width: 990px) {
  .mobile  { display: none !important; }
  .desktop { display: flex !important; }
}


/* ============================================
   3. HEADER
   ============================================ */

/* --- 3a. Zurück-Links (Portal / Übersicht) --- */

.pp-back-links {
  display: flex;
  align-items: center;
}

.pp-back-links .back-link {
  display: inline-flex;
  align-items: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #fff;
  transition: opacity 0.2s;
  white-space: nowrap;
}

.pp-back-links .back-link:hover {
  opacity: 0.5;
}

.pp-back-links .back-icon {
  font-family: 'pfarrplatzicon' !important;
  font-weight: normal;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 10px;
  font-size: 20px;
  line-height: 0.8em;
}

.pp-back-links .back-icon::before {
  content: "\e81c"; /* left-arrow */
}

/* Default: Übersicht sichtbar, Portal versteckt */
.pp-back-links .back-portal  { display: none; }
.pp-back-links .back-overview { display: inline-flex; }

/* Homepage: Portal sichtbar, Übersicht versteckt */
body.home .pp-back-links .back-portal  { display: inline-flex; }
body.home .pp-back-links .back-overview { display: none; }

/* Sticky Header: Farbe zu schwarz */
.fusion-tb-header .fusion-sticky-transition .pp-back-links .back-link {
  color: var(--awb-color8);
}

/* Responsive: Nur Icon ab ≤1350px */
@media (max-width: 1350px) {
  .pp-back-links .back-link {
    font-size: 0;
    color: transparent;
  }
  .pp-back-links .back-icon {
    font-size: 20px;
    color: #fff;
  }
  .fusion-tb-header .fusion-sticky-transition .pp-back-links .back-icon {
    color: var(--awb-color8);
  }
}

/* --- 3b. Logo --- */

@media (min-width: 1025px) {
  .logo .fusion-column-wrapper {
    justify-content: center !important;
  }
}

/* Logo ohne Scroll */
.fusion-tb-header > .fusion-container-stuck .logo .fusion-image-element img {
  transition: max-width 0.3s ease;
}

/* Logo mit Scroll (kleiner) */
.fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition
  .logo .fusion-image-element img {
  max-width: 70px;
}
/* rotes haus logo größer */
body.blog-id-32 .fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition
  .logo .fusion-image-element img {
  max-width: 11‚0px;
}



/* --- 3c. Sticky Header --- */

/* Hintergrund & Shadow */
.fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition {
  background-image: none;
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
}

/* Sticky Header Buttons */
.fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition .fusion-button,
.fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition .fusion-button:hover {
  border-color: transparent;
}

.fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition .fusion-button .fusion-button-text,
.fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition .fusion-button:hover .fusion-button-text,
.fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition .fusion-button i,
.fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition .fusion-button:hover i {
  color: var(--awb-color8);
}

/* Rotes Haus: roter Shop-Button, Text und Icon auch im Sticky Header weiß */
body.blog-id-32 .fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition .shop-button .fusion-button-text,
body.blog-id-32 .fusion-tb-header > .fusion-container-stuck.fusion-sticky-transition .shop-button i {
  color: #fff;
}

/* Header-Buttons ein-/ausblenden (display: none, auch für Screenreader): Desktop nur
   Onlineshop + Ab-Hof Weinshop (abhof-button, aus functions.php) mit Text, mobil
   (≤1350px) nur das Warenkorb-Icon. Regel löschen = Button wieder sichtbar. */
.fusion-tb-header .newsletter-button {
  display: none !important;
}

@media (max-width: 1350px) {
  .fusion-tb-header .abhof-button {
    display: none !important;
  }
}

/* Onlineshop + Ab-Hof mit Text: Burger nicht in die nächste Zeile umbrechen, die Buttons
   rücken stattdessen nach links Richtung Logo (Platz reicht ab 1351px) */
@media (min-width: 1351px) {
  .fusion-tb-header .fusion-layout-column:has(.shop-button) > .fusion-column-wrapper {
    flex-wrap: nowrap !important;
  }

  .fusion-tb-header .shop-button .fusion-button-text,
  .fusion-tb-header .abhof-button .fusion-button-text {
    white-space: nowrap;
  }
}

/* Bis 1500px schmalere Buttons, sonst ragt der Onlineshop-Button ins Logo (v. a. Rotes Haus) */
@media (min-width: 1351px) and (max-width: 1499px) {
  .fusion-tb-header .shop-button.fusion-button,
  .fusion-tb-header .abhof-button.fusion-button {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* Header Buttons: Responsive (≤1350px) */
@media (max-width: 1350px) {
  .fusion-tb-header .shop-button .fusion-button-text,
  .fusion-tb-header .abhof-button .fusion-button-text {
    display: none !important;
  }

  /* Nur das Warenkorb- bzw. Ab-Hof-Icon, kompakt (mobil sonst Umbruch des Burgers in die nächste Zeile) */
  .fusion-tb-header .shop-button.fusion-button,
  .fusion-tb-header .abhof-button.fusion-button {
    border: none !important;
    font-size:130%;
    margin-right:0;
    padding-right: 10px;
    padding-left: 10px;
  }
  /* Rotes Haus runder button */
  body.blog-id-32 .fusion-tb-header .shop-button.fusion-button {
    margin-right:10px;
  }
  body.blog-id-32 .fusion-tb-header .shop-button.fusion-button .button-icon-left {
    margin-right:0;
    margin-left:3px;
  }
  .fusion-tb-header .abhof-button.fusion-button .button-icon-left {
    margin-right: 0;
  }

  .fusion-tb-header .newsletter-button {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .fusion-tb-header .img-responsive {
    max-width: 80px !important;
  }

  /* Rotes Haus größer*/
  body.blog-id-32 .fusion-tb-header .img-responsive {
    max-width: 100px !important;
  }
}

/* Handys: Warenkorb, Ab Hof, Sprache und Burger nie umbrechen (mit dem Ab-Hof-Icon rutscht
   der Burger sonst bis ca. 530px in die nächste Zeile; Platz ist links daneben genug) */
@media (max-width: 640px) {
  .fusion-tb-header .fusion-layout-column:has(.shop-button) > .fusion-column-wrapper {
    flex-wrap: nowrap !important;
  }
}

/* Kleine Handys: Logo-Spalte nur so breit wie nötig, Rest für Warenkorb, Sprache und Burger;
   nie umbrechen (sonst rutscht der Warenkorb über die Zeile bzw. der Zurück-Pfeil über das Logo) */
@media (max-width: 400px) {
  .fusion-tb-header .fusion-layout-column:has(.fusion-image-element) {
    flex: 0 1 auto;
    width: auto !important;
  }

  .fusion-tb-header .fusion-layout-column:has(.shop-button) {
    flex: 1 1 0;
    width: auto !important;
    min-width: 0;
  }

  .fusion-tb-header .fusion-layout-column:has(.fusion-image-element) > .fusion-column-wrapper,
  .fusion-tb-header .fusion-layout-column:has(.shop-button) > .fusion-column-wrapper {
    flex-wrap: nowrap !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Kleine Handys: Ab-Hof-Icon schmaler, damit Warenkorb und Ab Hof nicht ins Logo ragen;
   unter 360px reicht der Platz nicht, dann nur der Warenkorb */
@media (max-width: 400px) {
  .fusion-tb-header .abhof-button.fusion-button {
    padding-right: 4px;
    padding-left: 4px;
  }

  body.blog-id-32 .fusion-tb-header .shop-button.fusion-button {
    margin-right: 4px;
  }
}

@media (max-width: 359px) {
  .fusion-tb-header .abhof-button {
    display: none !important;
  }
}

@media (max-width: 340px) {
  body.blog-id-32 .fusion-tb-header .img-responsive {
    max-width: 80px !important;
  }
}

/* --- 3d. Z-Index (unter Overlay) --- */

.fusion-tb-header,
.fusion-header-wrapper,
#wrapper > .fusion-header {
  z-index: 9998 !important;
}

/* --- 3e. Sprachumschalter links neben dem Burger (wie im Enfold-Header) --- */

/* Absolut, damit der Burger im Header-Layout nicht verrutscht; das Padding hält links
   davon Platz frei, damit der Button davor nicht unter den Umschalter rutscht
   (16px Abstand zum Button, 6px + 10px Button-Padding zu den Burger-Linien). */
.fusion-tb-header .fusion-text:has(> .pp_header_lang) {
  position: relative;
  padding-left: 44px;
}

.fusion-tb-header .pp_header_lang {
  display: flex;
  position: absolute;
  left: 16px;
  top: 50%;
  /* -2px: die Burger-Linien sitzen etwas über der Button-Mitte */
  transform: translateY(calc(-50% - 2px));
}

/* Mobil weniger Platz (8px Abstand zum Warenkorb-Button). */
@media (max-width: 640px) {
  .fusion-tb-header .fusion-text:has(> .pp_header_lang) {
    padding-left: 38px;
  }

  .fusion-tb-header .pp_header_lang {
    left: 8px;
  }
}

.fusion-tb-header .pp_header_lang .pp-lang-link {
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.2em;
  transition: opacity 0.2s;
}

.fusion-tb-header .pp_header_lang .pp-lang-link:hover {
  opacity: 0.5;
}

/* Sticky-Header: schwarz wie Burger und Menü */
.fusion-tb-header .fusion-sticky-transition .pp_header_lang .pp-lang-link {
  color: #000;
}


/* ============================================
   6. HERKUNFT HOTSPOTS
   ============================================ */

.awb-image-hotspots-wrapper {
  width: 100%;
}

.awb-image-hotspots-hotspot i::before {
  padding-left: 8px;
}

/* Mobile: Hotspots kleiner machen für bessere Klickbarkeit */
@media (max-width: 989px) {
  .awb-image-hotspots-hotspot {
    --awb-font-size: 20px !important;
    transform: scale(0.65) !important;
  }
  
  .awb-image-hotspots-hotspot i::before {
    padding-left: 5px;
  }
}


/* ============================================
   7. AUSZEICHNUNGEN (Wine Cards)
   ============================================ */

.awards-tab .tab-content div.tab-pane.active {
  display: flex;
  flex-wrap: wrap;
  padding-top: 60px;
}

.awards-tab .wine_card {
  flex: 1 0 50%;
  margin-bottom: 30px;
}

.awards-tab .wine_card ul {
  font-size: 90%;
  opacity: .9;
  padding-left: 20px;
  margin-top: 0;
}

.awards-tab .wine_card .weinimg {
  margin-bottom: 15px;
}

@media (max-width: 768px) {
  .awards-tab .wine_card {
    flex: 1 0 100% !important;
    width: 100% !important;
  }
}


/* ============================================
   8. FUSION TABS (Styled wie Enfold Tab Section)
   ============================================ */

/* --- 8a. Reset aller Avada Tab-Borders/Backgrounds --- */

.fusion-tabs.fusion-tabs-1,
.fusion-tabs,
.fusion-tabs *,
.fusion-tabs .nav,
.fusion-tabs .nav-tabs,
.fusion-tabs .tab-content,
.fusion-tabs .tab-pane {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* --- 8b. Tab Navigation --- */

.fusion-tabs .nav-tabs.nav-justified {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: space-between;
  border: none !important;
  background: transparent !important;
  gap: 10px;
  padding: 20px 0 0 0;
  margin-bottom: 0;
  width: 100%;
}

.fusion-tabs .nav-tabs > li {
  float: none !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  flex: 1 1 auto;
  text-align: center;
}

.fusion-tabs .nav-tabs > li > a.tab-link {
  display: block !important;
  padding: 15px 10px 20px 10px !important;
  border: none !important;
  background: transparent !important;
  text-decoration: none !important;
  position: relative;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.fusion-tabs .nav-tabs > li > a.tab-link:hover,
.fusion-tabs .nav-tabs > li > a.tab-link:focus {
  background: transparent !important;
  border: none !important;
}

/* --- 8c. Tab-Überschriften --- */

.fusion-tabs .nav-tabs .fusion-tab-heading,
.fusion-tabs .nav-tabs h4.fusion-tab-heading,
.fusion-tabs .nav-tabs li a h4,
.fusion-tabs .nav-tabs li a.tab-link h4 {
  text-transform: uppercase !important;
  font-family: 'Montserrat', sans-serif !important;
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 1.2em !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px;
  margin: 0 !important;
  padding: 0 !important;
  color: #888 !important;
  transition: color 0.3s ease;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* "JAHRGANG" vor der Jahreszahl */
.fusion-tabs .nav-tabs .fusion-tab-heading::before {
  content: 'JAHRGANG';
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-style: normal !important;
  font-size: 16px !important;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

/* Englische Version: "VINTAGE" statt "JAHRGANG" */
html[lang="en-US"] .fusion-tabs .nav-tabs .fusion-tab-heading::before,
html[lang="en"] .fusion-tabs .nav-tabs .fusion-tab-heading::before {
  content: 'VINTAGE';
}

/* Hover & Active */
.fusion-tabs .nav-tabs > li > a.tab-link:hover .fusion-tab-heading {
  color: #000 !important;
}

.fusion-tabs .nav-tabs > li.active > a.tab-link .fusion-tab-heading {
  color: #000 !important;
}

/* Pfeil unter aktivem Tab */
.fusion-tabs .nav-tabs > li.active > a.tab-link::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #000;
  margin: 8px auto 0 auto;
  box-sizing: border-box;
}

/* --- 8d. Tab Content --- */

.fusion-tabs .tab-content {
  border: none !important;
  background: transparent !important;
  padding: 50px 0 !important;
}

.fusion-tabs .tab-content > .tab-pane {
  padding: 0 !important;
  border: none !important;
}

/* --- 8e. Mobile Accordion unterdrücken, Desktop-Tabs erzwingen --- */

.fusion-tabs .fusion-mobile-tab-nav {
  display: none !important;
}

.fusion-tabs > .nav,
.fusion-tabs.mobile-mode-accordion > .nav {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

.fusion-tabs > .nav > .nav-tabs,
.fusion-tabs.mobile-mode-accordion > .nav > .nav-tabs {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex-wrap: nowrap !important;
}

.fusion-tabs > .nav > .nav-tabs > li,
.fusion-tabs.mobile-mode-accordion > .nav > .nav-tabs > li {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Override Avada's mobile hide (höhere Spezifität) */
@media only screen and (max-width: 1024px) {
  html body .fusion-tabs:not(.mobile-mode-carousel) .nav:not(.fusion-mobile-tab-nav),
  html body .fusion-body .fusion-tabs:not(.mobile-mode-carousel) .nav:not(.fusion-mobile-tab-nav),
  body.fusion-body .fusion-tabs:not(.mobile-mode-carousel) .nav:not(.fusion-mobile-tab-nav),
  #main .fusion-tabs:not(.mobile-mode-carousel) .nav:not(.fusion-mobile-tab-nav),
  .fusion-tabs.awards-tab .nav:not(.fusion-mobile-tab-nav) {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    height: auto !important;
    max-height: none !important;
    position: static !important;
  }
}

/* --- 8f. Tabs Responsive (≤1024px) --- */

@media (max-width: 1024px) {
  .fusion-tabs.mobile-mode-accordion > .nav,
  .fusion-tabs > .nav,
  .fusion-tabs .nav:first-child,
  .fusion-tabs > .nav > .nav-tabs,
  .fusion-tabs .nav-tabs.nav-justified {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start !important;
    padding-bottom: 10px;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
  }

  .fusion-tabs > .nav > .nav-tabs > li,
  .fusion-tabs .nav-tabs > li {
    flex: 0 0 auto !important;
    text-align: center;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .fusion-tabs .nav-tabs > li > a.tab-link {
    display: block !important;
    padding: 12px 15px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .fusion-tabs .nav-tabs .fusion-tab-heading,
  .fusion-tabs .nav-tabs h4.fusion-tab-heading {
    font-size: 14px !important;
  }

  .fusion-tabs .nav-tabs .fusion-tab-heading::before {
    font-size: 14px !important;
  }

  .fusion-tabs .fusion-mobile-tab-nav,
  .fusion-tabs .tab-content .fusion-mobile-tab-nav,
  .fusion-tabs .tab-pane .fusion-mobile-tab-nav,
  .fusion-mobile-tab-nav {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}


/* ============================================
   9. BEZUGSQUELLEN
   (Übernommen von machiel.css, Enfold-Weingut)
   ============================================ */

.cat-tabs {
  margin-bottom: 40px;
}

.cat-tab {
  cursor: pointer;
  padding: 6px 18px;
  border: 2px solid #ebebeb;
  color: black;
  border-radius: calc(20px + 1em);
  margin-bottom: 10px;
  background-color: white;
  font-size:16px;
  line-height: 1.3em;
}

.cat-tab.active {
  background: black;
  color: white;
  border-color: black !important;
}

.cat-tab:hover {
  border-color: black !important;
}

.cat-tab.active-parent {
  background-color: #666;
  color: white;
  border-color: #666;
}

[class^="cats-lvl"] {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 15px;
}

.cats-lvl2,
.cats-lvl3,
.cats-lvl4 {
  padding-top: 12px;
  border-top: 1px solid lightgray;
}

body.blog-id-31 .cats-lvl2,
body.blog-id-31 .cats-lvl3,
body.blog-id-31 .cats-lvl4 {
  border-top-color: #d8d8d8;
}

input.bq-quicksearch {
  padding-left: 11px !important;
  max-width: 400px;
  margin: -30px auto 5px !important;
}

p:has(> .bq-quicksearch) {
  display: flex;
  justify-content: center;
}

/* Bezugsquellen Grid (Isotope masonry) */
.bezugsquellen {
  position: relative; /* Isotope braucht das */
  margin: 0 -10px;
}

.bezugsquelle {
  padding: 30px;
  margin: 0 10px 30px;
  width: calc(33.333% - 20px);
  background-color: white;
  border: 2px solid #eee;
  box-sizing: border-box;
}

.bezugsquelle h3 {
  font-weight: 600 !important;
  font-style: italic !important;
  text-align: left;
}

.bezugsquelle {
  font-size: 16px;
  line-height: 1.3em;
  color:  #999999;
}

.bezugsquelle a {
  color: #666 !important;
}

.bezugsquelle a:hover {
  color: #333 !important;
}

@media (max-width: 850px) {
  .bezugsquelle {
    width: 100%;
    margin: 0 0 20px;
  }

  .bezugsquellen {
    margin: 0;
  }
}



/* ============================================
   10. NEWSLETTER / DATENSCHUTZ CHECKBOX
   ============================================ */

.mc-field-group.input-group ul {
  list-style: none;
  margin: 10px 0;
  padding: 0;
}

.mc-field-group.input-group li {
  display: flex;
  align-items: flex-start;
  margin: 0;
  padding: 0;
}

.mc-field-group.input-group li input[type="checkbox"] {
  order: 1;
  margin: 2px 5px 0 0;
  vertical-align: middle;
}

.mc-field-group.input-group li label {
  order: 2;
  display: inline;
  line-height: 1.25;
  margin-left: 0;
  vertical-align: middle;
}


/* --- Newsletter Button --- */

#mc_embed_signup input[type="submit"],
#mc_embed_signup .button {
  padding: 12px 24px;
  background-color: #000;
  color: #fff;
  border: 0;
  box-shadow: none;
}

#mc_embed_signup input[type="submit"]:hover,
#mc_embed_signup input[type="submit"]:focus,
#mc_embed_signup .button:hover,
#mc_embed_signup .button:focus {
  border: 0;
}

#mc_embed_signup .clear {
  margin-bottom: 10px;
}


/* ============================================
   11. FOOTER
   ============================================ */

/* --- 11a. Aktiver Menüpunkt (Hauptmenü) --- */

#menu-footer-menue .current-menu-item > a .menu-text,
#menu-footer-menue .current_page_item > a .menu-text,
#menu-footer-menue .current-menu-ancestor > a .menu-text,
#menu-footer-menue .current-page-ancestor > a .menu-text {
  font-weight: 700;
}

/* --- 11b. Legal-Menü (zentriert auf Mobil) --- */

@media (max-width: 989px) {
  #menu-footer-legal-menu {
    justify-content: center;
  }
}


/* ============================================
   12. VERKOSTUNG & VERANSTALTUNGEN PAGES
   Verkostung: Seite mit .verkostung-form
   Veranstaltungen: body.page-id-41817
   Mayer unterwegs: body.page-id-41836
   ============================================ */

/* --- 14a. Gemeinsame Typography Styles --- */

/* Body text: Crimson Text in grau (#999999) */
.post-content:has(.verkostung-form) p,
body.page-id-41817 .post-content p,
body.page-id-41836 .post-content p {
  font-family: 'Crimson Text', serif !important;
  font-weight: 400 !important;
  color: #999999 !important;
  line-height: 1.7 !important;
}

/* Strong tags: Schwarz und fett */
.post-content:has(.verkostung-form) p strong,
body.page-id-41817 .post-content p strong,
body.page-id-41817 .post-content strong,
body.page-id-41836 .post-content p strong,
body.page-id-41836 .post-content strong {
  font-weight: 600 !important;
  color: #000000 !important;
}

/* h2 Überschriften auf Veranstaltungs-Seite */
body.page-id-41817 .post-content h2 {
  font-family: 'Crimson Text', serif !important;
  font-weight: 600 !important;
  font-size: 28px !important;
  color: #000000 !important;
  margin-bottom: 20px !important;
}


/* --- 14b. Verkostungs-Seite spezifisch --- */

/* h1: ohne Schatten, schwarz, kleiner */
.post-content:has(.verkostung-form) h1,
body.page-id-41817 .post-content h1,
body.page-id-41836 .post-content h1 {
  text-shadow: none !important;
  color: #000000 !important;
  font-size: 52px !important;
  margin-top: 10px !important;
  margin-bottom: 30px !important;
}

/* Header-Bild mit starker Rundung (250px) */
.round-header-img img {
  border-radius: 250px !important;
  overflow: hidden;
}

.round-header-img {
  overflow: hidden;
  border-radius: 250px;
  margin-bottom: 40px !important;
}


/* --- 14c. Verkostungs-Formular --- */

/* Form Container: max 800px breit, zentriert */
.verkostung-form {
  max-width: 800px !important;
  margin: 0 auto !important;
}

/* Formular-Felder: kompakter Abstand */
.verkostung-form .fusion-form-field {
  max-width: 100% !important;
  margin-bottom: 8px !important;
}

/* Label-Abstand: sehr knapp über dem Input */
.verkostung-form .fusion-form-label-wrapper {
  margin-bottom: 2px !important;
}

/* Form Labels: Crimson Text in grau */
.verkostung-form label,
.verkostung-form .fusion-form-label-wrapper label,
.verkostung-form .fusion-form-field label {
  font-family: 'Crimson Text', serif !important;
  font-weight: 400 !important;
  color: #999999 !important;
}

/* Input-Felder: heller Hintergrund (#eee) */
.verkostung-form input[type="text"],
.verkostung-form input[type="email"],
.verkostung-form input[type="tel"],
.verkostung-form input[type="number"],
.verkostung-form input[type="date"],
.verkostung-form input[type="time"],
.verkostung-form .fusion-form-input,
.verkostung-form .fusion-form-field input.fusion-form-input {
  background: #eee !important;
  background-color: #eee !important;
  background-image: none !important;
  border: 1px solid #d2d2d2 !important;
}

/* Form Rows: innerhalb der 800px Container */
.verkostung-form .fusion-fullwidth {
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.verkostung-form .fusion-builder-row {
  max-width: 100% !important;
}


/* ============================================
   13. MULTISITE / BLOG-SPECIFIC OVERRIDES
   ============================================ */

/* Rothaus (Blog 32): auf Startseite H1 mit etwas staerkerem Schatten */
body.blog-id-32.home h1 {
  text-shadow: 0px 0px 18px rgba(0, 0, 0, 1) !important;
}

/* Language-specific image visibility */
.img-de,
.img-en {
  display: none !important;
}

html[lang|="de"] .img-de,
html[lang="de"] .img-de {
  display: block !important;
}

html[lang|="en"] .img-en,
html[lang="en"] .img-en {
  display: block !important;
}


