/* Keep prose clear of preceding card groups, timelines and other content blocks. */
.content-section > div > :is(.grid, ol, ul, figure, aside, .divide-y) + p {
  margin-top: 2rem;
}

.content-section > div > ol ~ p {
  margin-left: 3.75rem;
  max-width: 52.25rem;
}

.content-section > div > p:last-child {
  margin-bottom: 0;
}

/* The free review is a service feature, highlighted in the brand's button green. */
.readiness-promise {
  border-left: 4px solid #00823A;
  background: #0F1724;
  padding: 1.25rem 1.5rem;
}

.readiness-step > div {
  border-left: 3px solid #00823A;
  padding-left: 1.25rem;
}

.review-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-height: 3rem;
  padding: 0.75rem;
  border: 1px solid #A0A8B8;
  border-radius: 3px;
  background: #F2F4F7;
  color: #162032;
  font-size: 0.875rem;
  line-height: 1.5;
  cursor: pointer;
}

.review-choice input {
  flex: 0 0 auto;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.125rem;
  accent-color: #00823A;
}

.review-choice:has(input:checked) {
  border-color: #00823A;
  background: #E6F7EE;
}

.review-choice input:focus-visible {
  outline: 2px solid #00823A;
  outline-offset: 3px;
}

.cdp-score-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  color: #162032;
  font-size: 0.875rem;
  line-height: 1.65;
}

.cdp-score-table caption {
  text-align: left;
  font-weight: 600;
  padding: 0.5rem 0 1rem;
}

.cdp-score-table th,
.cdp-score-table td {
  text-align: left;
  vertical-align: top;
  border: 1px solid #C8CDD8;
  padding: 1.25rem;
}

.cdp-score-table thead th {
  background: #1E2A3B;
  color: #fff;
}

.cdp-score-table thead th:first-child {
  width: 21%;
}

.cdp-score-table tbody th {
  background: #E4E7ED;
}

.cdp-score-table td {
  background: #F2F4F7;
}

.cdp-cell-label {
  display: none;
}

@media (max-width: 767px) {
  .cdp-score-table,
  .cdp-score-table caption,
  .cdp-score-table tbody,
  .cdp-score-table tr,
  .cdp-score-table th,
  .cdp-score-table td {
    display: block;
  }

  .cdp-score-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .cdp-score-table tbody tr + tr {
    margin-top: 1.5rem;
  }

  .cdp-score-table tbody th {
    background: #1E2A3B;
    color: #fff;
    font-size: 1rem;
  }

  .cdp-score-table td {
    border-top: 0;
  }

  .cdp-cell-label {
    display: block;
    font-weight: 700;
    margin-bottom: 0.5rem;
  }
}

@media (max-width: 639px) {
  .content-section > div > ol ~ p {
    margin-left: 0;
  }
}

/* Call booking calendar (version 2.1) */
.booking-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}
.booking-day{display:flex;flex-direction:column;gap:.5rem}
.booking-day-name{font:700 .875rem/1.4 Merriweather,Georgia,serif;color:#162032;text-align:center;margin-bottom:.25rem}
.booking-day-name span{display:block;font-weight:400;color:#4A5568}
.booking-slot{min-height:44px;border:1px solid #33BF73;background:#E6F7EE;color:#00662D;border-radius:3px;font:600 .875rem/1 Merriweather,Georgia,serif;cursor:pointer}
.booking-slot:hover:not([disabled]){background:#CCEFDC}
.booking-slot.is-selected{background:#00823A;border-color:#00823A;color:#fff}
.booking-slot[disabled]{background:#E4E7ED;border-color:#C8CDD8;color:#A0A8B8;cursor:not-allowed;text-decoration:line-through}
.booking-nav{width:44px;height:44px;border:1px solid #A0A8B8;border-radius:3px;font-size:1.5rem;line-height:1;color:#162032;background:#fff}
.booking-nav[disabled]{opacity:.35;cursor:not-allowed}
@media (max-width:640px){.booking-grid{grid-template-columns:1fr}.booking-day{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.booking-day-name{grid-column:1/-1;text-align:left}.booking-day-name span{display:inline}}
