.managed-document { max-width: 64rem; }
.managed-document-text { margin-bottom: 2rem; }
.managed-document-text h2 { margin: 0 0 1.25rem; font-size: 1.75rem; font-weight: 500; }
.managed-document-prose { max-width: 52rem; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.managed-document-prose p { margin: 0 0 1.125rem; }
.managed-document-prose p:last-child { margin-bottom: 0; }
.managed-document-nav { padding: 1.25rem 1.5rem; margin-bottom: 2rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--cream); }
.managed-document-nav p { margin: 0 0 .5rem; font-size: .875rem; font-weight: 600; }
.managed-document-nav ol { margin: 0; padding-left: 1.25rem; }
.managed-document-nav li { padding-block: .2rem; font-size: .875rem; line-height: 1.65; }
.managed-document-nav a { display: inline-block; padding-block: .3rem; text-underline-offset: .2em; overflow-wrap: anywhere; }
.managed-document-files { display: grid; gap: 2rem; }
.managed-document-file { padding: 1.5rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--white); scroll-margin-top: 7rem; }
.managed-document-file-heading { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.25rem; }
.managed-document-file-heading > div { min-width: 0; }
.managed-document-file-heading h2 { margin: .375rem 0 0; font-size: 1.375rem; line-height: 1.45; font-weight: 500; overflow-wrap: anywhere; }
.managed-document-file-heading .button { flex: 0 0 auto; max-width: 100%; min-height: 2.75rem; font-size: .8125rem; }
.managed-document-number { color: var(--muted); font-size: .75rem; }
.managed-document-image { display: block; margin-top: 1.25rem; border: 1px solid var(--line); background: #fff; }
.managed-document-image img { display: block; width: 100%; height: auto; }
.managed-document-open { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding-block: .5rem; margin-top: .5rem; font-size: .875rem; text-underline-offset: .2em; }
.managed-document-open .icon { width: 1rem; height: 1rem; }
.managed-document-empty { max-width: 42rem; font-size: 1rem; line-height: 1.8; }
@media (max-width: 47.5em) {
  .managed-document-file { padding: 1rem; }
  .managed-document-file-heading { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .managed-document-file-heading .button { width: 100%; }
  .managed-document-nav { padding: 1rem; }
  .managed-document-nav a { min-height: 2.75rem; }
  .managed-document :is(a, button) { scroll-margin-bottom: calc(var(--mobile-booking-height, 3.875rem) + var(--island-gutter) + var(--island-gap)); }
}
