/* ==========================================================================
   MC-110 — o checkout no modo MoR (a Stripe como vendedora)

   Só o que é novo neste modo: a etapa 04 da barra e a tela de pagamento. Todo
   o resto vem do pcs-checkout.css e do pmc-checkout.css, pelas mesmas classes.
   ========================================================================== */

/* -- 1. A etapa "04 Payment" na barra do checkout
   Ela descreve o que vem depois da revisão; não é um passo do formulário, e
   por isso não se clica. */
.pcs .pmc-mor__aba { cursor: default; }

/* A forma de pagamento MoR é um campo do formulário, não uma escolha na tela. */
.pcs .pmc-mor-metodo {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pcs .pmc-mor-metodo .input-radio {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

/* -- 2. A tela de pagamento */
.pmc-mor .pmc-mor__etapas a.pcs__tab { text-decoration: none; }

.pmc-mor__corpo {
	display: grid;
	gap: var(--pcs-gap, 24px);
	margin-top: var(--pcs-gap, 24px);
}

/* O cartão da tela de pagamento: padding e gap na seção 3, abaixo. */
.pcs .pmc-mor__cartao { overflow: hidden; }

.pmc-mor__formulario { min-height: 480px; }

.pmc-mor__espera {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 480px;
	margin: 0;
	color: #4C4C4C;
	font-size: 16px;
}

.pmc-mor__roda {
	width: 20px;
	height: 20px;
	border: 2px solid #DDDDDD;
	border-top-color: #3B44B5;
	border-radius: 50%;
	animation: pmc-mor-roda .8s linear infinite;
}

@keyframes pmc-mor-roda {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.pmc-mor__roda { animation: none; }
}

.pmc-mor__erro {
	margin: 0;
	padding: 20px;
	color: #B42318;
	font-size: 16px;
	line-height: 1.5;
}

.pmc-mor__nota .pcs-note__text + .pcs-note__text { margin-top: 10px; }

@media (max-width: 767px) {
	.pmc-mor__formulario,
	.pmc-mor__espera { min-height: 360px; }
}

/* -- 3. Passo 04: "Total to pay" (tasks 86e3uvtr6 / 86e3t65pf)
   Desenho da Rafa e do Kauê, Figma "Checkout - STEP 4" e o quadro
   "Spec — Total to pay (handoff Rodrigo)" (4518:4162). O azul-claro de antes
   (#EEF0FB + borda) era a mesma linguagem das notas e o valor se perdia. */

/* O cartão: padding 40 e gap 20 no desktop; 12 e 16 no celular, com 8 a mais
   nas notas e no formulário (o quadro azul vai quase de borda a borda). */
.pcs .pmc-mor__cartao {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 40px;
	border-radius: 20px;
}

.pmc-mor__total {
	overflow: hidden;
	border-radius: 16px;
	background: #3B44B5;
	color: #FFFFFF;
}

/* A faixa da marca: 7 segmentos iguais, a régua do rodapé sem o azul. */
.pmc-mor__faixa {
	display: flex;
	height: 6px;
}

.pmc-mor__faixa span { flex: 1 0 0; }
.pmc-mor__faixa span:nth-child(1) { background: #F06C6A; }
.pmc-mor__faixa span:nth-child(2) { background: #E070A2; }
.pmc-mor__faixa span:nth-child(3) { background: #923472; }
.pmc-mor__faixa span:nth-child(4) { background: #28AE62; }
.pmc-mor__faixa span:nth-child(5) { background: #B7DB6E; }
.pmc-mor__faixa span:nth-child(6) { background: #F4AB63; }
.pmc-mor__faixa span:nth-child(7) { background: #F4CF80; }

.pmc-mor__total-corpo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 28px 32px;
}

.pmc-mor__total-valor {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.pmc-mor__total-rotulo {
	margin: 0;
	color: rgba(255, 255, 255, .8);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.pmc-mor__total-numero {
	margin: 0;
	color: #FFFFFF;
	font-size: 48px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -.02em;
	white-space: nowrap;
}

.pmc-mor__total-numero .woocommerce-Price-amount,
.pmc-mor__total-numero bdi { color: inherit; }

.pmc-mor__total-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 4px 12px 4px 10px;
	border-radius: 999px;
	background: #B7DB6E;
	color: #000000;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
}

.pmc-mor__total-chip img {
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
}

.pmc-mor__total-detalhe {
	flex: 0 1 464px;
	padding: 16px 20px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .1);
}

.pmc-mor__total-detalhe p {
	margin: 0;
	color: rgba(255, 255, 255, .85);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
}

.pmc-mor__total-detalhe p + p { margin-top: 8px; }

.pmc-mor__total-detalhe .woocommerce-Price-amount,
.pmc-mor__total-detalhe bdi { color: inherit; }

/* O país de cobrança, rebaixado para neutro: é nota, não destaque. */
.pmc-mor__pais {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 14px 16px;
	border-radius: 12px;
	background: #F5F5F7;
	color: #000000;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}

/* O tema pesa os textos do checkout: aqui o desenho pede Regular. */
.pmc-mor__pais span,
.pmc-mor__stripe-rotulo { font-weight: 400; }

.pmc-mor__pais img {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-top: 1px;
}

.pmc-mor__pais strong { font-weight: 600; }

/* O formulário da Stripe numa moldura própria, com o cadeado. */
.pmc-mor__stripe {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 24px;
	border: 1px solid #DDDDDD;
	border-radius: 12px;
	background: #FFFFFF;
}

.pmc-mor__stripe-rotulo {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: #4C4C4C;
	font-size: 13px;
	line-height: 1.5;
}

.pmc-mor__stripe-rotulo img {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
}

/* A barra fixa do celular: só aparece pelo pmc-mor.js, quando o quadro sai
   da tela. */
.pmc-mor__barra {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 99990;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 20px calc(14px + env(safe-area-inset-bottom));
	border-radius: 16px 16px 0 0;
	background: #3B44B5;
	box-shadow: 0 -4px 16px rgba(0, 0, 0, .12);
	color: #FFFFFF;
	transform: translateY(110%);
	transition: transform .2s ease;
}

.pmc-mor__barra[hidden] { display: none; }
.pmc-mor__barra.is-visivel { transform: none; }

.pmc-mor__barra-texto {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.5;
}

.pmc-mor__barra-rotulo {
	color: rgba(255, 255, 255, .8);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.pmc-mor__barra-sub {
	color: rgba(255, 255, 255, .85);
	font-size: 13px;
}

.pmc-mor__barra-valor {
	color: #FFFFFF;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -.02em;
	white-space: nowrap;
}

.pmc-mor__barra-valor .woocommerce-Price-amount,
.pmc-mor__barra-valor bdi { color: inherit; }

/* Com a barra na tela, o botão do chat sobe para não ficar por cima dela. */
body.pmc-mor-barra-on .aira-chatbot[data-pos^="bottom"] { bottom: 96px; }

@media (prefers-reduced-motion: reduce) {
	.pmc-mor__barra { transition: none; }
}

@media (max-width: 767px) {
	.pcs .pmc-mor__cartao {
		gap: 16px;
		padding: 12px;
	}

	.pmc-mor__pais,
	.pmc-mor__stripe { margin: 0 8px; }

	.pmc-mor__total-corpo {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding: 20px;
	}

	.pmc-mor__total-valor { gap: 6px; }
	.pmc-mor__total-rotulo { font-size: 13px; }
	.pmc-mor__total-numero { font-size: 40px; }
	.pmc-mor__total-detalhe { flex-basis: auto; padding: 14px 16px; }
	.pmc-mor__total-detalhe p { font-size: 14px; }
	.pmc-mor__pais { padding: 12px 14px; }
	.pmc-mor__stripe { padding: 16px; }
}

@media (min-width: 768px) {
	/* A barra é só do celular. */
	.pmc-mor__barra { display: none !important; }
}
