/* PDF actions share the same generated document; native printing remains usable. */
@media screen {
  body.vision-v7 .lawyer-profile .lawyer-profile-actions { flex-wrap: wrap; gap: 12px 16px; }
  body.vision-v7 .lawyer-profile .lawyer-profile-actions .lawyer-print { min-height: 44px; }
}

@page lawyer-profile {
  size: A4 portrait;
  margin: 18mm 20mm;
}

@media print {
  /* Keyboard navigation belongs to the screen, never to a printed document. */
  .skip, .skip:focus, .skip:focus-visible { display: none !important; visibility: hidden !important; }
  html:has(.lawyer-profile), body:has(.lawyer-profile) {
    min-height: 0 !important;
    height: auto !important;
    background: #fff !important;
    overflow: visible !important;
  }
  body:has(.lawyer-profile) { page: lawyer-profile; margin: 0 !important; padding: 0 !important; }
  body:has(.lawyer-profile) :is(.site-header, .site-footer, .closing, .page-utilities, dialog, #toast) { display: none !important; }
  body:has(.lawyer-profile) :is(#app, #main) { margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: auto !important; background: #fff !important; }
  body.vision-v7 #main .lawyer-profile { --profile-reading: 11pt; background: #fff; margin: 0; padding: 0; color: #24333b; }
  body.vision-v7 #main .lawyer-profile::before { content: 'WINTELL & CO'; display: block; font-size: 9pt; font-weight: 600; letter-spacing: .08em; color: #1772b4; margin-bottom: 5mm; }
  body.vision-v7 #main .lawyer-profile :is(.breadcrumb, .v5-label, .lawyer-profile-sidebar, .lawyer-profile-actions, .lawyer-related, .lawyer-directory-footer, .address-navigation, [aria-hidden="true"]) { display: none !important; }
  body.vision-v7 #main .lawyer-profile :is(.lawyer-profile-role, .lawyer-profile-locations, .lawyer-profile-expertise, .lawyer-bio-section, .lawyer-office-contact) .en { display: none !important; }
  body.vision-v7 #main .lawyer-profile :is(.lawyer-profile-hero, .lawyer-profile-body, .lawyer-profile-content) { display: block; width: 100%; max-width: none; min-width: 0; margin: 0; padding: 0; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-hero { padding-bottom: 6mm; break-inside: avoid-page; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-intro { display: grid; grid-template-columns: minmax(0, 1fr) 40mm; gap: 10mm; align-items: start; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-title { display: block; grid-column: 1; grid-row: 1; order: 0; margin: 0; padding: 0; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-portrait { grid-column: 2; grid-row: 1; order: 0; width: 40mm !important; height: 30mm !important; max-width: 40mm !important; min-height: 0; margin: 0; break-inside: avoid; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-title h1 { font-size: 24pt !important; line-height: 1.2; margin: 0; padding: 0; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-title h1 .en { font-size: 10pt !important; line-height: 1.4; margin-top: 3pt; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-role { font-size: 11pt; line-height: 1.5; margin: 5pt 0 0; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-locations { margin: 4pt 0 0; gap: 4pt 10pt; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-locations a { font-size: 10pt; line-height: 1.5; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-expertise { margin: 7pt 0 0; padding: 5pt 0 0; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-expertise h2 { font-size: 9pt !important; line-height: 1.4; margin: 0 0 3pt; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-expertise > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3pt 9pt; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-expertise a { display: block; font-size: 9pt; line-height: 1.4; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-connect { margin: 7pt 0 0; padding: 5pt 0 0; }
  body.vision-v7 #main .lawyer-profile .lawyer-email { display: block; font-size: 9pt; line-height: 1.4; }
  body.vision-v7 #main .lawyer-profile .lawyer-bio-section { margin: 0 0 8pt; padding: 0 0 8pt; break-inside: auto; }
  body.vision-v7 #main .lawyer-profile .lawyer-bio-section > h2 { display: block; font-size: 15pt !important; line-height: 1.35; margin: 0 0 7pt; padding: 0; break-after: avoid-page; }
  body.vision-v7 #main .lawyer-profile :is([data-profile-section-body], .lawyer-section-text, .lawyer-section-list) { font-size: 11pt !important; line-height: 1.55 !important; }
  body.vision-v7 #main .lawyer-profile [data-profile-section-body] :is(p, li) { font-size: 11pt !important; line-height: 1.55 !important; orphans: 3; widows: 3; }
  body.vision-v7 #main .lawyer-profile [data-profile-section-body] p { margin: 0 0 5pt; }
  body.vision-v7 #main .lawyer-profile .lawyer-section-text > p:has(+ .lawyer-section-list) { break-after: avoid-page; }
  body.vision-v7 #main .lawyer-profile .lawyer-bio-section:is([data-section-title="教育背景"], [data-section-title="Education"]) { break-inside: avoid-page; }
  body.vision-v7 #main .lawyer-profile .lawyer-section-list { margin: 0 0 5pt; padding-left: 1.1em; }
  body.vision-v7 #main .lawyer-profile .lawyer-section-list li { margin: 0 0 5pt; break-inside: avoid-page; }
  body.vision-v7 #main .lawyer-profile [data-profile-section-body] h3.lawyer-section-subheading { font-size: 12pt !important; line-height: 1.4; margin: 9pt 0 5pt; break-after: avoid-page; }
  body.vision-v7 #main .lawyer-profile .lawyer-history-entry { display: grid; grid-template-columns: 34mm minmax(0, 1fr); gap: 0 4mm; margin-bottom: 6pt; break-inside: avoid-page; }
  body.vision-v7 #main .lawyer-profile .lawyer-history-entry > p { margin: 0; }
  body.vision-v7 #main .lawyer-profile .lawyer-history-entry > .lawyer-history-date { margin: 0; padding-top: 1pt; font-size: 9pt !important; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-office-list { display: block; }
  body.vision-v7 #main .lawyer-profile .lawyer-office-contact { padding: 0; margin: 0 0 7pt; background: none; break-inside: avoid-page; }
  body.vision-v7 #main .lawyer-profile .lawyer-office-contact h3 { font-size: 11pt !important; line-height: 1.4; margin: 0 0 3pt; }
  body.vision-v7 #main .lawyer-profile .lawyer-office-contact address { margin: 0; font-size: 10pt !important; line-height: 1.55; }
  body.vision-v7 #main .lawyer-profile .lawyer-office-phone { font-size: 9pt !important; line-height: 1.5; margin-top: 3pt; gap: 5pt; }
  body.vision-v7 #main .lawyer-profile .lawyer-office-phone > span:last-child { font-size: 9pt !important; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-source { margin: 7pt 0 0; padding: 0; break-inside: avoid-page; }
  body.vision-v7 #main .lawyer-profile :is(.lawyer-profile-source, .lawyer-profile-source p, .lawyer-profile-source .source, .lawyer-profile-source .en) { font-size: 8pt !important; line-height: 1.4; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-source > p { margin: 3pt 0 0; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-source > p > .en { display: none; }
  body.vision-v7 #main .lawyer-profile .lawyer-profile-content > :last-child { margin-bottom: 0; padding-bottom: 0; }
}
