/* Maxibel Carrinho: HTML próprio (templates/cart/*). Cartões, frete em frases curtas, resumo e barra fixa. Só com body.maxibel-carrinho. */
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("fonts/manrope-latin-var.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Paleta da página de produto (maxibel-pdp, pdp-visual.css): azul vivo nas ações, azul-marinho nos títulos e valores, azul-claro nos fundos. */
:root {
	--mc-ink: #0a1f44;
	--mc-ink2: #55627a;
	--mc-teal: #0a5fc4;
	--mc-blue: #0b6fe0;
	--mc-blue-d: #0a4fa8;
	--mc-navy: #0a2a66;
	--mc-surface: #ffffff;
	--mc-sand: #fdf1e6;
	--mc-tint: #e4f0ff;
	--mc-tint2: #cfe3fb;
	--mc-line: #dbe6f5;
	--mc-r: 16px;
	--mc-shadow: 0 -8px 24px rgba(11, 60, 140, .12);
	--mc-font: "Manrope", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.maxibel-carrinho .maxibel-itens,
.maxibel-carrinho .cart_totals,
.maxibel-carrinho .wc-proceed-to-checkout,
.maxibel-resumo { font-family: var(--mc-font); }

/* Faixa do orçamento: o aviso que o cart-share já mostra, em azul escuro da paleta (branco sobre #0a4fa8 = 7,8:1). */
.maxibel-carrinho .woocommerce-message.maxibel-faixa {
	background: var(--mc-blue-d);
	color: #fff;
	border: 0;
	border-radius: var(--mc-r);
	font-weight: 700;
	font-size: 1rem;
}
.maxibel-carrinho .woocommerce-message.maxibel-faixa::before { display: none; }

/* O WooCommerce atualiza o carrinho sozinho; o botão existe só para o JavaScript dele. */
.maxibel-carrinho .maxibel-atualizar { display: none; }

/* ---------- Itens: um cartão por produto ---------- */
.maxibel-carrinho .maxibel-itens { display: flex; flex-direction: column; gap: 12px; margin: 0 0 12px; }
.maxibel-carrinho .maxibel-item {
	display: flex;
	gap: 14px;
	padding: 12px;
	background: var(--mc-surface);
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
	box-shadow: 0 2px 10px rgba(11, 60, 140, .07);
}
.maxibel-carrinho .maxibel-item__foto { flex: none; width: 96px; }
.maxibel-carrinho .maxibel-item__foto img { display: block; width: 96px; height: 96px; object-fit: contain; border-radius: 10px; background: #fff; }
.maxibel-carrinho .maxibel-item__corpo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.maxibel-carrinho .maxibel-item__nome { margin: 0; font-size: 1rem; line-height: 1.3; font-weight: 800; }
.maxibel-carrinho .maxibel-item__nome a { color: var(--mc-navy); text-decoration: none !important; }
.maxibel-carrinho .maxibel-item__cor { margin: 0; color: var(--mc-ink2); font-size: .9375rem; }
.maxibel-carrinho .maxibel-item__preco { margin: 0; font-weight: 800; font-size: 1.0625rem; color: var(--mc-navy); }
.maxibel-carrinho .maxibel-item__cada { font-weight: 400; color: var(--mc-ink2); font-size: .9375rem; }
.maxibel-carrinho .maxibel-item__acoes { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 6px; flex-wrap: wrap; }
.maxibel-carrinho .maxibel-item__tirar {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 6px;
	color: var(--mc-ink2);
	font-size: .9375rem;
	font-weight: 700;
	text-decoration: underline;
}

/* Quantidade: − 1 +, botões de 48 px. */
.maxibel-carrinho .maxibel-item .quantity {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 48px;
	margin: 0;
	background: var(--mc-tint);
	border: 2px solid var(--mc-tint2);
	border-radius: 12px;
}
.maxibel-carrinho .maxibel-item .quantity .qty {
	width: 54px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--mc-navy);
	text-align: center;
	z-index: 1;
}
.maxibel-carrinho .maxibel-item .quantity-nav { position: absolute; inset: 0; width: auto; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.maxibel-carrinho .maxibel-item .quantity-button { top: 0; bottom: 0; width: 48px; height: auto; background: none; color: var(--mc-blue-d); }
.maxibel-carrinho .maxibel-item .quantity-button.quantity-down { left: 0; right: auto; }
.maxibel-carrinho .maxibel-item .quantity-button.quantity-up { right: 0; left: auto; }
.maxibel-carrinho .maxibel-item .quantity-button::before { width: 16px; height: 16px; }
.maxibel-carrinho .maxibel-item .quantity-button.quantity-down::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M18 12H6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M18 12H6'/%3E%3C/svg%3E");
}
.maxibel-carrinho .maxibel-item .quantity-button.quantity-up::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 6v12m6-6H6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 6v12m6-6H6'/%3E%3C/svg%3E");
}

/* Computador: foto maior. */
@media (min-width: 993px) {
	.maxibel-carrinho .maxibel-item__foto { width: 120px; }
	.maxibel-carrinho .maxibel-item__foto img { width: 120px; height: 120px; }
	.maxibel-carrinho .cart-collaterals { position: sticky; top: 16px; }
}

/* ---------- Resumo: Quando chega, Frete, valores ---------- */
.maxibel-carrinho .cart_totals { display: flex; flex-direction: column; gap: 12px; }
.maxibel-carrinho .maxibel-quando,
.maxibel-carrinho .maxibel-frete,
.maxibel-carrinho .maxibel-total-cartao {
	padding: 14px;
	background: var(--mc-surface);
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
	box-shadow: 0 2px 10px rgba(11, 60, 140, .07);
}
/* "Quando chega" no azul-claro do cartão de prazo da página de produto. */
.maxibel-carrinho .maxibel-quando { background: var(--mc-tint); border-color: var(--mc-tint2); box-shadow: none; }
.maxibel-carrinho .maxibel-quando h3,
.maxibel-carrinho .maxibel-frete h3 { margin: 0 0 8px; font-size: 1.0625rem; line-height: 1.25; font-weight: 800; color: var(--mc-navy); }
.maxibel-carrinho .maxibel-quando ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.maxibel-carrinho .maxibel-quando li { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.maxibel-carrinho .maxibel-quando li > span { min-width: 0; }
.maxibel-carrinho .maxibel-quando li small { display: block; color: var(--mc-ink2); font-size: .8125rem; }
.maxibel-carrinho .maxibel-quando li b { white-space: nowrap; color: var(--mc-navy); font-weight: 800; }
.maxibel-carrinho .maxibel-quando p { margin: 8px 0 0; font-size: .9375rem; }

/* Frete: cada opção é um botão de escolha com o valor ao lado. */
.maxibel-carrinho .maxibel-entrega + .maxibel-entrega { margin-top: 10px; }
.maxibel-carrinho .maxibel-entrega h4 { margin: 0 0 6px; font-size: .9375rem; color: var(--mc-ink2); }
.maxibel-carrinho .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.maxibel-carrinho .maxibel-opcao {
	box-sizing: border-box;
	max-width: 100%;
	margin: 0;
	padding: 10px 12px;
	background: var(--mc-surface);
	border: 2px solid var(--mc-line);
	border-radius: 12px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
}
.maxibel-carrinho .maxibel-opcao:has(input:checked) { border-color: var(--mc-blue); background: var(--mc-tint); }
.maxibel-carrinho .maxibel-opcao--simples { border-color: transparent; background: none; padding: 4px 0; }
.maxibel-carrinho .maxibel-opcao input[type="radio"] { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--mc-blue); }
.maxibel-carrinho .maxibel-opcao label { display: flex; flex: 1; gap: 10px; align-items: center; margin: 0; font-weight: 700; }
.maxibel-carrinho .maxibel-frete__valor { margin-left: auto; white-space: nowrap; }
.maxibel-carrinho .maxibel-opcao .betrs_option_desc { flex-basis: 100%; font-size: .875rem; color: var(--mc-ink2); }
.maxibel-carrinho .woocommerce-shipping-may-be-available-html { margin: 0 0 8px; font-weight: 700; color: var(--mc-ink); }

/* CEP: fechado atrás de "Mudar o CEP"; aberto quando falta (o JS marca .maxibel-aberto). O tema o abre à força até 992 px. */
.maxibel-carrinho .woocommerce-shipping-calculator { margin-top: 10px; }
/* !important: o wc-shipping-calculator-improvements (filtro always_visible, ligado no site) esconde o botão com display:none !important; sem isto o CEP não dá para mudar depois de preenchido. */
.maxibel-carrinho .woocommerce-shipping-calculator .shipping-calculator-button { display: inline-flex !important; align-items: center; min-height: 44px; color: var(--mc-teal); font-weight: 700; text-decoration: underline; }
.maxibel-carrinho .woocommerce-shipping-calculator .shipping-calculator-form { display: none !important; }
.maxibel-carrinho .woocommerce-shipping-calculator .shipping-calculator-form.maxibel-aberto { display: block !important; }
.maxibel-carrinho .shipping-calculator-form label { display: block; margin-bottom: 6px; font-weight: 700; }
.maxibel-carrinho .shipping-calculator-form input.input-text { width: 100%; min-height: 48px; font-size: 1.125rem; border: 2px solid var(--mc-blue); border-radius: 12px; }
.maxibel-carrinho .shipping-calculator-form button { min-height: 48px; margin-top: 8px; border-radius: 12px; font-weight: 700; }
.maxibel-carrinho .maxibel-cep-aviso { margin: 6px 0 0; padding: 8px 10px; border-radius: 10px; background: #fff3d6; color: #5b4300; font-size: .9375rem; }
.maxibel-carrinho .maxibel-cep-aviso[hidden] { display: none; }

/* Valores */
.maxibel-carrinho .maxibel-linha { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 3px 0; }
.maxibel-carrinho .maxibel-linha.order-total { display: block; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--mc-line); }
.maxibel-carrinho .maxibel-total__rotulo { display: block; font-size: 1.125rem; font-weight: 700; }
.maxibel-carrinho .maxibel-total__valor { font-size: 1.25rem; font-weight: 700; }

/* Bloco do Pix e do cartão (plugin de parcelas): o plugin o puxa 60 px para a esquerda; aqui ele fica dentro do cartão. */
.maxibel-carrinho .order-total .wcsp-container { display: block; margin: 0; padding: 0; left: 0 !important; right: auto !important; transform: none !important; }
.maxibel-carrinho .order-total .payment { display: flex; align-items: center; gap: 10px; margin: 8px 0 0; padding: 10px 12px; border-radius: 14px; }
.maxibel-carrinho .order-total .payment-discount { background: linear-gradient(135deg, var(--mc-tint), var(--mc-tint2)); color: var(--mc-blue); }
.maxibel-carrinho .order-total .payment-card { background: #fff; border: 1px solid var(--mc-line); color: var(--mc-navy); }
.maxibel-carrinho .order-total .payment .payment-price,
.maxibel-carrinho .order-total .payment .payment-price .amount { color: var(--mc-navy); font-weight: 800; }
.maxibel-carrinho .order-total .payment .payment-name { color: var(--mc-ink2); }
.maxibel-carrinho .order-total .payment .icon { display: block; flex: none; width: 26px; height: 26px; }
.maxibel-carrinho .order-total .payment-info { display: block; line-height: 1.15; }
.maxibel-carrinho .order-total .payment-price { font-size: 1.25rem; }
.maxibel-carrinho .order-total .payment-name { display: block; font-size: .875rem; font-weight: 400; }

.maxibel-carrinho .wc-proceed-to-checkout .checkout-button { min-height: 52px; font-size: 1.0625rem; font-weight: 800; background: var(--mc-blue); color: #fff; border-radius: 999px !important; }
.maxibel-carrinho .wc-proceed-to-checkout .checkout-button:hover,
.maxibel-carrinho .wc-proceed-to-checkout .checkout-button:focus { background: var(--mc-blue-d); color: #fff; }

/* ---------- Celular e tablet: barra fixa com o valor e o botão de pagar ---------- */
.maxibel-resumo { display: none; }
@media (max-width: 992px) {
	.maxibel-resumo {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 900;
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px max(14px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
		background: var(--mc-surface);
		box-shadow: var(--mc-shadow);
	}
	.maxibel-resumo[hidden] { display: none; }
	.maxibel-resumo__valor { flex: 1; min-width: 0; line-height: 1.15; }
	.maxibel-resumo__valor small { display: block; color: var(--mc-ink2); font-size: .8125rem; }
	.maxibel-resumo__valor b { font-size: 1.25rem; font-weight: 800; white-space: nowrap; color: var(--mc-navy); }
	.maxibel-resumo__ir {
		flex: none;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 52px;
		padding: 0 16px;
		border-radius: 999px;
		background: var(--mc-blue);
		color: #fff;
		font-weight: 800;
		font-size: 1.0625rem;
		text-decoration: none;
	}
	.maxibel-resumo__ir[aria-disabled="true"] { opacity: .55; }
	.maxibel-resumo__ir:focus-visible { outline: 3px solid var(--mc-navy); outline-offset: 2px; }
	html.maxibel-resumo-ativo .joinchat { display: none; }
	html.maxibel-resumo-ativo body.maxibel-carrinho { padding-bottom: 84px; }
}
