.prplc-cv {
	--prplc-cv-accent: #0a6c75;
	--prplc-cv-navy: #102d49;
	--prplc-cv-gold: #c79339;
	--prplc-cv-text: #203940;
	--prplc-cv-muted: #697d82;
	--prplc-cv-border: #dce7e8;
	--prplc-cv-bg: #fff;
	--prplc-cv-card-bg: #fff;
	--prplc-cv-input-bg: #fbfdfd;
	--prplc-cv-result-bg: #fff;
	--prplc-cv-button-text: #fff;
	--prplc-cv-success: #24724b;
	--prplc-cv-warning: #8b5b06;
	--prplc-cv-error: #a52929;
	--prplc-cv-font: "Vazirmatn", "IRANSansX", "Dana", Tahoma, Arial, sans-serif;
	--prplc-cv-font-size: 16px;
	--prplc-cv-container-radius: 22px;
	--prplc-cv-card-radius: 17px;
	--prplc-cv-input-radius: 11px;
	background: var(--prplc-cv-bg);
	border: 1px solid var(--prplc-cv-border);
	border-radius: var(--prplc-cv-container-radius);
	box-shadow: none;
	box-sizing: border-box;
	color: var(--prplc-cv-text);
	font-family: var(--prplc-cv-font);
	font-size: var(--prplc-cv-font-size);
	margin: 28px auto;
	max-width: 1080px;
	overflow: hidden;
	padding: 34px;
	position: relative;
}

.prplc-cv *, .prplc-cv *::before, .prplc-cv *::after { box-sizing: border-box; }
.prplc-cv--shadow-soft { box-shadow: 0 18px 48px rgba(16, 45, 73, 0.08); }
.prplc-cv--shadow-medium { box-shadow: 0 24px 64px rgba(16, 45, 73, 0.14); }

.prplc-cv__head {
	align-items: center;
	display: flex;
	margin-bottom: 24px;
	min-height: 98px;
	padding-left: 178px;
	position: relative;
}

.prplc-cv__head-copy { min-width: 0; }
.prplc-cv__head h2 {
	color: var(--prplc-cv-navy);
	font-size: clamp(28px, 3.2vw, 38px);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.45;
	margin: 0 0 8px;
}

.prplc-cv__head p { color: var(--prplc-cv-muted); font-size: 16px; line-height: 1.9; margin: 0; }
.prplc-cv--no-decor .prplc-cv__head { padding-left: 0; }

.prplc-cv__decor {
	height: 98px;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 150px;
}

.prplc-cv__certificate-image {
	background: #fff;
	border: 1px solid rgba(16, 45, 73, 0.15);
	border-radius: 10px;
	box-shadow: 0 10px 28px rgba(16, 45, 73, 0.16);
	display: block;
	height: 86px;
	object-fit: cover;
	width: 122px;
}

.prplc-cv__seal-image {
	bottom: -1px;
	display: block;
	filter: drop-shadow(0 5px 8px rgba(74, 46, 5, 0.25));
	height: 52px;
	object-fit: contain;
	position: absolute;
	right: 0;
	width: 52px;
}

.prplc-cv--decor-small .prplc-cv__head { min-height: 88px; padding-left: 150px; }
.prplc-cv--decor-small .prplc-cv__decor { height: 88px; width: 126px; }
.prplc-cv--decor-small .prplc-cv__certificate-image { height: 75px; width: 106px; }
.prplc-cv--decor-small .prplc-cv__seal-image { height: 46px; width: 46px; }

.prplc-cv__panels { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }

.prplc-cv__form {
	background: var(--prplc-cv-card-bg);
	border: 1px solid var(--prplc-cv-border);
	border-radius: var(--prplc-cv-card-radius);
	box-shadow: none;
	margin: 0;
	min-width: 0;
	padding: 24px;
	position: relative;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.prplc-cv--shadow-soft .prplc-cv__form { box-shadow: 0 8px 24px rgba(16, 45, 73, 0.055); }
.prplc-cv--shadow-medium .prplc-cv__form { box-shadow: 0 12px 32px rgba(16, 45, 73, 0.1); }

.prplc-cv__form::before {
	background: linear-gradient(90deg, var(--prplc-cv-accent), var(--prplc-cv-gold));
	border-radius: var(--prplc-cv-card-radius) var(--prplc-cv-card-radius) 0 0;
	content: "";
	height: 4px;
	inset: 0 0 auto;
	position: absolute;
}

.prplc-cv__form:focus-within {
	border-color: color-mix(in srgb, var(--prplc-cv-accent) 48%, #fff);
	box-shadow: 0 14px 34px rgba(16, 45, 73, 0.1);
	transform: translateY(-1px);
}

.prplc-cv__form-head { align-items: flex-start; display: flex; gap: 12px; margin-bottom: 22px; min-height: 98px; }
.prplc-cv__form-head h3 { color: var(--prplc-cv-navy); font-size: calc(var(--prplc-cv-font-size) + 5px); font-weight: 800; line-height: 1.6; margin: 0 0 5px; }
.prplc-cv__form-head p { color: var(--prplc-cv-muted); font-size: calc(var(--prplc-cv-font-size) - 1.5px); line-height: 1.85; margin: 0; }
.prplc-cv__form > label { color: var(--prplc-cv-navy); display: block; font-size: calc(var(--prplc-cv-font-size) - 1px); font-weight: 700; margin-bottom: 8px; }
.prplc-cv__search-row { align-items: stretch; display: grid; gap: 9px; grid-template-columns: minmax(0, 1fr) auto; }
.prplc-cv__search-row > input, .prplc-cv__secret { min-width: 0; }

.prplc-cv__search-row input {
	appearance: none;
	background: var(--prplc-cv-input-bg);
	border: 1px solid var(--prplc-cv-border) !important;
	border-radius: var(--prplc-cv-input-radius) !important;
	box-shadow: inset 0 1px 2px rgba(16, 45, 73, 0.03) !important;
	color: var(--prplc-cv-text);
	font-family: inherit;
	font-size: var(--prplc-cv-font-size);
	height: 54px;
	line-height: normal;
	margin: 0 !important;
	outline: 0;
	padding: 0 15px !important;
	text-align: left;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
	width: 100%;
}

.prplc-cv__search-row input:hover { border-color: color-mix(in srgb, var(--prplc-cv-accent) 42%, var(--prplc-cv-border)) !important; }
.prplc-cv__search-row input:focus {
	background: #fff;
	border-color: var(--prplc-cv-accent) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--prplc-cv-accent) 14%, transparent) !important;
}

.prplc-cv__search-row input::placeholder { color: var(--prplc-cv-muted); opacity: 0.68; }
.prplc-cv__secret { position: relative; }
.prplc-cv__secret input { padding-inline-end: 52px !important; }

.prplc-cv__eye {
	align-items: center;
	appearance: none;
	background: transparent !important;
	border: 0 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color: var(--prplc-cv-muted);
	cursor: pointer;
	display: flex;
	height: 44px;
	inset-inline-end: 5px;
	justify-content: center;
	margin: 0 !important;
	padding: 10px !important;
	position: absolute;
	top: 5px;
	width: 44px;
}

.prplc-cv__eye:hover, .prplc-cv__eye:focus-visible {
	background: color-mix(in srgb, var(--prplc-cv-accent) 9%, transparent) !important;
	color: var(--prplc-cv-accent);
	outline: 0;
}

.prplc-cv__eye svg { fill: none; height: 23px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 23px; }
.prplc-cv__eye-closed { display: none; }
.prplc-cv__eye.is-visible .prplc-cv__eye-open { display: none; }
.prplc-cv__eye.is-visible .prplc-cv__eye-closed { display: block; }

.prplc-cv__submit {
	appearance: none;
	background: var(--prplc-cv-accent) !important;
	border: 1px solid var(--prplc-cv-accent) !important;
	border-radius: var(--prplc-cv-input-radius) !important;
	box-shadow: 0 8px 18px color-mix(in srgb, var(--prplc-cv-accent) 24%, transparent);
	color: var(--prplc-cv-button-text) !important;
	cursor: pointer;
	font-family: inherit;
	font-size: calc(var(--prplc-cv-font-size) - 1.5px);
	font-weight: 800;
	min-height: 54px;
	padding: 10px 20px !important;
	transition: filter 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	white-space: nowrap;
}

.prplc-cv__submit:hover {
	box-shadow: 0 10px 22px color-mix(in srgb, var(--prplc-cv-accent) 30%, transparent);
	filter: brightness(0.93);
	transform: translateY(-1px);
}

.prplc-cv__submit:focus-visible { outline: 3px solid color-mix(in srgb, var(--prplc-cv-accent) 24%, transparent); outline-offset: 2px; }
.prplc-cv__submit:disabled { cursor: wait; opacity: 0.65; transform: none; }
.prplc-cv__help { color: var(--prplc-cv-muted); display: block; font-size: calc(var(--prplc-cv-font-size) - 3.5px); line-height: 1.75; margin-top: 8px; }

.prplc-cv__feedback { border-radius: var(--prplc-cv-input-radius); font-size: calc(var(--prplc-cv-font-size) - 1.5px); font-weight: 700; line-height: 1.8; margin-top: 20px; padding: 0; }
.prplc-cv__feedback:empty { display: none; }
.prplc-cv__feedback.is-loading { background: #f1f6f7; color: #526e73; padding: 13px 16px; }
.prplc-cv__feedback.is-error { background: #fff0f0; background: color-mix(in srgb, var(--prplc-cv-error) 8%, #fff); border: 1px solid #f6d5d5; border-color: color-mix(in srgb, var(--prplc-cv-error) 20%, #fff); color: var(--prplc-cv-error); padding: 13px 16px; }
.prplc-cv__feedback.is-success { background: #edf8f2; background: color-mix(in srgb, var(--prplc-cv-success) 8%, #fff); border: 1px solid #d0ebdb; border-color: color-mix(in srgb, var(--prplc-cv-success) 20%, #fff); color: var(--prplc-cv-success); padding: 13px 16px; }
.prplc-cv__results { display: grid; gap: 16px; margin-top: 15px; }

.prplc-cv__result-card {
	background: var(--prplc-cv-result-bg);
	border: 1px solid var(--prplc-cv-border);
	border-inline-start: 4px solid var(--prplc-cv-accent);
	border-radius: var(--prplc-cv-card-radius);
	box-shadow: 0 10px 28px rgba(16, 45, 73, 0.07);
	overflow: hidden;
	padding: 23px;
}

.prplc-cv__result-card--expired { border-inline-start-color: var(--prplc-cv-warning); }
.prplc-cv__result-card--revoked { border-inline-start-color: var(--prplc-cv-error); }
.prplc-cv__result-head { align-items: flex-start; border-bottom: 1px solid #edf2f2; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 18px; padding-bottom: 16px; }
.prplc-cv__result-kicker { color: #7a8b8d; font-size: 12px; }
.prplc-cv__result-head h3 { color: var(--prplc-cv-navy); font-size: 20px; line-height: 1.65; margin: 3px 0 0; }
.prplc-cv__status { border-radius: 999px; flex: 0 0 auto; font-size: 12px; font-weight: 800; padding: 6px 12px; }
.prplc-cv__status--valid { background: #e6f7ed; background: color-mix(in srgb, var(--prplc-cv-success) 11%, #fff); color: var(--prplc-cv-success); }
.prplc-cv__status--expired { background: #fff4db; background: color-mix(in srgb, var(--prplc-cv-warning) 11%, #fff); color: var(--prplc-cv-warning); }
.prplc-cv__status--revoked { background: #fde9e9; background: color-mix(in srgb, var(--prplc-cv-error) 11%, #fff); color: var(--prplc-cv-error); }
.prplc-cv__details { display: grid; gap: 18px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.prplc-cv__detail { min-width: 0; }
.prplc-cv__detail-label { color: #7a8b8d; display: block; font-size: 12px; margin-bottom: 4px; }
.prplc-cv__detail-value { color: #263f42; display: block; font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }

.prplc-cv__confirmation {
	background: #eff9f3;
	background: color-mix(in srgb, var(--prplc-cv-success) 8%, #fff);
	border-radius: var(--prplc-cv-input-radius);
	color: var(--prplc-cv-success);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.8;
	margin-top: 20px;
	padding: 12px 14px;
}

.prplc-cv__organization { color: #8a999b; font-size: 11.5px; line-height: 1.7; margin-top: 14px; text-align: center; }

@media (max-width: 900px) {
	.prplc-cv__panels { grid-template-columns: 1fr; }
	.prplc-cv__form-head { min-height: 0; }
}

@media (max-width: 640px) {
	.prplc-cv { margin: 18px auto; padding: 20px 15px; }
	.prplc-cv__head { align-items: flex-start; margin-bottom: 22px; min-height: 82px; padding-left: 112px; }
	.prplc-cv__head h2 { font-size: 23px; line-height: 1.5; margin-bottom: 4px; }
	.prplc-cv__head p { font-size: 13px; line-height: 1.75; }
	.prplc-cv__decor { height: 78px; width: 101px; }
	.prplc-cv__certificate-image { border-radius: 7px; height: 67px; width: 89px; }
	.prplc-cv__seal-image { height: 43px; width: 43px; }
	.prplc-cv__panels { gap: 14px; }
	.prplc-cv__form { padding: 20px 16px; }
	.prplc-cv--no-decor .prplc-cv__head { min-height: 0; padding-left: 0; }
	.prplc-cv__form-head { gap: 10px; margin-bottom: 18px; }
	.prplc-cv__form-head h3 { font-size: 18px; }
	.prplc-cv__form-head p { font-size: 13.5px; }
	.prplc-cv__search-row { grid-template-columns: 1fr; }
	.prplc-cv__submit { width: 100%; }
	.prplc-cv__details { gap: 15px; grid-template-columns: 1fr; }
	.prplc-cv__result-head { align-items: flex-start; flex-direction: column; }
	.prplc-cv__result-card { padding: 17px; }
}

@media (max-width: 380px) {
	.prplc-cv__head { padding-left: 95px; }
	.prplc-cv__decor { transform: scale(0.84); transform-origin: top left; }
	.prplc-cv__head h2 { font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
	.prplc-cv *, .prplc-cv *::before, .prplc-cv *::after { scroll-behavior: auto !important; transition: none !important; }
}
