/* Reading links remain identifiable without relying on the gold colour alone. */
main :is(p, li, dd, td) a:not(.btn):not([class*="button"]):not([class*="cta"]):not([class*="card"]) {
  text-decoration-line: underline;
  text-decoration-thickness: .07em;
  text-underline-offset: .18em;
}
/* Native checkbox groups keep the approved card dimensions at narrow widths. */
fieldset.nll-outer-checks { min-inline-size: 0; }
main table[tabindex="0"]:focus-visible { outline: 3px solid #d4af37; outline-offset: -3px; }
/* Moving the quote into main must not change the published form frame spacing. */
main > section.nll-offert-section { padding-block: 80px !important; }
main > section[data-nll-semantic-continuation] { padding-block: clamp(48px, 6vw, 80px) !important; }
@media (max-width: 767px) {
  main > section.nll-offert-section { padding-block: 48px !important; }
}
@media (max-width: 767px) {
  main > section[data-nll-semantic-continuation] { padding-block: 40px !important; }
}
.nll-semantic-skip {
  position: fixed; top: 8px; left: 8px; z-index: 99999;
  transform: translateY(-200%); padding: 12px 18px;
  background: #fff; color: #111; font: inherit;
}
.nll-semantic-skip:focus { transform: none; outline: 3px solid #d4af37; }
/* Older templates hide the skip link in several ways; restore it on keyboard focus. */
a.skip-link:focus, a.skip:focus {
  position: fixed !important; top: 8px !important; left: 8px !important;
  right: auto !important; bottom: auto !important; transform: none !important;
  width: auto !important; height: auto !important; margin: 0 !important;
  clip: auto !important; clip-path: none !important; overflow: visible !important;
  white-space: normal !important; opacity: 1 !important; visibility: visible !important;
  z-index: 100000 !important; padding: 12px 18px !important;
  background: #fff !important; color: #111 !important; outline: 3px solid #d4af37;
  transition: none !important;
}
