/* OE Release Schedule
 *
 * Follows the OE design system over the prototype: --oe-* tokens throughout.
 * Agreed exception for THIS block only: category dot colours and frequency
 * tag tints use the brand palette hex values where no --oe-* token exists yet.
 * Layout responds to the block's own width (container queries), so it works
 * in any column, on tablets and phones, and in the editor.
 */

.oe-block-release-schedule {
  /* Category dots (brand palette; tokens where they exist) */
  --oe-release-schedule-cat: #7C8891; /* Light Cool Grey: any category without a colour */

  /* Frequency tags: 30% tints of the brand palette, navy text */
  --oe-release-schedule-tag-weekly: #8BA612;      /* Green */
  --oe-release-schedule-tag-fortnightly: #30B5AE; /* Teal */
  --oe-release-schedule-tag-monthly: var(--oe-color-sky-blue);
  --oe-release-schedule-tag-quarterly: #61385C;   /* Aged Plum */
  --oe-release-schedule-tag-biannually: #B38D2F;  /* Heritage Gold */

  --oe-release-schedule-line: var(--oe-color-secondary-muted);
  --oe-release-schedule-target: calc(var(--oe-sizing-large) + var(--oe-spacing-2xsmall)); /* 36px */
  --oe-release-schedule-ease: var(--oe-card-hover-duration) var(--oe-card-hover-ease);
}

.oe-block-release-schedule__cat--macro { --oe-release-schedule-cat: var(--oe-color-sky-blue); }
.oe-block-release-schedule__cat--cities { --oe-release-schedule-cat: #B3107A; }           /* Plum */
.oe-block-release-schedule__cat--industry { --oe-release-schedule-cat: #30B5AE; }         /* Teal */
.oe-block-release-schedule__cat--real-estate { --oe-release-schedule-cat: #8BA612; }      /* Green */
.oe-block-release-schedule__cat--tourism { --oe-release-schedule-cat: #E7A800; }          /* Orange */
.oe-block-release-schedule__cat--models-scenarios { --oe-release-schedule-cat: #EF4130; } /* Red */
.oe-block-release-schedule__cat--construction { --oe-release-schedule-cat: #B38D2F; }     /* Heritage Gold */
.oe-block-release-schedule__cat--climate { --oe-release-schedule-cat: var(--oe-color-cool-grey); }
.oe-block-release-schedule__cat--alpine-macro { --oe-release-schedule-cat: #61385C; }     /* Aged Plum */
.oe-block-release-schedule__cat--africa { --oe-release-schedule-cat: var(--oe-color-heritage-blue); }

.oe-block-release-schedule__inner {
  container: oe-release-schedule / inline-size;
  color: var(--oe-color-cool-grey);
  font-size: var(--oe-font-size-small);
}

/* The line-height token is a percentage, which would inherit as a fixed px
   value, so apply it to every element (low specificity; rules below override) */
.oe-block-release-schedule__inner :where(*) {
  line-height: var(--oe-line-height-large);
}

.oe-block-release-schedule *,
.oe-block-release-schedule *::before,
.oe-block-release-schedule *::after {
  box-sizing: border-box;
}

/* `hidden` must always win over the display rules below (and hides closed pop-ups fully) */
.oe-block-release-schedule [hidden] {
  display: none !important;
}

/* Resets: one class (beats theme element styles) via :where(), so the
   component rules below (two classes) can still set their own margins */
.oe-block-release-schedule :where(h1, h2, h3, h4, h5, p, ul, fieldset) {
  margin: 0;
  padding: 0;
}

.oe-block-release-schedule :where(fieldset) {
  border: 0;
  min-width: 0;
}

.oe-block-release-schedule :where(ul) {
  list-style: none;
}

.oe-block-release-schedule .oe-block-release-schedule__inner button {
  font-family: inherit;
  line-height: var(--oe-line-height-medium-large);
  text-transform: none;
  cursor: pointer;
}

.oe-block-release-schedule .oe-block-release-schedule__inner :focus-visible {
  outline: var(--oe-spacing-3xsmall) solid var(--oe-color-sky-blue);
  outline-offset: var(--oe-spacing-3xsmall);
}

.oe-block-release-schedule .oe-block-release-schedule__sr {
  position: absolute;
  width: var(--oe-spacing-5xsmall);
  height: var(--oe-spacing-5xsmall);
  margin: calc(var(--oe-spacing-5xsmall) * -1);
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.oe-block-release-schedule__dot {
  flex: none;
  width: var(--oe-spacing-xsmall);
  height: var(--oe-spacing-xsmall);
  border-radius: var(--oe-border-radius-badge);
  background: var(--oe-release-schedule-cat);
}

/* ---------- Headings and filter bar ---------- */

.oe-block-release-schedule .oe-block-release-schedule__title {
  margin-bottom: var(--oe-spacing-large);
  color: var(--oe-color-secondary);
  line-height: var(--oe-line-height-medium-large);
}

/* Order: h1, h2, description, then the filter bar on its own row */
.oe-block-release-schedule__head {
  display: flex;
  flex-direction: column;
  gap: var(--oe-spacing-xsmall);
  margin-bottom: var(--oe-spacing-medium);
}

.oe-block-release-schedule .oe-block-release-schedule__heading {
  color: var(--oe-color-secondary);
  font-size: var(--oe-font-size-large);
  line-height: var(--oe-line-height-medium-large);
}

/* Filters + Categories on the left, frequency tabs on the right */
.oe-block-release-schedule__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--oe-spacing-small) var(--oe-spacing-medium);
  margin-bottom: var(--oe-spacing-medium);
}

.oe-block-release-schedule__filters-start,
.oe-block-release-schedule__filters-end {
  display: flex;
  align-items: center;
  gap: var(--oe-spacing-small);
}

.oe-block-release-schedule__filters-label {
  color: var(--oe-color-cool-grey);
}

/* ---------- Categories dropdown ---------- */

.oe-block-release-schedule__dd {
  position: relative;
}

.oe-block-release-schedule .oe-block-release-schedule__dd-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--oe-spacing-xsmall);
  min-height: var(--oe-release-schedule-target);
  padding: 0 var(--oe-spacing-base);
  border: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
  border-radius: var(--oe-border-radius-base);
  background: var(--oe-color-primary-4);
  color: var(--oe-color-base);
  font-size: var(--oe-font-size-small);
}

.oe-block-release-schedule .oe-block-release-schedule__dd-btn:hover,
.oe-block-release-schedule .oe-block-release-schedule__dd-btn:focus,
.oe-block-release-schedule .oe-block-release-schedule__dd-btn[aria-expanded="true"] {
  border-color: var(--oe-color-cool-grey);
  background: var(--oe-color-primary-4);
  color: var(--oe-color-base);
}

.oe-block-release-schedule__chevron {
  width: var(--oe-spacing-small);
  height: var(--oe-spacing-small);
  margin-left: auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform var(--oe-release-schedule-ease);
}

.oe-block-release-schedule__dd-btn[aria-expanded="true"] .oe-block-release-schedule__chevron {
  transform: rotate(180deg);
}

.oe-block-release-schedule__dd-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--oe-spacing-medium);
  height: var(--oe-spacing-medium);
  padding: 0 var(--oe-spacing-2xsmall);
  border-radius: var(--oe-border-radius-badge);
  background: var(--oe-color-secondary);
  color: var(--oe-color-primary-4);
  font-size: var(--oe-font-size-xsmall);
  line-height: var(--oe-line-height-medium);
}

.oe-block-release-schedule__dd-panel {
  position: absolute;
  top: calc(100% + var(--oe-spacing-xsmall));
  left: 0;
  z-index: 30;
  width: var(--oe-width-fixed-small);
  max-width: calc(100cqi - var(--oe-spacing-large));
  padding: var(--oe-spacing-small);
  border: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
  border-radius: var(--oe-border-radius-base);
  background: var(--oe-color-primary-4);
  animation: oe-release-schedule-fade var(--oe-release-schedule-ease);
}

@keyframes oe-release-schedule-fade {
  from { opacity: 0; transform: translateY(calc(var(--oe-spacing-2xsmall) * -1)); }
  to { opacity: 1; transform: none; }
}

.oe-block-release-schedule .oe-block-release-schedule__dd-search {
  display: block;
  width: var(--oe-width-fixed-100);
  min-height: var(--oe-release-schedule-target);
  margin: 0;
  padding: 0 var(--oe-spacing-small);
  border: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
  border-radius: var(--oe-border-radius-small);
  background: var(--oe-color-muted);
  color: var(--oe-color-base);
  font-family: inherit;
  font-size: var(--oe-font-size-small);
}

.oe-block-release-schedule .oe-block-release-schedule__dd-search:focus {
  border-color: var(--oe-color-sky-blue);
  background: var(--oe-color-primary-4);
}

.oe-block-release-schedule .oe-block-release-schedule__dd-list {
  max-height: calc(var(--oe-width-fixed-small) - var(--oe-spacing-large));
  margin: var(--oe-spacing-xsmall) 0;
  overflow: auto;
}

.oe-block-release-schedule__dd-option {
  display: flex;
  align-items: center;
  gap: var(--oe-spacing-small);
  min-height: var(--oe-release-schedule-target);
  padding: var(--oe-spacing-2xsmall) var(--oe-spacing-xsmall);
  border-radius: var(--oe-border-radius-small);
  color: var(--oe-color-base);
  cursor: pointer;
}

.oe-block-release-schedule__dd-option:hover {
  background: var(--oe-color-muted);
}

.oe-block-release-schedule .oe-block-release-schedule__dd-option input {
  flex: none;
  width: var(--oe-spacing-base);
  height: var(--oe-spacing-base);
  margin: 0;
  accent-color: var(--oe-color-secondary);
}

.oe-block-release-schedule__dd-option .oe-block-release-schedule__dot {
  margin-left: auto;
}

.oe-block-release-schedule .oe-block-release-schedule__dd-none {
  padding: var(--oe-spacing-small) var(--oe-spacing-xsmall);
}

.oe-block-release-schedule__dd-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--oe-spacing-small);
  padding-top: var(--oe-spacing-small);
  border-top: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
}

.oe-block-release-schedule .oe-block-release-schedule__dd-clear,
.oe-block-release-schedule .oe-block-release-schedule__chips-clear {
  min-height: var(--oe-sizing-medium);
  padding: var(--oe-spacing-2xsmall);
  border: 0;
  background: none;
  color: var(--oe-color-secondary);
  font-size: var(--oe-font-size-small);
  text-decoration: underline;
  text-underline-offset: var(--oe-spacing-3xsmall);
}

.oe-block-release-schedule .oe-block-release-schedule__dd-clear:hover,
.oe-block-release-schedule .oe-block-release-schedule__dd-clear:focus,
.oe-block-release-schedule .oe-block-release-schedule__chips-clear:hover,
.oe-block-release-schedule .oe-block-release-schedule__chips-clear:focus {
  background: none;
  color: var(--oe-color-heritage-blue);
  text-decoration-thickness: var(--oe-spacing-3xsmall);
}

/* ---------- Frequency tabs ---------- */

.oe-block-release-schedule__tabs {
  display: inline-flex;
  flex-wrap: wrap;
  overflow: hidden;
  border: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
  border-radius: var(--oe-border-radius-small);
  background: var(--oe-color-primary-4);
}

.oe-block-release-schedule .oe-block-release-schedule__tab {
  min-height: var(--oe-release-schedule-target);
  margin: 0;
  padding: 0 var(--oe-spacing-base);
  border: 0;
  border-radius: 0;
  background: var(--oe-color-primary-4);
  color: var(--oe-color-cool-grey);
  font-size: var(--oe-font-size-small);
}

.oe-block-release-schedule .oe-block-release-schedule__tab + .oe-block-release-schedule__tab {
  border-left: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
}

.oe-block-release-schedule .oe-block-release-schedule__tab:hover,
.oe-block-release-schedule .oe-block-release-schedule__tab:focus {
  background: var(--oe-color-muted);
  color: var(--oe-color-base);
}

.oe-block-release-schedule .oe-block-release-schedule__tab[aria-pressed="true"] {
  background: var(--oe-color-secondary);
  color: var(--oe-color-primary-4);
}

.oe-block-release-schedule .oe-block-release-schedule__tab:focus-visible {
  outline-offset: calc(var(--oe-spacing-3xsmall) * -1);
}

/* ---------- Selected-filter chips ---------- */

.oe-block-release-schedule__chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--oe-spacing-xsmall);
  margin-bottom: var(--oe-spacing-medium);
}

.oe-block-release-schedule .oe-block-release-schedule__chip {
  display: inline-flex;
  align-items: center;
  gap: var(--oe-spacing-xsmall);
  min-height: var(--oe-sizing-large);
  padding: 0 var(--oe-spacing-small);
  border: var(--oe-spacing-5xsmall) solid var(--oe-color-sky-blue);
  border-radius: var(--oe-border-radius-badge);
  background: var(--oe-color-primary-5);
  color: var(--oe-color-secondary);
  font-size: var(--oe-font-size-small);
}

.oe-block-release-schedule .oe-block-release-schedule__chip:hover,
.oe-block-release-schedule .oe-block-release-schedule__chip:focus {
  border-color: var(--oe-color-secondary);
  background: var(--oe-color-secondary-muted);
  color: var(--oe-color-secondary);
}

.oe-block-release-schedule__chip span {
  font-size: var(--oe-font-size-base);
  line-height: var(--oe-line-height-medium);
}

/* ---------- Overview: category tiles ---------- */

.oe-block-release-schedule .oe-block-release-schedule__hint {
  margin: 0;
}

.oe-block-release-schedule__tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, calc(var(--oe-width-fixed-xsmall) + var(--oe-spacing-large))), 1fr));
  gap: var(--oe-spacing-small);
}

.oe-block-release-schedule .oe-block-release-schedule__tile {
  display: flex;
  align-items: center;
  gap: var(--oe-spacing-small);
  width: var(--oe-width-fixed-100);
  margin: 0;
  padding: var(--oe-spacing-base) var(--oe-spacing-base);
  border: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
  border-radius: var(--oe-border-radius-base);
  background: var(--oe-color-primary-4);
  color: var(--oe-color-cool-grey);
  text-align: left;
  transition: border-color var(--oe-release-schedule-ease);
}

.oe-block-release-schedule .oe-block-release-schedule__tile:hover,
.oe-block-release-schedule .oe-block-release-schedule__tile:focus {
  border-color: var(--oe-color-cool-grey);
  background: var(--oe-color-primary-4);
  color: var(--oe-color-cool-grey);
}

.oe-block-release-schedule__tile-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.oe-block-release-schedule__tile-name {
  color: var(--oe-color-base);
  font-size: var(--oe-font-size-base);
}

.oe-block-release-schedule__tile-meta {
  font-size: var(--oe-font-size-small);
}

.oe-block-release-schedule__tile-go {
  margin-left: auto;
  color: var(--oe-color-cool-grey);
  font-size: var(--oe-font-size-base);
  transition: transform var(--oe-release-schedule-ease), color var(--oe-release-schedule-ease);
}

.oe-block-release-schedule__tile:hover .oe-block-release-schedule__tile-go,
.oe-block-release-schedule__tile:focus-visible .oe-block-release-schedule__tile-go {
  color: var(--oe-color-secondary);
  transform: translateX(var(--oe-spacing-2xsmall));
}

/* ---------- Results: category groups ---------- */

/* Each category: a thin, softened category-colour rule on the left, and a
   hairline between categories (subtle grouping, no panel) */
.oe-block-release-schedule__group {
  padding-left: var(--oe-spacing-medium);
  border-left: var(--oe-spacing-3xsmall) solid color-mix(in srgb, var(--oe-release-schedule-cat) 55%, transparent);
}

.oe-block-release-schedule__group:not([hidden]) ~ .oe-block-release-schedule__group:not([hidden]) {
  margin-top: var(--oe-spacing-large);
}

.oe-block-release-schedule__group:not([hidden]) ~ .oe-block-release-schedule__group:not([hidden])::before {
  content: "";
  display: block;
  height: var(--oe-spacing-5xsmall);
  margin: 0 0 var(--oe-spacing-large) calc((var(--oe-spacing-medium) + var(--oe-spacing-3xsmall)) * -1);
  background: var(--oe-release-schedule-line);
}

.oe-block-release-schedule .oe-block-release-schedule__group-title {
  display: flex;
  align-items: center;
  gap: var(--oe-spacing-xsmall);
  margin-bottom: var(--oe-spacing-small);
  color: var(--oe-color-base);
  font-size: var(--oe-font-size-small);
  text-transform: uppercase;
}

.oe-block-release-schedule .oe-block-release-schedule__group-title:focus {
  outline: none;
}

.oe-block-release-schedule .oe-block-release-schedule__group-title:focus-visible {
  outline: var(--oe-spacing-3xsmall) solid var(--oe-color-sky-blue);
}

.oe-block-release-schedule .oe-block-release-schedule__sub {
  display: flex;
  align-items: center;
  gap: var(--oe-spacing-xsmall);
  margin: 0 0 var(--oe-spacing-small);
  color: var(--oe-color-secondary);
  font-size: var(--oe-font-size-base);
}

.oe-block-release-schedule .oe-block-release-schedule__releases:not([hidden]) + .oe-block-release-schedule__databanks .oe-block-release-schedule__sub {
  margin-top: var(--oe-spacing-medium);
}

.oe-block-release-schedule__count {
  padding: 0 var(--oe-spacing-xsmall);
  border-radius: var(--oe-border-radius-badge);
  background: var(--oe-color-secondary-muted);
  color: var(--oe-color-cool-grey);
  font-size: var(--oe-font-size-xsmall);
}

/* Release table: scrolls inside its box with a fixed header (not on narrow screens) */
.oe-block-release-schedule__table-wrap {
  max-height: var(--oe-width-fixed-medium);
  overflow: auto;
  border: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
  border-radius: var(--oe-border-radius-base);
  background: var(--oe-color-primary-4);
}

.oe-block-release-schedule .oe-block-release-schedule__table {
  width: var(--oe-width-fixed-100);
  margin: 0;
  border: 0;
  border-collapse: collapse;
  font-size: var(--oe-font-size-small);
}

.oe-block-release-schedule .oe-block-release-schedule__table th,
.oe-block-release-schedule .oe-block-release-schedule__table td {
  padding: var(--oe-spacing-small) var(--oe-spacing-base);
  border: 0;
  border-bottom: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.oe-block-release-schedule .oe-block-release-schedule__table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--oe-color-muted);
  color: var(--oe-color-cool-grey);
  font-size: var(--oe-font-size-xsmall);
  text-transform: uppercase;
}

.oe-block-release-schedule .oe-block-release-schedule__table td {
  background: var(--oe-color-primary-4);
  color: var(--oe-color-cool-grey);
}

.oe-block-release-schedule .oe-block-release-schedule__table td:first-child {
  width: 55%;
  color: var(--oe-color-base);
}

.oe-block-release-schedule .oe-block-release-schedule__table tbody tr:last-child td {
  border-bottom: 0;
}

.oe-block-release-schedule .oe-block-release-schedule__table tbody tr:hover td {
  background: var(--oe-color-muted);
}

/* Databank cards */
.oe-block-release-schedule__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--oe-width-fixed-small)), 1fr));
  gap: var(--oe-spacing-base);
}

.oe-block-release-schedule__card {
  display: flex;
  flex-direction: column;
  gap: var(--oe-spacing-xsmall);
  padding: var(--oe-spacing-medium);
  border: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
  border-radius: var(--oe-border-radius-base);
  background: var(--oe-color-primary-4);
}

.oe-block-release-schedule__card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--oe-spacing-small);
}

.oe-block-release-schedule .oe-block-release-schedule__card-title {
  color: var(--oe-color-base);
  font-size: var(--oe-font-size-base);
  line-height: var(--oe-line-height-medium-large);
}

.oe-block-release-schedule__tag {
  --oe-release-schedule-tag: var(--oe-color-secondary-muted);
  flex: none;
  padding: var(--oe-spacing-3xsmall) var(--oe-spacing-xsmall);
  border-radius: var(--oe-border-radius-small);
  background: color-mix(in srgb, var(--oe-release-schedule-tag) 30%, var(--oe-color-primary-4));
  color: var(--oe-color-secondary);
  font-size: var(--oe-font-size-xsmall);
  line-height: var(--oe-line-height-large);
  text-transform: uppercase;
}

.oe-block-release-schedule__tag--weekly { --oe-release-schedule-tag: var(--oe-release-schedule-tag-weekly); }
.oe-block-release-schedule__tag--fortnightly { --oe-release-schedule-tag: var(--oe-release-schedule-tag-fortnightly); }
.oe-block-release-schedule__tag--monthly { --oe-release-schedule-tag: var(--oe-release-schedule-tag-monthly); }
.oe-block-release-schedule__tag--quarterly { --oe-release-schedule-tag: var(--oe-release-schedule-tag-quarterly); }
.oe-block-release-schedule__tag--biannually { --oe-release-schedule-tag: var(--oe-release-schedule-tag-biannually); }

/* Empty states */
.oe-block-release-schedule__empty,
.oe-block-release-schedule .oe-block-release-schedule__notice {
  padding: var(--oe-spacing-xlarge) var(--oe-spacing-medium);
  border: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
  border-radius: var(--oe-border-radius-base);
  background: var(--oe-color-primary-4);
  text-align: center;
}

.oe-block-release-schedule .oe-block-release-schedule__empty-title {
  margin-bottom: var(--oe-spacing-2xsmall);
  color: var(--oe-color-base);
  font-size: var(--oe-font-size-base);
}

/* ---------- Wide (block 1024px or wider): release schedule left, databanks right ----------
   Each category row: title across both columns, then its table on the left and
   its databank cards on the right, so a long table never pushes the databanks
   out of view. With a frequency tab only, the left column is simply empty.
   Narrower screens keep the stacked order (release schedule, then databanks). */

@container oe-release-schedule (min-width: 64rem) {
  .oe-block-release-schedule__group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--oe-spacing-large);
    align-items: start;
  }

  .oe-block-release-schedule__group::before,
  .oe-block-release-schedule__group > .oe-block-release-schedule__group-title {
    grid-column: 1 / -1;
  }

  .oe-block-release-schedule__group > .oe-block-release-schedule__releases {
    grid-column: 1;
  }

  .oe-block-release-schedule__group > .oe-block-release-schedule__databanks {
    grid-column: 2;
  }

  .oe-block-release-schedule .oe-block-release-schedule__releases:not([hidden]) + .oe-block-release-schedule__databanks .oe-block-release-schedule__sub {
    margin-top: 0;
  }

  /* Half-width column: two cards per row */
  .oe-block-release-schedule__cards {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, calc(var(--oe-width-fixed-xsmall) + var(--oe-spacing-large))), 1fr));
  }
}

/* ---------- Phone (block narrower than 640px): filter bar stacks ---------- */

@container oe-release-schedule (max-width: 40rem) {
  .oe-block-release-schedule__filters,
  .oe-block-release-schedule__filters-start,
  .oe-block-release-schedule__filters-end {
    flex-direction: column;
    align-items: stretch;
    width: var(--oe-width-fixed-100);
  }

  .oe-block-release-schedule .oe-block-release-schedule__dd-btn {
    width: var(--oe-width-fixed-100);
  }

  .oe-block-release-schedule__dd-panel {
    width: var(--oe-width-fixed-100);
    max-width: none;
  }

  /* Six tabs: three per row as separate buttons, never scrolling sideways */
  .oe-block-release-schedule__tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--oe-spacing-xsmall);
    overflow: visible;
    border: 0;
    background: none;
  }

  .oe-block-release-schedule .oe-block-release-schedule__tab,
  .oe-block-release-schedule .oe-block-release-schedule__tab + .oe-block-release-schedule__tab {
    min-height: calc(var(--oe-sizing-xlarge) - var(--oe-spacing-2xsmall)); /* 44px touch target */
    padding: 0 var(--oe-spacing-2xsmall);
    border: var(--oe-spacing-5xsmall) solid var(--oe-release-schedule-line);
    border-radius: var(--oe-border-radius-small);
  }

  .oe-block-release-schedule .oe-block-release-schedule__tab[aria-pressed="true"] {
    border-color: var(--oe-color-secondary);
  }

  .oe-block-release-schedule .oe-block-release-schedule__tab:focus-visible {
    outline-offset: var(--oe-spacing-3xsmall);
  }

  /* No scroll box inside the page on touch screens */
  .oe-block-release-schedule__table-wrap {
    max-height: none;
    overflow: clip;
  }

  .oe-block-release-schedule .oe-block-release-schedule__table th {
    position: static;
  }

  .oe-block-release-schedule .oe-block-release-schedule__table th,
  .oe-block-release-schedule .oe-block-release-schedule__table td {
    padding: var(--oe-spacing-small);
  }

  .oe-block-release-schedule__card {
    padding: var(--oe-spacing-base);
  }

  .oe-block-release-schedule__group {
    padding-left: var(--oe-spacing-small);
  }

  .oe-block-release-schedule__group:not([hidden]) ~ .oe-block-release-schedule__group:not([hidden])::before {
    margin-left: calc((var(--oe-spacing-small) + var(--oe-spacing-3xsmall)) * -1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .oe-block-release-schedule *,
  .oe-block-release-schedule *::before,
  .oe-block-release-schedule *::after {
    transition: none !important;
    animation: none !important;
  }
}
