/* Seminar date cards and "You're registering for" banner — drawn in HTML/CSS so they
   stay sharp at any size. Colours/type match the site: Poppins, navy #222C41, red #CA2029. */

.gs-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
  text-align: left;
  background: #fff;
  border: 2px solid #e6e8ee;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none !important;
  color: #222c41;
  font-family: 'Poppins', sans-serif;
  box-shadow: 0 4px 60px rgba(174, 180, 186, .28), 0 8px 24px rgba(34, 44, 65, .06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.gs-card:hover,
.gs-card:focus-visible {
  transform: translateY(-3px);
  border-color: #ca2029;
  box-shadow: 0 14px 40px rgba(202, 32, 41, .20);
  outline: none;
}

.gs-card__top {
  background: #222c41;
  padding: 22px;
  display: flex;
  gap: 16px;
  align-items: center;
}
.gs-badge {
  width: 76px;
  height: 84px;
  flex-shrink: 0;
  border-radius: 12px;
  background: #ca2029;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(202, 32, 41, .35);
}
.gs-badge__mon { font-size: 13px; line-height: 15px; font-weight: 600; letter-spacing: 2px; }
.gs-badge__day { font-size: 40px; line-height: 44px; font-weight: 700; letter-spacing: -1px; }
.gs-card__kicker {
  font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 2px;
  text-transform: uppercase; color: #f7b941;
}
.gs-card__city { font-size: 26px; line-height: 32px; font-weight: 700; color: #fff; margin: 0; }
.gs-card__sub { font-size: 13px; line-height: 18px; color: #c9ceda; }

.gs-card__body { flex: 1; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.gs-row { display: flex; gap: 12px; align-items: flex-start; }
.gs-ic {
  width: 34px; height: 34px; flex-shrink: 0; border-radius: 50%;
  background: #fcecec; display: flex; align-items: center; justify-content: center;
}
.gs-label { font-size: 11px; line-height: 14px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: #6b7389; }
.gs-value { font-size: 16px; line-height: 23px; font-weight: 600; color: #222c41; }
.gs-value2 { font-size: 14px; line-height: 21px; color: #6b7389; }
.gs-hr { height: 1px; background: #e6e8ee; margin: auto 0 2px; }
.gs-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 15px; padding: 17px 18px; text-align: center !important;
  background: #ca2029; color: #fff;
  font-weight: 700; font-size: 15px; line-height: 15px;
  transition: background-color .18s ease;
}
.gs-card:hover .gs-btn { background: #a3161e; }
.gs-free { font-size: 12px; line-height: 16px; color: #6b7389; text-align: center !important; }

/* Banner above each registration form */
.gs-banner {
  display: flex;
  gap: 14px;
  align-items: center;
  background: #222c41;
  border-radius: 12px;
  padding: 16px 18px;
  margin: 0 0 20px;
  font-family: 'Poppins', sans-serif;
  text-align: left;
}
.gs-banner .gs-badge { width: 54px; height: 58px; border-radius: 10px; box-shadow: none; }
.gs-banner .gs-badge__mon { font-size: 11px; line-height: 13px; letter-spacing: 1.2px; }
.gs-banner .gs-badge__day { font-size: 24px; line-height: 28px; letter-spacing: 0; }
.gs-banner__kicker { font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; color: #f7b941; }
.gs-banner__title { font-size: 18px; line-height: 25px; font-weight: 600; color: #fff; }
.gs-nowrap { white-space: nowrap; }
.gs-card *, .gs-banner * { text-align: inherit; }
.gs-banner__addr { font-size: 13px; line-height: 19px; color: #c9ceda; }

/* Side by side (tablet/desktop): the venue name always takes two lines, so every row and the
   button line up across cards — the longer Mississauga card is the master. */
@media (min-width: 768px) {
  .gs-card__body > .gs-row:first-child > div { min-height: 81px; } /* label + 2-line name + street */
}

@media (max-width: 480px) {
  .gs-banner__kicker { font-size: 10.5px; letter-spacing: .6px; }
  .gs-card__top, .gs-card__body { padding: 18px; }
  .gs-card__city { font-size: 23px; line-height: 29px; }
  .gs-badge { width: 68px; height: 76px; }
  .gs-badge__day { font-size: 36px; line-height: 40px; }
  .gs-banner { padding: 14px; gap: 12px; }
  .gs-banner__title { font-size: 16px; line-height: 22px; }
}
