/* Shared, scoped presentation. No theme or Elementor global styles are changed. */
.gastrovo-editor-preview__notice { margin: 0 0 1rem; padding: .8rem 1rem; border-inline-start: 3px solid #245449; background: #eef5f2; color: #24463d; font: 400 14px/1.5 system-ui, sans-serif; }
.gastrovo-editor-preview__paper { box-sizing: border-box; min-height: 20rem; padding: clamp(1.5rem, 6vw, 4rem); border: 1px solid #d8dedc; border-radius: .75rem; background: #fff; color: #243c34; text-align: center; }
.gastrovo-opening-hours, .gastrovo-menu, .gastrovo-weekly-menu, .gastrovo-structured-menu { box-sizing: border-box; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.gastrovo-opening-hours--empty { padding: 1.25rem; border: 1px dashed currentColor; border-radius: .5rem; line-height: 1.6; text-align: center; }
.gastrovo-menu__button:focus-visible, .gastrovo-weekly-menu__pdf-button:focus-visible, .gastrovo-structured-menu__nav a:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.gastrovo-menu__button, .gastrovo-weekly-menu__pdf-button { box-sizing: border-box; max-width: 100%; min-height: 44px; }
.gastrovo-weekly-menu__item > div, .gastrovo-weekly-menu__header > div { min-width: 0; }
.gastrovo-structured-menu__variants { max-width: 100%; }
.gastrovo-structured-menu__variants dt { white-space: normal; }
.gastrovo-opening-hours { container-type: inline-size; container-name: gastrovo-hours; }
.gastrovo-weekly-menu { container-type: inline-size; container-name: gastrovo-weekly; }
.gastrovo-structured-menu__menu { container-type: inline-size; container-name: gastrovo-menu; }
@container gastrovo-hours (max-width: 380px) {
 .gastrovo-opening-hours .gastrovo-opening-hours__day { grid-template-columns: 1fr; gap: .25rem; }
 .gastrovo-opening-hours .gastrovo-opening-hours__times { text-align: start; }
}
@container gastrovo-weekly (max-width: 380px) {
 .gastrovo-weekly-menu .gastrovo-weekly-menu__header { flex-direction: column; align-items: flex-start; }
 .gastrovo-weekly-menu .gastrovo-weekly-menu__day { padding: 1rem; }
 .gastrovo-weekly-menu .gastrovo-weekly-menu__item { flex-wrap: wrap; gap: .5rem; }
}
@container gastrovo-menu (max-width: 600px) {
 .gastrovo-structured-menu .gastrovo-structured-menu__items { grid-template-columns: minmax(0, 1fr); }
 .gastrovo-structured-menu .gastrovo-structured-menu__item { flex-wrap: wrap; gap: .5rem; }
 .gastrovo-structured-menu .gastrovo-structured-menu__variants div { white-space: normal; }
}
