.elementor-388 .elementor-element.elementor-element-d2df8e1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.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 );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-388 .elementor-element.elementor-element-1279404 .elementor-heading-title{font-family:"Outfit", Sans-serif;font-size:1.4rem;font-weight:500;line-height:120%;letter-spacing:2%;word-spacing:2%;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );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-388 .elementor-element.elementor-element-d3a81f0{font-family:"Outfit", Sans-serif;font-size:1rem;font-weight:400;line-height:150%;}#elementor-popup-modal-388 .dialog-widget-content{animation-duration:0.6s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-388{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-388 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-388 .dialog-close-button{display:flex;font-size:1.5rem;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );}#elementor-popup-modal-388 .dialog-widget-content{border-radius:10px 10px 10px 10px;}}/* Start custom CSS for container, class: .elementor-element-d2df8e1 *//* --- Grundlayout --- */
.opening-hours-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.opening-hours-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 6px 0;
  font-size: 15px;
  line-height: 1.45;
}

.opening-hours-item strong {
  flex: 0 0 120px; /* feste Spalte für Wochentag */
  font-weight: 600;
  color: #222;
}

.opening-hours-item .oh-time {
  flex: 1 1 auto;
  color: #222;
  word-break: keep-all;
  white-space: nowrap; /* Desktop: Zeiten bleiben in einer Zeile */
}

/* --- Heute hervorheben --- */
.opening-hours-item.is-today {
  background: #f0f6ff;
  border-left: 4px solid #2b6eff;
  border-radius: 4px;
  padding: 4px 8px;
}

.opening-hours-item.is-today strong::after {
  content: "Heute";
  margin-left: 8px;
  font-size: 12px;
  color: #fff;
  background: #2b6eff;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* --- Mobile Ansicht --- */
@media (max-width: 480px) {
  .opening-hours-item {
    flex-direction: column;
    gap: 2px;
    padding: 6px 8px;
  }

  .opening-hours-item strong {
    flex: none;
    min-width: 0;
  }

  .opening-hours-item .oh-time {
    white-space: normal; /* Mobile: umbrechen erlaubt */
  }
}/* End custom CSS */