/* Google's stock button is only used as a hidden trigger; our own buttons open it. */
.revtv-scheduler-host {
  display: none !important;
}

/* Google's popup ships a 60% grey overlay and a transparent iframe, so the page
   shows through the calendar. Its class names are minified and can change, so
   target it structurally: the fixed overlay that holds the scheduling iframe. */
body > div:has(> iframe[src*="calendar.google.com/calendar/appointments"]) {
  z-index: 2147483000 !important; /* above the site's fixed Menu button */
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(3.5rem, 8vh, 5rem) clamp(1rem, 4vw, 3rem) clamp(1rem, 4vh, 3rem) !important;
  background: rgba(7, 34, 61, 0.72) !important; /* brand navy #07223d */
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

body > div:has(> iframe[src*="calendar.google.com/calendar/appointments"]) > iframe {
  width: 100% !important;
  max-width: 1100px;
  height: 100% !important;
  max-height: 820px;
  background: #fff;
  border: 0;
  border-radius: 1.75rem !important;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.35);
}

body > div:has(> iframe[src*="calendar.google.com/calendar/appointments"]) > button {
  top: clamp(0.75rem, 2vh, 1.25rem) !important;
  right: clamp(1rem, 4vw, 3rem) !important;
  background: #fff !important;
  color: #0f497d !important;
  border-radius: 4rem !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.2);
}

body > div:has(> iframe[src*="calendar.google.com/calendar/appointments"]) > button * {
  color: #0f497d !important;
}

@media (max-width: 640px) {
  body > div:has(> iframe[src*="calendar.google.com/calendar/appointments"]) {
    padding: 3.75rem 0.75rem 0.75rem !important;
  }
  body > div:has(> iframe[src*="calendar.google.com/calendar/appointments"]) > iframe {
    max-height: none;
    border-radius: 1.25rem !important;
  }
}

/* Contact form: "Send brief  or  Book a Demo" row (sits in the form's grid). */
.contact-form .revtv-demo-row {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}

.contact-form .revtv-demo-row .btn {
  grid-column: auto;
}

.contact-form .revtv-demo-row .btn:not(.btn-solid) {
  border: 1px solid rgba(24, 23, 23, 0.06);
}

.revtv-demo-or {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ed-ink-55, rgba(24, 23, 23, 0.55));
}

/* ── Thank-you page (/thank-you/) ─────────────────────────────────────────── */
.revtv-thanks .revtv-thanks-cta {
  justify-content: center;
  margin-top: 0.5rem;
}

.revtv-thanks-panel {
  max-width: 64rem;
  margin: clamp(2rem, 6vh, 4rem) auto clamp(4rem, 10vh, 8rem);
}

.revtv-thanks-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.revtv-thanks-steps li {
  display: grid;
  align-content: start;
  gap: 0.55rem;
  padding: 1.4rem;
  border: 1px solid rgba(24, 23, 23, 0.08);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.72);
  font-family: var(--ed-sans);
}

.revtv-thanks-no {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--ed-blue, #127fa5);
}

.revtv-thanks-steps strong {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--ed-ink, #181717);
}

.revtv-thanks-steps p {
  margin: 0;
  line-height: 1.5;
  color: var(--ed-ink-70, rgba(24, 23, 23, 0.7));
}

.revtv-thanks-steps a {
  color: var(--ed-blue-deep, #0f497d);
}

@media (max-width: 760px) {
  .revtv-thanks-steps {
    grid-template-columns: 1fr;
  }
}
