/* Shared accordion rhythm and state styling for the named venue templates. */
.venue-takadanobaba { --venue-accordion-open: #00b4d8; --venue-accordion-open-text: #102f45; --venue-coming-soon-text: #007b93; }
.venue-bigbox-higashiyamato { --venue-accordion-open: #f5b700; --venue-accordion-open-text: #302500; --venue-coming-soon-text: #946c00; }
.venue-aquacity-odaiba { --venue-accordion-open: #0075c2; --venue-accordion-open-text: #fff; --venue-coming-soon-text: #0066a8; }
.venue-musashimurayama { --venue-accordion-open: #d95f02; --venue-accordion-open-text: #fff; --venue-coming-soon-text: #aa4600; }
.yokohama-event { --venue-accordion-open: var(--blue); --venue-accordion-open-text: #fff; --venue-coming-soon-text: var(--blue); }

.baba-content > :is(
  .baba-participation-section,
  .baba-timetable-section,
  .baba-school,
  .baba-shops-section,
  .baba-stage-section,
  .baba-wc-section,
  .baba-reception-map-section,
  .baba-access,
  .baba-gallery-section,
  .baba-guide
) {
  margin: 0 0 14px !important;
  padding-block: 0 !important;
}

.baba-content > .baba-guide {
  width: 100%;
  max-width: none !important;
}

.baba-accordion {
  margin: 0 !important;
}

.baba-accordion-summary {
  box-sizing: border-box;
  min-height: 112px;
  margin: 0;
  padding: 24px 20px !important;
  transition: background-color .18s ease, color .18s ease;
}

.baba-accordion-body {
  margin: 0;
  padding: 32px 20px 48px !important;
}

.baba-accordion-body > .baba-kicker {
  display: none;
}

.baba-accordion[open] > .baba-accordion-summary {
  background: var(--venue-accordion-open);
  color: var(--venue-accordion-open-text);
}

.baba-accordion[open] > .baba-accordion-summary :is(h2, h3) {
  color: inherit;
}

.baba-accordion[open] > .baba-accordion-summary .baba-accordion-toggle {
  border: 1px solid currentColor;
  background: #fff;
  color: #17233c;
}

.venue-participation-card {
  width: min(100%, 760px);
  margin: 28px 0 !important;
}

.venue-participation-card a,
.venue-participation-card img {
  display: block;
  width: 100%;
}

.venue-map-image {
  width: 100%;
  margin: 28px 0 0 !important;
}

.venue-map-image a,
.venue-map-image img {
  display: block;
  width: 100%;
}

.venue-map-image img {
  height: auto;
  border: 1px solid color-mix(in srgb, var(--venue-accordion-open) 45%, transparent);
}

.venue-coming-soon {
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  display: grid !important;
  min-height: clamp(190px, 24vw, 280px);
  place-items: center;
  overflow: hidden;
  margin: 28px 0 0 !important;
  padding: 30px 20px !important;
  border: 1px solid var(--venue-accordion-open) !important;
  background: color-mix(in srgb, var(--venue-accordion-open) 8%, #fff) !important;
  color: var(--venue-coming-soon-text) !important;
  text-align: center;
}

.venue-coming-soon::before {
  content: "COMING SOON";
  position: absolute;
  z-index: 0;
  left: -2%;
  bottom: -0.28em;
  color: var(--venue-accordion-open);
  font: 900 clamp(5rem, 15vw, 12rem) / 1 "Noto Sans JP", sans-serif;
  letter-spacing: -.08em;
  opacity: .09;
  white-space: nowrap;
}

.venue-coming-soon-label,
.venue-coming-soon > strong {
  position: relative;
  z-index: 1;
  color: inherit !important;
  font: 900 clamp(2.5rem, 7vw, 5.5rem) / 1 "Noto Sans JP", sans-serif !important;
  letter-spacing: .06em;
}

.venue-participation-card img {
  height: auto;
  border: 1px solid #17233c33;
}

.venue-map-frame {
  display: block;
  width: 100%;
  height: clamp(320px, 46vw, 520px);
  min-height: 320px;
  border: 0;
}

.yokohama-event .venue-page-content {
  width: min(1180px, calc(100% - 80px));
  margin-inline: auto;
}

.yokohama-event .venue-page-content > .yokohama-accordion {
  margin: 0 0 14px !important;
}

.yokohama-event .yokohama-accordion-summary {
  box-sizing: border-box;
  min-height: 112px;
  margin: 0;
  padding-block: 24px !important;
  transition: background-color .18s ease, color .18s ease;
}

.yokohama-event .yokohama-accordion-body {
  margin: 0;
  padding: 0;
}

.yokohama-event .yokohama-accordion[open] > .yokohama-accordion-summary {
  background: var(--venue-accordion-open);
  color: var(--venue-accordion-open-text);
}

.yokohama-event .yokohama-accordion[open] > .yokohama-accordion-summary h2 {
  color: #fff;
}

.yokohama-event .yokohama-accordion[open] > .yokohama-accordion-summary .yokohama-accordion-toggle {
  border: 1px solid #fff;
  background: #fff;
  color: var(--blue);
}

.yokohama-event .standard-participation-section,
.yokohama-event .standard-timetable-section,
.yokohama-event .standard-venue-map-section,
.yokohama-event .standard-google-map,
.yokohama-event .standard-gallery-section {
  padding: 48px max(7vw, 28px);
}

/* Desktop navigation uses the same complete list as the on-page contents. */
@media (min-width: 768px) {
  .baba-header {
    align-items: flex-start;
  }

  .baba-header nav {
    flex: 1 1 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px clamp(8px, 1vw, 16px) !important;
    min-width: 0;
  }

  .baba-header nav > a {
    flex: 0 0 auto;
    font-size: clamp(11px, .82vw, 14px) !important;
  }

  .baba-header nav > a:not(.baba-button) {
    display: inline-flex !important;
  }
}

@media (min-width: 701px) {
  .yokohama-event .topbar {
    align-items: flex-start;
    gap: 18px;
  }

  .yokohama-event .topbar nav {
    flex: 1 1 auto;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 14px;
    min-width: 0;
    font-size: clamp(11px, .82vw, 14px);
  }
}

@media (max-width: 767px) {
  .yokohama-event .venue-page-content {
    width: calc(100% - 40px);
  }
  .baba-accordion-summary,
  .yokohama-event .yokohama-accordion-summary {
    min-height: 92px;
  }

  .baba-accordion-summary {
    padding: 20px 14px !important;
  }

  .baba-accordion-body {
    padding: 26px 14px 38px !important;
  }
}

/* Saved rule headings may carry the old body-text size from the editor. */
.venue-takadanobaba .baba-guide > .baba-accordion > .baba-accordion-summary :is(h2, h3) {
  font-size: clamp(1.6rem, 3.7vw, 2.8rem) !important;
  margin: 0;
}
@media (max-width: 640px) {
  .venue-takadanobaba .baba-guide > .baba-accordion > .baba-accordion-summary :is(h2, h3) {
    font-size: 26px !important;
  }
}
