/* V40: measured cross-route contrast, cost-card and footer repairs.
   Final stylesheet after V38. Presentation only; forms, links and consent stay intact. */
body[data-frontend-v33][data-restrained-v36] .band {
  background:linear-gradient(110deg,#071e34 0%,#123c60 100%)!important;
}
body[data-frontend-v33][data-restrained-v36] .band .band-grid {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center;
  gap:clamp(20px,4vw,64px)!important;
}
body[data-frontend-v33][data-restrained-v36] .band :is(h2.display,h2,h3) {
  color:#fff!important;
  text-shadow:none!important;
  max-width:20ch;
}
body[data-frontend-v33][data-restrained-v36] .band p {
  color:#e4eef7!important;
}
/* V28's global button selector left these white-on-white in production. */
body[data-frontend-v33][data-restrained-v36] a.btn--light,
body[data-frontend-v33][data-restrained-v36] button.btn--light {
  color:#08243e!important;
  background:#fff!important;
  border:1px solid #fff!important;
  min-height:48px;
  line-height:1.4;
  text-align:center;
  white-space:normal;
  text-decoration:none;
}
body[data-frontend-v33][data-restrained-v36] :is(a,button).btn--light:hover {
  color:#08243e!important;
  background:#edf4fa!important;
  border-color:#edf4fa!important;
}
/* Dark stroke meets 3:1 against white and near-white backgrounds (404 etc). */
body[data-frontend-v33][data-restrained-v36] :is(a,button).btn--light:focus-visible {
  outline:3px solid #a52b09!important;
  outline-offset:3px!important;
}
/* Light focus ring on the dark tracking banner only. */
body[data-frontend-v33][data-restrained-v36] .band :is(a,button).btn--light:focus-visible {
  outline:3px solid #fff!important;
  outline-offset:3px!important;
}
/* V36 hides a 52px icon but the old grid still assigns the label to that track. */
body[data-frontend-v33][data-restrained-v36] .lv-cost-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  align-items:stretch;
}
body[data-frontend-v33][data-restrained-v36] .lv-cost-grid > .lv17-cost-card {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:8px!important;
  min-width:0!important;
  min-height:140px!important;
  padding:24px!important;
  background:#fff!important;
  border:1px solid #d6e1eb!important;
  border-radius:16px!important;
}
body[data-frontend-v33][data-restrained-v36] .lv-cost-grid > .lv17-cost-card > .lv17-icon-tile {
  display:none!important;
}
body[data-frontend-v33][data-restrained-v36] .lv-cost-grid > .lv17-cost-card > strong,
body[data-frontend-v33][data-restrained-v36] .lv-cost-grid > .lv17-cost-card > p {
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  grid-column:1 / -1!important;
  margin:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:manual!important;
  white-space:normal!important;
}
body[data-frontend-v33][data-restrained-v36] .lv-cost-grid > .lv17-cost-card > strong {
  font-size:clamp(1rem,1.35vw,1.15rem)!important;
  line-height:1.3!important;
  color:#10263c!important;
}
body[data-frontend-v33][data-restrained-v36] .lv-cost-grid > .lv17-cost-card > p {
  font-size:1rem!important;
  line-height:1.55!important;
  color:#415d73!important;
}
/* Keep existing semantic list and number markers but give its copy a real column. */
body[data-frontend-v33][data-restrained-v36] .lv-trust-list > [role="listitem"] {
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  min-width:0;
  padding:18px!important;
}
body[data-frontend-v33][data-restrained-v36] .lv-trust-list > [role="listitem"] > b.lv17-trust-icon {
  position:static!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0!important;
}
body[data-frontend-v33][data-restrained-v36] .lv-trust-list > [role="listitem"] > b.lv17-trust-icon svg {display:none!important;}
body[data-frontend-v33][data-restrained-v36] .lv-trust-list > [role="listitem"] > span {
  display:flex!important;
  flex-direction:column!important;
  gap:4px;
  grid-column:2;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body[data-frontend-v33][data-restrained-v36] .lv-trust-list > [role="listitem"] > span :is(strong,small) {
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}
/* Override the site's inherited pale footer-link color on a white Google CTA. */
body[data-frontend-v33][data-restrained-v36] :is(.site-footer,.sl-footer) a.lv-preferred-source-link {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  max-width:100%;
  min-height:48px;
  padding:12px 18px!important;
  color:#08243e!important;
  background:#fff!important;
  border:1px solid #d2dfeb!important;
  border-radius:12px!important;
  font-size:.9rem!important;
  font-weight:750!important;
  line-height:1.4!important;
  text-align:center;
  text-decoration:none!important;
  white-space:normal!important;
}
body[data-frontend-v33][data-restrained-v36] :is(.site-footer,.sl-footer) a.lv-preferred-source-link:hover {
  color:#08243e!important;
  background:#edf4fa!important;
  border-color:#bed0df!important;
}
body[data-frontend-v33][data-restrained-v36] :is(.site-footer,.sl-footer) a.lv-preferred-source-link:focus-visible {
  outline:3px solid #ffb381!important;
  outline-offset:3px!important;
}
body[data-frontend-v33][data-restrained-v36] :is(.site-footer,.sl-footer) :is(.legal-business-identity,.legal-business-phone) {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 16px;
  min-height:0!important;
  margin-top:0!important;
  padding-block:18px!important;
}
body[data-frontend-v33][data-restrained-v36] :is(.site-footer,.sl-footer) [data-google-preferred-source] {
  margin-top:0!important;
  padding-block:18px 28px!important;
}
@media(max-width:900px) {
  body[data-frontend-v33][data-restrained-v36] .lv-cost-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px) {
  body[data-frontend-v33][data-restrained-v36] .band .band-grid {
    grid-template-columns:minmax(0,1fr)!important;
  }
  body[data-frontend-v33][data-restrained-v36] .band :is(h2.display,h2,h3) {max-width:100%;}
  body[data-frontend-v33][data-restrained-v36] .band a.btn--light {width:100%;}
  body[data-frontend-v33][data-restrained-v36] .lv-cost-grid {
    grid-template-columns:minmax(0,1fr)!important;
  }
  body[data-frontend-v33][data-restrained-v36] .lv-cost-grid > .lv17-cost-card {
    min-height:0!important;
    padding:20px!important;
  }
  body[data-frontend-v33][data-restrained-v36] .lv-trust-list > [role="listitem"] {padding:16px!important;}
}
@media(prefers-reduced-motion:reduce) {
  body[data-frontend-v33][data-restrained-v36] :is(.site-footer,.sl-footer) a.lv-preferred-source-link,
  body[data-frontend-v33][data-restrained-v36] :is(a,button).btn--light {transition:none!important;}
}
