/* Grundlayout ----------------------------------------------------------- */
  .speisekarte-wrapper {
    font-size: .95rem !important;
  }

  /* Alle Texte in der Speisekarte linksbündig, auch wenn das Theme justify erzwingt */
  .speisekarte-wrapper p,
  .speisekarte-intro,
  .speisekarte-kategorie-beschreibung,
  .speisekarte-artikel-beschreibung,
  .speisekarte-footer {
    text-align: left !important;
  }

  .speisekarte-artikel-beschreibung{
    padding-right: 0.75rem !important;
  }

  .speisekarte-wrapper p {
    margin-bottom: .25rem !important;
  }

  .speisekarte-kategorie h2 {
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    margin-bottom: .5rem !important;
  }

  /* Liste & Artikel – Einzug weg, saubere Karte -------------------------- */
  .speisekarte-artikel-liste {
    margin: 0 !important;
    border-radius: .5rem !important;
    overflow: hidden !important;
    box-shadow: 0 0 0 1px rgba(0,0,0,.03) !important;
  }

  .speisekarte-artikel-liste .list-group-item {
    border-left: 0 !important;
    border-right: 0 !important;
    border-color: #eeeeee !important;
    border-radius: 0 !important;
    padding: .75rem 1rem !important;
  }

  .speisekarte-artikel-liste .list-group-item:first-child {
    border-top-left-radius: .5rem !important;
    border-top-right-radius: .5rem !important;
  }

  .speisekarte-artikel-liste .list-group-item:last-child {
    border-bottom-left-radius: .5rem !important;
    border-bottom-right-radius: .5rem !important;
  }

  .speisekarte-artikel-soldout {
    opacity: .45 !important;
  }

    .speisekarte-artikel-soldout .speisekarte-artikel-titel,
    .speisekarte-artikel-soldout .speisekarte-price-amount,
    .speisekarte-artikel-soldout .speisekarte-pfand-hinweis {
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
    }

  .speisekarte-artikel .fw-semibold {
    font-weight: 600 !important;
  }

  /* Preisblock immer sauber rechts bündig --------------------------------- */
  .speisekarte-preisblock {
    min-width: 5.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    text-align: right !important;
    font-size: .9rem !important;
  }

  .speisekarte-price-amount {
    white-space: nowrap !important;   /* 6,50 € bleibt zusammen */
  }

  .speisekarte-pfand-hinweis {
    white-space: nowrap !important;
    font-size: .75rem !important;
  }

  .speisekarte-price-old {
    font-size: .85rem !important;
    text-decoration: line-through;
    color: #999999 !important;
    margin-right: .25rem !important;
  }

  .speisekarte-price-new {
    font-weight: 600 !important;
  }


  /* Tags & Allergene ------------------------------------------------------ */
  .speisekarte-tag-badge {
    font-size: .7rem !important;
    font-weight: 500 !important;
    padding: .1rem .5rem !important;
    border-radius: 999px !important;
  }

  .speisekarte-tag-badge svg {
    vertical-align: text-bottom !important;
    margin-right: .15rem !important;
  }

  .speisekarte-allergene .badge {
    font-size: .65rem !important;
    font-weight: 500 !important;
    border-radius: .25rem !important;
  }

  /* Container für Tags (Artikel) */
  .speisekarte-tags {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.4rem; /* Abstand zwischen Pills/Icons */
  }

  /* Icon-only-Variante: wirklich nur Icons, keine Pill */
  .speisekarte-tag-icon-only {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  /* allgemeine Icon-Basisklasse (kommt aus speise_icons.php) */
  .speise-icon {
    display: inline-block;
    vertical-align: middle;
  }

  /* Größe je nach $size-Parameter ---------------------------------------- */
  .speise-icon-sm {
    width: 0.9em !important;
    height: 0.9em !important;
  }

  .speise-icon-md {
    width: 1.5em !important;
    height: 1.5em !important;
  }

  .speise-icon-lg {
    width: 2.1em !important;
    height: 2.1em !important;
  }

  /* bei icon-only kein rechter Abstand am Icon selbst */
  .speisekarte-tag-icon-only .speise-icon {
    margin-right: 0 !important;
  }


  /* Status-Badges (Bestand / ausverkauft) -------------------------------- */
  .status-badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.05rem 0.3rem !important;
    border-radius: 999px !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    vertical-align: middle !important;
  }

  .status-badge i {
    font-size: .9em !important;
  }

  .status-ok {
    background-color: #e8f5e9 !important;   /* zartes Grün */
    color: #1b5e20 !important;
  }

  .status-low {
    background-color: #fff3e0 !important;   /* zartes Orange */
    color: #e65100 !important;
  }

  .status-sold-out {
    background-color: #ffebee !important;   /* zartes Rot */
    color: #b71c1c !important;
  }

  /* Footer-Hinweis -------------------------------------------------------- */
  .speisekarte-footer {
    font-size: .9rem !important;
    margin-top: 1.5rem !important;
  }

  /* Mobile Feintuning ----------------------------------------------------- */
  @media (max-width: 576px) {
    .speisekarte-artikel-liste .list-group-item {
      padding: .75rem .75rem !important;
    }
  }

  /* Filterbar im Plugin ---------------------------------------------------- */
.rqready-speisekarte-filterbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  margin-bottom: .25rem;
}

.rqready-speisekarte-filterbar .rq-filter-btn {
  margin-bottom: .25rem !important;
}

.rqready-speisekarte-filterbar .rq-filter-btn.active {
  color: #fff !important;
  background-color: #198754 !important; /* Bootstrap-success-Grün */
  border-color: #198754 !important;
}

/* Artikel, die gerade rausgefiltert sind */
.speisekarte-hidden-by-filter {
  display: none !important;
}


.rq-speise-tooltip {
  position: absolute;
  z-index: 99999;
  max-width: 220px;
  padding: 0.35rem 0.6rem;
  border-radius: 0.35rem;
  background: rgba(0, 0, 0, 0.9);
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.3;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}


