/* Public certificate lookup */
.lsp-certificate-check { padding:80px 0; background:#f3f7f4; scroll-margin-top:100px; }
.lsp-certificate-check__card { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; padding:48px; border:1px solid #dae6de; border-radius:20px; background:#fff; box-shadow:0 16px 48px #193e3009; }
.lsp-certificate-check__eyebrow { display:block; color:#34744b; letter-spacing:.13em; font-size:12px; font-weight:700; margin-bottom:16px; }
.lsp-certificate-check h2, .lsp-certificate-check h1 { color:#183f2b; font-size:32px; line-height:1.3; margin:0 0 16px; }
.lsp-certificate-check p { color:#5e7065; line-height:1.8; margin:0 0 20px; }
.lsp-certificate-check__form { display:flex; flex-direction:column; gap:12px; }
.lsp-certificate-check__form label { font-weight:600; color:#213f2e; }
.lsp-certificate-check__form input { width:100%; min-width:0; border:1px solid #c8d8cd; border-radius:9px; padding:14px 16px; font:inherit; background:#fff; color:#213f2e; }
.lsp-certificate-check__form button { border:0; border-radius:9px; padding:14px 20px; background:#34744b; color:#fff; font:inherit; font-weight:600; cursor:pointer; }
.lsp-certificate-check__form button:hover { background:#245736; }
.lsp-certificate-check__form small { color:#64756b; line-height:1.6; }
.lsp-certificate-check input:focus-visible, .lsp-certificate-check button:focus-visible, .lsp-certificate-check a:focus-visible { outline:3px solid #8dbb9c; outline-offset:3px; }
.lsp-certificate-check--result { padding-top:150px; min-height:65vh; }
.lsp-certificate-result { max-width:800px; margin:auto; padding:40px; background:#fff; border:1px solid #dae6de; border-radius:16px; }
.lsp-certificate-result__details { margin:24px 0; }
.lsp-certificate-result__details div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:16px; padding:14px 0; border-bottom:1px solid #e5ede8; }
.lsp-certificate-result dt { color:#64756b; font-weight:500; }
.lsp-certificate-result dd { color:#213f2e; font-weight:600; margin:0; overflow-wrap:anywhere; }
.lsp-certificate-result a { color:#34744b; font-weight:600; }
@media(max-width:767px) { .lsp-certificate-check { padding:48px 0; } .lsp-certificate-check__card { grid-template-columns:1fr; gap:28px; padding:24px; } .lsp-certificate-check h2, .lsp-certificate-check h1 { font-size:26px; } .lsp-certificate-check--result { padding-top:110px; } .lsp-certificate-result { padding:24px; } .lsp-certificate-result__details div { grid-template-columns:1fr; gap:6px; } }

/* Certificate holder and scheme units */
.certificate-holder { background:#fff; border:1px solid #e2e5e9; border-radius:16px; overflow:hidden; box-shadow:0 2px 3px #14283e08; }
.certificate-holder__heading { margin:0!important; padding:20px 24px; background:linear-gradient(110deg,var(--navy),var(--navy-mid)); color:#fff!important; font-size:19px!important; font-weight:700; }
.certificate-holder__body { display:grid; grid-template-columns:180px minmax(0,1fr) minmax(0,1fr); gap:28px; padding:26px; }
.certificate-holder__photo img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:8px; }
.certificate-holder__placeholder { aspect-ratio:3/4; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; border-radius:8px; background:#f1f4f6; color:#7b8897; font-size:12px; }
.certificate-holder__placeholder i { font-size:48px; }
.certificate-holder__column { margin:0; display:flex; flex-direction:column; gap:24px; }
.certificate-holder__column dt { color:#778291; font-size:14px; font-weight:400; margin-bottom:6px; }
.certificate-holder__column dd { color:#101d2c; font-size:16px; font-weight:600; margin:0; overflow-wrap:anywhere; line-height:1.6; }
.certificate-holder__duration { display:block; font-weight:400; }
.certificate-holder__column dd.certificate-holder__valid { color:#00a77a; }
.certificate-holder__column dd.certificate-holder__notice { color:#aa6414; }
.certificate-holder__button { background:var(--blue); color:#fff; padding:6px 12px; font:inherit; font-size:12px; font-weight:700; border:0; border-radius:6px; cursor:pointer; }
.certificate-holder__column > div:last-child:has(button) { margin-top:-18px; }
.certificate-holder__back { display:inline-block; margin-top:24px; color:#34744b; font-weight:600; }
.certificate-units { position:fixed; inset:0; margin:auto; border:0; border-radius:16px; padding:0; width:min(800px,calc(100% - 32px)); max-height:85vh; color:#142339; background:#fff; box-shadow:0 24px 80px #0003; }
.certificate-units::backdrop { background:#0008; backdrop-filter:blur(3px); }
.certificate-units__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px; }
.certificate-units__heading h2 { font-size:18px; margin:0; line-height:1.5; }
.certificate-units__heading h2 span { color:var(--blue); }
.certificate-units__heading button { border:0; background:transparent; color:#8793a4; font-size:28px; cursor:pointer; line-height:1; padding:4px; }
.certificate-units__scroll { overflow:auto; max-height:65vh; }
.certificate-units table { width:100%; border-collapse:collapse; font-size:14px; }
.certificate-units th { background:#202b39; color:#fff; text-align:left; text-transform:uppercase; font-size:12px; padding:12px 16px; }
.certificate-units td { padding:18px 16px; border-bottom:1px solid #edf0f4; vertical-align:top; }
.certificate-units td:first-child { width:175px; overflow-wrap:anywhere; }
.certificate-units tbody tr:nth-child(even) { background:#f7f8fa; }
.certificate-holder__button:focus-visible, .certificate-units button:focus-visible { outline:3px solid var(--blue-light); outline-offset:3px; }
@media(max-width:767px) { .certificate-holder__body { grid-template-columns:1fr; padding:24px; gap:24px; } .certificate-holder__photo { max-width:150px; } .certificate-holder__heading { padding:18px 24px; } .certificate-holder__column { gap:20px; } .certificate-units__heading { padding:18px; } .certificate-units td:first-child { width:120px; } }

.certificate-check-inline-result { margin-top:28px; scroll-margin-top:110px; }
.certificate-check-inline-result:focus { outline:none; }
.lsp-certificate-check__form button:disabled { opacity:.65; cursor:wait; }


/* Certificate result: identity panel and certification details */
.cert-profile { display:grid; grid-template-columns:280px minmax(0,1fr); border:1px solid var(--gray-200); border-radius:22px; overflow:hidden; background:#fff; box-shadow:0 12px 40px rgba(7,30,61,.06); }
.cert-profile__identity { padding:32px; background:linear-gradient(150deg,var(--navy),var(--navy-mid)); color:#fff; display:flex; flex-direction:column; align-items:flex-start; }
.cert-profile__eyebrow { font-size:11px; font-weight:700; letter-spacing:.14em; color:var(--blue); display:block; margin-bottom:10px; }
.cert-profile__identity .cert-profile__eyebrow { color:#b9d3ec; }
.cert-profile__photo { width:96px; height:120px; border:3px solid #ffffff40; background:#ffffff12; border-radius:12px; overflow:hidden; margin:18px 0; display:grid; place-items:center; }
.cert-profile__photo img { width:100%; height:100%; object-fit:cover; }
.cert-profile__photo i { font-size:40px; color:#b9d3ec; }
.cert-profile__identity h3 { color:#fff; font-size:21px; line-height:1.5; margin:0 0 12px; }
.cert-profile__competent { font-size:12px; color:#d2e5f7; display:flex; gap:7px; align-items:center; }
.cert-profile__issuer { margin-top:28px; padding-top:22px; border-top:1px solid #ffffff26; font-size:13px; line-height:1.7; width:100%; }
.cert-profile__issuer span { display:block; color:#b9cfe3; margin-bottom:6px; }
.cert-profile__issuer strong { color:#fff; font-weight:500; }
.cert-profile__content { padding:32px; }
.cert-profile__header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; }
.cert-profile__header h3 { font-size:25px; color:var(--navy); margin:0; }
.cert-profile__status { border-radius:24px; padding:8px 13px; font-size:12px; font-weight:700; }
.cert-profile__status.is-valid { color:#13704d; background:#e9f7ef; }
.cert-profile__status.is-notice { color:#895c18; background:#fff5dd; }
.cert-profile__scheme { margin-bottom:24px; }
.cert-profile__scheme > span, .cert-profile__numbers dt, .cert-profile__validity div > span { font-size:12px; color:var(--gray-600); display:block; margin-bottom:8px; font-weight:400; }
.cert-profile__scheme h4 { font-size:20px; color:var(--navy); margin:0; line-height:1.5; }
.cert-profile__numbers { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:20px; margin-bottom:24px; }
.cert-profile__numbers dd { font-size:15px; font-weight:600; color:var(--navy); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; margin:0; }
.cert-profile__validity { display:flex; align-items:center; gap:22px; background:var(--gray-50); border:1px solid var(--gray-200); border-radius:12px; padding:18px; }
.cert-profile__validity > i { font-size:24px; color:var(--blue); }
.cert-profile__validity strong { font-size:14px; font-weight:600; color:var(--navy); }
.cert-profile__arrow { color:var(--gray-400); }
.cert-profile__footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:24px; padding-top:22px; border-top:1px solid var(--gray-200); }
.cert-profile__footer > span { color:var(--gray-600); font-size:12px; }
.cert-profile__footer .certificate-holder__button { padding:11px 16px; border-radius:8px; }
@media(max-width:767px) { .cert-profile { grid-template-columns:1fr; } .cert-profile__identity,.cert-profile__content { padding:24px; } .cert-profile__photo { width:80px; height:100px; } .cert-profile__header { align-items:flex-start; flex-wrap:wrap; } .cert-profile__numbers { grid-template-columns:1fr; } .cert-profile__validity { flex-wrap:wrap; gap:16px; } .cert-profile__validity > i,.cert-profile__arrow { display:none; } .cert-profile__footer { align-items:flex-start; flex-direction:column; } }

.cert-profile__content .cert-profile__duration { display:flex; align-items:center; gap:7px; margin:12px 0 0; color:var(--gray-600); font-size:13px; }
.cert-profile__duration strong { color:var(--navy); }
.certificate-units--cards { width:min(760px,calc(100% - 32px)); }
.certificate-units--cards .certificate-units__heading { align-items:flex-start; padding:28px; border-bottom:1px solid var(--gray-200); background:linear-gradient(135deg,#f0f6fc,#fff); }
.certificate-units--cards .certificate-units__heading h2 { color:var(--navy); font-size:21px; font-weight:700; }
.certificate-units__summary { margin:10px 0 0; color:var(--gray-600); font-size:13px; line-height:1.6; }
.certificate-units--cards .certificate-units__heading button { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#e5edf5; color:var(--navy); }
.certificate-unit-list { list-style:none; margin:0; padding:24px 28px; display:grid; gap:12px; }
.certificate-unit-card { display:flex; align-items:flex-start; gap:16px; padding:18px; border:1px solid var(--gray-200); border-radius:12px; background:#fff; }
.certificate-unit-card__number { display:grid; place-items:center; flex:0 0 38px; height:38px; border-radius:10px; background:#edf4fc; color:var(--blue); font-size:13px; font-weight:700; font-variant-numeric:tabular-nums; }
.certificate-unit-card__code { display:inline-block; color:var(--blue); font-size:12px; font-weight:600; letter-spacing:.03em; overflow-wrap:anywhere; }
.certificate-unit-card h3 { color:var(--navy); font-size:15px; line-height:1.7; font-weight:600; margin:6px 0 0; }
.certificate-unit-list__empty { padding:24px; text-align:center; background:var(--gray-50); color:var(--gray-600); border-radius:12px; }
@media(max-width:767px) { .certificate-units--cards .certificate-units__heading { padding:20px; } .certificate-unit-list { padding:16px; } .certificate-unit-card { padding:14px; gap:12px; } .certificate-units--cards .certificate-units__heading h2 { font-size:18px; } }

.lsp-certificate-check__form button { background:var(--blue); }
.lsp-certificate-check__form button:hover { background:var(--navy-mid); }
.certificate-check-guidance { display:grid; gap:16px; margin-top:24px; }
.certificate-check-guidance[hidden] { display:none; }
.certificate-check-guidance__item { display:flex; align-items:flex-start; gap:14px; padding:20px; border:1px solid var(--gray-200); background:#fff; border-radius:14px; box-shadow:0 2px 3px rgba(7,30,61,.03); }
.certificate-check-guidance__icon { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:9px; font-size:14px; }
.certificate-check-guidance__icon.is-info { color:#d83e32; background:#fff1f0; }
.certificate-check-guidance__icon.is-tip { color:var(--blue); background:#edf5ff; }
.certificate-check-guidance__icon.is-warning { color:#bd8010; background:#fff9e9; }
.certificate-check-guidance__item p { margin:0; font-size:14px; line-height:1.8; color:var(--gray-600); }
@media(max-width:767px) { .certificate-check-guidance__item { padding:16px; gap:12px; } }

.certificate-units--cards .certificate-units__heading form { margin:0; flex-shrink:0; }
.certificate-units--cards .certificate-units__heading button { padding:0; line-height:1; }
.certificate-units--cards .certificate-units__heading button svg { display:block; flex-shrink:0; }

.cert-profile__photo { width:160px; height:auto; aspect-ratio:3 / 4; }
.cert-profile__photo img { aspect-ratio:3 / 4; }
@media(max-width:767px) { .cert-profile__photo { width:140px; height:auto; } }
