/* PerfectReputations Identity Cost Calculator. Every rule is scoped to .pric-wrap. */
.pric-wrap {
	--pric-red: #870200;
	--pric-ink: #111111;
	--pric-gray: #5a5a5a;
	--pric-line: #dcdcdc;
	--pric-soft: #f4f4f4;
	--pric-yellow: #fcff00;
	max-width: 1100px;
	margin: 0 auto;
	color: var(--pric-ink);
	font-size: 17px;
	line-height: 1.5;
	box-sizing: border-box;
}
.pric-wrap *, .pric-wrap *::before, .pric-wrap *::after { box-sizing: border-box; }
.pric-wrap .pric-head { margin-bottom: 28px; }
.pric-wrap .pric-logo { display: block; width: 300px; max-width: 80%; height: auto; margin-bottom: 16px; }
.pric-wrap .pric-title { font-size: 32px; line-height: 1.2; margin: 0 0 10px; color: var(--pric-ink); }
.pric-wrap .pric-intro { margin: 0; color: var(--pric-gray); max-width: 820px; }
.pric-wrap h3 { font-size: 21px; margin: 0 0 12px; color: var(--pric-red); }
.pric-wrap h4 { font-size: 18px; margin: 20px 0 8px; }
.pric-wrap .pric-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 28px; align-items: start; }
.pric-wrap .pric-inputs { background: var(--pric-soft); border-radius: 10px; padding: 20px; border-left: 5px solid var(--pric-red); }
.pric-wrap .pric-inputs h3 + .pric-field { margin-top: 0; }
.pric-wrap .pric-inputs h3:not(:first-child) { margin-top: 22px; }
.pric-wrap .pric-field { margin-bottom: 14px; }
.pric-wrap .pric-field label { display: block; font-weight: 700; font-size: 15px; margin-bottom: 4px; }
.pric-wrap .pric-help { font-size: 13.5px; color: var(--pric-gray); margin-top: 4px; }
.pric-wrap input[type="number"], .pric-wrap input[type="text"], .pric-wrap input[type="email"], .pric-wrap select {
	width: 100%;
	padding: 9px 11px;
	font-size: 16px;
	border: 1px solid #b9b9b9;
	border-radius: 6px;
	background: #fff;
	color: var(--pric-ink);
}
.pric-wrap select { height: auto !important; min-height: 44px !important; }
.pric-wrap input:focus, .pric-wrap select:focus { outline: 3px solid var(--pric-yellow); outline-offset: 1px; border-color: var(--pric-ink); }
.pric-wrap .pric-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.pric-wrap .pric-card { border: 1px solid var(--pric-line); border-radius: 10px; padding: 14px; text-align: center; background: #fff; }
.pric-wrap .pric-card-label { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--pric-gray); }
.pric-wrap .pric-card-value { font-size: 26px; font-weight: 800; margin-top: 4px; }
.pric-wrap .pric-card.is-mid { border: 3px solid var(--pric-red); background: var(--pric-yellow); }
.pric-wrap .pric-card.is-mid .pric-card-label { color: var(--pric-ink); }
.pric-wrap .pric-card.is-mid .pric-card-value { font-size: 32px; color: var(--pric-red); }
.pric-wrap .pric-chart { border: 1px solid var(--pric-line); border-radius: 10px; padding: 14px; background: #fff; margin-bottom: 18px; }
.pric-wrap .pric-chart-title { font-weight: 700; margin-bottom: 6px; }
.pric-wrap .pric-chart svg { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.pric-wrap .pric-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; margin-top: 8px; }
.pric-wrap .pric-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.pric-wrap .pric-swatch { display: inline-block; width: 14px; height: 14px; border-radius: 3px; }
.pric-wrap .pric-scroll, .pric-wrap .pric-tablebox { overflow-x: auto; }
.pric-wrap .pric-table { width: 100%; border-collapse: collapse; font-size: 15px; margin-bottom: 18px; }
.pric-wrap .pric-table th, .pric-wrap .pric-table td { border: 1px solid var(--pric-line); padding: 8px 10px; text-align: right; }
.pric-wrap .pric-table th:first-child, .pric-wrap .pric-table td:first-child { text-align: left; }
.pric-wrap .pric-table thead th { background: var(--pric-ink); color: #fff; }
.pric-wrap .pric-table thead th.is-mid { background: var(--pric-red); }
.pric-wrap .pric-table td.is-mid { font-weight: 700; }
.pric-wrap .pric-total td { font-weight: 800; background: var(--pric-soft); }
.pric-wrap .pric-atable td { text-align: center; }
.pric-wrap .pric-atable td input { max-width: 120px; text-align: right; }
.pric-wrap .pric-cta, .pric-wrap .pric-btn {
	display: inline-block;
	background: var(--pric-red);
	color: #fff !important;
	font-weight: 700;
	font-size: 17px;
	padding: 12px 22px;
	border-radius: 6px;
	border: 2px solid var(--pric-red);
	text-decoration: none !important;
	cursor: pointer;
}
.pric-wrap .pric-cta { background: var(--pric-yellow); color: var(--pric-ink) !important; border-color: var(--pric-ink); }
.pric-wrap .pric-cta:hover, .pric-wrap .pric-cta:focus { background: var(--pric-ink); color: var(--pric-yellow) !important; }
.pric-wrap .pric-btn:hover, .pric-wrap .pric-btn:focus { background: var(--pric-ink); border-color: var(--pric-ink); }
.pric-wrap .pric-btn[disabled] { opacity: .6; cursor: default; }
.pric-wrap .pric-ghost { background: #fff; color: var(--pric-ink) !important; border-color: var(--pric-ink); font-size: 15px; padding: 8px 14px; }
.pric-wrap .pric-assume { margin-top: 28px; border: 1px solid var(--pric-line); border-radius: 10px; padding: 0 18px; background: #fff; }
.pric-wrap .pric-assume summary { cursor: pointer; font-weight: 700; padding: 14px 0; color: var(--pric-red); }
.pric-wrap .pric-assume-body { padding-bottom: 18px; }
.pric-wrap .pric-sources li { margin-bottom: 8px; }
.pric-wrap .pric-sources a { color: var(--pric-red); }
.pric-wrap .pric-mail { margin-top: 28px; background: var(--pric-soft); border-radius: 10px; padding: 20px; border-top: 5px solid var(--pric-red); }
.pric-wrap .pric-mail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; }
.pric-wrap .pric-trap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.pric-wrap .pric-ts { margin: 6px 0 10px; }
.pric-wrap .pric-privacy { font-size: 14px; color: var(--pric-gray); }
.pric-wrap .pric-msg { margin-top: 12px; font-weight: 700; }
.pric-wrap .pric-msg.is-ok { color: #1d6b2a; }
.pric-wrap .pric-msg.is-error { color: var(--pric-red); }
.pric-wrap .pric-note { font-size: 14px; color: var(--pric-gray); margin-top: 18px; }
@media (max-width: 820px) {
	.pric-wrap .pric-grid { grid-template-columns: 1fr; }
	.pric-wrap .pric-mail-grid { grid-template-columns: 1fr; }
	.pric-wrap .pric-cards { grid-template-columns: 1fr; }
	.pric-wrap .pric-title { font-size: 26px; }
}
