.doctor-documents { color:var(--green,#103d2c); }
.doctor-documents__heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:40px; }
.doctor-documents__heading .eyebrow { color:#dc650b; margin-bottom:18px; font-size:.875rem; }
.doctor-documents__heading h2 { font-size:clamp(1.75rem,3.2vw,3rem); line-height:1.18; letter-spacing:-.035em; margin:0; }
.doctor-documents__intro { max-width:320px; border-left:2px solid #f47718; padding-left:24px; }
.doctor-documents__intro p { font-size:1.25rem; line-height:1.4; margin:0 0 10px; }
.doctor-documents__intro>span { display:block; font-size:1rem; line-height:1.5; color:#526459; }
.doctor-documents__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.doctor-document { display:block; min-width:0; color:inherit; text-decoration:none; border:1px solid #dce4dd; border-radius:20px; overflow:hidden; background:#fffefa; transition:border-color .2s,box-shadow .2s; }
.doctor-document:hover { border-color:#859a8b; box-shadow:0 12px 30px #103d2c10; }
.doctor-document:focus-visible { outline:3px solid #f47718; outline-offset:5px; }
.doctor-document__paper { display:block; padding:28px; background:#eef1eb; }
.doctor-scan { display:block; position:relative; overflow:hidden; background:#fffefa; }
.doctor-document__paper .doctor-scan { border:5px solid #fffefa; box-shadow:0 4px 8px #17342816,0 15px 25px #17342814; }
.doctor-scan img { display:block; width:100%; max-width:100%; height:auto; }
.doctor-scan.is-flat { aspect-ratio:640 / 460; }
.doctor-scan.is-flat img { position:absolute; inset:0 auto auto 0; width:600px; height:800px; max-width:none; transform-origin:0 0; filter:brightness(1.05); }
.doctor-document__caption { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px; }
.doctor-document__caption strong { display:block; font-size:1.25rem; line-height:1.3; }
.doctor-document__caption>span>span { display:block; font-size:.9375rem; line-height:1.4; color:#526459; margin-top:7px; }
.doctor-document__action { padding:10px 14px; border:1px solid #ccd8ce; border-radius:100px; font-size:.875rem; white-space:nowrap; }
.doctor-document-dialog { width:min(1050px,calc(100% - 32px)); max-width:none; max-height:calc(100svh - 32px); padding:24px; border:0; border-radius:20px; background:#fffefa; color:#103d2c; margin:auto; box-shadow:0 24px 90px #0004; }
.doctor-document-dialog::backdrop { background:#071e17d9; }
.doctor-document-dialog__head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.doctor-document-dialog__head h3 { font-size:1.25rem; line-height:1.4; margin:0; }
.doctor-document-dialog__head form { margin:0; }
.doctor-document-dialog__head button { width:44px; height:44px; border:1px solid #c7d3ca; background:transparent; border-radius:50%; font-size:1.75rem; color:inherit; cursor:pointer; }
.doctor-document-dialog__footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; margin-top:20px; font-size:1rem; }
.doctor-document-dialog__footer p { font-size:1rem; margin:0; color:#526459; }
.doctor-document-dialog__footer a { color:inherit; text-underline-offset:4px; padding-block:8px; }
html:has(.doctor-document-dialog[open]) { overflow:hidden; }
@media(max-width:1023px) { .doctor-document__caption { align-items:flex-start; flex-direction:column; padding:20px; } .doctor-document__paper { padding:20px; } }
@media(max-width:767px) {
 .doctor-documents__heading { flex-direction:column; align-items:flex-start; gap:24px; margin-bottom:28px; }
 .doctor-documents__intro { padding-left:18px; max-width:none; }
 .doctor-documents__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .doctor-document__caption { flex-direction:row; align-items:center; flex-wrap:wrap; }
 .doctor-document__caption strong { font-size:1.125rem; }
 .doctor-document-dialog { width:calc(100% - 20px); max-height:calc(100svh - 20px); padding:16px; border-radius:16px; }
}
@media(prefers-reduced-motion:reduce) { .doctor-document { transition:none; } }
