.et4-oe, .et4-oe * { box-sizing: border-box; }
.et4-oe { --et4-oe-accent:#2f2f2f; --et4-oe-today-bg:#eeeeee; --et4-oe-font-family:inherit; --et4-oe-base-font-size:inherit; --et4-oe-status-font-size:inherit; --et4-oe-status-color:inherit; --et4-oe-day-font-size:inherit; --et4-oe-day-color:inherit; --et4-oe-times-font-size:inherit; --et4-oe-times-color:inherit; --et4-oe-separator-color:rgba(0,0,0,.11); --et4-oe-width:100%; --et4-oe-mobile-width:100%; --et4-oe-max-width:720px; color: var(--et4-oe-accent); font-family: var(--et4-oe-font-family); font-size: var(--et4-oe-base-font-size); }
.et4-oe-statusbar { display:inline-flex; align-items:center; gap:.35em; margin-bottom:18px; font-size:var(--et4-oe-status-font-size); color:var(--et4-oe-status-color); letter-spacing:.02em; }
.et4-oe-statusbar.open {}
.et4-oe-statusbar.closed {}
.et4-oe-statusbar .et4-oe-next { color: inherit; opacity:.78; font-size:.92em; }
.et4-oe-chip { display:inline-flex; align-items:center; padding:.58em .95em; border-radius:999px; font-weight:600; line-height:1.2; }
.et4-oe-chip.open { background:#eaf8ef; color:#126b33; }
.et4-oe-chip.closed { background:#fbebeb; color:#9b1c1c; }
.et4-oe-chip.info { background:#eef5ff; color:#1e4f91; }
.et4-oe-chip.neutral { background:#f3f4f6; color:#374151; }
.et4-oe-btn.open, .et4-oe-btn.closed { text-decoration:none !important; }

.et4-oe-listview { container-type:inline-size; width:var(--et4-oe-width); max-width:var(--et4-oe-max-width); display:block; color:var(--et4-oe-accent); }
.et4-oe-listview .et4-oe-row { display:grid; grid-template-columns:minmax(110px, 1fr) minmax(130px, auto); align-items:start; gap:24px; padding:10px 10px; border-bottom:1px solid var(--et4-oe-separator-color); }
.et4-oe-listview.no-separators .et4-oe-row { border-bottom:0; }
.et4-oe-listview .et4-oe-row:last-child { border-bottom:0; }
.et4-oe-listview .et4-oe-row.heute { background:var(--et4-oe-today-bg); }
.et4-oe-listview.no-highlight .et4-oe-row.heute { background:transparent; }
.et4-oe-listview .et4-oe-col.day { font-weight:400; letter-spacing:.035em; color:var(--et4-oe-day-color); font-size:var(--et4-oe-day-font-size); }
.et4-oe-listview .et4-oe-col.hours { text-align:right; justify-self:end; min-width:150px; color:var(--et4-oe-times-color); font-size:var(--et4-oe-times-font-size); }
.et4-oe-times-stacked { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.et4-oe-time-line { display:block; white-space:nowrap; }
.et4-oe-time-separator { opacity:.8; }
.et4-oe-closed { white-space:nowrap; }
@media (max-width: 480px) {
  .et4-oe-listview .et4-oe-row { grid-template-columns:1fr auto; gap:12px; padding:9px 4px; }
  .et4-oe-listview .et4-oe-col.hours { min-width:120px; }
}


.et4-oe-table { width:var(--et4-oe-width); max-width:var(--et4-oe-max-width); border-collapse:collapse; color:var(--et4-oe-accent); }
.et4-oe-table th, .et4-oe-table td { padding:10px; border-bottom:1px solid var(--et4-oe-separator-color); }
.et4-oe-table.no-separators th, .et4-oe-table.no-separators td { border-bottom:0; }
.et4-oe-table th { text-align:left; font-weight:400; letter-spacing:.035em; }
.et4-oe-table td { text-align:right; }
.et4-oe-table tr.heute { background:var(--et4-oe-today-bg); }
.et4-oe-table.no-highlight tr.heute { background:transparent; }


/* v5.4 responsive fallback */
@media (max-width: 600px) {
  .et4-oe-listview, .et4-oe-table { width: var(--et4-oe-mobile-width); max-width:100%; }
}
