/* Сертификат A4 (альбомная) — 3 шаблона. Масштабируется по ширине контейнера (cqw). */
.cr-wrap { container-type: inline-size; width: 100%; }
.cr { --cr: #0B7A9C; position: relative; aspect-ratio: 297 / 210; width: 100%; background: #fff; color: #14212A; font-family: "Onest", -apple-system, "Segoe UI", Roboto, Arial, sans-serif; overflow: hidden; border-radius: .6cqw; box-shadow: 0 2cqw 5cqw rgba(20,33,42,.16); text-align: left; line-height: 1.2; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.cr img { display: block; }
.cr-mark { width: 5cqw; height: 5cqw; border-radius: 1.3cqw; background: var(--cr); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 2.2cqw; flex: none; }
.cr-logo { width: 5.4cqw; height: 5.4cqw; object-fit: contain; border-radius: 1cqw; flex: none; }
.cr-school { font-size: 1.15cqw; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #43535D; }
.cr-small { font-size: 1.35cqw; color: #7A878E; }
.cr-name { font-weight: 720; letter-spacing: -.025em; overflow-wrap: anywhere; }
.cr-qr { width: 7.4cqw; height: 7.4cqw; flex: none; }
.cr-qr svg { width: 100%; height: 100%; display: block; }
.cr-qr-empty { visibility: hidden; }
.cr-sign { display: flex; flex-direction: column; gap: .2cqw; font-size: 1.15cqw; color: #43535D; min-width: 14cqw; }
.cr-sign img { height: 3.6cqw; max-width: 16cqw; object-fit: contain; object-position: left bottom; margin-bottom: .2cqw; }
.cr-sign i { display: block; width: 14cqw; border-bottom: 1px solid #C3CDD1; height: 3.2cqw; margin-bottom: .3cqw; }
.cr-sign b { color: #14212A; font-weight: 650; font-size: 1.25cqw; }
.cr-num { display: flex; flex-direction: column; align-items: center; gap: .2cqw; font-size: 1.15cqw; color: #7A878E; }
.cr-num span { font-family: ui-monospace, Menlo, monospace; font-size: 1.1cqw; color: #43535D; }
.cr-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 2cqw; width: 100%; }
.cr-void { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-12deg); z-index: 3; border: .35cqw solid #C03E3E; color: #C03E3E; font-weight: 800; font-size: 3.4cqw; padding: .6cqw 2cqw; border-radius: 1cqw; text-transform: uppercase; background: rgba(255,255,255,.85); white-space: nowrap; }

/* classic */
.cr-classic { background: #FFFDF8; padding: 5.2cqw 6cqw 4.6cqw; display: flex; flex-direction: column; align-items: center; justify-content: space-between; text-align: center; }
.cr-classic .cr-frame { position: absolute; inset: 2.2cqw; border: .22cqw solid var(--cr); border-radius: .5cqw; pointer-events: none; }
.cr-classic .cr-frame::after { content: ""; position: absolute; inset: .8cqw; border: 1px solid var(--cr); opacity: .45; border-radius: .3cqw; }
.cr-classic .cr-top { display: flex; flex-direction: column; align-items: center; gap: .9cqw; position: relative; }
.cr-classic .cr-mid { display: flex; flex-direction: column; align-items: center; gap: .9cqw; position: relative; }
.cr-classic .cr-word { font-size: 5.6cqw; font-weight: 760; letter-spacing: -.01em; color: var(--cr); text-transform: uppercase; line-height: 1; }
.cr-classic .cr-name { font-size: 4cqw; border-bottom: 1px solid #DCE2E5; padding: 0 3cqw .7cqw; }
.cr-classic .cr-course { font-size: 2.2cqw; font-weight: 660; }
.cr-classic .cr-foot { position: relative; }
.cr-classic .cr-sign { align-items: flex-start; text-align: left; }

/* modern */
.cr-modern { display: flex; }
.cr-modern .cr-side { width: 32%; background: var(--cr); color: #fff; padding: 5cqw 3.6cqw; display: flex; flex-direction: column; justify-content: space-between; gap: 2cqw; }
.cr-modern .cr-side .cr-mark { background: #fff; color: var(--cr); }
.cr-modern .cr-side .cr-logo { background: #fff; padding: .4cqw; }
.cr-modern .cr-school { color: rgba(255,255,255,.9); margin-top: -1cqw; }
.cr-modern .cr-word { font-size: 4.2cqw; font-weight: 750; letter-spacing: -.02em; line-height: 1.02; text-transform: uppercase; overflow-wrap: anywhere; hyphens: auto; }
.cr-modern .cr-no { font-family: ui-monospace, Menlo, monospace; font-size: 1.15cqw; opacity: .85; }
.cr-modern .cr-body { flex: 1; padding: 5cqw 5cqw 4.4cqw; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; }
.cr-modern .cr-date { font-size: 1.35cqw; color: #7A878E; }
.cr-modern .cr-mid { display: flex; flex-direction: column; gap: 1.2cqw; }
.cr-modern .cr-name { font-size: 4.6cqw; line-height: 1.05; }
.cr-modern .cr-text { font-size: 1.7cqw; color: #43535D; max-width: 42cqw; line-height: 1.4; }
.cr-modern .cr-text b { color: #14212A; font-weight: 650; }

/* minimal */
.cr-minimal { padding: 6.4cqw 7cqw 5.6cqw; display: flex; flex-direction: column; justify-content: space-between; }
.cr-minimal .cr-top { display: flex; justify-content: space-between; align-items: center; }
.cr-minimal .cr-school { color: #14212A; }
.cr-minimal .cr-dash { width: 3cqw; height: .45cqw; border-radius: 1cqw; background: var(--cr); }
.cr-minimal .cr-mid { display: flex; flex-direction: column; gap: 1.4cqw; }
.cr-minimal .cr-word { font-size: 1.3cqw; font-weight: 650; letter-spacing: .14em; color: var(--cr); text-transform: uppercase; }
.cr-minimal .cr-name { font-size: 5.8cqw; line-height: 1; letter-spacing: -.035em; }
.cr-minimal .cr-text { font-size: 1.75cqw; color: #43535D; }
.cr-minimal .cr-foot { border-top: 1px solid #E6EAEC; padding-top: 1.6cqw; }
.cr-minimal .cr-num { align-items: flex-start; }
