:root {
  --jyc-g3-teal: #087f7a;
  --jyc-g3-teal-dark: #075d59;
  --jyc-g3-ink: #17313a;
  --jyc-g3-cream: #f7f4ed;
  --jyc-g3-line: #d5dfdc;
}

.jyc-g3-install[hidden],
[data-jyc-g3-event-tools-fallback][hidden] {
  display: none !important;
}

.jyc-g3-install {
  position: relative;
  box-sizing: border-box;
  max-width: 38rem;
  border: 1px solid var(--jyc-g3-line);
  border-radius: 1.25rem;
  padding: 1.25rem 3rem 1.25rem 1.25rem;
  background: #fff;
  color: var(--jyc-g3-ink);
  box-shadow: 0 16px 46px rgba(23, 49, 58, .16);
  font-size: .96rem;
  line-height: 1.45;
}

.jyc-g3-install.is-floating {
  position: fixed;
  z-index: 99990;
  right: 1rem;
  bottom: 1rem;
  width: min(25rem, calc(100vw - 2rem));
}

.jyc-g3-install p {
  margin: .45rem 0;
}

.jyc-g3-install > strong {
  display: block;
  font-size: 1.15rem;
  line-height: 1.25;
}

.jyc-g3-install button[data-jyc-g3-install-button] {
  margin-top: .5rem;
  border: 0;
  border-radius: 999px;
  padding: .72rem 1rem;
  background: var(--jyc-g3-teal);
  color: #fff;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.jyc-g3-install button[data-jyc-g3-install-button]:hover,
.jyc-g3-install button[data-jyc-g3-install-button]:focus-visible {
  background: var(--jyc-g3-teal-dark);
}

.jyc-g3-dismiss {
  position: absolute;
  top: .55rem;
  right: .65rem;
  width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--jyc-g3-ink);
  font: 1.6rem/1 system-ui, sans-serif;
  cursor: pointer;
}

.jyc-g3-dismiss:hover,
.jyc-g3-dismiss:focus-visible {
  background: #e7f3f1;
}

.jyc-g3-kicker {
  color: var(--jyc-g3-teal-dark);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.jyc-g3-fineprint {
  color: #52676d;
  font-size: .8rem;
}

.jyc-g3-event-tools {
  box-sizing: border-box;
  display: grid;
  gap: 1rem;
  margin: 1.25rem 0 2rem;
  border: 1px solid var(--jyc-g3-line);
  border-radius: 1.4rem;
  padding: clamp(1.15rem, 3vw, 1.8rem);
  background: linear-gradient(135deg, #fff, var(--jyc-g3-cream));
  color: var(--jyc-g3-ink);
}

.jyc-g3-event-tools h2,
.jyc-g3-event-tools p {
  margin-top: .25rem;
  margin-bottom: .6rem;
}

.jyc-g3-event-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
}

.jyc-g3-event-actions a,
.jyc-g3-event-actions span {
  box-sizing: border-box;
  border-radius: 999px;
  padding: .72rem 1rem;
  font-size: .9rem;
  font-weight: 750;
  line-height: 1.25;
  text-decoration: none;
}

.jyc-g3-event-actions a {
  background: var(--jyc-g3-teal);
  color: #fff;
}

.jyc-g3-event-actions a:hover,
.jyc-g3-event-actions a:focus-visible {
  background: var(--jyc-g3-teal-dark);
  color: #fff;
}

.jyc-g3-event-actions span[aria-disabled="true"] {
  border: 1px solid var(--jyc-g3-line);
  background: #edf1f0;
  color: #53666b;
}

@media (max-width: 540px) {
  .jyc-g3-install.is-floating {
    right: .65rem;
    bottom: .65rem;
    width: calc(100vw - 1.3rem);
  }

  .jyc-g3-event-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .jyc-g3-event-actions a,
  .jyc-g3-event-actions span {
    width: 100%;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jyc-g3-install,
  .jyc-g3-event-tools {
    scroll-behavior: auto;
  }
}
