/**
 * Calculadora de Vidas
 *
 * Mobile primeiro. Os pontos de quebra são classes (is-sm / is-md / is-lg)
 * aplicadas pelo JS conforme a largura do PRÓPRIO bloco, não da janela, para
 * a calculadora se adaptar à coluna em que for colocada.
 */

.icv-calc {
	--icv-o: #c89631;
	--icv-oe: #a37a28;
	--icv-t: #1a1a1a;
	--icv-sf: #f7f2e9;
	--icv-bd: #efe3cc;
	--icv-raio: 12px;
	--icv-gap: 16px;

	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	color: var(--icv-t);
	font-family: inherit;
	line-height: 1.5;
	text-align: left;
}

.icv-calc *,
.icv-calc *::before,
.icv-calc *::after {
	box-sizing: border-box;
}

.icv-calc__inner {
	width: 100%;
}

/* ---------- Cabeçalho ---------- */

.icv-calc__head {
	margin-bottom: 22px;
}

.icv-calc__eyebrow {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--icv-oe);
}

.icv-calc__title {
	margin: 0 0 10px;
	font-size: clamp(21px, 5.2vw, 30px);
	line-height: 1.2;
	font-weight: 700;
	color: var(--icv-t);
}

.icv-calc__lead {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: color-mix(in srgb, var(--icv-t) 72%, transparent);
}

/* Sem color-mix o navegador usa a cor cheia, que segue legível. */
@supports not (color: color-mix(in srgb, red 50%, transparent)) {
	.icv-calc__lead,
	.icv-calc__label,
	.icv-calc__note,
	.icv-calc__unit,
	.icv-calc__limitText {
		color: #55504a;
	}
}

/* ---------- Seletor de quantidade ---------- */

.icv-calc__picker {
	display: flex;
	align-items: stretch;
	gap: 10px;
	margin-bottom: 16px;
}

.icv-calc__step {
	flex: 0 0 52px;
	width: 52px;
	min-height: 52px;
	padding: 0;
	border: 1px solid var(--icv-bd);
	border-radius: 50%;
	background: var(--icv-sf);
	color: var(--icv-t);
	font-family: inherit;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.icv-calc__step:hover,
.icv-calc__step:focus-visible {
	background: var(--icv-o);
	border-color: var(--icv-o);
	color: #fff;
}

.icv-calc__step:focus-visible {
	outline: 3px solid var(--icv-oe);
	outline-offset: 2px;
}

.icv-calc__step[disabled] {
	opacity: 0.4;
	cursor: not-allowed;
}

.icv-calc__field {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	padding: 6px 10px;
	border: 1px solid var(--icv-bd);
	border-radius: calc(var(--icv-raio) * 0.75);
	background: #fff;
}

.icv-calc__input {
	width: 100%;
	max-width: 130px;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--icv-t);
	font-family: inherit;
	font-size: clamp(28px, 8vw, 38px);
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.icv-calc__input::-webkit-outer-spin-button,
.icv-calc__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.icv-calc__input:focus {
	outline: none;
}

.icv-calc__field:focus-within {
	border-color: var(--icv-o);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--icv-o) 25%, transparent);
}

.icv-calc__unit {
	flex: 0 0 auto;
	font-size: 14px;
	color: color-mix(in srgb, var(--icv-t) 60%, transparent);
}

/* ---------- Slider ---------- */

.icv-calc__slider {
	margin-bottom: 22px;
}

.icv-calc__range {
	display: block;
	width: 100%;
	height: 30px;
	margin: 0;
	padding: 0;
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.icv-calc__range::-webkit-slider-runnable-track {
	height: 6px;
	border-radius: 99px;
	background: var(--icv-bd);
}

.icv-calc__range::-moz-range-track {
	height: 6px;
	border-radius: 99px;
	background: var(--icv-bd);
}

.icv-calc__range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 26px;
	height: 26px;
	margin-top: -10px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--icv-o);
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
	cursor: pointer;
}

.icv-calc__range::-moz-range-thumb {
	width: 26px;
	height: 26px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--icv-o);
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
	cursor: pointer;
}

.icv-calc__range:focus-visible {
	outline: 3px solid var(--icv-oe);
	outline-offset: 4px;
	border-radius: 99px;
}

.icv-calc__ticks {
	display: flex;
	justify-content: space-between;
	margin-top: 2px;
	font-size: 12px;
	color: color-mix(in srgb, var(--icv-t) 50%, transparent);
}

/* ---------- Resultado ---------- */

.icv-calc__result {
	padding: 18px;
	border: 1px solid var(--icv-bd);
	border-radius: var(--icv-raio);
	background: var(--icv-sf);
}

.icv-calc__result[hidden] {
	display: none;
}

.icv-calc__rows {
	margin: 0 0 4px;
}

.icv-calc__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 11px 0;
	flex-wrap: wrap;
}

.icv-calc__row + .icv-calc__row {
	border-top: 1px solid var(--icv-bd);
}

.icv-calc__label {
	flex: 1 1 auto;
	font-size: 14px;
	color: color-mix(in srgb, var(--icv-t) 70%, transparent);
}

.icv-calc__price {
	flex: 0 0 auto;
	color: var(--icv-t);
	white-space: nowrap;
}

.icv-calc__price em {
	font-style: normal;
	font-size: 15px;
	font-weight: 700;
	color: var(--icv-oe);
}

.icv-calc__price strong {
	font-size: clamp(26px, 7vw, 34px);
	font-weight: 700;
	letter-spacing: -0.01em;
}

.icv-calc__price small {
	font-size: 12px;
	font-weight: 400;
	color: color-mix(in srgb, var(--icv-t) 60%, transparent);
}

.icv-calc__badge {
	flex: 0 0 auto;
	display: inline-block;
	padding: 5px 12px;
	border: 1px solid transparent;
	border-radius: 99px;
	background: var(--icv-o);
	color: var(--icv-t);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.icv-calc__badge.is-off {
	background: transparent;
	border: 1px dashed var(--icv-bd);
	color: color-mix(in srgb, var(--icv-t) 55%, transparent);
	font-weight: 400;
}

.icv-calc__total {
	flex: 0 0 auto;
	font-size: clamp(19px, 5.5vw, 22px);
	font-weight: 700;
	white-space: nowrap;
}

/* Total do período: é o que de fato vai ser cobrado, então domina o painel. */
.icv-calc__row--periodo {
	margin-top: 4px;
	padding-top: 14px;
	border-top: 2px solid var(--icv-t);
}

.icv-calc__periodo {
	flex: 0 0 auto;
	font-size: clamp(24px, 7vw, 30px);
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--icv-t);
	white-space: nowrap;
}

.icv-calc__cobranca {
	margin: 12px 0 0;
	font-size: 12.5px;
	line-height: 1.5;
	color: color-mix(in srgb, var(--icv-t) 62%, transparent);
}

/* Aviso das condições de pagamento no checkout. */
.icv-pagamento {
	--icv-o: #c89631;
	--icv-sf: #f7f2e9;
	--icv-bd: #efe3cc;

	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid var(--icv-bd);
	border-left: 4px solid var(--icv-o);
	border-radius: 8px;
	background: var(--icv-sf);
}

.icv-pagamento__lista {
	margin: 0;
	padding: 0;
	list-style: none;
}

.icv-pagamento__lista li {
	position: relative;
	margin: 0;
	padding: 5px 0 5px 22px;
	font-size: 14px;
	line-height: 1.5;
	list-style: none;
}

.icv-pagamento__lista li::before {
	content: "";
	position: absolute;
	left: 5px;
	top: 13px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--icv-o);
}

/* ---------- Botão ---------- */

.icv-calc__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 54px;
	margin-top: 16px;
	padding: 15px 20px;
	border: 1px solid var(--icv-t);
	border-radius: calc(var(--icv-raio) * 0.5);
	background: var(--icv-t);
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
	-webkit-tap-highlight-color: transparent;
}

.icv-calc__cta:hover,
.icv-calc__cta:focus {
	background: var(--icv-o);
	border-color: var(--icv-o);
	color: var(--icv-t);
	text-decoration: none;
}

.icv-calc__cta:focus-visible {
	outline: 3px solid var(--icv-oe);
	outline-offset: 2px;
}

.icv-calc__cta.is-loading {
	opacity: 0.75;
	pointer-events: none;
}

.icv-calc__note {
	margin: 12px 0 0;
	font-size: 12.5px;
	line-height: 1.5;
	color: color-mix(in srgb, var(--icv-t) 55%, transparent);
}

.icv-calc__erro {
	margin: 12px 0 0;
	padding: 10px 12px;
	border-radius: 6px;
	background: #fdecec;
	color: #8a1f1f;
	font-size: 13.5px;
	line-height: 1.45;
}

.icv-calc__erro[hidden] {
	display: none;
}

/* ---------- Acima do limite ---------- */

.icv-calc__limitTitle {
	margin: 0 0 8px;
	font-size: clamp(18px, 5vw, 22px);
	font-weight: 700;
}

.icv-calc__limitText {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: color-mix(in srgb, var(--icv-t) 72%, transparent);
}

/* ---------- Acessibilidade ---------- */

.icv-calc .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- Blocos largos ---------- */

.icv-calc.is-md .icv-calc__head {
	margin-bottom: 26px;
}

.icv-calc.is-md .icv-calc__eyebrow {
	font-size: 12px;
}

.icv-calc.is-md .icv-calc__picker {
	gap: 14px;
}

.icv-calc.is-md .icv-calc__field {
	padding: 8px 14px;
}

.icv-calc.is-md .icv-calc__result {
	padding: 22px 24px;
}

.icv-calc.is-md .icv-calc__cta {
	margin-top: 18px;
}

.icv-calc.is-lg .icv-calc__result {
	padding: 26px 28px;
}

/* Blocos muito estreitos: valor abaixo do rótulo. */
.icv-calc.is-xs .icv-calc__row {
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.icv-calc.is-xs .icv-calc__step {
	flex-basis: 46px;
	width: 46px;
	min-height: 46px;
	font-size: 22px;
}

.icv-calc.is-xs .icv-calc__result {
	padding: 15px;
}

@media (prefers-reduced-motion: reduce) {
	.icv-calc *,
	.icv-calc *::before,
	.icv-calc *::after {
		transition: none !important;
	}
}

/* ---------- Blocos e legendas ---------- */

.icv-calc__bloco {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	min-width: 0;
}

.icv-calc__legenda {
	display: block;
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--icv-t) 60%, transparent);
}

/* ---------- Períodos ---------- */

.icv-calc__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.icv-calc__pill {
	flex: 1 1 auto;
	min-width: 92px;
	position: relative;
	display: block;
	cursor: pointer;
}

.icv-calc__pill input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
}

.icv-calc__pillTexto {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid var(--icv-bd);
	border-radius: calc(var(--icv-raio) * 0.7);
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.icv-calc__pill input:checked + .icv-calc__pillTexto {
	border-color: var(--icv-t);
	background: var(--icv-t);
	color: #fff;
}

.icv-calc__pill input:focus-visible + .icv-calc__pillTexto {
	outline: 3px solid var(--icv-oe);
	outline-offset: 2px;
}

.icv-calc__pill:hover input:not(:checked) + .icv-calc__pillTexto {
	border-color: var(--icv-o);
}

/* ---------- Plano e adicional ---------- */

.icv-calc__itens {
	margin: 0 0 20px;
	border: 1px solid var(--icv-bd);
	border-radius: calc(var(--icv-raio) * 0.7);
	overflow: hidden;
}

.icv-calc__item {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 13px 14px;
	background: #fff;
}

.icv-calc__item + .icv-calc__item,
.icv-calc__incluso + .icv-calc__item {
	border-top: 1px solid var(--icv-bd);
}

.icv-calc__itemNome {
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.3;
}

.icv-calc__itemResumo {
	display: block;
	margin-top: 2px;
	font-size: 12.5px;
	font-weight: 400;
	line-height: 1.4;
	color: color-mix(in srgb, var(--icv-t) 62%, transparent);
}

.icv-calc__itemPreco {
	margin-left: auto;
	font-size: 13px;
	white-space: nowrap;
	color: var(--icv-oe);
}

.icv-calc__itemPreco strong {
	font-size: 16px;
	font-weight: 700;
}

.icv-calc__itemPreco small {
	font-size: 11.5px;
	color: color-mix(in srgb, var(--icv-t) 55%, transparent);
}

/* Caixa de seleção do adicional */

.icv-calc__check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	flex: 1 1 200px;
	min-width: 0;
}

.icv-calc__check input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
}

.icv-calc__checkBox {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	border: 2px solid var(--icv-bd);
	border-radius: 6px;
	background: #fff;
	position: relative;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.icv-calc__checkBox::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 2px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg) scale(0);
	transition: transform 0.15s ease;
}

.icv-calc__check input:checked + .icv-calc__checkBox {
	background: var(--icv-o);
	border-color: var(--icv-o);
}

.icv-calc__check input:checked + .icv-calc__checkBox::after {
	transform: rotate(45deg) scale(1);
}

.icv-calc__check input:focus-visible + .icv-calc__checkBox {
	outline: 3px solid var(--icv-oe);
	outline-offset: 2px;
}

/* ---------- Botão de informação ---------- */

.icv-calc__info {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid var(--icv-bd);
	border-radius: 50%;
	background: #fff;
	color: var(--icv-oe);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.icv-calc__info:hover,
.icv-calc__info.is-on {
	background: var(--icv-o);
	border-color: var(--icv-o);
	color: #fff;
}

.icv-calc__info:focus-visible {
	outline: 3px solid var(--icv-oe);
	outline-offset: 2px;
}

.icv-calc__incluso {
	padding: 14px 16px;
	border-top: 1px solid var(--icv-bd);
	background: var(--icv-sf);
	font-size: 14px;
	line-height: 1.6;
}

.icv-calc__incluso[hidden] {
	display: none;
}

.icv-calc__incluso p {
	margin: 0 0 8px;
}

.icv-calc__incluso p:last-child {
	margin-bottom: 0;
}

.icv-calc__incluso ul,
.icv-calc__incluso ol {
	margin: 0 0 8px;
	padding-left: 20px;
}

.icv-calc__incluso li {
	margin: 0 0 4px;
}

/* ---------- Nota do período no resultado ---------- */

.icv-calc__labelNota {
	display: block;
	margin-top: 2px;
	font-size: 11.5px;
	color: color-mix(in srgb, var(--icv-t) 52%, transparent);
}

/* ---------- Mini carrinho ---------- */

.icv-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: inherit;
	text-decoration: none;
	line-height: 1;
	transition: opacity 0.2s ease;
}

.icv-cart:hover,
.icv-cart:focus {
	color: inherit;
	text-decoration: none;
	opacity: 0.75;
}

.icv-cart__inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.icv-cart__icone {
	display: inline-flex;
}

.icv-cart__icone svg {
	display: block;
}

.icv-cart__contador {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 99px;
	/* Tinta em vez do dourado: o ícone costuma ficar sobre a cor da marca,
	   e dourado sobre dourado some. */
	background: var(--icv-t, #1a1a1a);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	font-family: inherit;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.icv-cart .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- Blocos estreitos ---------- */

.icv-calc.is-xs .icv-calc__pill {
	flex: 1 1 100%;
}

.icv-calc.is-xs .icv-calc__itemPreco {
	margin-left: 32px;
	width: 100%;
}

/* ---------- Mini carrinho: popup ---------- */

.icv-cart-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

.icv-cart__pop {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 9999;
	width: 320px;
	max-width: calc(100vw - 24px);
	margin-top: 8px;
	border: 1px solid var(--icv-bd, #efe3cc);
	border-radius: 12px;
	background: #fff;
	color: var(--icv-t, #1a1a1a);
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.16);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
	text-align: left;
	font-size: 14px;
	line-height: 1.45;
}

.icv-cart-wrap.is-open .icv-cart__pop,
.icv-cart-wrap:hover .icv-cart__pop,
.icv-cart-wrap:focus-within .icv-cart__pop {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Ponte invisível para o mouse não perder o popup no caminho. */
.icv-cart__pop::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 0;
	right: 0;
	height: 10px;
}

.icv-cart__popInner {
	padding: 14px 16px;
}

.icv-cart__vazio {
	margin: 0;
	padding: 6px 0;
	color: rgba(26, 26, 26, 0.6);
	text-align: center;
}

.icv-cart__lista {
	margin: 0;
	padding: 0;
	list-style: none;
	max-height: 260px;
	overflow-y: auto;
}

.icv-cart__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 10px 0;
	list-style: none;
	border-bottom: 1px solid var(--icv-bd, #efe3cc);
}

.icv-cart__thumb {
	flex: 0 0 44px;
	width: 44px;
}

.icv-cart__thumb img {
	display: block;
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--icv-bd, #efe3cc);
}

.icv-cart__dados {
	flex: 1 1 auto;
	min-width: 0;
}

.icv-cart__nome {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
}

.icv-cart__meta {
	display: block;
	margin-top: 2px;
	font-size: 12.5px;
	color: rgba(26, 26, 26, 0.6);
}

.icv-cart__valor {
	flex: 0 0 auto;
	font-size: 13.5px;
	font-weight: 700;
	white-space: nowrap;
}

.icv-cart__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 0 14px;
	font-size: 14px;
}

.icv-cart__total strong {
	font-size: 17px;
}

.icv-cart__acoes {
	display: flex;
	gap: 8px;
}

.icv-cart__btn {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--icv-t, #1a1a1a);
	border-radius: 6px;
	background: var(--icv-t, #1a1a1a);
	color: #fff;
	font-size: 13.5px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.icv-cart__btn:hover,
.icv-cart__btn:focus {
	background: var(--icv-o, #c89631);
	border-color: var(--icv-o, #c89631);
	color: var(--icv-t, #1a1a1a);
	text-decoration: none;
}

.icv-cart__btn--ghost {
	background: transparent;
	color: var(--icv-t, #1a1a1a);
}

@media (max-width: 600px) {
	.icv-cart__pop {
		right: -8px;
		width: 290px;
	}
}

/* ---------- Carrinho e checkout na identidade do site ---------- */

.woocommerce table.shop_table {
	border: 1px solid var(--icv-bd, #efe3cc);
	border-radius: var(--icv-raio, 12px);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.woocommerce table.shop_table thead th {
	padding: 14px 16px;
	background: var(--icv-sf, #f7f2e9);
	border-bottom: 1px solid var(--icv-bd, #efe3cc);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--icv-t, #1a1a1a);
	text-align: left;
}

.woocommerce table.shop_table td {
	padding: 16px;
	border-top: 1px solid var(--icv-bd, #efe3cc);
	vertical-align: middle;
}

.woocommerce table.shop_table .product-thumbnail img {
	width: 58px;
	height: 58px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--icv-bd, #efe3cc);
}

.woocommerce table.shop_table .product-name a {
	font-weight: 600;
	color: var(--icv-t, #1a1a1a);
}

/* Os detalhes do plano ficavam desalinhados no tema; aqui viram lista. */
.woocommerce table.shop_table .product-name dl.variation {
	display: block;
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.5;
}

.woocommerce table.shop_table .product-name dl.variation dt,
.woocommerce table.shop_table .product-name dl.variation dd {
	display: inline;
	margin: 0;
	padding: 0;
	float: none;
	clear: none;
	font-weight: 400;
	color: rgba(26, 26, 26, 0.7);
}

.woocommerce table.shop_table .product-name dl.variation dt {
	font-weight: 600;
	color: var(--icv-t, #1a1a1a);
}

.woocommerce table.shop_table .product-name dl.variation dd::after {
	content: "";
	display: block;
	height: 2px;
}

.woocommerce table.shop_table .product-name dl.variation dd p {
	display: inline;
	margin: 0;
}

.woocommerce a.remove {
	color: #b3261e !important;
	font-weight: 700;
	line-height: 1;
}

.woocommerce a.remove:hover {
	background: #b3261e !important;
	color: #fff !important;
}

/* Botões da loja */

.woocommerce .cart .button,
.woocommerce .cart input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce a.button.alt,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce .checkout-button,
.woocommerce a.wc-forward,
.woocommerce a.wp-block-woocommerce-cart-order-summary-proceed-to-checkout-block,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-page .wc-proceed-to-checkout a.checkout-button {
	border-radius: 6px !important;
	background: var(--icv-t, #1a1a1a) !important;
	color: #fff !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	text-shadow: none !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.woocommerce .cart .button:hover,
.woocommerce .cart input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover,
.woocommerce a.wc-forward:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-page .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--icv-o, #c89631) !important;
	color: var(--icv-t, #1a1a1a) !important;
}

.woocommerce .checkout-button,
.woocommerce #place_order {
	min-height: 54px;
	padding: 15px 26px;
	font-size: 15px;
	letter-spacing: 0.01em;
}

.woocommerce .cart_totals h2,
.woocommerce-checkout h3 {
	font-size: 20px;
	margin-bottom: 14px;
}

.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
	padding: 14px 16px;
}

.woocommerce .cart_totals .order-total .amount {
	font-size: 20px;
	color: var(--icv-t, #1a1a1a);
}

.woocommerce .coupon input.input-text {
	min-height: 46px;
	border: 1px solid var(--icv-bd, #efe3cc);
	border-radius: 6px;
	padding: 8px 12px;
}

/* ---------- Checkout em duas colunas ---------- */

/* Flex em vez de grid: o WooCommerce costuma injetar elementos vazios entre o
   formulário e o resumo, e no grid eles consomem uma linha e derrubam a
   lateral para baixo. Com order isso não acontece. */
.woocommerce-checkout form.checkout {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0 34px;
}

.woocommerce-checkout form.checkout > * {
	flex: 0 0 100%;
	min-width: 0;
	max-width: 100%;
}

.woocommerce-checkout form.checkout > #customer_details {
	flex: 1 1 480px;
	max-width: calc(100% - 434px);
	min-width: 0;
	order: 5;
}

.woocommerce-checkout form.checkout > .icv-checkout__side {
	flex: 0 0 400px;
	max-width: 400px;
	min-width: 0;
	order: 6;
	position: sticky;
	top: 24px;
	padding: 22px 24px;
	border: 1px solid var(--icv-bd, #efe3cc);
	border-radius: var(--icv-raio, 12px);
	background: var(--icv-sf, #f7f2e9);
	box-sizing: border-box;
}

.woocommerce-checkout form.checkout > #customer_details .col2-set,
.woocommerce-checkout form.checkout > #customer_details .col-1,
.woocommerce-checkout form.checkout > #customer_details .col-2 {
	width: 100%;
	max-width: none;
	float: none;
	margin: 0;
	padding: 0;
}
.woocommerce-checkout form.checkout > #customer_details .col2-set { display: block; }
.woocommerce-checkout form.checkout > #customer_details .form-row { width: 100%; }

.woocommerce-checkout form.checkout > .icv-checkout__side #order_review_heading {
	margin-top: 0;
}

/* A lateral é estreita: a tabela do resumo precisa de menos respiro para o
   texto não quebrar no meio dos valores. */
.woocommerce-checkout form.checkout > .icv-checkout__side table.shop_table {
	background: #fff;
	font-size: 13.5px;
	table-layout: auto;
}

.woocommerce-checkout form.checkout > .icv-checkout__side table.shop_table th,
.woocommerce-checkout form.checkout > .icv-checkout__side table.shop_table td {
	padding: 11px 12px;
}

.woocommerce-checkout form.checkout > .icv-checkout__side table.shop_table th {
	font-size: 11.5px;
	letter-spacing: 0.03em;
}

.woocommerce-checkout form.checkout > .icv-checkout__side table.shop_table td,
.woocommerce-checkout form.checkout > .icv-checkout__side table.shop_table th {
	text-align: left;
}

.woocommerce-checkout form.checkout > .icv-checkout__side table.shop_table td:last-child,
.woocommerce-checkout form.checkout > .icv-checkout__side table.shop_table th:last-child {
	width: 1%;
	text-align: right;
	white-space: nowrap;
}

.woocommerce-checkout form.checkout > .icv-checkout__side table.shop_table .product-name {
	line-height: 1.4;
}

.woocommerce-checkout form.checkout > .icv-checkout__side table.shop_table dl.variation {
	margin-top: 6px;
	font-size: 12.5px;
}

/* Some com o bloco de "Informação adicional" quando ele fica sem nenhum campo. */
.woocommerce-checkout .woocommerce-additional-fields:not(:has(.form-row)) {
	display: none;
}

.woocommerce-checkout #customer_details .col-2:not(:has(.form-row)) {
	display: none;
}

@media (max-width: 900px) {
	.woocommerce-checkout form.checkout {
		gap: 26px 0;
	}

	.woocommerce-checkout form.checkout > #customer_details {
		flex: 1 1 100%;
		max-width: 100%;
		min-width: 0;
	}

	.woocommerce-checkout form.checkout > .icv-checkout__side {
		flex: 1 1 100%;
		max-width: 100%;
		min-width: 0;
		position: static;
	}
}

/* Campos */

.woocommerce form .form-row label {
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 5px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid var(--icv-bd, #efe3cc);
	border-radius: 6px;
	background: #fff;
	font-size: 14.5px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--icv-o, #c89631);
	outline: none;
	box-shadow: 0 0 0 3px rgba(200, 150, 49, 0.22);
}

.icv-checkout__dica {
	margin: -6px 0 16px;
	font-size: 12.5px;
	color: rgba(26, 26, 26, 0.6);
}

.icv-cep-msg {
	display: block;
	margin-top: 5px;
	font-size: 12.5px;
	color: var(--icv-oe, #a37a28);
}

.icv-cep-msg.is-erro {
	color: #b3261e;
}

/* ---------- Página de dependentes ---------- */

.icv-dep {
	--icv-o: #c89631;
	--icv-oe: #a37a28;
	--icv-t: #1a1a1a;
	--icv-sf: #f7f2e9;
	--icv-bd: #efe3cc;
	--icv-raio: 12px;

	max-width: 820px;
	margin: 0 auto;
	color: var(--icv-t);
	font-family: inherit;
}

.icv-dep__head { margin-bottom: 24px; }
.icv-dep__title { margin: 0 0 8px; font-size: 26px; font-weight: 700; }
.icv-dep__lead { margin: 0 0 8px; font-size: 15px; line-height: 1.55; color: rgba(26,26,26,.72); }
.icv-dep__contador { margin: 0; font-size: 13px; color: var(--icv-oe); font-weight: 600; }

.icv-dep__erros {
	margin: 0 0 20px;
	padding: 12px 16px;
	border: 1px solid #f3c9c9;
	border-left-width: 4px;
	border-left-color: #b3261e;
	border-radius: 8px;
	background: #fdecec;
	color: #7a1a15;
	font-size: 14px;
}
.icv-dep__erros ul { margin: 6px 0 0 20px; padding: 0; }

.icv-dep__form { display: flex; flex-direction: column; gap: 20px; }

.icv-dep__bloco {
	margin: 0;
	padding: 20px;
	border: 1px solid var(--icv-bd);
	border-radius: var(--icv-raio);
	background: #fff;
}

.icv-dep__legenda {
	padding: 4px 12px;
	background: var(--icv-t);
	color: #fff;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.icv-dep__campos {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 16px;
	margin-top: 14px;
}

.icv-dep__campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.icv-dep__campo--full { flex: 1 1 100%; }
.icv-dep__campo--half { flex: 1 1 calc(50% - 8px); }
.icv-dep__campo--third { flex: 1 1 calc(33.333% - 11px); }

@media (max-width: 540px) {
	.icv-dep__campo--half,
	.icv-dep__campo--third { flex: 1 1 100%; }
}

.icv-dep__label { font-size: 13px; font-weight: 600; }
.icv-dep__req { color: #b3261e; margin-left: 3px; }

.icv-dep__input {
	min-height: 44px;
	padding: 9px 12px;
	border: 1px solid var(--icv-bd);
	border-radius: 6px;
	background: #fff;
	color: var(--icv-t);
	font-size: 14.5px;
	font-family: inherit;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.icv-dep__input:focus {
	outline: none;
	border-color: var(--icv-o);
	box-shadow: 0 0 0 3px rgba(200,150,49,.22);
}

.icv-dep__ajuda { font-size: 12px; color: rgba(26,26,26,.6); }

.icv-dep__acoes {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 8px;
	flex-wrap: wrap;
}

.icv-dep__voltar {
	color: var(--icv-oe);
	font-size: 14px;
	text-decoration: none;
}
.icv-dep__voltar:hover { text-decoration: underline; }

.icv-dep__submit {
	min-height: 52px;
	padding: 14px 30px;
	border: 0;
	border-radius: 6px;
	background: var(--icv-t);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.icv-dep__submit:hover, .icv-dep__submit:focus {
	background: var(--icv-o);
	color: var(--icv-t);
}

.icv-dep--vazio { text-align: center; padding: 30px 20px; color: rgba(26,26,26,.7); }
.icv-dep--vazio p { margin: 0 0 16px; font-size: 15px; }

/* Template limpo da página de dependentes */
.icv-dep-page { padding: 60px 20px; background: #fff; }
.icv-dep-page__wrap { max-width: 900px; margin: 0 auto; }
.icv-dep-page__content { color: #1a1a1a; }
.icv-dep-page__article { list-style: none; }

/* ---------- Ícones do cabeçalho (conta + carrinho) ---------- */

/* Reseta a margem herdada de heranças do tema no header. */
.icv-cart-wrap,
.icv-account-wrap {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
	line-height: 1;
	vertical-align: middle;
}

.icv-cart-wrap .icv-cart,
.icv-account-wrap .icv-account {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	margin: 0;
	border-radius: 999px;
	color: inherit;
	text-decoration: none !important;
	line-height: 1;
	transition: background-color 0.18s ease, color 0.18s ease;
	background: transparent;
	box-shadow: none;
	border: 0;
	font-family: inherit;
}

.icv-cart-wrap .icv-cart:hover,
.icv-cart-wrap .icv-cart:focus-visible,
.icv-account-wrap .icv-account:hover,
.icv-account-wrap .icv-account:focus-visible {
	background: color-mix(in srgb, currentColor 10%, transparent);
	color: inherit;
}
@supports not (color: color-mix(in srgb, red 50%, transparent)) {
	.icv-cart-wrap .icv-cart:hover,
	.icv-account-wrap .icv-account:hover {
		background: rgba(128, 128, 128, 0.14);
	}
}

/* Ícone circular ao lado do texto. Para o carrinho o círculo também abriga
   o badge com a quantidade. */
.icv-cart__icone,
.icv-account__icone {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: color-mix(in srgb, currentColor 18%, transparent);
	color: inherit;
	flex: 0 0 42px;
}

/* Sem color-mix (Safari mais antigo), aplica um cinza translúcido neutro. */
@supports not (color: color-mix(in srgb, red 50%, transparent)) {
	.icv-cart__icone,
	.icv-account__icone {
		background: rgba(128, 128, 128, 0.22);
	}
}

.icv-cart__inner,
.icv-account__inner {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	line-height: 1;
}

.icv-cart__contador {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	background: var(--icv-t, #1a1a1a);
	color: #fff;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
	border: 2px solid var(--icv-o, #c89631);
}

/* Rótulo em duas linhas, no estilo dos prints. */
.icv-account__texto,
.icv-cart__texto {
	display: inline-flex;
	flex-direction: column;
	line-height: 1.15;
	text-align: left;
}

.icv-account__label,
.icv-cart__label {
	font-size: 14px;
	font-weight: 700;
	color: inherit;
}

.icv-account__sub,
.icv-cart__sub {
	font-size: 12px;
	opacity: 0.75;
	font-weight: 400;
}

/* Em telas menores esconde o texto e mantém só o círculo. */
@media (max-width: 640px) {
	.icv-account__texto,
	.icv-cart__texto {
		display: none;
	}

	.icv-cart-wrap .icv-cart,
	.icv-account-wrap .icv-account {
		padding: 6px;
	}
}

/* ---------- Minha conta ----------
   O visual do Painel de Compra fica no widget Minha conta do Elementor (página 96). */

/* Botão "Continuar para Finalização": sem paddings/margens espúrias do tema. */
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-page .wc-proceed-to-checkout {
	padding: 0 !important;
	margin: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout > *,
.woocommerce-page .wc-proceed-to-checkout > * {
	margin: 0 !important;
}

/* O wpautop embrulha o botão num <p> quando algum snippet imprime HTML no
   mesmo hook. Esse <p> não pode virar uma caixa com margem própria. */
.woocommerce-cart .wc-proceed-to-checkout p,
.woocommerce-page .wc-proceed-to-checkout p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

/* A faixa escura em cima do botão era um <br> que o wpautop injetava DENTRO
   da âncora: ele abria uma linha vazia acima do texto. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button br,
.woocommerce-page .wc-proceed-to-checkout a.checkout-button br,
.woocommerce a.checkout-button br,
.woocommerce #place_order br {
	display: none !important;
}

/* Seletores propositalmente longos: há CSS antigo inline no site usando
   !important em `.wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward`,
   e só especificidade maior ganha dele. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-page .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward,
.woocommerce-page .wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward,
.woocommerce .wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward,
.woocommerce a.checkout-button.button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 12px 0 0 !important;
	padding: 16px 24px !important;
	min-height: 56px !important;
	height: auto !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	text-decoration: none !important;
	letter-spacing: 0.01em !important;
	border: 0 !important;
	border-radius: 6px !important;
	background-image: none !important;
	text-indent: 0 !important;
	white-space: normal !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after,
.woocommerce-page .wc-proceed-to-checkout a.checkout-button::before,
.woocommerce-page .wc-proceed-to-checkout a.checkout-button::after {
	content: none !important;
	display: none !important;
}

.icv-btn-finalizar__txt {
	display: block;
	width: 100%;
	text-align: center;
}

/* ---------- Checkout: campos lado a lado ---------- */

/* Grid em vez do form-row-first/last (que é float): quando o plugin brasileiro
   esconde o CPF ou o CNPJ conforme o tipo de pessoa, o campo escondido não
   ocupa coluna nenhuma e a grade não fica com buraco. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-account-fields > div.create-account {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 16px;
	align-items: start;
}

/* O <p> do "criar conta" também usa a classe .create-account: ele continua
   sendo um parágrafo normal, quem vira grade é só a <div>. */
.woocommerce-checkout .woocommerce-account-fields > p.create-account {
	display: block;
}

.woocommerce-checkout .woocommerce-account-fields div.create-account > .clear,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .clear,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .clear {
	display: none;
}

/* O wpautop deixa <p> vazios no meio dos campos. Como célula do grid eles
   empurrariam o campo seguinte para a outra coluna e desalinhariam os pares. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > p:not([id]):empty,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > p:not([id]):empty,
.woocommerce-checkout .woocommerce-account-fields div.create-account > p:not([id]):empty {
	display: none;
}

/* Cinto e suspensório: qualquer filho que não seja campo ocupa a linha inteira,
   então nem um <p> com espaço em branco dentro quebra o pareamento. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > *:not(.form-row),
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > *:not(.form-row),
.woocommerce-checkout .woocommerce-account-fields div.create-account > *:not(.form-row) {
	grid-column: 1 / -1;
	margin: 0;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
.woocommerce-checkout .woocommerce-account-fields div.create-account > .form-row {
	grid-column: 1 / -1;
	float: none !important;
	width: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	clear: none !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.icv-col-2,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row.icv-col-2,
.woocommerce-checkout .woocommerce-account-fields div.create-account > .form-row.icv-col-2 {
	grid-column: span 1;
}

/* Só a dica da senha volta a ocupar a linha inteira. */
.woocommerce-checkout .icv-checkout__dica {
	grid-column: 1 / -1;
}

@media (max-width: 768px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-account-fields > div.create-account {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.icv-col-2,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row.icv-col-2,
	.woocommerce-checkout .woocommerce-account-fields div.create-account > .form-row.icv-col-2 {
		grid-column: 1 / -1;
	}
}

/* Reduz o espaço entre a tabela de totais e o botão (o tema colocava 25px). */
.woocommerce-cart .cart_totals table.shop_table,
.woocommerce-page .cart_totals table.shop_table {
	margin-bottom: 12px !important;
}

/* ---------- Bloco do titular na página de vidas ---------- */

.icv-dep__bloco--titular {
	border-color: var(--icv-o, #c89631);
	box-shadow: 0 0 0 1px var(--icv-o, #c89631) inset;
}

.icv-dep__bloco--titular .icv-dep__legenda {
	background: var(--icv-o, #c89631);
}

.icv-dep__blocoAjuda {
	margin: -4px 0 16px;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(26, 26, 26, 0.66);
}

/* Adicional por vida extra: a linha só aparece quando há vidas extras. */
.icv-calc__row[hidden] {
	display: none;
}

.icv-calc__row--extra .icv-calc__price em {
	white-space: nowrap;
}

/* Endereço do tutor preenchido pelo CEP */
.icv-dep__input.is-auto {
	background: #F4F7F8;
	color: #45535C;
}

.icv-dep__cepMsg {
	font-size: 12.5px;
	color: #2D8B8E;
}

.icv-dep__cepMsg:empty {
	display: none;
}

.icv-dep__cepMsg.is-erro {
	color: #C62828;
}

/* ---------- 1.10.4: legibilidade da calculadora ---------- */

/* O reset do tema (input[type=number]) ganhava da regra .icv-calc__input e
   desenhava uma caixa cinza em volta do número de vidas. */
.icv-calc input.icv-calc__input[type="number"] {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	padding: 0;
}

/* Textos de apoio com no mínimo 12px no celular. */
.icv-calc .icv-calc__eyebrow,
.icv-calc .icv-calc__legenda,
.icv-calc .icv-calc__ticks,
.icv-calc .icv-calc__labelNota {
	font-size: 12px;
}
