travel-requirements { display: block; margin: 0.75rem 0 1rem 2.1rem; color: var(--ink); font-family: var(--font-interface); font-size: 0.875rem; }
.document-summary { font-family: var(--font-interface); font-size: 1rem; line-height: 1.6; }
.document-summary__profile { margin: 0 0 1.75rem; color: var(--muted); font-size: 0.875rem; }
.document-summary section { margin-block: 1.5rem; }
.document-summary h2 { margin: 0 0 0.75rem; font: 600 0.8125rem/1.5 var(--font-interface); text-transform: uppercase; letter-spacing: 0.08em; }
.document-summary__list { list-style: none; padding: 0; margin: 0; }
.document-summary__list li { margin: 0.85rem 0; }
.document-summary__list small { display: block; color: var(--muted); font-size: 0.875rem; }
.document-summary__actions { display: grid; gap: 0.4rem; padding-top: 1rem; margin-top: 1.5rem; border-top: 1px solid var(--line); }
.document-summary__actions a { color: var(--ink); padding-block: 0.5rem; font-size: 0.875rem; text-underline-offset: 0.2em; }
.document-summary__actions button { min-height: 44px; font-size: 0.8125rem; }
.requirements-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; min-height: 44px; cursor: pointer; list-style: none; }
.requirements-details > summary::-webkit-details-marker { display: none; }
.requirements-label { display: inline-flex; align-items: center; gap: 0.45rem; font-weight: 500; }
.requirements-label svg { flex-shrink: 0; }
.requirements-toggle { text-decoration: underline; text-underline-offset: 0.2em; white-space: nowrap; }
.requirements-toggle::after { content: " +"; }
.requirements-details[open] .requirements-toggle::after { content: " −"; }
.requirements-details > summary:focus-visible, .requirements-panel a:focus-visible, .requirements-panel button:focus-visible { outline: 2px solid var(--brand-blue); outline-offset: 3px; }
.requirements-panel { padding: 0.75rem 0; border-block: 1px solid var(--line); font-family: var(--font-reading); font-size: 1rem; line-height: 1.6; }
.requirements-panel p { margin: 0.6rem 0; }
.requirements-panel h4, .requirements-panel h5 { margin: 0.75rem 0 0.3rem; font-family: var(--font-interface); font-size: 1rem; font-weight: 600; }
.requirements-panel .requirements-context { font-family: var(--font-interface); font-size: 0.875rem; font-weight: 600; }
.requirements-panel .requirements-status, .requirements-panel .requirements-meta { color: var(--muted); font-family: var(--font-interface); font-size: 0.82rem; line-height: 1.6; }
.requirements-passenger + .requirements-passenger { margin-top: 1.25rem; padding-top: 0.5rem; border-top: 1px solid var(--line); }
.requirements-checklist { margin: 0.75rem 0; }
.requirements-checklist > div { margin: 0.6rem 0; }
.requirements-checklist dt { font-family: var(--font-interface); font-size: 0.875rem; font-weight: 600; }
.requirements-checklist dd { margin: 0; color: var(--muted); }
.requirements-panel a, .requirements-panel button { color: var(--ink); font-family: var(--font-interface); font-size: 0.875rem; text-underline-offset: 0.2em; }
.requirements-panel button { border: 0; padding: 0.5rem 0; background: none; text-align: left; text-decoration: underline; cursor: pointer; line-height: 1.5; }
.requirements-actions { display: grid; gap: 0.4rem; margin: 0.75rem 0; }
.requirements-actions a { padding-block: 0.5rem; }
.requirements-minor { padding-left: 0.75rem; border-left: 1px solid var(--rule); }
@media (width < 768px) {
  travel-requirements { margin-left: 0.9rem; }
}
