/* Catalog section hierarchy, isolated from homepage and dedicated landing pages. */
.av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: end;
  gap: 22px 56px;
  margin: 64px 0 32px;
  padding: 0;
}
.av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading > div { min-width: 0; }
.av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading small {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  color: #1677ff;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .14em;
}
.av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading small::before {
  content: "";
  flex: 0 0 24px;
  height: 2px;
  background: #00cbd5;
}
.av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading h2 {
  margin: 0;
  color: #071e30;
  font-family: inherit;
  font-size: clamp(28px,2.4vw,34px);
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading > p {
  width: 100%;
  max-width: 35em;
  justify-self: end;
  margin: 0 0 2px;
  color: #62798b;
  font-size: 15px;
  line-height: 1.85;
  text-wrap: pretty;
}
.av-inner-body .av-purchase-section { margin: 64px 0 28px; }
.av-inner-body .av-purchase-section .av-section-heading { margin-top: 0; }
.av-inner-body .av-purchase-section .av-buying-grid { margin-top: 0; }
.av-inner-body .productPage > .av-buying-grid h3,
.av-inner-body .av-purchase-section .av-buying-grid h3 { font-weight: 600; }
@media (max-width: 920px) {
  .av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading {
    grid-template-columns: minmax(0,1fr);
    gap: 16px;
  }
  .av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading > p {
    justify-self: start;
    max-width: 50em;
  }
}
@media (max-width: 600px) {
  .av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading {
    margin: 44px 0 26px;
    gap: 14px;
  }
  .av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading small {
    font-size: 10px;
    letter-spacing: .1em;
    margin-bottom: 10px;
  }
  .av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading h2 { font-size: 26px; }
  .av-inner-body :is(.productPage,.av-purchase-section) .av-section-heading > p { font-size: 14px; }
  .av-inner-body .av-purchase-section { margin-top: 44px; }
  .av-inner-body .av-purchase-section .av-section-heading { margin-top: 0; }
}
