.checkout__item:has(.checkout__cc) {
	background: #ffffff !important;
}

.checkout__item:has(.checkout__cc):hover {
	background: #ffffff !important;
}

.checkout__cc {
	margin-top: 30px;
}

.checkout__cc .input__box p.info {
	font-size: 9pt;
	font-weight: 400;
	margin-bottom: 0px;
	color: #666;
}

.card_flag:empty {
	display: none;
}

.card_flag img {
	height: 20px;
}

/* MOBILE HEADER STEPS */

.header__steps {
	display: none;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0px;
	margin-bottom: 15px;
}

.header__steps .hs__item {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.header__steps .hs__number {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.header__steps .hs__number hr {
	width: 100%;
	border-color: #d0d0d0;
	border-width: 2px;
	opacity: 1;
}

.header__steps .hs__number .hs__dot {
	width: 25px;
	min-width: 25px;
	height: 25px;
	min-height: 25px;
	margin: 0px 5px;
	background: #ccc;
	border-radius: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 10pt;
	font-weight: 600;
	line-height: 100%;
	color: #ffffff;
}

.header__steps .hs__item p.hs__name {
	font-size: 9pt;
	font-weight: 400;
	margin-top: 8px;
	padding: 0px 10px;
	text-align: center;
	line-height: 120%;
	color: #343a4050;
}

.header__steps .hs__active p.hs__name {
	color: #333;
	font-weight: 600;
}

.header__steps .hs__active hr {
	border-color: var(--color-primary) !important;
}

.header__steps .hs__active .hs__dot {
	background: var(--color-primary);
}


/* TOPBAR */

section#topbar {
	padding: 30px 0px;
	background: #ffffff;
}

section#destaque {
	padding: 15px 0px;
	background: #000000;
	margin-bottom: 25px;
}

section#destaque p {
	font-size: 10pt;
	font-weight: 400;
	color: #ffffff;
	margin-bottom: 0px;
	line-height: 140%;
	text-align: center;
}

/* TOPBAR > BRAND */

section#topbar .topbar__brand {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

section#topbar .topbar__brand img {
	height: 25px;
}

/* TOPBAR > ICONS RIGHT */

section#topbar .topbar__right {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

section#topbar .topbar__right object.desktop__icon {
	height: 20px;
}

section#topbar .topbar__right object.mobile__icon {
	height: 32px;
	fill: #000000;
}

#carrinhoParcelas {
	display: none;
}

#carrinhoBoxDesconto {
	display: none;
}

/* CHECKOUT > BADGES */

.badges {
	padding: 40px;
	border-radius: 40px;
	border: 2px solid transparent;
	margin-bottom: 24px;
	transition: all .2s;
	background: #ffffff;
	box-shadow: 0 4px 12px rgba(0,0,0,.05);
}

.badges hr {
	margin: 25px 0px;
	border-color: #343a4020;
	border-style: dashed;
	opacity: 1;
}

.badges .badge__item {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 30px;
}

.badges .badge__item .badge__icon {
	width: 150px;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
}

.badges .badge__item .badge__icon img {
	width: 60px;
}

.badges .badge__item .badge__info {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 0px;
}

.badges .badge__item .badge__stars {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 3px;

	margin-bottom: 15px;
}

.badges .badge__item .badge__stars svg {
	font-size: 10pt;
	color: var(--color-secondary);
}

.badges .badge__item .badge__info p.title {
	font-size: 11pt;
	font-weight: 500;
	margin-bottom: 5px;
}

.badges .badge__item .badge__info p.description {
	font-size: 10pt;
	font-weight: 300;
	margin-bottom: 0px;
	color: #555;
}

/* CHECKOUT > RESUME */

.resume {
	padding: 40px;
	border-radius: 40px;
	border: 2px solid transparent;
	margin-bottom: 24px;
	transition: all .2s;
	background: #ffffff;
	box-shadow: 0 4px 12px rgba(0,0,0,.05);
}

.resume h1 {
	font-size: 15pt;
	font-weight: 500;
	margin-bottom: 0px;
}


/* RESUME > CUPOMS */

.resume__coupon .message__error {
	font-size: 9pt;
	font-weight: 400;
	margin-top: 5px;
	color: var(--badge-red);
	margin-bottom: 0px;
	line-height: 120%;
	display: none;
}

.resume__coupon {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 5px;

	margin-top: 25px;
}

.resume__coupon label {
	font-size: 10pt;
	font-weight: 300;
	color: #666;
}

.resume__coupon .cumpom__row {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 15px;
}

.resume__coupon .cumpom__row button {
	padding: 10px 0px;
	background: transparent;
	border: none;
	color: var(--color-secondary);
	font-weight: 500;
	font-size: 10pt;
}

.resume__coupon .cumpom__box {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;

	padding: 5px 15px;
	border-radius: 50px;
	border: 1px solid #d0d0d0;
}

.resume__coupon .cumpom__box input {
	width: 100%;
	background: transparent;
	border: none;
	font-size: 10pt;
	font-weight: 400;
	color: var(--color-black);
	height: 35px;
}

.resume__coupon .cumpom__box input::placeholder {
	color: #08080750;
}

.resume__coupon .cumpom__box object {
	width: 25px;
	height: 25px;
}

/* RESUME > TOTAL */

.resume__total {
	padding: 25px;
	margin-top: 40px;
	background: #f4f6f8;
	border-radius: 20px;

	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 15px;
}

.resume__total .total__item {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.resume__total .total__item p.title {
	font-size: 11pt;
	font-weight: 500;
	margin-bottom: 0px;
	color: #333;
}

.resume__total .total__item p.value {
	font-size: 11pt;
	font-weight: 500;
	margin-bottom: 0px;
	color: #333;
}

.resume__total .total__price {
	margin-top: 10px;
}

.resume__total .total__price p.title {
	font-size: 11pt;
	font-weight: 600;
	margin-bottom: 0px;
}

.resume__total .total__price p.value {
	font-size: 14pt;
	font-weight: 600;
	margin-bottom: 0px;
	color: var(--color-primary);
}

.resume__total .value__row {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	flex-direction: column;
	gap: 2px;
}

.resume__total .value__row p.value small {
	font-weight: 500 !important;
	font-size: 11pt !important;
}

.resume__total .value__row p.desc {
	margin-bottom: 0px;
	font-size: 10pt;
	font-weight: 400 !important;
	color: #000000 !important;
}

/* RESUME > PRODUCTS */

.products__row {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	margin-top: 30px;
	gap: 10px;
}

.products__row .product__item {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 20px;
}

.products__row .product__item .product__thumb {
	width: 80px;
	min-width: 80px;
	height: 80px;
	min-height: 80px;
	background: #f1f1f1;
	border-radius: 10px;
}

.products__row .product__item .product__thumb img {
	width: 100%;
}

.products__row .product__item .product__info {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 5px;
}

.products__row .product__item .product__info p.title {
	font-size: 11pt;
	font-weight: 300;
	margin-bottom: 0px;
	color: #333;
}

.products__row .product__item .product__info p.price {
	font-size: 12pt;
	font-weight: 600;
	margin-bottom: 0px;
	color: #333;
}

.products__row .product__item .product__info .product__selector {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 0px;

	width: 100%;
	background: #f5f5f5;
	border-radius: 20px;
	margin-top: 5px;
}

.products__row .product__item .product__info .product__selector button {
	background: transparent;
	border: none;
	color: #666;
	padding: 0px 15px;
}

.products__row .product__item .product__info .product__selector button svg {
	width: 25px;
	stroke-width: 1px;
}

.products__row .product__item .product__info .product__selector input {
	width: 50px;
	background: transparent;
	border: none;
	text-align: center;
	font-size: 12pt;
	font-weight: 500;
	height: 40px;
}


/* CHECKOUT > MODULE */

.module {
	padding: 40px;
	border-radius: 40px;
	border: 2px solid transparent;
	margin-bottom: 24px;
	transition: all .2s;
	background: #ffffff;
}

.module hr {
	margin: 15px 0px;
	border-color: #343a4010;
	opacity: 1;
}

.module.active {
	border-color: var(--color-black);
}

.moduleLoad {
	position: relative;
}

.moduleLoad::after {
	content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="Silver" d="M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z"/></svg>');
	width: 40px;
	height: 40px;
	border-radius: 50px;
	position: absolute;
	top: calc(50% - 20px);
	left: calc(50% - 20px);
	animation: spin 2s linear infinite;
}

.moduleLoad::before {
	content: '';
	position: absolute;
	top: 1px;
	left: 1px;
	width: calc(100% - 2px);
	height: calc(100% - 2px);
	background: #ffffff99;
/*	backdrop-filter: blur(10px);*/
	border-radius: 40px;
}

/* CHECKOUT > MODULE > MODULE CONTENT */

.module.active .module__content {
	display: flex !important;
}

.module.completed .module__completed {
	display: flex !important;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	gap: 5px;
}

.module.active .module__completed {
	display: none !important;
}

.module .module__completed {
	display: none;
	padding-top: 25px;
}

.module .module__completed .info__item {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	gap: 0px;
}

.module .module__completed p.title {
	font-size: 13pt;
	font-weight: 500;
	letter-spacing: -.4px;
	color: var(--color-black);
	margin-bottom: 3px;
}

.module .module__completed p.title b {
	display: none;
}

.module .module__completed p.value {
	font-size: 11.5pt;
	font-weight: 300;
	color: #666;
	margin-bottom: 0px;
}

.module .module__completed p.strong {
	font-size: 12pt;
	font-weight: 400;
	color: var(--color-black);
	margin-bottom: 7px;
}

.module .module__content {
	padding-top: 25px;
	display: none;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 15px;
}

.module .module__content .selector__type {
	padding: 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid #d0d0d0;
	border-radius: 50px;
}

.module .module__content .selector__type button {
	height: 35px;
	border-radius: 35px;
	font-size: 8pt;
	background: transparent;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	width: 100%;
	border: none;
	padding: 0px;
}

.module .module__content .selector__type button.selected {
	background: #f1f1f1;
}

.module .module__content .input__box {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
	gap: 5px;
}

.module .module__content .input__box label {
	font-size: 9pt;
	font-weight: 400;
	color: var(--color-black);
}

.module .module__content .input__box label b {
	font-weight: 400;
	color: var(--badge-red);
}

.module .module__content .input__box .input__tel {
	padding-left: 0px !important;
}

.module .module__content .input__box .input__tel .tel__prefix {
	font-size: 9pt;
	font-weight: 500;
	background: #f4f6f8;
	border-right: 1px solid #d0d0d0;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0px 20px;
}

.module .module__content .input__box:focus-within .input__tel .tel__prefix {
	border-color: var(--color-black);
}

.module .module__content .input__box .input__tel input {
	padding-left: 20px !important;
}

.module .module__content .input__box .input__error {
	border-color: var(--badge-red) !important;
	background: #feecef !important;
}

.module .module__content .input__box p.message__error {
	font-size: 9pt;
	font-weight: 400;
	margin-top: 3px;
	color: var(--badge-red);
	margin-bottom: 0px;
	line-height: 120%;
	display: none;
}

.module .module__content .input__box .input__item {
	padding: 0px 20px;
	border: 1px solid #d0d0d0;
	border-radius: 50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0px;
	transition: all 400ms ease;
	overflow: hidden;
}

.module .module__content .input__box .input__item input,
.module .module__content .input__box .input__item select {
	height: 50px;
	border: none;
	width: 100%;
	background: transparent;
	font-size: 10pt;
	font-weight: 400;
	color: #333;

	-webkit-appearance: none; /* Remove o estilo padrão no iOS */
	-moz-appearance: none;
	appearance: none;
}

.mpField {
	width: 100%;
	height: 50px;
	display: none;
}

.module .module__content .input__box .input__item:has(input:disabled) {
	background: #f6f6f6 !important;
}

.module .module__content .input__box .input__item input::placeholder {
	font-size: 10pt;
	font-weight: 400;
	color: #999999ac;
}

.module .module__content .input__box .input__item:focus-within {
	background: #f4f6f8 !important;
	border-color: var(--color-black);
}

.module .module__content .input__box .input__item input:focus {
	outline: none !important;
}

.module .module__content .input__box .input__item .icon__row {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0px;
}

.module .module__content .input__box .input__item .icon__row svg {
	display: none;
}

.module .module__content .input__box .input__valid .icon__row .fa-check {
	color: var(--badge-green);
	margin-left: 15px;
	font-size: .8rem;
	display: flex !important;
}

.module .module__content .input__box .input__error .icon__row .fa-check {
	color: var(--badge-green);
	margin-left: 15px;
	font-size: .8rem;
	display: none !important;
}

.module .module__content .input__box .input__error .icon__row .fa-xmark {
	color: var(--badge-red) !important;
	margin-left: 10px;
	display: flex !important;
}

.module .module__content .input__box .input__valid .icon__row .fa-xmark {
	color: var(--badge-red) !important;
	margin-left: 10px;
	display: none !important;
}

.module .module__content button.nextStep {
	font-size: 10pt;
	width: 100%;
	font-weight: 600;
	color: var(--color-black);
	background: var(--color-primary);
	border: none;
	border-radius: 50px;
	height: 50px;
	margin-top: 10px;
	transition: all 300ms ease;
}

.module .module__content button.nextStep:hover {
	filter: saturate(70%);
}

/* CHECKOUT > MODULE > MODULE TITLE */

.module.completed .completed__edit {
	display: flex !important;
}

.module .completed__edit {
	display: none;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	color: #d0d0d0;
	transition: all 300ms ease;
	cursor: pointer;
	font-size: .9rem;
}

.module.completed:hover .completed__edit {
	color: #080807;
}

.module.completed .module__title p {
	display: none;
}

.module.active .module__title p {
	display: flex !important;
}

.module .module__title {
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	align-items: stretch;
	gap: 15px;
}

.module .module__title .title__top {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 13px;
}

.module .module__title .title__top .title__dot {
	height: 22px;
	min-height: 22px;
	width: 22px;
	min-width: 22px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 10pt;
	font-weight: 700;
	color: #ffffff;
	background: var(--color-gray);
	border-radius: 100%;
}

.module.active .module__title .title__top .title__dot {
	background: var(--color-black);
}

.module.completed .module__title .title__top .title__dot {
	background: var(--badge-green);
}

.module.active .module__title .title__top .title__dot {
	background: var(--color-black);
}

.module .module__title .title__top h1 {
	font-size: 14pt;
	font-weight: 700;
	white-space: nowrap;
	margin-bottom: 0px;
	color: var(--color-gray);
}

.module .module__title .fa-check {
	display: none;
}

.module.active .module__title .title__top h1 {
	color: var(--color-black);
}

.module.completed .module__title .title__top h1 {
	color: var(--badge-green);
}

.module.active .module__title .title__top h1 {
	color: var(--color-black) !important;
}

.module.completed .module__title .fa-check {
	display: flex !important;
	color: var(--badge-green);
	font-size: 1.2rem;
}

.module.active .module__title .fa-check {
	display: none !important;
}

.module .module__title p {
	font-size: 10pt;
	font-weight: 300;
	color: var(--color-gray);
	margin-bottom: 0px;
}

/* MODULE > CHECKOUT TYPE */

.checkout__type {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 25px;
	gap: 15px;
}

.checkout__type p {
	font-size: 9pt;
	font-weight: 300;
	color: #666;
	margin-bottom: 0px;
}

.checkout__type img {
	height: 25px;
}

/* MODULE > CHECKOUT ITEM */

.checkout__item {
	cursor: pointer;
	padding: 20px 30px;
	border-radius: 20px;
	border: 1px solid #d0d0d0;
	transition: all 300ms ease;
}

.checkout__active {
	border-color: var(--color-black);
	background: #f4f6f8 !important;
}

.checkout__item:hover {
	border-color: var(--color-black);
	background: #f4f6f8 !important;
}

.checkout__header {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 15px;
}

.checkout__header input {
	padding: 0px !important;
	margin: 0px 0px 0px 0px !important;
	display: none;
}

.checkout__header svg {
	font-size: 13pt;
}

.checkout__header p {
	margin-bottom: 0px;
	font-size: 11pt;
	font-weight: 500;
}

.checkout__content {
	display: none;
}

.checkout__active .checkout__content {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: column;
}

.checkout__active .checkout__content hr {
	margin: 15px 0px;
	border-color: #343a4010;
	opacity: 1;
}

.checkout__active .checkout__content p.description {
	font-size: 9pt;
	font-weight: 300;
	color: #666;
}

.checkout__active .checkout__content p.value {
	font-size: 11pt;
	font-weight: 500;
	color: #000000;
	margin-bottom: 10px;
	letter-spacing: -.2px;
}

.checkout__active .checkout__content p.value b {
	color: var(--color-primary);
	letter-spacing: -.2px;
	font-size: 1.1rem;
	margin-left: 5px;
	font-weight: 600;
}

/* FOOTER */

.footer__item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}

.footer__item hr {
	width: 50%;
	border-color: #343a4010;
	opacity: 1;
	margin: 35px 0px 20px 0px;
}

.footer__item img {
	height: 25px;
}

.footer__item .cards__row {
	margin-top: 15px;
	flex-wrap: wrap;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

.footer__item p {
	font-size: 9pt;
	font-weight: 400;
	margin-bottom: 0px;
}

.footer__item object {
	height: 25px;
	margin: 10px 0px 30px;
}

.footer__item .footer__info {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 5px;
}

.footer__item .footer__info a {
	text-decoration: none;
	color: #000;
}

/* RESPONSIVIDADE */

@media screen and (max-width: 768px) {

	/* TOPBAR */

	section#topbar {
		padding: 20px 0px;
	}

	/* TOPBAR > BRAND */

	section#topbar .topbar__brand img {
		height: 25px;
	}

	.header__steps {
		display: flex !important;
	}

	.stepModule {
		display: none;
	}

	.stepModule.active {
		display: block;
	}

	.module .module__content .input__box label {
		font-size: 11pt;
	}

	.module .module__content .input__box .input__item input,
	.module .module__content .input__box .input__item select {
		font-size: 11pt;
	}

	/* STEP PAGAMENTO */

	#stepPagamento {
		padding: 10px !important;
		background: transparent;
		border: none !important;
	}

	#stepPagamento .checkout__item {
		background: #ffffff !important;
		border-radius: 30px !important;
		padding: 30px !important;
	}

	#stepPagamento .checkout__active {
	}

}