/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.12.1759939903
Updated: 2025-10-08 18:11:43
*/

/* ---------- FRONTEND ACF FORMULAR ---------- */

/* Kompakte Beschriftung im Anfrageformular */
.anfrage-form label {
    display: block;
    margin-bottom: 2px;
    font-size: 14px;
}

/* Eingabefelder enger und ohne extra Abstände */
.anfrage-form input[type="text"],
.anfrage-form input[type="number"],
.anfrage-form input[type="email"],
.anfrage-form input[type="date"],
.anfrage-form textarea {
    width: 100% !important;
    padding: 6px 8px !important;
    margin: 0 !important;
    box-sizing: border-box;
    line-height: 1.3 !important;
}

/* Grid für Bausteine im Formular (falls du das dort nutzt) */
.bc-bausteine-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px 20px;
}

.bc-baustein-group-title {
    font-weight: 600;
    margin-bottom: 4px;
}

.bc-baustein-field {
    margin-bottom: 6px;
}

.bc-baustein-field label {
    margin-bottom: 2px;
}

/* ================================
   BetterCater Angebots-Tabellen
   ================================ */

/* Basislayout für alle Angebotstabellen */
.angebot-card table,
.bc-offer-menu-table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed;
    background: #fff;
}

/* Zellen-Style */
.angebot-card table th,
.angebot-card table td,
.bc-offer-menu-table th,
.bc-offer-menu-table td {
    padding: 10px 12px;
    vertical-align: top;
    white-space: normal !important;
    word-break: break-word;
    border-bottom: 1px solid #eee;
    text-align: left;
}

/* --- KUNDENSICHT: Tabelle MIT Auswahl-Spalte in .angebot-card --- */
/* Spalte 1: Titel */
.angebot-card table th:first-child,
.angebot-card table td:first-child {
    width: 33%;
}

/* Spalte 2: Beschreibung */
.angebot-card table th:nth-child(2),
.angebot-card table td:nth-child(2) {
    width: 57%;
}

/* Spalte 3: Auswahl (Checkbox) – schmal halten */
.angebot-card table th:nth-child(3),
.angebot-card table td:nth-child(3) {
    width: 40px !important;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
}

/* Checkbox selbst kleiner und zentriert */
.angebot-card table input[type="checkbox"],
.bc-offer-menu-table input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 auto;
    display: block;
}

/* Mobile: etwas kompakter */
@media (max-width: 768px) {
    .angebot-card table th,
    .angebot-card table td,
    .bc-offer-menu-table th,
    .bc-offer-menu-table td {
        padding: 8px 10px;
    }

    .angebot-card table th:nth-child(3),
    .angebot-card table td:nth-child(3) {
        width: 32px !important;
    }
}

/* ================================
   BetterCater – Bausteine (Formular)
   ================================ */

/* Desktop: 3 nebeneinander */
.bc-bau-wrap{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Tablet: 2 Spalten */
@media (max-width: 1024px){
  .bc-bau-wrap{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Handy: 1 Spalte */
@media (max-width: 640px){
  .bc-bau-wrap{
    grid-template-columns: 1fr !important;
  }
}

.bc-bau-box{
  border:1px solid #e6e6e6;
  border-radius:10px;
  padding:14px 14px 12px;
  background:#fff;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

/* Baustein-Titel dezenter */
.bc-bau-title{
  margin:0 0 6px 0;
  font-size:12px;
  font-weight:600;
  color:#666;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

.bc-bau-title::after{
  content:"";
  display:block;
  margin-top:6px;
  width:32px;
  height:2px;
  background:#e0e0e0;
  border-radius:2px;
}

/* Felder */
.bc-bau-field{
  margin-bottom:10px;
}

.bc-bau-label{
  display:block;
  margin-bottom:4px;
  font-size:13px;
  color:#555;
}

/* Inputs */
.bc-bau-input{
  padding:6px 8px;
  line-height:1.3;
  box-sizing:border-box;
  max-width:100%;
}

/* Zahlenfelder kompakt (Desktop/Tablet) */
.bc-bau-input--number{
  width:110px !important;
}

/* Notizen Textarea */
.bc-bau-textarea{
  width:100% !important;
  min-height:80px;
  padding:8px;
  box-sizing:border-box;
  resize:vertical;
}

/* Handy: Zahlenfelder wieder breit */
@media (max-width: 640px){
  .bc-bau-input--number{
    width:100% !important;
  }
}

/* Extra Feld unter den Boxes */
.bc-bau-extra{
  margin-top:16px;
  border:1px solid #e6e6e6;
  border-radius:10px;
  padding:14px;
  background:#fff;
}


/* Grid-Items dürfen nicht “klemmen” */
#bc-bau-wrap > .bc-bau-box{
  width: auto !important;     /* wichtig: NICHT 100% erzwingen */
  max-width: none !important;
  min-width: 0 !important;
}


/* Zahleninputs in Bausteinen kompakt */
#bc-bau-wrap input.bc-bau-input--number{
  width: 110px !important;
  max-width: 110px !important;
  display: inline-block !important;
}

/* Handy wieder breit */
@media (max-width: 640px){
  #bc-bau-wrap input.bc-bau-input--number{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =========================================
   BetterCater – Angebotsliste: IMMER untereinander
   ========================================= */

.angebote-grid{
  display: block !important;
}

.angebote-grid .angebot-card{
  margin: 0 0 20px 0 !important;
}

/* Card: Rahmen + saubere Innenabstände */
.angebot-card{
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  padding: 16px;
  background: #fff;

  /* WICHTIG: vorhandene Inline-Styles aus dem Renderer aushebeln */
  max-width: none !important;
  margin: 0 !important;
}

/* Optional: etwas "Card-Feeling" */
.angebot-card:hover{
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

/* =========================================
   BetterCater – Anfrage-Accordion (details/summary)
   ========================================= */

.bc-accordion{
  margin-top: 14px;
  border-top: 1px solid #f0f0f0;
  padding-top: 10px;
}

.bc-accordion summary{
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Pfeil */
.bc-accordion summary::before{
  content: "▸";
  display: inline-block;
  transform: translateY(-1px);
  opacity: .8;
}

.bc-accordion[open] summary::before{
  content: "▾";
}

.bc-accordion .bc-accordion-body{
  margin-top: 12px;
}



/* =========================================
   BetterCater – Tabelle: Beschreibung breiter
   ========================================= */

/* Kundensicht (LEGACY): nur für .angebot-positions-tabelle */
table.angebot-positions-tabelle th:first-child,
table.angebot-positions-tabelle td:first-child{
  width: 25% !important;
}

table.angebot-positions-tabelle th:nth-child(2),
table.angebot-positions-tabelle td:nth-child(2){
  width: 70% !important;
}

/* Legacy hatte Checkbox in Spalte 3 */
table.angebot-positions-tabelle th:nth-child(3),
table.angebot-positions-tabelle td:nth-child(3){
  width: 40px !important;
  text-align: center;
}

/* =========================================
   BetterCater – Anfrageformular einklappbar (details/summary)
   ========================================= */
details.bc-angebot-details{
  margin-top: 14px;
}

details.bc-angebot-details summary{
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Pfeil-Icon */
details.bc-angebot-details summary::before{
  content: "▸";
  display: inline-block;
  transform: translateY(-1px);
  opacity: .8;
}

details.bc-angebot-details[open] summary::before{
  content: "▾";
}


/* =========================================
   BetterCater – Menü-Tabelle Spaltenbreiten
   ========================================= */

table.bc-table.bc-table--no-check{
  table-layout: fixed;
}
table.bc-table.bc-table--no-check th:nth-child(1),
table.bc-table.bc-table--no-check td:nth-child(1){
  width: 28%;
}
table.bc-table.bc-table--no-check th:nth-child(2),
table.bc-table.bc-table--no-check td:nth-child(2){
  width: 72%;
}

/* Mit Checkbox-Spalte */
table.bc-table.bc-table--with-check{
  table-layout: fixed;
}
table.bc-table.bc-table--with-check th:nth-child(1),
table.bc-table.bc-table--with-check td:nth-child(1){
  width: 44px;
  text-align: center;
}
table.bc-table.bc-table--with-check th:nth-child(2),
table.bc-table.bc-table--with-check td:nth-child(2){
  width: 26%;
}
table.bc-table.bc-table--with-check th:nth-child(3),
table.bc-table.bc-table--with-check td:nth-child(3){
  width: 74%;
}

/* =========================================
   BetterCater – Menü-Tabelle: saubere Spalten
   ========================================= */

/* Grundsätzlich */
table.bc-offer-menu-table{
  table-layout: fixed;
  width: 100%;
}

/* =========================
   MIT Checkbox (Kundensicht)
   ========================= */

table.bc-offer-menu-table.bc-table--with-check th:nth-child(1),
table.bc-offer-menu-table.bc-table--with-check td:nth-child(1){
  width: 44px;
  text-align: center;
}

table.bc-offer-menu-table.bc-table--with-check th:nth-child(2),
table.bc-offer-menu-table.bc-table--with-check td:nth-child(2){
  width: 25%;
}

table.bc-offer-menu-table.bc-table--with-check th:nth-child(3),
table.bc-offer-menu-table.bc-table--with-check td:nth-child(3){
  width: calc(100% - 44px - 25%);
}

/* =========================
   OHNE Checkbox (Caterer/Admin)
   ========================= */

table.bc-offer-menu-table.bc-table--no-check th:nth-child(1),
table.bc-offer-menu-table.bc-table--no-check td:nth-child(1){
  width: 25%;
}

table.bc-offer-menu-table.bc-table--no-check th:nth-child(2),
table.bc-offer-menu-table.bc-table--no-check td:nth-child(2){
  width: 75%;
}




/* =========================================
   BetterCater – Menü-Tabelle: korrekte Breiten
   ========================================= */

/* Ohne Checkbox-Spalte: 2 Spalten */
table.bc-offer-menu-table.bc-table--no-check{
  table-layout: fixed;
}
table.bc-offer-menu-table.bc-table--no-check th:nth-child(1),
table.bc-offer-menu-table.bc-table--no-check td:nth-child(1){
  width: 25% !important;
}
table.bc-offer-menu-table.bc-table--no-check th:nth-child(2),
table.bc-offer-menu-table.bc-table--no-check td:nth-child(2){
  width: 75% !important;
}

/* Mit Checkbox-Spalte: 3 Spalten (✓ | Position | Beschreibung) */
table.bc-offer-menu-table.bc-table--with-check{
  table-layout: fixed;
}
table.bc-offer-menu-table.bc-table--with-check th:nth-child(1),
table.bc-offer-menu-table.bc-table--with-check td:nth-child(1){
  width: 44px !important;
  text-align: center !important;
}
table.bc-offer-menu-table.bc-table--with-check th:nth-child(2),
table.bc-offer-menu-table.bc-table--with-check td:nth-child(2){
  width: 22% !important;     /* Position schmaler */
}
table.bc-offer-menu-table.bc-table--with-check th:nth-child(3),
table.bc-offer-menu-table.bc-table--with-check td:nth-child(3){
  width: 78% !important;     /* Beschreibung breiter */
}

/* =========================================
   BetterCater – Beschreibungsspalte sauber linksbündig
   ========================================= */

/* FULL Menü – Beschreibungsspalte */
table.bc-offer-menu-table td:nth-child(3),
table.bc-offer-menu-table th:nth-child(3),
table.bc-offer-menu-table.bc-table--no-check td:nth-child(2),
table.bc-offer-menu-table.bc-table--no-check th:nth-child(2) {
  text-align: left !important;
  text-indent: 0 !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* Falls Inhalte <p>, <ul>, <br> etc. enthalten */
table.bc-offer-menu-table td:nth-child(3) p,
table.bc-offer-menu-table td:nth-child(3) ul,
table.bc-offer-menu-table td:nth-child(3) ol,
table.bc-offer-menu-table.bc-table--no-check td:nth-child(2) p,
table.bc-offer-menu-table.bc-table--no-check td:nth-child(2) ul,
table.bc-offer-menu-table.bc-table--no-check td:nth-child(2) ol {
  margin: 0;
  padding: 0;
  text-align: left;
}

/* Verhindert „Blocksatz-Optik“ */
table.bc-offer-menu-table td {
  hyphens: none;
  word-spacing: normal;
}
