/* Claims and policy pages; all styles stay inside the support surface. */
.support-page { overflow-wrap: anywhere; }
.support-page [hidden] { display: none !important; }
.support-page .support-privacy, .support-page .support-scope { font-size: .92rem; color: var(--muted); }
.support-chooser, .support-result { border: 1px solid var(--rule-strong); padding: 1.25rem; margin: 1.5rem 0; background: var(--card); }
.support-field { position: relative; margin: 0 0 1rem; min-width: 0; }
.support-field::after { content: ""; position: absolute; right: 1rem; bottom: 1.05rem; width: .5rem; height: .5rem; border: solid var(--ink); border-width: 0 2px 2px 0; transform: rotate(45deg); pointer-events: none; }
.support-field label { display: block; margin: 0 0 .35rem; font-weight: 700; }
.support-field select { appearance: none; -webkit-appearance: none; display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 44px; font: inherit; color: var(--ink); background: var(--paper); border: 1px solid var(--rule-strong); border-radius: 3px; padding: .65rem 2.5rem .65rem .75rem; }
.support-page button, .support-page summary { min-height: 44px; }
.support-page button { white-space: normal; }
.support-page :is(a, button, select, summary):focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.support-result h2 { margin-top: 0; }
.support-result-context { color: var(--muted); font-size: .9rem; }
.support-result .support-action { font-size: 1.2rem; }
.support-checked { display: inline-block; font-family: var(--mono); font-size: .75rem; color: var(--muted); margin-left: .3rem; }
.support-result-source .support-checked { display: block; margin: .35rem 0 0; }
.support-reference { border-top: 1px solid var(--rule); padding: .65rem 0; }
.support-reference:last-of-type { border-bottom: 1px solid var(--rule); }
.support-reference > summary { font-weight: 700; padding: .55rem .1rem; cursor: pointer; }
.support-target { margin: .5rem 0; padding: .5rem .8rem; border: 1px solid var(--rule); background: var(--card); }
.support-target > summary { cursor: pointer; padding: .55rem 0; }
.support-target .support-action { margin-top: .4rem; }
.support-jumps { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1.5rem 0; }
.support-jumps a { display: inline-flex; align-items: center; min-height: 44px; padding: .45rem .8rem; border: 1px solid var(--rule-strong); }
.support-companies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.support-company { min-width: 0; border: 1px solid var(--rule-strong); padding: 1.15rem; background: var(--card); scroll-margin-top: 1rem; }
.support-company h2 { margin: 0 0 1rem; font-size: 1.5rem; }
.support-company dl { margin: 0; }
.support-term { border-top: 1px solid var(--rule); padding: .9rem 0 .3rem; }
.support-term dt { font-weight: 700; margin-bottom: .4rem; }
.support-term dd { margin: 0; }
.support-term-sources { font-size: .84rem; }
.support-term .support-checked { display: block; margin-left: 0; }
.support-status { display: inline-block; font-family: var(--mono); font-size: .72rem; padding: .15rem .35rem; border: 1px solid var(--rule-strong); margin-bottom: .45rem; }
.support-question { color: var(--muted); font-size: .9rem; }
@media (max-width: 680px) {
  .support-companies { grid-template-columns: minmax(0, 1fr); }
  .support-chooser, .support-result { padding: 1rem; }
}
@media print {
  .support-chooser, .support-jumps { display: none; }
  .support-companies { display: block; }
  .support-company { break-inside: avoid; margin-bottom: 1rem; }
}
