/* Notfall: Preloader nie anzeigen (sonst bleibt Seite „weiß“) */
.site-preloader-wrap{display:none !important;opacity:0 !important;visibility:hidden !important;}

/* ================== Priessenthal – Custom Styles ================== */
/* verhindert abgeschnittene Dropdowns im Header */
.header.header-one,
.header.header-one .primary-header-one,
.header.header-one .primary-header-one .primary-header-inner,
.header.header-one .primary-header-one .header-menu-wrap {
  overflow: visible !important;
}

/* ===== Submenü Styling für .dl-menu (DESKTOP) ===== */
.dl-menu li { position: relative; }

.dl-menu li ul {
  position: absolute;
  left: 0;
  top: 100%;
  transform: translateY(-12px);
  min-width: 180px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  z-index: 1200;
}

.dl-menu li ul li a {
  display: block;
  position: relative;
  padding: 10px 16px;
  line-height: 1.3;
  white-space: nowrap;
  color: #406020;
  background: transparent;
  text-decoration: none;
  transition: background .25s ease, color .25s ease;
}

/* Hover: Hintergrundfarbe + Unterstrich über volle Breite */
.dl-menu li ul li a:hover {
  background: #eef5e5;
  color: #406020;
}
.dl-menu li ul li a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: #406020;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.dl-menu li ul li a:hover::after { transform: scaleX(1); }

/* ===== Slider-Button "Unsere Angebote" ===== */
#main-slider a.dl-btn{
  position: relative;
  z-index: 0;
  overflow: hidden;
  background: #5a8f2a !important;
  color: #fff !important;
  border-color: #5a8f2a !important;
  background-image: none !important;
  text-decoration: none;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
#main-slider a.dl-btn::before{
  content: "";
  position: absolute;
  inset: 0;
  background: transparent !important;
  transition: background .25s ease;
  z-index: -1 !important;
}
#main-slider a.dl-btn:hover::before,
#main-slider a.dl-btn:focus-visible::before{ background: #eef5e5 !important; }
#main-slider a.dl-btn:hover,
#main-slider a.dl-btn:focus-visible{
  color: #406020 !important;
  -webkit-text-fill-color: #406020 !important;
  border-color: #406020 !important;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
}
#main-slider a.dl-btn i{ color: inherit !important; }
#main-slider a.dl-btn:active{ filter: brightness(.95); }

/* ===== Slider-Untertitel (kleine Zeile) in Weiß ===== */
#main-slider .dl-caption.small,
#main-slider .dl-caption.small *{
  color: #ffffff !important;
  text-shadow: 0 2px 6px rgba(0,0,0,.35);
}

/* ===== Mobile-Menü als Overlay (<= 991.98px) ===== */
@media (max-width: 991.98px) {
  :root { --hdr-h: 72px; } /* Header-Höhe */

  .primary-header-one{
    position: fixed; top: 0; left: 0; right: 0;
    z-index: 3000; background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
  }
  body{ padding-top: var(--hdr-h); }

  .primary-header-one .primary-header-inner{
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    min-height: var(--hdr-h);
  }
  .mobile-menu-icon{ display:flex !important; align-items:center; gap:10px; cursor:pointer; padding:10px 12px; }
  .burger-menu .line-menu{ width:22px; height:2px; background:#406020; display:block; }
  .burger-menu .line-menu + .line-menu{ margin-top:6px; }
  .burger-menu .line-half{ width:16px; }

  /* Overlay-Menü */
  .header .header-menu-wrap{
    display:none !important;
    position:absolute !important; top:100% !important; left:0; right:0;
    width:100%; max-height: calc(100vh - var(--hdr-h)); overflow:auto;
    background:#fff; padding:12px 16px; border-radius:8px;
    box-shadow:0 14px 28px rgba(0,0,0,.12);
    z-index:3500 !important;
  }
  .header .header-menu-wrap.open{ display:block !important; }

  /* Vertikale Liste */
  .header .header-menu-wrap .dl-menu{
    display:flex !important; flex-direction:column !important; gap:8px !important;
    margin:0 !important; padding:0 !important; list-style:none !important;
  }
  .header .header-menu-wrap .dl-menu > li > a{
    display:block; padding:12px 10px; color:#406020; text-decoration:none;
  }

  /* Submenüs mobil: inline im Overlay */
  .dl-menu li ul{
    position:static !important; transform:none !important; min-width:100% !important;
    background:transparent !important; box-shadow:none !important;
    margin:4px 0 0 !important; padding-left:12px !important;
  }
  .dl-menu li ul li a{ padding:8px 10px; }

  /* Mobile Akkordeon: standardmäßig zu, bei .open auf */
  .header .header-menu-wrap .dl-menu > li > ul{ display:none !important; }
  .header .header-menu-wrap .dl-menu > li.open > ul{ display:block !important; }

  /* Plus/Minus rechts am Elternlink */
  .header .header-menu-wrap .dl-menu > li > a{ position: relative; padding-right: 34px; }
  .header .header-menu-wrap .dl-menu > li.has-sub > a::after{
    content: "+"; position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
    font-weight: 700; line-height: 1;
  }
  .header .header-menu-wrap .dl-menu > li.open > a::after{ content: "–"; }
}

/* Desktop: Burger ausblenden */
@media (min-width: 992px){ .mobile-menu-icon{ display:none !important; } }

/* ===============================
   QUICKLINKS – stabile Endversion
   =============================== */

/* Basis & Reset */
.footer-item #quicklinks,
.footer-item #quicklinks ul { list-style:none; margin:0; padding:0; }
.footer-item #quicklinks > li { margin:4px 0; }

/* Normale Links */
.footer-item #quicklinks a{
  display:block; padding:5px 0; color:#406020; text-decoration:none; transition:color .2s ease;
}
.footer-item #quicklinks a:hover{ color:#2d4414; text-decoration:underline; }

/* Toggle-Button: Text + Pfeil nebeneinander (niemals blockbreit) */
.footer-item #quicklinks .ql-toggle{
  display:inline-flex !important; align-items:center; gap:6px;
  width:auto !important; padding:5px 0; background:none; border:0;
  font:inherit; color:#406020; cursor:pointer; white-space:nowrap;
  transition:color .2s ease;
}
.footer-item #quicklinks .ql-toggle:hover{ color:#2d4414; text-decoration:underline; }

/* Pfeil (separates Span) */
.footer-item #quicklinks .ql-caret{ display:inline-block; font-size:.9em; line-height:1; }

/* Untermenüs: sicher ein-/ausblenden + Einzug */
.footer-item #quicklinks .ql-sub{
  margin:0 0 6px 16px; padding:0; display:none !important;
}
.footer-item #quicklinks .ql-parent.open > .ql-sub{ display:block !important; }

.footer-item #quicklinks .ql-sub li{ margin:3px 0; }
.footer-item #quicklinks .ql-sub a{ font-size:.95em; color:#4d4d4d; padding:2px 0; }
.footer-item #quicklinks .ql-sub a:hover{ color:#2d4414; text-decoration:underline; }

/* Abstand zum Footer-Strich */
.footer-section .footer-item:last-child { margin-bottom:15px; }

/* Alte globale Regeln neutralisieren (schieben Pfeil sonst ganz rechts) */
.ql a, .ql-toggle { width:auto !important; }
.ql-toggle::after { content:none !important; position:static !important; }

/* ===== Footer: 3 Spalten gleich breit & gleichmäßig verteilt (Desktop) ===== */
@media (min-width: 992px){

  /* 1) Ein bisschen Luft zwischen den Spalten (Gutter):
        3rem ≈ 48px; nach Bedarf 2rem / 2.5rem / 3.5rem nehmen */
  .footer-section .row.padding{
    --bs-gutter-x: 3rem !important;
  }

  /* 2) JEDE der 3 Spalten bekommt exakt 33,333% Breite */
  .footer-section .row.padding > .col-lg-3.col-md-6.sm-padding{
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
  }

  /* 3) ALTE Hotfix-Schübe neutralisieren (Logo/Adresse/Quicklinks) */
  .footer-section .row.padding > .col-lg-3.col-md-6.sm-padding:nth-of-type(1){ 
    margin-right: 0 !important;
  }
  .footer-section .row.padding > .col-lg-3.col-md-6.sm-padding.address-col > .footer-item{
    padding-right: 0 !important;
  }
  .footer-section .row.padding > .col-lg-3.col-md-6.sm-padding:nth-of-type(3) > .footer-item{
    transform: none !important;
    margin-left: 0 !important;
  }

  /* 4) Sicherheit: UL nicht zusätzlich verschieben */
  #quicklinks{ margin-left: 0 !important; }
}


/* Footer: Quicklinks enger setzen – NICHT im Header wirksam */
.footer-section #quicklinks > li{ 
  margin: 2px 0 !important;               /* vorher 4px */
}
.footer-section #quicklinks > li > a,
.footer-section #quicklinks > li > .ql-toggle{
  padding: 4px 0 !important;              /* vorher 5px */
  line-height: 1.2 !important;
}

/* Unterpunkte ebenfalls kompakter */
.footer-section #quicklinks .ql-sub li{ 
  margin: 2px 0 !important;               /* vorher 3px */
}
.footer-section #quicklinks .ql-sub a{
  padding: 1px 0 !important;              /* vorher 2px */
}


/* ==========================
   Service-Bereich – Farben fixen
   ========================== */

/* Absatz unter der Überschrift (im .bg-dark Block) dunkelgrau */
.service-section.bg-dark .section-heading p {
  color: #333333 !important;   /* dunkelgrau */
  opacity: 1 !important;       /* falls Theme eine Transparenz setzt */
}

/* Karten: Texte dunkelgrau */
.service-section .service-card,
.service-section .service-card p,
.service-section .service-card a {
  color: #333333;
}

/* Karten: rote Überschrift -> hellgrün */
.service-section .service-card h3 a {
  color: #4d8c36;
}
.service-section .service-card h3 a:hover {
  color: #db9002;
}

/* Optional: Plus-Icon/Read-more ebenfalls grün */
.service-section .read-more,
.service-section .read-more i {
  color: #ffffff;
}
.service-section .read-more:hover,
.service-section .read-more:hover i {
  color: #db9002;
}

/* ==========================
   Accordion + Text + Transparenz
   ========================== */

/* 1) Accordion-Titel dunkelgrün */
.faq-box .card-header,
.faq-box .card-header button,
.faq-box .accordion-button {
  color: #2d4413 !important;   /* dunkelgrün */
  font-weight: 600;            /* optional kräftiger */
}

/* 2) Absatz mit Seitenabstand auf Handy & iPad */
.faq-section p {
  margin-left: 8px;
  margin-right: 7px;
}

/* nur auf kleineren Geräten anwenden */
@media (max-width: 992px) {
  .faq-section p {
    margin-left: 7px !important;
    margin-right: 7px !important;
  }
}

/* 3) "Unser Ziel" – Hintergrund-Overlay heller machen */
.cta-block.text-center {
  background-color: rgba(74,71,71,0.10) !important; /* 0.4 = heller, bisher war wohl 0.7 */
  padding: 20px;
  border-radius: 4px; /* optional, macht es weicher */
}

/* ===============================
   ACCORDION – wie Header-Navigation
   =============================== */
.accordion {
  --acc-green: #406020;       /* Menü-Grün */
  --acc-hover-bg: #eef5e5;    /* Hover-Hintergrund (hellgrün) */
  --acc-active-bg: #e6f0e6;   /* aktiver Reiter (etwas kräftigeres Hellgrün) */
  --acc-border: #e5e5e5;      /* dezente Rahmenfarbe */
  --acc-text: #333333;        /* Fließtext dunkelgrau */
}

/* Reiter/Button (geschlossen & offen) */
.accordion-button {
  background-color: #ffffff;              /* Reiter standard: weiß */
  color: var(--acc-green);                /* grüne Schrift wie Menü */
  font-weight: 700;                       /* fett */
  font-size: 18px;                        /* etwas größer */
  border: 1px solid var(--acc-border);
  border-bottom: none;                    /* wird vom Body übernommen */
  box-shadow: none;
  transition: background-color .2s ease, color .2s ease, text-decoration .2s ease;
}

/* Hover auf dem Reiter */
.accordion-button:hover {
  background-color: var(--acc-hover-bg);  /* hellgrün */
  color: var(--acc-green);
}

/* Reiter im geöffneten Zustand */
.accordion-button:not(.collapsed) {
  background-color: var(--acc-active-bg); /* nur der Reiter hellgrün */
  color: var(--acc-green);
  box-shadow: none;
}

/* Body/Content – bleibt weiß, auch wenn offen */
.accordion-collapse,
.accordion-body {
  background-color: #ffffff !important;   /* weißer Hintergrund */
  color: var(--acc-text);
}

.accordion-body {
  border: 1px solid var(--acc-border);
  border-top: none;                        /* nahtlos unter dem Reiter */
  padding: 1.25rem;                        /* Standard-Spacing */
}

/* Rahmen pro Item schön abschließen */
.accordion-item {
  border: none;
  margin-bottom: 12px;
}
.accordion-item:last-child .accordion-body {
  border-bottom-left-radius: .25rem;
  border-bottom-right-radius: .25rem;
}
.accordion-item .accordion-button {
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem;
}

/* Links im Body: grün & mit Hover-Unterstreichung */
.accordion-body a {
  color: var(--acc-green);
  text-decoration: none;
  transition: color .2s ease, text-decoration .2s ease;
}
.accordion-body a:hover,
.accordion-body a:focus {
  text-decoration: underline;             /* Unterstrich bei Hover */
}

/* Optional: Pfeil-Icon ruhiger & ohne Glow */
.accordion-button:focus {
  box-shadow: none;
}

/* Update: Geöffneter Reiter = genau wie Hover */
.accordion-button:not(.collapsed) {
  background-color: var(--acc-hover-bg) !important; /* selbes Hellgrün wie Hover */
  color: var(--acc-green);
}

/* Überschrift "Biolebensmittel und woher sie kommen" weiß */
.faq-section .section-heading h2,
.faq-section h2.section-heading,
.faq-section .section-heading {
  color: #ffffff !important;
}

/* Bild im Accordion rechts neben dem Text */
.accordion-body .acc-img-right {
  width: 100%;
  max-height: 220px;        /* bei Bedarf anpassen */
  object-fit: cover;        /* füllt den Rahmen ohne Verzerren */
}

/* Auf kleinen Screens Bild unter den Text, volle Breite */
@media (max-width: 767.98px) {
  .accordion-body .acc-img-right {
    max-height: none;
    margin-top: .5rem;
  }
}

.acc-img-link { display: inline-block; text-decoration: none; }
.acc-img-link:focus-visible { outline: 2px solid #406020; outline-offset: 2px; }
.acc-img-right { transition: transform .2s ease, box-shadow .2s ease; }
.acc-img-link:hover .acc-img-right { transform: scale(1.01); box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); }


/* Mobile/Tablet: Überschrift links & rechts je 7px Abstand */
@media (max-width: 991.98px) {
  .faq-section .section-heading h2 {
    padding-left: 7px !important;
    padding-right: 7px !important;
    box-sizing: border-box;
  }
}