/* ============================================
   Schedule Page Styles
   ============================================ */
body:has(.br-main--schedule) {
  position: relative;
}
body:has(.br-main--schedule)::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  background: transparent url(../images/body_bg.webp) no-repeat center bottom -7.5vw / cover;
  aspect-ratio: 1920 / 600;
  z-index: -1;
}

/* --- Schedule List Section --- */

/* Center the heading */
.br-schedule > .wp-block-heading.br-schedule__heading {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

/* --- Year Divider --- */
.br-schedule__year {
  position: relative;
  font-size: var(--br-fs-34);
  font-weight: 900;
  text-align: center;
  margin: 60px 0 40px 0;
}
.br-schedule__year::before,
.br-schedule__year::after {
  content: '';
  position: absolute;
  top: 50%;
  width: calc((100% - var(--br-fs-34) * 6) / 2);
  height: 0;
  border-top: 2px solid var(--br-color-white);
}
.br-schedule__year::before {
  left: 0;
}
.br-schedule__year::after {
  right: 0;
}

/* --- Schedule Row --- */
.br-schedule__row {
  display: grid !important;
  grid-template-columns: 3fr 4fr !important;
  gap: var(--br-space-sm) var(--br-space-lg);
  align-items: flex-start;
  text-align: left;
  margin-top: var(--br-space-lg);
}
.br-schedule__venue {
  font-size: var(--br-fs-34);
  font-weight: 900;
  line-height: 1.2;
}
.br-schedule__date {
  font-size: var(--br-fs-24);
  font-weight: 900;
  line-height: 1.2;
  margin-top: -10px;
}
.br-schedule__date strong {
  font-size: var(--br-fs-46);
}
.br-day {
  display: inline-block;
  background: var(--br-color-day-green);
  width: calc(var(--br-fs-20) + 12px);
  height: calc(var(--br-fs-20) + 12px);
  font-size: var(--br-fs-20);
  line-height: 1.5;
  text-align: center;
  vertical-align: text-top;
  border-radius: 50%;
  margin: 0 -4px;
}
.br-day--sun { background: var(--br-color-day-red); }
.br-day--sat { background: var(--br-color-day-blue); }
/* .br-day--hol { background: var(--br-color-day-red); } */

.br-schedule__info {
  font-size: var(--br-fs-24);
  font-weight: 700;
  line-height: 1.5;
}
.br-schedule__buttons {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px;
  margin-top: var(--br-space-sm);
}
.br-schedule__buttons.sp,
.br-schedule__buttons .sp {
  display: none !important;
}
.br-schedule__buttons .wp-block-button__link {
  width: 100%;
  background: var(--br-color-yellow);
  color: var(--br-color-red);
  font-size: var(--br-fs-20);
  font-weight: 700;
  line-height: 1.25;
  padding: 10px 10px 12px 10px;
  border-radius: 8px;
}
.br-schedule__buttons .link-disabled .wp-block-button__link {
  pointer-events: none;
  background: #bbb;
  color: var(--br-color-white);
}
/* --- br-back-top --- */
.br-back-top .img-btn {
  display: flex;
  justify-content: center;
  height: 90px;
  margin-top: 80px;
}

/* --- Responsive --- */
@media (max-width: 1023px) {
}
@media (max-width: 767px) {
  .br-schedule__buttons {
    gap: 10px;
  }
  .br-schedule__buttons.pc,
  .br-schedule__buttons .pc {
    display: none !important;
  }
  .br-schedule__buttons.sp {
    display: grid !important;
  }
  .br-schedule__buttons .sp {
    display: block !important;
  }
  .br-schedule__row {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .br-day {
    margin-top: 0;
  }
}
@media (max-width: 599px) {
  .br-back-top .img-btn {
    height: 70px;
  }
  .br-schedule__info {
    font-size: var(--br-fs-18);
  }
}