.elementor-widget-section .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-section .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-6786 .elementor-element.elementor-element-157533e > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-6786 .elementor-element.elementor-element-157533e:not(.elementor-motion-effects-element-type-background), .elementor-6786 .elementor-element.elementor-element-157533e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ffwbuchholz.de/wp-content/uploads/2025/10/DienstplanBanner.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-6786 .elementor-element.elementor-element-157533e > .elementor-container{min-height:700px;}.elementor-6786 .elementor-element.elementor-element-157533e{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-6786 .elementor-element.elementor-element-157533e > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-heading .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-6786 .elementor-element.elementor-element-cda0ae9 > .elementor-widget-container{margin:100px 0px 0px 0px;}.elementor-6786 .elementor-element.elementor-element-cda0ae9{text-align:center;}.elementor-6786 .elementor-element.elementor-element-cda0ae9 .elementor-heading-title{font-size:65px;font-weight:600;color:var( --e-global-color-f4283f2 );}.elementor-6786 .elementor-element.elementor-element-9b74773:not(.elementor-motion-effects-element-type-background), .elementor-6786 .elementor-element.elementor-element-9b74773 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-6786 .elementor-element.elementor-element-9b74773{border-style:solid;border-width:0px 0px 0px 0px;border-color:#FFFFFF;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:50px 0px 50px 0px;}.elementor-6786 .elementor-element.elementor-element-9b74773 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-6786 .elementor-element.elementor-element-21adc67{text-align:center;}.elementor-6786 .elementor-element.elementor-element-21adc67 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-f4283f2 );}.elementor-widget-button .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-button .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-text-editor .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-shortcode .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-shortcode .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}:root{--page-title-display:none;}@media(max-width:767px){.elementor-6786 .elementor-element.elementor-element-cda0ae9 > .elementor-widget-container{margin:175px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-6786 .elementor-element.elementor-element-cda0ae9 .elementor-heading-title{font-size:35px;}}@media(min-width:1025px){.elementor-6786 .elementor-element.elementor-element-157533e:not(.elementor-motion-effects-element-type-background), .elementor-6786 .elementor-element.elementor-element-157533e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}/* Start custom CSS for shortcode, class: .elementor-element-8c20dcc *//* Normale dünne Linien */
table.dienstplan td, 
table.dienstplan th {
  border: 1px solid #ccc;
}

/* Dicke Linie wenn neue Zeit beginnt */
table.dienstplan tr.neue-zeit td {
  border-top: 3px solid #333;
}

/* Alle Texte in der Dienstplan-Tabelle horizontal mittig */
table.dienstplan th,
table.dienstplan td {
  text-align: center;
  vertical-align: middle; /* sorgt auch für saubere vertikale Ausrichtung */
}

/* Schriftgröße und Zeilenhöhe anpassen */
table.dienstplan {
  font-size: 20px;       
  line-height: 1.2;      /* kompaktere Zeilenhöhe */
}

/* Zellen enger machen */
table.dienstplan td,
table.dienstplan th {
  padding: 4px 8px;      /* weniger Innenabstand */
}

/* Spaltenbreiten der Dienstplan-Tabelle anpassen */
table.dienstplan {
  table-layout: fixed;   /* feste Spaltenbreiten */
  width: 100%;           /* volle Breite nutzen */
}

table.dienstplan td,
table.dienstplan th {
  padding: 6px 8px;
  text-align: center;
  vertical-align: middle;
  word-wrap: break-word; /* lange Namen umbrechen */
}

/* Ort-Spalte */
table.dienstplan td:first-child,
table.dienstplan th:first-child {
  width: 15%;   /* z.B. 20% der Gesamtbreite */
}

/* Zeit-Spalte */
table.dienstplan td:nth-child(2),
table.dienstplan th:nth-child(2) {
  width: 15%;
}

/* Status-Spalte (Buttons/Namen) */
table.dienstplan td:last-child,
table.dienstplan th:last-child {
  width: 70%;
}

/* Basis: Ort-Zelle mit Platz für Icon */
table.dienstplan td.ort-cell {
  position: relative;
  padding-left: 2em; /* Platz für Emoji links */
  text-align: center;
  vertical-align: middle;
}

/* Emoji vor den Ort-Text setzen */
table.dienstplan td.ort-cell::before {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
}

/* Orte + Emojis (Unicode-Escapes in CSS sind stabil) */
table.dienstplan td.ort-bedienung::before       { content: "\1F37D"; } /* 🍽️ */
table.dienstplan td.ort-bierbrunnen::before     { content: "\1F37A"; } /* 🍺 */
table.dienstplan td.ort-bonkasse::before        { content: "\1F4B3"; } /* 💳 */
table.dienstplan td.ort-grill::before           { content: "\1F356"; } /* 🍖 */
table.dienstplan td.ort-spuelen::before         { content: "\1F9FD"; } /* 🧽 */
table.dienstplan td.ort-springer::before        { content: "\1F300"; } /* 🌀 */
table.dienstplan td.ort-kinderbetreuung::before { content: "\1F476"; } /* 👶 */
table.dienstplan td.ort-kuchentheke::before     { content: "\1F370"; } /* 🍰 *//* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-705f029 *//* Normale dünne Linien */
table.dienstplan td, 
table.dienstplan th {
  border: 1px solid #ccc;
}

/* Dicke Linie wenn neue Zeit beginnt */
table.dienstplan tr.neue-zeit td {
  border-top: 3px solid #333;
}

/* Alle Texte in der Dienstplan-Tabelle horizontal mittig */
table.dienstplan th,
table.dienstplan td {
  text-align: center;
  vertical-align: middle; /* sorgt auch für saubere vertikale Ausrichtung */
}

/* Schriftgröße und Zeilenhöhe anpassen */
table.dienstplan {
  font-size: 20px;       
  line-height: 1.2;      /* kompaktere Zeilenhöhe */
}

/* Zellen enger machen */
table.dienstplan td,
table.dienstplan th {
  padding: 4px 8px;      /* weniger Innenabstand */
}

/* Spaltenbreiten der Dienstplan-Tabelle anpassen */
table.dienstplan {
  table-layout: fixed;   /* feste Spaltenbreiten */
  width: 100%;           /* volle Breite nutzen */
}

table.dienstplan td,
table.dienstplan th {
  padding: 6px 8px;
  text-align: center;
  vertical-align: middle;
  word-wrap: break-word; /* lange Namen umbrechen */
}

/* Ort-Spalte */
table.dienstplan td:first-child,
table.dienstplan th:first-child {
  width: 15%;   /* z.B. 20% der Gesamtbreite */
}

/* Zeit-Spalte */
table.dienstplan td:nth-child(2),
table.dienstplan th:nth-child(2) {
  width: 15%;
}

/* Status-Spalte (Buttons/Namen) */
table.dienstplan td:last-child,
table.dienstplan th:last-child {
  width: 70%;
}

/* Basis: Ort-Zelle mit Platz für Icon */
table.dienstplan td.ort-cell {
  position: relative;
  padding-left: 2em; /* Platz für Emoji links */
  text-align: center;
  vertical-align: middle;
}

/* Emoji vor den Ort-Text setzen */
table.dienstplan td.ort-cell::before {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
}

/* Orte + Emojis (Unicode-Escapes in CSS sind stabil) */
table.dienstplan td.ort-bedienung::before       { content: "\1F37D"; } /* 🍽️ */
table.dienstplan td.ort-bierbrunnen::before     { content: "\1F37A"; } /* 🍺 */
table.dienstplan td.ort-bonkasse::before        { content: "\1F4B3"; } /* 💳 */
table.dienstplan td.ort-grill::before           { content: "\1F356"; } /* 🍖 */
table.dienstplan td.ort-spuelen::before         { content: "\1F9FD"; } /* 🧽 */
table.dienstplan td.ort-springer::before        { content: "\1F300"; } /* 🌀 */
table.dienstplan td.ort-kinderbetreuung::before { content: "\1F476"; } /* 👶 */
table.dienstplan td.ort-kuchentheke::before     { content: "\1F370"; } /* 🍰 *//* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7f5a0ce *//* Normale dünne Linien */
table.dienstplan td, 
table.dienstplan th {
  border: 1px solid #ccc;
}

/* Dicke Linie wenn neue Zeit beginnt */
table.dienstplan tr.neue-zeit td {
  border-top: 3px solid #333;
}

/* Alle Texte in der Dienstplan-Tabelle horizontal mittig */
table.dienstplan th,
table.dienstplan td {
  text-align: center;
  vertical-align: middle; /* sorgt auch für saubere vertikale Ausrichtung */
}

/* Schriftgröße und Zeilenhöhe anpassen */
table.dienstplan {
  font-size: 20px;       
  line-height: 1.2;      /* kompaktere Zeilenhöhe */
}

/* Zellen enger machen */
table.dienstplan td,
table.dienstplan th {
  padding: 4px 8px;      /* weniger Innenabstand */
}

/* Spaltenbreiten der Dienstplan-Tabelle anpassen */
table.dienstplan {
  table-layout: fixed;   /* feste Spaltenbreiten */
  width: 100%;           /* volle Breite nutzen */
}

table.dienstplan td,
table.dienstplan th {
  padding: 6px 8px;
  text-align: center;
  vertical-align: middle;
  word-wrap: break-word; /* lange Namen umbrechen */
}

/* Ort-Spalte */
table.dienstplan td:first-child,
table.dienstplan th:first-child {
  width: 30%;   /* z.B. 20% der Gesamtbreite */
}

/* Zeit-Spalte */
table.dienstplan td:nth-child(2),
table.dienstplan th:nth-child(2) {
  width: 30%;
}

/* Status-Spalte (Buttons/Namen) */
table.dienstplan td:last-child,
table.dienstplan th:last-child {
  width: 40%;
}

/* Basis: Ort-Zelle mit Platz für Icon */
table.dienstplan td.ort-cell {
  position: relative;
  padding-left: 2em; /* Platz für Emoji links */
  text-align: center;
  vertical-align: middle;
}

/* Emoji vor den Ort-Text setzen */
table.dienstplan td.ort-cell::before {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
}

/* Orte + Emojis (Unicode-Escapes in CSS sind stabil) */
table.dienstplan td.ort-bedienung::before       { content: "\1F37D"; } /* 🍽️ */
table.dienstplan td.ort-bierbrunnen::before     { content: "\1F37A"; } /* 🍺 */
table.dienstplan td.ort-bonkasse::before        { content: "\1F4B3"; } /* 💳 */
table.dienstplan td.ort-grill::before           { content: "\1F356"; } /* 🍖 */
table.dienstplan td.ort-spuelen::before         { content: "\1F9FD"; } /* 🧽 */
table.dienstplan td.ort-springer::before        { content: "\1F300"; } /* 🌀 */
table.dienstplan td.ort-kinderbetreuung::before { content: "\1F476"; } /* 👶 */
table.dienstplan td.ort-kuchentheke::before     { content: "\1F370"; } /* 🍰 *//* End custom CSS */