/*
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;
}

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

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

#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);
  }
}

@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;
}



/* 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);
}

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

  .fusion-tb-header .shop-button.fusion-button {
    border: none !important;
    font-size:130%;
    margin-right:0;
  }
  .fusion-tb-header .shop-button.fusion-button i {
    margin-right:0;
  }

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

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

/* Header unter dem Overlay */
.fusion-tb-header,
.fusion-header-wrapper,
#wrapper > .fusion-header {
  z-index: 9998 !important;
}


/* ============================================
   4. HAMBURGER BUTTON (Collapse Animation)
   Quelle: https://jonsuh.com/hamburgers
   ============================================ */

/* --- 4a. Basis-Styles --- */

.pp-hamburger {
  padding: 10px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  z-index: 10001;
  position: relative;
}

.pp-hamburger:hover,
.pp-hamburger.is-active:hover {
  opacity: 0.7;
}

.hamburger-box {
  width: 30px;
  height: 18px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  width: 30px;
  height: 2px;
  background-color: #000;
  border-radius: 0;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
  content: "";
  display: block;
}

.hamburger-inner::before { top: -8px; }
.hamburger-inner::after  { bottom: -8px; }

/* --- 4b. Collapse Animation --- */

.pp-hamburger .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.pp-hamburger .hamburger-inner::after {
  top: -16px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),
              opacity 0.1s linear;
}

.pp-hamburger .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),
              transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

/* --- 4c. Active State (X) --- */

.pp-hamburger.is-active .hamburger-inner {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.pp-hamburger.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333),
              opacity 0.1s 0.22s linear;
}

.pp-hamburger.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333),
              transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* --- 4d. Farb-Varianten --- */

/* Weiß: Transparenter Header */
.fusion-tb-header .pp-hamburger .hamburger-inner,
.fusion-tb-header .pp-hamburger .hamburger-inner::before,
.fusion-tb-header .pp-hamburger .hamburger-inner::after {
  background-color: #fff;
}

/* Schwarz: Nach Scroll */
.fusion-tb-header .fusion-sticky-transition .pp-hamburger .hamburger-inner,
.fusion-tb-header .fusion-sticky-transition .pp-hamburger .hamburger-inner::before,
.fusion-tb-header .fusion-sticky-transition .pp-hamburger .hamburger-inner::after {
  background-color: #000;
}

/* Schwarz: Off-Canvas offen (Original + Clone) */
.pp-hamburger.is-active .hamburger-inner,
.pp-hamburger.is-active .hamburger-inner::before,
.pp-hamburger.is-active .hamburger-inner::after,
.pp-hamburger-clone.is-active .hamburger-inner,
.pp-hamburger-clone.is-active .hamburger-inner::before,
.pp-hamburger-clone.is-active .hamburger-inner::after {
  background-color: #000 !important;
}

/* --- 4e. Clone Hamburger (fixed über dem Overlay) --- */

.pp-hamburger-clone,
#pp-hamburger-clone-active {
  padding: 10px !important;
  display: inline-block !important;
  cursor: pointer !important;
  background-color: transparent !important;
  border: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: fixed !important;
  z-index: 100001 !important;
}

#pp-hamburger-clone-active {
  visibility: visible !important;
  opacity: 1 !important;
  display: inline-block !important;
}

.pp-hamburger-clone .hamburger-box {
  width: 30px;
  height: 18px;
  display: inline-block;
  position: relative;
}

.pp-hamburger-clone .hamburger-inner {
  display: block;
  top: auto;
  bottom: 0;
  margin-top: -1px;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.pp-hamburger-clone .hamburger-inner,
.pp-hamburger-clone .hamburger-inner::before,
.pp-hamburger-clone .hamburger-inner::after {
  width: 30px;
  height: 2px;
  background-color: #000;
  border-radius: 0;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.pp-hamburger-clone .hamburger-inner::before,
.pp-hamburger-clone .hamburger-inner::after {
  content: "";
  display: block;
}

.pp-hamburger-clone .hamburger-inner::before { top: -8px; }
.pp-hamburger-clone .hamburger-inner::after {
  top: -16px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),
              opacity 0.1s linear;
}

.pp-hamburger-clone .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),
              transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

/* Clone Active State (X) */
.pp-hamburger-clone.is-active .hamburger-inner {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.pp-hamburger-clone.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333),
              opacity 0.1s 0.22s linear;
}

.pp-hamburger-clone.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333),
              transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}


/* ============================================
   5. OFF-CANVAS / OVERLAY MENÜ
   ============================================ */

/* --- 5a. Off-Canvas Slide Animation (statt Fade) --- */

#awb-oc-41088,
#awb-oc-133 {
  transform: translateX(100%) !important;
  opacity: 1 !important;
  transition: transform 0.4s ease-out !important;
  animation: none !important;
  z-index: 10000 !important;
}

#awb-oc-41088.awb-show,
#awb-oc-133.awb-show {
  transform: translateX(0) !important;
}

#awb-oc-41088.awb-sliding-out,
#awb-oc-133.awb-sliding-out {
  transform: translateX(100%) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Avada Close-Button verstecken (eigener Clone wird verwendet) */
#awb-oc-41088 .off-canvas-close,
#awb-oc-41088 .awb-off-canvas-close,
#awb-oc-133 .off-canvas-close,
#awb-oc-133 .awb-off-canvas-close {
  display: none !important;
}

/* Off-Canvas Breite */
.awb-off-canvas-wrap .awb-off-canvas {
  width: 50% !important;
  min-width: 800px !important;
}

@media (max-width: 800px) {
  .awb-off-canvas-wrap .awb-off-canvas {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Off-Canvas Overlay */
.awb-off-canvas-overlay {
  z-index: 9999 !important;
}

/* --- 5b. Overlay Menü Layout --- */

.pp_overlay_menu_wrapper {
  display: flex;
  flex: 1;
  flex-wrap: wrap-reverse;
  justify-content: center;
  align-items: center;
  min-height: 100%;
  padding: 20px;
  gap: 30px;
}

.pp_overlay_left,
.pp_overlay_right {
  flex: 1 0 320px;
  min-width: 280px;
  max-width: 400px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.pp_overlay_left {
  text-align: right;
}

.pp_overlay_right {
  text-align: left;
  padding-top: 80px;
}

/* --- 5c. Overlay Menü Styling --- */

.pp_overlay_menu_wrapper .menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
}

.pp_overlay_menu_wrapper .menu .menu-item {
  margin-bottom: 10px;
}

.pp_overlay_menu_wrapper .menu .menu-item a {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 26px;
  line-height: 1.2em;
  letter-spacing: 1px;
  text-transform: none;
  color: #000 !important;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.pp_overlay_menu_wrapper .menu .menu-item a:hover {
  opacity: 0.6;
}

/* Linkes Menü gedimmt (sekundär) */
.pp_overlay_left .menu .menu-item a {
  opacity: 0.38;
}

.pp_overlay_left .menu .menu-item a:hover {
  opacity: 1;
}

/* Separator: title="seperator" → Trennlinie */
.pp_overlay_menu_wrapper .menu .menu-item a[title="seperator"],
.pp_overlay_menu_wrapper .menu .menu-item a[title="separator"],
.pp_overlay_menu_wrapper .menu .menu-item a.menu-separator,
.pp_overlay_menu_wrapper .menu .menu-separator-item > a {
  border-bottom: 2px solid #000;
  width: 50px;
  font-size: 0;
  color: transparent !important;
  margin: 10px 0;
  display: inline-block;
  pointer-events: none;
}

/* Aktiver Menüpunkt */
.pp_overlay_menu_wrapper .menu .menu-item a[title="active"],
.pp_overlay_menu_wrapper .menu .menu-item a.menu-active,
.pp_overlay_menu_wrapper .menu .current-menu-item > a,
.pp_overlay_menu_wrapper .menu .current_page_item > a {
  opacity: 1;
}

/* --- 5d. Overlay Menü Mobile --- */

@media (max-width: 640px) {
  .pp_overlay_menu_wrapper {
    flex-direction: column;
    align-items: flex-start;
  }

  .pp_overlay_left,
  .pp_overlay_right {
    text-align: left;
    width: 100%;
    max-width: none;
  }

  .pp_overlay_left {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 2px solid #000;
    order: 2;
  }

  .pp_overlay_right {
    order: 1;
  }
}


/* ============================================
   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;
}

/* 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;
  }
}


/* ============================================
   8b. 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 */
}

.bezugsquelle {
  padding: 30px;
  margin-bottom: 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%;
  }
}



/* ============================================
   12. 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;
}


/* ============================================
   13. FOOTER MENU ACTIVE ITEM
   ============================================ */

#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;
}


/* ============================================
   14. 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;
}


/* ============================================
   15. 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;
}
