/* ===== redstop.ru — product calculator styles (палитра сайта) ===== */
.rstp-pc {
	font-family: 'Montserrat', Arial, sans-serif;
	color: #222;
	border: 1px solid #e6e6e6;
	border-top: 3px solid #cf0c07;
	padding: 20px 22px;
	margin: 22px 0;
	background: #fff;
}
.rstp-pc h3 { font-size: 18px; font-weight: 700; margin: 0 0 4px; color: #111; }
.rstp-pc .rstp-pc-sub { font-size: 13px; color: #666; margin: 0 0 16px; }
.rstp-pc-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 20px; }
.rstp-pc-field { display: block; }
.rstp-pc-field.rstp-pc-full { grid-column: 1 / -1; }
.rstp-pc-field > span:first-child {
	display: block; font-weight: 600; color: #333; margin: 0 0 5px;
	font-size: 12px; letter-spacing: .03em; text-transform: uppercase;
}
.rstp-pc-hint { display: block; font-size: 12px; color: #8a8a8a; margin: 3px 0 0; text-transform: none; letter-spacing: 0; font-weight: 400; }
.rstp-pc input[type=number], .rstp-pc input[type=text],
.rstp-pc input[type=email], .rstp-pc input[type=tel], .rstp-pc select {
	width: 100%; padding: 10px 12px; border: 1px solid #cfcfcf; background: #fff;
	font-family: inherit; font-size: 15px; color: #222; border-radius: 0;
}
.rstp-pc input:focus, .rstp-pc select:focus { border-color: #cf0c07; outline: none; box-shadow: 0 0 0 2px rgba(207,12,7,.15); }
.rstp-pc-check { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.rstp-pc-check input { width: auto; }
.rstp-pc-actions { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 10px; }
.rstp-pc-btn {
	display: inline-block; padding: 12px 28px; background: #cf0c07; color: #fff;
	border: 1px solid #cf0c07; font-family: inherit; font-size: 14px; font-weight: 700;
	letter-spacing: .03em; text-transform: uppercase; cursor: pointer; border-radius: 0;
	transition: background .15s;
}
.rstp-pc-btn:hover { background: #a30a06; border-color: #a30a06; }
.rstp-pc-btn[disabled] { opacity: .55; cursor: not-allowed; }
.rstp-pc-error { display: none; margin-top: 12px; padding: 10px 12px; background: #fdecec; border: 1px solid #e3b7b7; color: #a12626; font-size: 14px; }
.rstp-pc-error.visible { display: block; }
.rstp-pc-result { display: none; margin-top: 8px; }
.rstp-pc-result.visible { display: block; }
.rstp-pc-headline {
	display: inline-block; margin: 0 0 12px; padding: 8px 14px; background: #cf0c07;
	color: #fff; font-weight: 700; font-size: 16px;
}
.rstp-pc-table { width: 100%; border-collapse: collapse; margin: 0 0 14px; font-size: 15px; }
.rstp-pc-table td { border: 1px solid #e0e0e0; padding: 8px 12px; text-align: left; }
.rstp-pc-table td:first-child { color: #555; }
.rstp-pc-val { font-weight: 700; }
.rstp-pc-explain { background: #f8f8f8; border-left: 4px solid #cf0c07; padding: 12px 14px; font-size: 14px; margin: 0 0 12px; }
.rstp-pc-docs { font-size: 13px; color: #444; margin: 0 0 12px; }
.rstp-pc-docs ul { margin: 6px 0 0; padding-left: 20px; }
.rstp-pc-docs li { margin: 0 0 3px; }
.rstp-pc-request { display: none; margin-top: 20px; padding: 20px 22px; background: #f8f8f8; border: 1px solid #e6e6e6; }
.rstp-pc-request.visible { display: block; }
.rstp-pc-note { font-size: 13px; color: #666; margin: 0 0 14px; }
.rstp-pc-msg { margin-top: 12px; font-size: 14px; }
.rstp-pc-msg.ok { color: #1e6b2f; }
.rstp-pc-msg.bad { color: #cf0c07; }
.rstp-pc-hp { position: absolute !important; left: -9999px !important; top: -9999px !important; height: 1px; width: 1px; overflow: hidden; }
@media (max-width: 640px) {
	.rstp-pc-grid { grid-template-columns: 1fr; }
	.rstp-pc { padding: 16px; }
}
