.bdc-instance {
  --bdc-navy: #182b43;
  --bdc-blue: #176aa3;
  --bdc-gold: #e7a943;
  color: var(--bdc-navy);
  background: #f5f7fa;
  padding-bottom: clamp(3rem, 6vw, 6rem);
}

.bdc-instance__hero {
  position: relative;
  z-index: 1;
  isolation: isolate;
  min-height: clamp(20rem, 32vw, 29rem);
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 77% 24%, #426888 0, transparent 39%), linear-gradient(115deg, #102941 8%, #254b69 61%, #52748a 100%);
}

.bdc-instance__hero-media,
.bdc-instance__hero-media::after,
.bdc-instance__hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.bdc-instance__hero-media {
  z-index: -1;
}

.bdc-instance__hero-media img {
  object-fit: cover;
}

.bdc-instance__hero-media::after {
  content: "";
  background: linear-gradient(90deg, rgb(11 31 52 / 90%) 0%, rgb(16 42 65 / 72%) 46%, rgb(16 42 65 / 40%) 100%);
}

.bdc-instance__hero-inner,
.bdc-instance__body {
  width: min(100% - 2.5rem, 79rem);
  margin-inline: auto;
}

.bdc-instance__hero-inner {
  padding-block: 4rem 6rem;
}

.bdc-instance__eyebrow,
.bdc-instance__status-kicker {
  margin: 0 0 .9rem;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.bdc-instance__eyebrow { color: #ffd694; }

.bdc-instance__hero h1 {
  max-width: 57rem;
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.5rem, 5vw, 4.6rem);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -.025em;
  text-transform: none;
  text-wrap: balance;
}

.bdc-instance__hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin: 1.6rem 0 0;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  font-weight: 600;
}

.bdc-instance__meta-date > span,
.bdc-instance__meta-time > span { color: #ffd694; margin-right: .4rem; }
.bdc-instance__meta-separator { width: 1px; height: 1.2em; background: rgb(255 255 255 / 50%); }
.bdc-instance__time-values { display: inline-grid; gap: .2rem; }
.bdc-instance__meta-time > .bdc-instance__time-values { color: inherit; margin-right: 0; }
.bdc-instance__time-local:not([hidden]) { color: #fff; font-size: .9em; }
.bdc-instance__time-public { color: inherit; }

.bdc-instance__body {
  position: relative;
  z-index: 2;
  margin-top: -3.5rem;
}

.bdc-instance__checkin-card {
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
  overflow: hidden;
  border: 1px solid #e4eaf0;
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 20px 50px rgb(19 42 64 / 12%);
}

.bdc-instance__status {
  min-height: 19rem;
  padding: clamp(2rem, 4vw, 3.75rem);
  background: #eaf4fb;
  border-right: 1px solid #dbe9f3;
}

.bdc-instance__status-kicker { color: #305b7b; }
.bdc-instance__status h2 {
  margin: 0 0 1rem;
  color: var(--bdc-navy);
  font-size: clamp(1.75rem, 2.4vw, 2.5rem);
}
.bdc-instance__status p:last-child { margin-bottom: 0; color: #425a70; }
.bdc-instance__status--open { background: #e7f5ef; border-color: #cce6d7; }
.bdc-instance__status--after_close { background: #f1f3f6; border-color: #e1e5e9; }

.bdc-instance__countdown { margin: 1.3rem 0 1.75rem; }
.bdc-instance__countdown .bdc-countdown-text {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  color: #163b62;
}
.bdc-instance__countdown-part {
  display: grid;
  min-width: 5.25rem;
  padding: .75rem .8rem .65rem;
  border: 1px solid rgb(22 59 98 / 13%);
  border-radius: .65rem;
  background: rgb(255 255 255 / 54%);
  text-align: center;
}
.bdc-instance__countdown-part[hidden] { display: none; }
.bdc-instance__countdown-part strong {
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  font-variant-numeric: tabular-nums;
  font-weight: 750;
  line-height: 1;
  letter-spacing: -.04em;
}
.bdc-instance__countdown-part span {
  margin-top: .45rem;
  color: #426078;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bdc-instance__form-panel { padding: clamp(2rem, 4vw, 3.75rem); }
.bdc-instance__form-panel > h2 { margin: 0 0 .75rem; font-size: clamp(1.7rem, 2.3vw, 2.25rem); color: var(--bdc-navy); }
.bdc-instance__form-intro { max-width: 34rem; margin-bottom: 1.6rem; color: #526274; line-height: 1.6; }
.bdc-instance__form-panel .form-item { margin-bottom: 1.25rem; }
.bdc-instance__form-panel label { display: block; margin-bottom: .5rem; font-weight: 700; color: var(--bdc-navy); }
.bdc-instance__form-panel input[type="email"] {
  width: 100%;
  min-height: 3.15rem;
  padding: .7rem .9rem;
  border: 1px solid #afbfcd;
  border-radius: .5rem;
  background: #fff;
  color: var(--bdc-navy);
}
.bdc-instance__form-panel input[type="email"]:disabled { background: #f1f3f5; color: #576675; }
.bdc-instance__form-panel input[type="submit"] {
  min-height: 3.15rem;
  padding: .7rem 2rem;
  border: 0;
  border-radius: .5rem;
  background: var(--bdc-blue);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 5px 13px rgb(23 106 163 / 18%);
}
.bdc-instance__form-panel input[type="submit"]:hover:not(:disabled) { background: #105583; }
.bdc-instance__form-panel input[type="submit"]:disabled { background: #93a7b5; color: #fff; box-shadow: none; cursor: not-allowed; }
.bdc-instance a:focus-visible,
.bdc-instance input:focus-visible { outline: 3px solid var(--bdc-gold); outline-offset: 3px; }

.bdc-instance__info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 1.6rem;
}
.bdc-instance__info-card {
  padding: 1.7rem;
  border: 1px solid #e2e8ee;
  border-radius: .9rem;
  background: #fff;
  box-shadow: 0 6px 20px rgb(19 42 64 / 5%);
}
.bdc-instance__info-icon {
  display: inline-grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 1rem;
  border-radius: .6rem;
  background: #edf5fb;
  color: #175c8c;
  font-size: 1.25rem;
  font-weight: 700;
}
.bdc-instance__info-card h2 { margin: 0 0 .65rem; color: var(--bdc-navy); font-size: 1.18rem; }
.bdc-instance__info-card p { margin: 0; color: #526274; line-height: 1.55; }
.bdc-instance__info-card a { display: inline-block; margin-top: .8rem; color: #135d93; font-weight: 700; }

.bdc-instance__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}
.bdc-instance__series-link { color: #155e92; font-weight: 700; }
.bdc-instance__series-link::before { content: "←"; margin-right: .45rem; }
.bdc-instance__register {
  display: inline-block;
  padding: .85rem 1.5rem;
  border-radius: .5rem;
  background: var(--bdc-blue);
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
}
.bdc-instance__register:hover { background: #105583; }

@media (max-width: 52rem) {
  .bdc-instance__checkin-card { grid-template-columns: 1fr; }
  .bdc-instance__status { min-height: 0; border-right: 0; border-bottom: 1px solid #dbe9f3; }
  .bdc-instance__info-grid { grid-template-columns: 1fr; }
}

@media (max-width: 35rem) {
  .bdc-instance__hero { min-height: 19rem; }
  .bdc-instance__hero-inner { padding-block: 3rem 5rem; }
  .bdc-instance__body { margin-top: -2.25rem; }
  .bdc-instance__hero-inner,
  .bdc-instance__body { width: min(100% - 1.5rem, 79rem); }
  .bdc-instance__status,
  .bdc-instance__form-panel { padding: 1.65rem; }
  .bdc-instance__meta-separator { display: none; }
  .bdc-instance__hero-meta { display: grid; gap: .55rem; }
  .bdc-instance__actions { align-items: stretch; flex-direction: column; }
  .bdc-instance__register { text-align: center; }
}

/* Remove the theme's global h1 underline from the Event Instance hero title. */
.bdc-instance__hero-inner > h1 {
  border-bottom: 0;
}
