/* ONECOBULL Calendar WP: top-page compatible shell layout */

#onecobull-calendar-root {
  --oc-cal-page-width: 800px;
  --oc-cal-side-gutter: 16px;
  --oc-cal-side-gutter-right: calc(var(--oc-cal-side-gutter) + 5px);
  --oc-cal-shell-width: calc(var(--oc-cal-page-width) - var(--oc-cal-side-gutter) - var(--oc-cal-side-gutter-right));
  --oc-cal-main-width: calc(var(--oc-cal-shell-width) * 0.75);
  --oc-cal-sidebar-width: calc(var(--oc-cal-shell-width) * 0.25);

  width: 100%;
  max-width: var(--oc-cal-page-width);
  margin: 0 auto;
  padding: 0 var(--oc-cal-side-gutter-right) 0 var(--oc-cal-side-gutter);
  box-sizing: border-box;
  background: transparent;
  isolation: isolate;
}

#onecobull-calendar-root .fxchart-wp-shell {
  --page-max-width: var(--oc-cal-shell-width);
  --fx-pc-design-width: var(--oc-cal-shell-width);

  width: var(--page-max-width) !important;
  max-width: var(--page-max-width) !important;
  min-width: var(--page-max-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  transform-origin: top center;
  box-sizing: border-box !important;
}

/* Menu bar: fit all 6 items inside the 800px page shell (no clipping) */
#onecobull-calendar-root #oc-parts-menu,
#onecobull-calendar-root #oc-parts-menu .onecobull-page-shell__menu,
#onecobull-calendar-root #oc-parts-menu .onecobull-menu-bar {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#onecobull-calendar-root #oc-parts-menu .onecobull-menu-bar__inner {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 8px 0;
  box-sizing: border-box;
  overflow: visible;
}

#onecobull-calendar-root #oc-parts-menu .onecobull-menu-bar__list {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0;
  list-style: none !important;
}

#onecobull-calendar-root #oc-parts-menu .onecobull-menu-bar__item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  margin: 0 !important;
  padding: 0 !important;
}

#onecobull-calendar-root #oc-parts-menu .onecobull-menu-bar__link {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: 0 2px;
  box-sizing: border-box;
  font-size: 11px;
  letter-spacing: 0.03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Footer links: fit all 6 items in one row inside the 800px page shell */
#onecobull-calendar-root #oc-parts-footer {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#onecobull-calendar-root #oc-parts-footer .onecobull-footer-legal {
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

#onecobull-calendar-root #oc-parts-footer .onecobull-footer-legal__inner {
  width: 100%;
  max-width: 100%;
  gap: 8px;
}

#onecobull-calendar-root #oc-parts-footer .onecobull-footer-legal__copy {
  font-size: 0.65rem;
  letter-spacing: 0.06em;
}

#onecobull-calendar-root #oc-parts-footer .onecobull-footer-legal__nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  gap: 0 !important;
  overflow: visible;
  transform: scale(0.88);
  transform-origin: center center;
}

#onecobull-calendar-root #oc-parts-footer .onecobull-footer-legal__nav a {
  font-size: 10px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 0 2px 2px !important;
  white-space: nowrap !important;
  flex-shrink: 0;
}

#onecobull-calendar-root #oc-parts-footer .onecobull-footer-legal__nav span {
  font-size: 10px !important;
  letter-spacing: 0 !important;
  padding: 0 1px !important;
  flex-shrink: 0;
  line-height: 1;
}
