.vci-tarificador {
	--vci-ink: #1f2933;
	--vci-muted: #607080;
	--vci-line: #d7e1e8;
	--vci-blue: #17324d;
	--vci-teal: #256477;
	--vci-soft: #f3f7fa;
	--vci-good: #e8f5e9;
	color: var(--vci-ink);
	font-family: inherit;
	margin: 24px 0 42px;
}
.vci-panel,
.vci-result {
	border: 1px solid var(--vci-line);
	background: #fff;
	border-radius: 6px;
	padding: 24px;
}
.vci-result {
	margin-top: 18px;
}
.vci-panel-head {
	border-bottom: 1px solid var(--vci-line);
	margin-bottom: 20px;
	padding-bottom: 16px;
}
.vci-kicker {
	color: var(--vci-teal);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 4px;
	text-transform: uppercase;
}
.vci-panel-head h2 {
	color: var(--vci-blue);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 8px;
}
.vci-panel-head p {
	color: var(--vci-muted);
	margin: 0;
}
.vci-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.vci-form label,
.vci-contact label {
	display: block;
	margin: 0;
}
.vci-form label,
.vci-contact .vci-grid label {
	align-items: stretch;
	display: grid;
	grid-template-rows: 22px 52px;
	row-gap: 4px;
}
.vci-form span,
.vci-contact span {
	color: var(--vci-blue);
	display: block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 0;
}
.vci-form input,
.vci-form select,
.vci-contact input,
.vci-contact select,
.vci-contact textarea {
	background: #fff;
	border: 1px solid #c8d4dc;
	border-radius: 4px;
	box-shadow: none;
	color: var(--vci-ink);
	display: block;
	font-size: 15px;
	height: 52px !important;
	line-height: 1.3;
	margin: 0 !important;
	min-height: 52px;
	padding: 8px 10px;
	width: 100%;
}
.vci-form select option:disabled {
	color: #8a9ab0;
}
.vci-contact textarea {
	height: auto;
	resize: vertical;
}
.vci-conditional[hidden] {
	display: none;
}
.vci-conditional {
	border-top: 1px solid var(--vci-line);
	margin-top: 18px;
	padding-top: 16px;
}
.vci-section-label {
	color: var(--vci-teal);
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 12px;
	text-transform: uppercase;
}
.vci-note {
	background: #fff7e6;
	border-left: 4px solid #d9822b;
	color: #6f4a10;
	font-size: 14px;
	line-height: 1.45;
	margin: 0 0 14px;
	padding: 10px 12px;
}
.vci-button {
	background: var(--vci-blue);
	border: 0;
	border-radius: 4px;
	color: #fff;
	display: inline-flex;
	font-size: 15px;
	font-weight: 700;
	justify-content: center;
	margin-top: 18px;
	min-height: 44px;
	padding: 12px 22px;
	text-transform: uppercase;
}
.vci-button:hover,
.vci-button:focus {
	background: #24516f;
	color: #fff;
}
.vci-button-secondary {
	background: var(--vci-teal);
}
.vci-price-box {
	align-items: baseline;
	background: var(--vci-good);
	border-left: 5px solid #2f8d63;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	padding: 16px 18px;
}
.vci-price-box p {
	color: #0b3d2e;
	flex-basis: 100%;
	font-size: 13px;
	font-weight: 700;
	margin: 0;
	text-transform: uppercase;
}
.vci-price-box strong {
	color: #0b3d2e;
	font-size: 38px;
	line-height: 1;
}
.vci-price-box span {
	color: #0b3d2e;
	font-size: 18px;
	font-weight: 700;
}
.vci-meta {
	background: var(--vci-soft);
	margin: 14px 0;
	padding: 12px 14px;
}
.vci-meta p {
	margin: 0;
}
.vci-warning {
	color: #8a4b00;
	margin-top: 8px !important;
}
.vci-warning strong {
	color: #6f4a10;
	display: block;
	font-size: 13px;
	margin-bottom: 6px;
	text-transform: uppercase;
}
.vci-warning ul {
	margin: 0;
	padding-left: 18px;
}
.vci-warning li {
	line-height: 1.45;
	margin: 0 0 5px;
}
.vci-breakdown {
	border: 1px solid var(--vci-line);
	border-bottom: 0;
	margin-top: 12px;
}
.vci-summary-title {
	background: var(--vci-soft);
	border-bottom: 1px solid var(--vci-line);
	color: var(--vci-blue);
	font-size: 13px;
	font-weight: 700;
	padding: 10px 12px;
	text-transform: uppercase;
}
.vci-breakdown-row {
	border-bottom: 1px solid var(--vci-line);
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
}
.vci-breakdown-row span:first-child {
	color: var(--vci-muted);
}
.vci-breakdown-row span:last-child {
	font-weight: 700;
	text-align: right;
	white-space: normal;
}
.vci-contact {
	border-top: 1px solid var(--vci-line);
	margin-top: 22px;
	padding-top: 20px;
}
.vci-contact h3 {
	color: var(--vci-blue);
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 16px;
}
.vci-full {
	margin-top: 16px !important;
}
.vci-check {
	align-items: center;
	display: flex !important;
	gap: 8px;
	margin-top: 14px !important;
}
.vci-check input {
	height: auto;
	margin: 0;
	width: auto;
}
.vci-check span {
	color: var(--vci-ink);
	display: inline;
	font-size: 14px;
	font-weight: 400;
	margin: 0;
}
.vci-check a {
	color: var(--vci-teal);
	font-weight: 700;
	text-decoration: underline;
}
.vci-status {
	color: var(--vci-blue);
	font-weight: 700;
	margin: 12px 0 0;
}
.vci-modal[hidden] {
	display: none;
}
.vci-modal {
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 9999;
}
.vci-modal-backdrop {
	background: rgba(12, 25, 38, .62);
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.vci-modal-dialog {
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 18px 60px rgba(0, 0, 0, .28);
	display: flex;
	flex-direction: column;
	height: min(82vh, 760px);
	left: 50%;
	max-width: 920px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(92vw, 920px);
}
.vci-modal-head {
	align-items: center;
	border-bottom: 1px solid var(--vci-line);
	display: flex;
	justify-content: space-between;
	padding: 14px 18px;
}
.vci-modal-head h3 {
	color: var(--vci-blue);
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}
.vci-modal-close {
	background: transparent;
	border: 0;
	color: var(--vci-ink);
	font-size: 30px;
	line-height: 1;
	padding: 0 6px;
}
.vci-modal iframe {
	border: 0;
	flex: 1;
	min-height: 320px;
	width: 100%;
}
.vci-modal-link {
	border-top: 1px solid var(--vci-line);
	margin: 0;
	padding: 10px 18px;
}
.vci-modal-link a {
	color: var(--vci-teal);
	font-weight: 700;
}
.vci-modal-open {
	overflow: hidden;
}
@media (max-width: 991px) {
	.vci-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 620px) {
	.vci-panel,
	.vci-result {
		padding: 18px;
	}
	.vci-grid {
		grid-template-columns: 1fr;
	}
	.vci-price-box strong {
		font-size: 32px;
	}
}
