/* Shared editorial wrapping, without changing copy or fixed line breaks. */
body :is(h1, h2, h3, h4, h5, h6) {
  text-wrap: balance;
}
body :is(p, blockquote, li) {
  text-wrap: pretty;
}
/* Balance short copy in browsers where pretty wrapping is less effective. */
body p {
  text-wrap: balance;
}
body :is(.voice-eyebrow, [class*="card"] h3, [class*="card"] p) {
  text-wrap: balance;
}
@media (max-width: 767.98px) {
  body:not(.home) h1 {
    font-size: clamp(2rem, 7.5vw, 2.75rem);
  }
  body #about-value-title,
  body #faq-planning-title,
  body.page-id-28 h2,
  body.page-id-28 h3 {
    font-size: clamp(1.35rem, 5.8vw, 1.75rem);
  }
}
@media (max-width: 767.98px) {
  body.page-id-134 h1,
  body.postid-66 h1 { font-size: 1.65rem; }
  body.page-id-28 h3.h5 { font-size: 1.2rem; }
}
@media (min-width: 768px) {
  body #about-value-title { font-size: 2.35rem; }
  body .voice-faq-layout__heading :is(h2,h3) { font-size: 2rem; }
  body.page-id-31 h3.h2 { font-size: 1.6rem; }
  body.page-id-28 .p-lg-5 p.mb-0 { font-size: 1.125rem; }
}
@media (max-width: 359.98px) {
  body.page-id-134 h1,
  body.postid-66 h1 { font-size: 1.35rem; }
}
/* Legacy product templates define later heading rules; keep this narrow override explicit. */
@media (min-width: 768px) {
  body.page-id-31 h3.h2 { font-size: 1.6rem !important; }
}
@media (max-width: 359.98px) {
  body:not(.home) h1 { font-size: 1.5rem !important; }
  body:not(.home) h2 { font-size: 1.4rem !important; }
  body:not(.home) h3 { font-size: 1.25rem !important; }
  body #voice-global-cta-title { font-size: 1.5rem; }
  body.page-id-134 h1 { font-size: 1.2rem !important; }
  body:is(.page-id-31,.page-id-28,.page-id-125) p { font-size: 1rem !important; }
}
@media (max-width: 359.98px) {
  body.page-id-31 .card-body.d-flex { flex-direction: column; }
  body:is(.page-id-31,.page-id-28) h3.h5,
  body.page-id-36 h3,
  body.postid-67 h3 { font-size: 1.1rem !important; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  body:is(.page-id-31,.page-id-28) .col-md-4 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media (max-width: 359.98px) {
  body.postid-67 .voice-article-callout { padding: 1rem; }
}

/* Client Feedback: give Formstack name sublabels readable spacing below inputs. */
body.page-id-186 #fsForm6610525 :is(.fsNameFirst, .fsNameLast) > input {
  display: block;
}
body.page-id-186 #fsForm6610525 :is(.fsNameFirst, .fsNameLast) > label {
  margin: 0.5rem 0 0;
  line-height: 1.4;
}

/* Legacy trial and feedback use the dark site canvas with the default page template. */
body.page-template-default :is(article#post-17, article#post-136, article#post-164) :is(.entry-title, .entry-content) {
  color: #f4f8fb;
}
body.page-template-default :is(article#post-17, article#post-136, article#post-164) .entry-content :is(p, strong) {
  color: inherit;
}
body.page-template-default :is(article#post-17, article#post-136, article#post-164) .entry-content a {
  color: #8cdaff;
  text-decoration: underline;
  text-underline-offset: .15em;
}
body.page-template-default :is(article#post-17, article#post-136, article#post-164) .entry-content a:is(:hover, :focus-visible) {
  color: #e0f5ff;
}
body.page-template-default :is(article#post-17, article#post-136, article#post-164) .entry-content a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
body.page-template-default :is(article#post-17, article#post-136, article#post-164) .entry-content hr {
  border-color: #7793aa;
}

/* Keep the payment banner photograph with a consistent dark layer behind the title. */
body:is(.page-template-template-ach-form, .page-template-template-credit-card-form) .product-page.product-dla .product-hero {
  background-color: #07111f;
  background-image: linear-gradient(rgb(7 17 31 / 76%), rgb(7 17 31 / 76%)), url("../images/banners/product-banner-dla.jpg");
}
body:is(.page-template-template-ach-form, .page-template-template-credit-card-form) .product-hero h1.header-1 {
  color: #fff;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1.15;
  text-wrap: balance;
}

/* Keep the partner message visible in the compact header. */
.voice-site-utility__inner > span {
  letter-spacing: normal;
  text-wrap: balance;
}
@media (max-width: 1199.98px) {
  .voice-site-header .voice-site-utility {
    display: block;
  }
  .voice-site-utility__inner {
    justify-content: center;
    padding-block: .45rem;
    text-align: center;
  }
  .voice-site-utility__inner nav {
    display: none;
  }
}

/* Keep action labels readable on light hover and keyboard-focus fills. */
:is(.voice-button, .dragon-offer-button, .btn):is(:hover, :focus-visible):not(:disabled, [aria-disabled="true"], .disabled) {
  background: #8ee1ff !important;
  border-color: #145da8;
  color: #031322 !important;
  transition-property: transform, box-shadow;
}

/* Give each action in a row its own color and use a consistent trailing arrow. */
:is(main, .voice-global-cta) :is(a.voice-button, a.dragon-offer-button, a.btn):is(
  :has(~ :is(a.voice-button, a.dragon-offer-button, a.btn)),
  :is(a.voice-button, a.dragon-offer-button, a.btn) ~ *
) {
  --dic-action-fill: #47c8ff;
  --dic-action-hover: #8ee1ff;
  --dic-action-border: transparent;
  align-items: center;
  display: inline-flex;
  gap: .55em;
  justify-content: center;
  min-inline-size: 0;
  max-inline-size: 100%;
  letter-spacing: normal;
  text-wrap: balance;
  white-space: normal;
  background: var(--dic-action-fill) !important;
  border-color: var(--dic-action-border) !important;
  color: var(--dic-action-ink, #071a2c) !important;
}
:is(main, .voice-global-cta) :is(a.voice-button, a.dragon-offer-button, a.btn):nth-child(4n + 2 of a.voice-button, a.dragon-offer-button, a.btn) {
  --dic-action-fill: #f6ad3c;
  --dic-action-hover: #ffc266;
  --dic-action-border: transparent;
}
:is(main, .voice-global-cta) :is(a.voice-button, a.dragon-offer-button, a.btn):nth-child(4n + 3 of a.voice-button, a.dragon-offer-button, a.btn) {
  --dic-action-fill: transparent;
  --dic-action-hover: #8ee1ff;
  --dic-action-border: #145da8;
  --dic-action-ink: #145da8;
}
:is(.dic-reviewed-home .voice-home__hero, .voice-global-cta, .dic-product-section--dark, .voice-article-callout) :is(a.voice-button, a.dragon-offer-button, a.btn):nth-child(4n + 3 of a.voice-button, a.dragon-offer-button, a.btn) {
  --dic-action-border: #8ee1ff;
  --dic-action-ink: #d7f4ff;
}
:is(main, .voice-global-cta) :is(a.voice-button, a.dragon-offer-button, a.btn):nth-child(4n of a.voice-button, a.dragon-offer-button, a.btn) {
  --dic-action-fill: #ff8a00;
  --dic-action-hover: #ffad4d;
  --dic-action-border: transparent;
}
:is(main, .voice-global-cta) :is(a.voice-button, a.dragon-offer-button, a.btn):is(
  :has(~ :is(a.voice-button, a.dragon-offer-button, a.btn)),
  :is(a.voice-button, a.dragon-offer-button, a.btn) ~ *
):is(:hover, :focus-visible) {
  background: var(--dic-action-hover) !important;
  color: #031322 !important;
}
:is(main, .voice-global-cta) :is(a.voice-button, a.dragon-offer-button, a.btn):is(
  :has(~ :is(a.voice-button, a.dragon-offer-button, a.btn)),
  :is(a.voice-button, a.dragon-offer-button, a.btn) ~ *
) > .bi[aria-hidden="true"] {
  display: none;
}
:is(main, .voice-global-cta) :is(a.voice-button, a.dragon-offer-button, a.btn):is(
  :has(~ :is(a.voice-button, a.dragon-offer-button, a.btn)),
  :is(a.voice-button, a.dragon-offer-button, a.btn) ~ *
)::after {
  content: "";
  flex: 0 0 1em;
  block-size: 1em;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M8.5 3.5 13 8l-4.5 4.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  forced-color-adjust: none;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  :is(main, .voice-global-cta) :is(a.voice-button, a.dragon-offer-button, a.btn):is(
    :has(~ :is(a.voice-button, a.dragon-offer-button, a.btn)),
    :is(a.voice-button, a.dragon-offer-button, a.btn) ~ *
  )::after {
    transition: transform var(--voice-motion-fast, 180ms) ease;
  }
  :is(main, .voice-global-cta) :is(a.voice-button, a.dragon-offer-button, a.btn):is(
    :has(~ :is(a.voice-button, a.dragon-offer-button, a.btn)),
    :is(a.voice-button, a.dragon-offer-button, a.btn) ~ *
  ):is(:hover, :focus-visible)::after {
    transform: translateX(3px);
  }
}
@media (forced-colors: active) {
  :is(main, .voice-global-cta) :is(a.voice-button, a.dragon-offer-button, a.btn):is(
    :has(~ :is(a.voice-button, a.dragon-offer-button, a.btn)),
    :is(a.voice-button, a.dragon-offer-button, a.btn) ~ *
  )::after {
    background: LinkText;
  }
}

/* Keep the homepage actions on one row at the desktop navigation breakpoint. */
@media (min-width: 1200px) {
  .dic-reviewed-home .voice-home__hero .voice-home__actions {
    flex-wrap: nowrap;
    gap: clamp(.5rem, .85vw, .85rem);
  }
  .dic-reviewed-home .voice-home__hero .voice-home__actions > .voice-button {
    font-size: clamp(.875rem, 1.1vw, 1rem);
    padding-inline: clamp(.625rem, 1vw, 1rem);
  }
}
