.elementor-kit-8{--e-global-color-primary:#222222;--e-global-color-secondary:#AAAAAA;--e-global-color-text:#222222;--e-global-color-accent:#FFBB00;--e-global-color-a4eb152:#545454;--e-global-color-05a00fa:#D6D6D6;--e-global-color-c0dbd3c:#FFFFFF;--e-global-color-cbb8ca1:#DD9900;--e-global-color-069f3fb:#FFCD42;--e-global-color-bf023c7:#F7F7F7;--e-global-typography-primary-font-family:"Oswald";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Oswald";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-family:"Oswald", Sans-serif;font-size:18px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Oswald", Sans-serif;font-size:1.2rem;font-weight:400;color:var( --e-global-color-c0dbd3c );}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:var( --e-global-color-accent );}.elementor-kit-8 h1{font-family:"Oswald", Sans-serif;font-size:4.5rem;font-weight:700;text-transform:uppercase;}.elementor-kit-8 h2{font-family:"Oswald", Sans-serif;font-size:2.5rem;font-weight:600;text-transform:uppercase;}.elementor-kit-8 h3{font-family:"Oswald", Sans-serif;font-size:1.7rem;font-weight:500;text-transform:uppercase;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;}.elementor-widget:not(:last-child){--kit-widget-spacing:40px;}.elementor-element{--widgets-spacing:40px 40px;--widgets-spacing-row:40px;--widgets-spacing-column:40px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1366px){.elementor-kit-8 h1{font-size:50px;}.elementor-kit-8 h2{font-size:36px;}.elementor-kit-8 h3{font-size:25px;}}@media(max-width:1024px){.elementor-kit-8 h1{font-size:45px;}.elementor-kit-8 h2{font-size:35px;}.elementor-kit-8 h3{font-size:25px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:880px){.elementor-kit-8 h1{font-size:40px;}.elementor-kit-8 h2{font-size:35px;}.elementor-kit-8 h3{font-size:25px;}}@media(max-width:767px){.elementor-kit-8{font-size:18px;}.elementor-kit-8 h1{font-size:29px;}.elementor-kit-8 h2{font-size:23px;}.elementor-kit-8 h3{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --Halb:50%; --30:30%; --100:100%; --textcolor:#222222; --martingelb:#FFBB00; --white:#ffffff; --martingelb-hover:#DD9900; --erfolg:#3cc200; --dunkelgrau:#545454; --hellgrau:#D6D6D6; --akzentfarbe-hell:#FFCD42; --background-hellgrau:#F7F7F7; }
/* Start custom CSS *//* ============================================================
   TABELLEN – Öffnungszeiten · Preistabelle · Kontakt
   ============================================================ */

:root,
.theme-light {
  --tbl-text: #111;
  --tbl-muted: #555;
  --tbl-head-bg: #f8f8f8;
  --tbl-border: #e0e0e0;
  --tbl-border-2: #d6d6d6;
  --tbl-card-bg: #f8f8f8;
  --tbl-banner-bg: #545454;
  --tbl-banner-fg: #fff;
  --tbl-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}

.theme-dark {
  --tbl-text: #f0f0f0;
  --tbl-muted: rgba(255, 255, 255, .75);
  --tbl-head-bg: rgba(255, 255, 255, .08);
  --tbl-border: rgba(255, 255, 255, .18);
  --tbl-border-2: rgba(255, 255, 255, .12);
  --tbl-card-bg: rgba(255, 255, 255, .08);
  --tbl-banner-bg: rgba(255, 255, 255, .12);
  --tbl-banner-fg: #f0f0f0;
  --tbl-shadow: 0 1px 3px rgba(0, 0, 0, .25);
}

/* ===== Gemeinsame Basis ===== */
.oeffnungszeiten-table,
.preistabelle,
.oeffnungszeiten-kontakt {
  width: 100%;
  line-height: 1.6;
  color: var(--tbl-text);
  background: transparent;
}

.oeffnungszeiten-table tr,
.preistabelle tr,
.oeffnungszeiten-kontakt tr { pointer-events: none; }

/* ===== Öffnungszeiten + Preistabelle (Desktop) ===== */
.oeffnungszeiten-table,
.preistabelle { border-collapse: collapse; font-size: 16px; }
.preistabelle { font-size: 15px; margin-bottom: 20px; }

.oeffnungszeiten-table th,
.oeffnungszeiten-table td,
.preistabelle th,
.preistabelle td {
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--tbl-border);
}

.oeffnungszeiten-table thead th,
.preistabelle thead th {
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--tbl-muted);
  background-color: var(--tbl-head-bg);
}

.oeffnungszeiten-table tbody th,
.oeffnungszeiten-table tbody td:first-child,
.preistabelle tbody td:first-child {
  font-weight: 600;
  white-space: nowrap;
  color: var(--tbl-muted);
}

.oeffnungszeiten-table tbody th,
.oeffnungszeiten-table tbody td:first-child {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.oeffnungszeiten-table tbody tr:last-child > * { border-bottom: none; }
.oeffnungszeiten-table .geschlossen { opacity: .65; font-style: italic; }

/* ===== Kontakt (Desktop) ===== */
.oeffnungszeiten-kontakt {
  border-collapse: separate;
  border-spacing: 10px;
  font-size: 17px;
  margin-bottom: 20px;
}

.oeffnungszeiten-kontakt th,
.oeffnungszeiten-kontakt td {
  padding: 12px;
  text-align: center;
  vertical-align: top;
  border-radius: 6px;
}

.oeffnungszeiten-kontakt th {
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 6px 6px 0 0;
  background-color: var(--tbl-banner-bg);
  color: var(--tbl-banner-fg);
}

.oeffnungszeiten-kontakt td {
  line-height: 1.4;
  background-color: var(--tbl-card-bg);
  border-bottom: 2px solid var(--tbl-border-2);
}


/* ============================================================
   MOBILE (≤ 680px) – Card-Layout
   ============================================================ */
@media (max-width: 680px) {
  .oeffnungszeiten-table, .oeffnungszeiten-table thead, .oeffnungszeiten-table tbody,
  .oeffnungszeiten-table tr, .oeffnungszeiten-table th, .oeffnungszeiten-table td,
  .preistabelle, .preistabelle thead, .preistabelle tbody,
  .preistabelle tr, .preistabelle th, .preistabelle td,
  .oeffnungszeiten-kontakt, .oeffnungszeiten-kontakt thead, .oeffnungszeiten-kontakt tbody,
  .oeffnungszeiten-kontakt tr, .oeffnungszeiten-kontakt th, .oeffnungszeiten-kontakt td {
    display: block;
    width: 100%;
  }

  .oeffnungszeiten-table thead,
  .preistabelle thead,
  .oeffnungszeiten-kontakt thead { display: none; }

  .oeffnungszeiten-kontakt { border-spacing: 0; }

  .oeffnungszeiten-table tr,
  .preistabelle tr,
  .oeffnungszeiten-kontakt tr { margin: 0; padding: 0; border-bottom: none; }

  /* Erste Zelle = Titel */
  .oeffnungszeiten-table td:first-child,
  .oeffnungszeiten-table tbody th,
  .preistabelle td:first-child {
    font-weight: 600;
    font-size: 14px;
    padding: 12px 0 8px;
    border: none;
    background: none;
    text-transform: uppercase;
    letter-spacing: .5px;
  }

  /* Karten (Preistabelle + Kontakt) */
  .preistabelle td:not(:first-child),
  .oeffnungszeiten-kontakt td {
    border: none;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 6px;
    background-color: var(--tbl-card-bg);
    color: var(--tbl-text);
    text-align: left;
    box-shadow: var(--tbl-shadow);
  }

  /* Öffnungszeiten: kompakte Flex-Zeilen */
  .oeffnungszeiten-table th,
  .oeffnungszeiten-table td { box-shadow: none; border-radius: 0; margin: 0; }

  .oeffnungszeiten-table td:not(:first-child) {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 6px 0;
    text-align: right;
    border: none;
  }

  .oeffnungszeiten-table tr {
    padding: 8px 0 14px;
    border-bottom: 1px solid var(--tbl-border-2);
  }
  .oeffnungszeiten-table tbody tr:last-child { border-bottom: none; }

  /* data-label Pseudo-Elemente */
  .oeffnungszeiten-table td:not(:first-child)::before {
    content: attr(data-label);
    font-size: 13px;
    font-weight: 600;
    flex-shrink: 0;
    color: var(--tbl-muted);
  }

  .preistabelle td:not(:first-child)::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    margin-bottom: 2px;
    color: var(--tbl-muted);
  }

  .oeffnungszeiten-kontakt td::before {
    content: attr(data-label);
    display: block;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    padding: 8px 14px;
    margin: -10px -14px 8px;
    border-radius: 8px 8px 0 0;
    background-color: var(--tbl-banner-bg);
    color: var(--tbl-banner-fg);
  }
}/* End custom CSS */