/**
 * Checkout overlay — pixel match com SPA (hub6-studio checkout()).
 * Escopo: #hub6-woo-checkout apenas.
 */
#hub6-woo-checkout {
	width: 100%;
	font-family: var(--body, "DM Sans", sans-serif);
	font-size: 16px;
	line-height: 1.65;
	color: var(--hub6-text, #1b1a17);
	-webkit-font-smoothing: antialiased;
}

#hub6-woo-checkout button,
#hub6-woo-checkout input,
#hub6-woo-checkout textarea,
#hub6-woo-checkout select {
	font-family: inherit;
}

#hub6-woo-checkout .wrap.page {
	width: min(1240px, calc(100% - 104px));
	margin-inline: auto;
	padding: 34px 0 110px;
}

#hub6-woo-checkout .crumb {
	font: 10px/1.5 var(--mono, ui-monospace, SFMono-Regular, Consolas, monospace);
	letter-spacing: 0.12em;
	color: var(--hub6-text-secondary, #5b5750);
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	padding: 28px 0 0;
}

#hub6-woo-checkout .crumb a:hover {
	color: var(--hub6-text, #1b1a17);
	text-decoration: underline;
}

#hub6-woo-checkout .pt {
	font-family: var(--display, "Space Grotesk", sans-serif);
	font-size: clamp(40px, 5.6vw, 72px);
	font-weight: 600;
	margin: 14px 0 30px;
	line-height: 0.98;
	letter-spacing: -0.045em;
	color: var(--hub6-text, #1b1a17);
}

#hub6-woo-checkout .pt .serif,
#hub6-woo-checkout .serif {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	font-style: italic;
	letter-spacing: -0.045em;
	color: var(--hub6-text-secondary, #5b5750);
}

#hub6-woo-checkout .pt + .hint {
	margin: -14px 0 24px;
}

#hub6-woo-checkout .hint {
	margin: 0;
	font-family: var(--body, "DM Sans", sans-serif);
	font-size: 13px;
	line-height: 1.55;
	color: var(--hub6-text-secondary, #5b5750);
}

/* Hint dentro do painel (ex.: digital) — SPA zera margin de <p> */
#hub6-woo-checkout .panel > .hint,
#hub6-woo-checkout .panel .hint {
	margin: 0 0 18px;
}

#hub6-woo-checkout .panel > h2 + .hint {
	margin: -6px 0 20px;
}

#hub6-woo-checkout .hint a,
#hub6-woo-checkout .hint b {
	color: var(--hub6-text, #1b1a17);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Grid SPA */
#hub6-woo-checkout form.checkout.co {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
	column-gap: clamp(40px, 5.5vw, 64px);
	row-gap: 28px;
	align-items: start;
	border: 0;
	margin: 0;
	padding: 0;
}

#hub6-woo-checkout .co-main {
	display: grid;
	gap: 22px;
	min-width: 0;
}

/* Coluna sticky: resumo + compra segura sobem juntos (não um por cima do outro). */
#hub6-woo-checkout .co-rail {
	display: grid;
	gap: 22px;
	min-width: 0;
	align-self: start;
	position: sticky;
	top: 20px;
}

#hub6-woo-checkout .co-side {
	position: static;
	min-width: 0;
}

#hub6-woo-checkout .panel {
	background: var(--hub6-surface, #fff);
	border: 1px solid var(--hub6-border, #ddd7cc);
	border-radius: 14px;
	padding: 26px;
	overflow: visible;
}

#hub6-woo-checkout .panel > h2 {
	font-family: var(--display, "Space Grotesk", sans-serif);
	font-size: 20px !important;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.03em;
	margin: 0 0 20px !important;
	display: flex;
	align-items: center;
	gap: 12px;
}

#hub6-woo-checkout .section-number {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	flex: none;
	border: 1px solid currentColor;
	border-radius: 50%;
	margin: 0;
	font: 600 10px/1 var(--mono, ui-monospace, Consolas, monospace);
	letter-spacing: 0;
	color: var(--hub6-brand, #6b655b);
}

/* Frete (métodos Woo → .opt) */
#hub6-woo-checkout .hub6-shipping-methods ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#hub6-woo-checkout .hub6-shipping-methods li,
#hub6-woo-checkout .hub6-shipping-methods .woocommerce-shipping-methods li {
	margin: 0 0 10px;
}
#hub6-woo-checkout .hub6-shipping-methods label {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 15px 16px;
	border: 1px solid var(--hub6-border, #ddd7cc);
	border-radius: 10px;
	background: var(--hub6-surface-2, #efebe4);
	font-size: 14px;
	cursor: pointer;
}
#hub6-woo-checkout .hub6-shipping-methods label:has(input:checked) {
	border-color: var(--hub6-brand, #6b655b);
}

/* Toggle Woo padrão (cupom agora vive no resumo) */
#hub6-woo-checkout .woocommerce-form-coupon-toggle,
#hub6-woo-checkout > .checkout_coupon,
#hub6-woo-checkout .woocommerce > .checkout_coupon {
	display: none !important;
}

/* Woo form-row → visual .fld / .row2 (sem float) */
#hub6-woo-checkout .woocommerce-billing-fields,
#hub6-woo-checkout .woocommerce-shipping-fields,
#hub6-woo-checkout .woocommerce-additional-fields {
	margin: 0;
}

#hub6-woo-checkout .woocommerce-billing-fields__field-wrapper,
#hub6-woo-checkout .woocommerce-shipping-fields__field-wrapper,
#hub6-woo-checkout .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 16px;
	row-gap: 0;
	align-items: start;
}

#hub6-woo-checkout .form-row,
#hub6-woo-checkout .fld {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 0 0 16px !important;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	position: relative;
	min-width: 0;
}

#hub6-woo-checkout .form-row-wide,
#hub6-woo-checkout .form-row-wide.address-field,
#hub6-woo-checkout #billing_address_1_field,
#hub6-woo-checkout #billing_address_2_field,
#hub6-woo-checkout #billing_email_field,
#hub6-woo-checkout #billing_phone_field,
#hub6-woo-checkout #billing_company_field,
#hub6-woo-checkout #order_comments_field,
#hub6-woo-checkout #billing_country_field,
#hub6-woo-checkout #shipping_country_field {
	grid-column: 1 / -1;
}

#hub6-woo-checkout .form-row-first,
#hub6-woo-checkout .form-row-last {
	float: none !important;
	width: 100% !important;
}

#hub6-woo-checkout .form-row > label,
#hub6-woo-checkout .fld > label {
	display: block;
	font: 600 11px/1.4 var(--mono, ui-monospace, SFMono-Regular, Consolas, monospace);
	letter-spacing: 0.08em;
	text-transform: none;
	color: var(--hub6-text-secondary, #5b5750);
	margin: 0 !important;
	padding: 0 !important;
}

#hub6-woo-checkout .form-row .required {
	color: var(--hub6-brand, #6b655b);
	text-decoration: none;
	border: 0;
}

#hub6-woo-checkout .form-row input.input-text,
#hub6-woo-checkout .form-row textarea.input-text,
#hub6-woo-checkout .form-row select,
#hub6-woo-checkout .fld input,
#hub6-woo-checkout .fld textarea,
#hub6-woo-checkout .fld select {
	width: 100% !important;
	min-height: 46px !important;
	border: 1px solid var(--hub6-border, #ddd7cc) !important;
	border-radius: 10px !important;
	background: var(--hub6-surface-2, #efebe4) !important;
	color: var(--hub6-text, #1b1a17) !important;
	font-family: var(--body, "DM Sans", sans-serif) !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	padding: 11px 14px !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Seta nativa do <select> precisa de folga à direita (não colar na borda). */
#hub6-woo-checkout .form-row select,
#hub6-woo-checkout .fld select,
#hub6-woo-checkout select.country_select,
#hub6-woo-checkout select.state_select {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	padding: 11px 44px 11px 14px !important;
	background-color: var(--hub6-surface-2, #efebe4) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.75L6 6.25L10.5 1.75' stroke='%235b5750' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-size: 12px 8px !important;
	cursor: pointer;
}

#hub6-woo-checkout .form-row select::-ms-expand,
#hub6-woo-checkout .fld select::-ms-expand {
	display: none;
}

/* Select2 gera chip flutuante + select — esconde o chip e força o select nativo. */
#hub6-woo-checkout .select2-container,
body > .select2-container {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

#hub6-woo-checkout select.select2-hidden-accessible {
	position: static !important;
	width: 100% !important;
	height: auto !important;
	min-height: 46px !important;
	clip: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	padding: 11px 44px 11px 14px !important;
	display: block !important;
	opacity: 1 !important;
}

#hub6-woo-checkout .form-row textarea.input-text {
	min-height: 96px !important;
}

#hub6-woo-checkout .form-row input:focus,
#hub6-woo-checkout .form-row textarea:focus,
#hub6-woo-checkout .form-row select:focus,
#hub6-woo-checkout .form-row .select2-selection:focus {
	border-color: var(--hub6-brand, #6b655b) !important;
}

#hub6-woo-checkout .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

#hub6-woo-checkout .woocommerce-privacy-policy-text {
	display: none !important;
}

#hub6-woo-checkout .chk.co-terms {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-family: var(--body, "DM Sans", sans-serif);
	font-size: 13px;
	line-height: 1.45;
	color: var(--hub6-text-secondary, #5b5750);
	margin: 18px 0 0;
	cursor: pointer;
}

#hub6-woo-checkout .chk.co-terms a {
	color: var(--hub6-text, #1b1a17);
	text-decoration: underline;
	text-underline-offset: 3px;
}

#hub6-woo-checkout .chk.co-terms input {
	margin-top: 3px;
	accent-color: var(--hub6-brand, #6b655b);
	flex: none;
}

/* FOUC: se algum fragmento Woo recriar place-order em #payment, some. */
#hub6-woo-checkout #payment > .place-order {
	display: none !important;
}

#hub6-woo-checkout [data-hub6-place-slot] .place-order {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	float: none !important;
	width: 100% !important;
}

#hub6-woo-checkout [data-hub6-place-slot] #place_order:disabled,
#hub6-woo-checkout [data-hub6-place-slot] #place_order[aria-disabled="true"],
#hub6-woo-checkout .co-side #place_order:disabled,
#hub6-woo-checkout .co-side #place_order[aria-disabled="true"] {
	opacity: 0.45 !important;
	cursor: default !important;
	pointer-events: none;
}

#hub6-woo-checkout ul,
#hub6-woo-checkout ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

#hub6-woo-checkout .hub6-coupon-side {
	margin-top: 8px;
	padding-top: 4px;
	border-top: 1px solid var(--hub6-border, #ddd7cc);
}

#hub6-woo-checkout .hub6-coupon-apply {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
	align-items: stretch;
}

#hub6-woo-checkout .hub6-coupon-apply .button-line,
#hub6-woo-checkout #hub6-apply-coupon {
	min-height: 46px;
	padding: 0 16px;
	border: 1px solid var(--hub6-border, #ddd7cc);
	border-radius: 10px;
	background: transparent;
	color: var(--hub6-text, #1b1a17);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

#hub6-woo-checkout .hub6-coupon-apply .button-line:hover {
	background: var(--hub6-surface-2, #efebe4);
}

#hub6-woo-checkout .hub6-coupon-notice {
	margin-top: 10px;
}

#hub6-woo-checkout .hub6-coupon-notice .woocommerce-message,
#hub6-woo-checkout .hub6-coupon-notice .woocommerce-error,
#hub6-woo-checkout .hub6-coupon-notice .woocommerce-info {
	margin: 0;
	padding: 10px 12px;
	border-radius: 10px;
	font-size: 12px;
	line-height: 1.45;
	list-style: none;
}

#hub6-woo-checkout .woocommerce-remove-coupon {
	color: var(--hub6-text-secondary, #5b5750);
	text-decoration: none;
	font-size: 12px;
	transition: color 0.15s, text-decoration-color 0.15s;
}

#hub6-woo-checkout .woocommerce-remove-coupon:hover,
#hub6-woo-checkout .woocommerce-remove-coupon:focus-visible {
	color: var(--hub6-text, #1b1a17);
	text-decoration: underline;
	text-underline-offset: 3px;
}

#hub6-woo-checkout .hub6-checkout-turnstile {
	margin: 14px 0 4px;
	display: flex;
	justify-content: flex-start;
}

#hub6-woo-checkout .co-trust {
	margin: 0;
	padding: 22px 24px;
	background: var(--hub6-surface, #fff);
	border: 1px solid var(--hub6-border, #ddd7cc);
	border-radius: 14px;
}

#hub6-woo-checkout .co-trust .eyebrow {
	margin: 0 0 10px;
	font: 600 10px/1.5 var(--mono, ui-monospace, Consolas, monospace);
	letter-spacing: 0.12em;
	color: var(--hub6-text-secondary, #5b5750);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

#hub6-woo-checkout .co-trust h3 {
	margin: 0 0 8px;
	font: 600 17px/1.25 var(--display, "Space Grotesk", sans-serif);
	letter-spacing: -0.03em;
	color: var(--hub6-text, #1b1a17);
}

#hub6-woo-checkout .co-trust p:not(.eyebrow) {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: var(--hub6-text-secondary, #5b5750);
}

/* Formas aceitas — mesmos chips do rodapé, compactos no rail. */
#hub6-woo-checkout .co-pay {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--hub6-border, #ddd7cc);
}

#hub6-woo-checkout .co-pay .pay-icons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
}

#hub6-woo-checkout .co-pay .pay-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	height: 38px;
	overflow: visible;
	flex: none;
}

#hub6-woo-checkout .co-pay .pay-chip svg {
	display: block;
	width: auto;
	max-width: none;
	overflow: visible;
	flex: none;
}

#hub6-woo-checkout .co-pay .pi-visa {
	height: 14px;
}

#hub6-woo-checkout .co-pay .pi-mc {
	height: 28px;
}

#hub6-woo-checkout .co-pay .pi-pix {
	height: 22px;
}

/* PayPal: mark + wordmark — mesmos px do rodapé (versão menor cortava o SVG). */
#hub6-woo-checkout .co-pay .pi-ppm {
	height: 20px;
}

#hub6-woo-checkout .co-pay .pi-ppw {
	height: 15px;
}

#hub6-woo-checkout .co-pay .pi-pix [style*="fill:#939598"] {
	fill: var(--hub6-text-secondary, #5b5750) !important;
}

#hub6-woo-checkout .co-pay .pi-pix [style*="stroke:#939598"] {
	stroke: var(--hub6-text-secondary, #5b5750) !important;
}

#hub6-woo-checkout .co-pay .pi-mc path:not([fill]) {
	fill: var(--hub6-text-secondary, #5b5750);
}

/* Esconde labels Woo duplicados / country notes */
#hub6-woo-checkout .woocommerce-additional-fields > h3,
#hub6-woo-checkout .woocommerce-billing-fields > h3,
#hub6-woo-checkout .woocommerce-shipping-fields > h3 {
	display: none !important;
}

/* Pagamento estilo .pm / .opt */
#hub6-woo-checkout #payment {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}

#hub6-woo-checkout #payment ul.payment_methods {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

#hub6-woo-checkout #payment .wc_payment_method,
#hub6-woo-checkout #payment .pm {
	margin: 0 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

#hub6-woo-checkout #payment .opt,
#hub6-woo-checkout #payment label.opt {
	display: flex !important;
	align-items: center;
	gap: 14px;
	padding: 15px 16px !important;
	border: 1px solid var(--hub6-border, #ddd7cc) !important;
	border-radius: 10px !important;
	margin: 0 !important;
	cursor: pointer;
	background: var(--hub6-surface-2, #efebe4) !important;
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
}

#hub6-woo-checkout #payment .wc_payment_method:has(input:checked):has(.payment_box) > .opt,
#hub6-woo-checkout #payment .pm:has(input:checked):has(.payment_box) > .opt {
	border-color: var(--hub6-brand, #6b655b) !important;
	border-radius: 10px 10px 0 0 !important;
}
/* Métodos sem caixa de campos (PayPal, Pix, cartão PPCP): card inteiro ao selecionar. */
#hub6-woo-checkout #payment .wc_payment_method:has(input:checked):not(:has(.payment_box)) > .opt,
#hub6-woo-checkout #payment .pm:has(input:checked):not(:has(.payment_box)) > .opt {
	border-color: var(--hub6-brand, #6b655b) !important;
	border-radius: 10px !important;
}

#hub6-woo-checkout #payment .payment_box,
#hub6-woo-checkout #payment .pm-box {
	display: none;
	padding: 14px 16px 6px !important;
	border: 1px solid var(--hub6-brand, #6b655b) !important;
	border-top: 0 !important;
	border-radius: 0 0 10px 10px !important;
	background: var(--hub6-surface-2, #efebe4) !important;
	font-size: 13px;
	line-height: 1.7;
	color: var(--hub6-text-secondary, #5b5750);
	margin: 0 0 10px !important;
}

#hub6-woo-checkout #payment .payment_method_woo-mercado-pago-custom:has(input:checked) > .payment_box,
#hub6-woo-checkout #payment .payment_method_woo-mercado-pago-custom:has(input:checked) > .pm-box {
	display: block !important;
}

#hub6-woo-checkout #payment .payment_box::before {
	display: none !important;
}

#hub6-woo-checkout #payment .woocommerce-info {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--hub6-border, #ddd7cc);
	border-radius: 10px;
	background: var(--hub6-surface-2, #efebe4);
	font-size: 13px;
	line-height: 1.6;
}

/* Obrigatórios: asterisco vermelho (Woo usa abbr.required; Mercado Pago
 * escreve o "*" solto no texto do label — envolto em .hub6-req pelo bridge). */
#hub6-woo-checkout abbr.required,
#hub6-woo-checkout .required,
#hub6-woo-checkout label .hub6-req {
	color: #e02424 !important;
	text-decoration: none !important;
	font-weight: 700;
}

/* Ícones duplos dos gateways: justifica à direita como os demais. */
#hub6-woo-checkout .hub6-icon-duplo {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 4px;
	align-items: center;
}

/* MP skeleton "carregando…" seguindo a cor do card pai */
#hub6-woo-checkout .mp-checkout-custom-load { background: var(--hub6-surface-2, #efebe4) !important; }

/* Resumo */
#hub6-woo-checkout .co-side .ci {
	display: grid;
	grid-template-columns: 60px 1fr auto auto;
	gap: 14px;
	align-items: center;
	padding: 18px 0;
	border-bottom: 1px solid var(--hub6-border, #ddd7cc);
}

/* Remover (só no checkout, como já existe no carrinho) */
#hub6-woo-checkout .co-side .ci .hub6-rm-cart {
	border: 0;
	background: transparent;
	padding: 4px 0;
	margin-left: 4px;
	color: var(--hub6-text-muted, #a9a59e);
	font-family: var(--body, 'DM Sans', sans-serif);
	font-size: 11px;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	transition: color .15s;
	white-space: nowrap;
}
#hub6-woo-checkout .co-side .ci .hub6-rm-cart:hover { color: var(--hub6-text, #f3f1ed); }
#hub6-woo-checkout .co-side .ci .hub6-rm-cart[disabled] { cursor: wait; opacity: .6; }

#hub6-woo-checkout .co-side .ci img {
	width: 60px;
	height: 60px;
	border-radius: 10px;
	object-fit: cover;
}

#hub6-woo-checkout .co-side .ci h4 {
	font: 600 15px/1.25 var(--display, "Space Grotesk", sans-serif);
	letter-spacing: -0.03em;
	margin: 0;
}

#hub6-woo-checkout .co-side .ci small {
	display: block;
	font-size: 11px;
	color: var(--hub6-text-secondary, #5b5750);
	margin-top: 3px;
}

#hub6-woo-checkout .co-side .ci b {
	font-size: 14px;
	font-weight: 650;
	white-space: nowrap;
}

#hub6-woo-checkout .tl {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 0;
	font-size: 14px;
	color: var(--hub6-text-secondary, #5b5750);
	border-top: 1px solid var(--hub6-border, #ddd7cc);
}

#hub6-woo-checkout .tl.big {
	font: 600 20px var(--display, "Space Grotesk", sans-serif);
	color: var(--hub6-text, #1b1a17);
	letter-spacing: -0.03em;
}

/* Place order / termos no resumo */
#hub6-woo-checkout .co-side .place-order {
	margin: 18px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	width: 100%;
}

#hub6-woo-checkout .co-side .woocommerce-privacy-policy-text,
#hub6-woo-checkout .co-side .woocommerce-terms-and-conditions-wrapper {
	font-size: 13px;
	line-height: 1.45;
	color: var(--hub6-text-secondary, #5b5750);
	margin-bottom: 12px;
}

#hub6-woo-checkout .co-side #place_order,
#hub6-woo-checkout .co-side .button-apricot,
#hub6-woo-checkout .co-side .loja-btn-apricot {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100% !important;
	min-height: 48px;
	margin-top: 14px !important;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--hub6-brand-strong, #1b1a17) !important;
	color: var(--hub6-ink, #f6f3ee) !important;
	font: 600 14px/1 var(--display, "Space Grotesk", sans-serif) !important;
	letter-spacing: -0.02em;
	cursor: pointer;
}

#hub6-woo-checkout .co-side #place_order:hover:not(:disabled):not([aria-disabled="true"]) {
	opacity: 0.92;
}

#hub6-woo-checkout .woocommerce-NoticeGroup,
#hub6-woo-checkout .woocommerce-error,
#hub6-woo-checkout .woocommerce-message {
	list-style: none;
	margin: 0 0 20px;
	padding: 16px 18px;
	border-radius: 12px;
	border: 1px solid var(--hub6-border, #ddd7cc);
	background: var(--hub6-surface, #fff);
	font-size: 13px;
	line-height: 1.55;
}

#hub6-woo-checkout .blockUI.blockOverlay {
	background: color-mix(in srgb, var(--hub6-bg, #f6f3ee) 70%, transparent) !important;
}

/* Gate: conta obrigatória (sem form de pedido no DOM) */
#hub6-woo-checkout .hub6-checkout-gate,
#hub6-woo-checkout .empty-p {
	text-align: center;
	max-width: 620px;
	margin: 40px auto;
	padding: 48px 30px;
}

#hub6-woo-checkout .hub6-checkout-gate .eyebrow {
	font: 600 10px/1.5 var(--mono, ui-monospace, Consolas, monospace);
	letter-spacing: 0.12em;
	color: var(--hub6-text-secondary, #5b5750);
	margin: 0 0 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

#hub6-woo-checkout .hub6-checkout-gate .pt {
	margin: 0 0 14px;
	font-size: clamp(28px, 4vw, 42px);
}

#hub6-woo-checkout .hub6-checkout-gate .hint {
	margin: 0 auto 26px;
	max-width: 42ch;
	font-size: 15px;
	line-height: 1.55;
}

#hub6-woo-checkout .hub6-checkout-gate .ctas {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

#hub6-woo-checkout .hub6-checkout-gate .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 999px;
	font: 600 14px/1 var(--display, "Space Grotesk", sans-serif);
	text-decoration: none;
}

#hub6-woo-checkout .hub6-checkout-gate .button-apricot {
	background: var(--apricot, #ffbc87);
	color: var(--hub6-ink, #1b1a17);
	border: 0;
}

#hub6-woo-checkout .hub6-checkout-gate .button-line {
	border: 1px solid var(--hub6-brand, #6b655b);
	color: var(--hub6-text, #1b1a17);
	background: transparent;
}

@media (max-width: 1100px) {
	#hub6-woo-checkout .wrap.page {
		width: calc(100% - 64px);
	}
}

@media (max-width: 900px) {
	#hub6-woo-checkout form.checkout.co {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	#hub6-woo-checkout .co-rail {
		position: static;
	}
	#hub6-woo-checkout .woocommerce-billing-fields__field-wrapper,
	#hub6-woo-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 820px) {
	#hub6-woo-checkout .wrap.page {
		width: calc(100% - 44px);
	}
}

@media (max-width: 600px) {
	#hub6-woo-checkout .wrap.page {
		width: calc(100% - 40px);
		padding: 24px 0 80px;
	}
	#hub6-woo-checkout .panel {
		padding: 20px;
	}
	#hub6-woo-checkout .section-number {
		width: 25px;
		height: 25px;
		font-size: 8px;
	}
}

@media (max-width: 360px) {
	#hub6-woo-checkout .wrap.page {
		width: calc(100% - 32px);
	}
}


/* =========================================================================
 * Ajustes minimos de UX (gate de obrigatorios + gateways).
 * ========================================================================= */

/* Obrigatorios: o asterisco de qualquer campo e vermelho. */
#hub6-woo-checkout .required,
#hub6-woo-checkout abbr.required,
#hub6-woo-checkout .required_field .required {
	color: #e02424 !important;
	font-weight: 700;
	border: 0;
	text-decoration: none;
}

/* Aviso visual de campo pendente (blur sem preenchimento). */
/* Obrigatorios — vermelho permanente ate o campo ser preenchido (fiel aos inputs do MP). */
#hub6-woo-checkout input.hub6-obrigatorio-erro.hub6-obrigatorio-erro.hub6-obrigatorio-erro,
#hub6-woo-checkout select.hub6-obrigatorio-erro.hub6-obrigatorio-erro.hub6-obrigatorio-erro,
#hub6-woo-checkout textarea.hub6-obrigatorio-erro.hub6-obrigatorio-erro.hub6-obrigatorio-erro {
	border-color: #e02424 !important;
	box-shadow: 0 0 0 1px #e02424 !important;
}

/* PayPal/PPCP: descricao de marketing em ingles do gateway — nao exibir. */
#hub6-woo-checkout #payment .payment_method_ppcp-gateway .payment_box {
	display: none !important;
}

/* PayPal/PPCP: botoes (cartao/PayPal) na largura da coluna, no lugar do Confirmar. */
#hub6-woo-checkout .ppc-button-wrapper {
	display: block !important;
	margin: 12px 0 0 !important;
}
#hub6-woo-checkout [data-hub6-place-slot] .ppc-button-wrapper {
	margin-top: 14px !important;
}

/* =========================================================================
 * Ajustes finos de UX (gateways + campos) - padronizacao.
 * ========================================================================= */

/* Radio maior e alinhado. */
#hub6-woo-checkout #payment .opt input.input-radio {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--hub6-brand, #6b655b);
}

/* Titulo e icone do metodo no mesmo eixo (icone ao lado, nao embaixo). */
#hub6-woo-checkout #payment .opt > span {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between;
	flex: 1 1 auto;
	gap: 10px !important;
	flex-wrap: wrap;
	min-width: 0;
	font-weight: 600;
	color: var(--hub6-text, #15171a);
}
#hub6-woo-checkout #payment .opt > span img {
	height: 24px !important;
	max-height: 24px !important;
	width: auto !important;
	max-width: 96px !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	order: 0 !important;
	object-fit: contain;
}

/* Fonte dos rotulos padronizada com o restante do checkout. */
#hub6-woo-checkout .form-row label,
#hub6-woo-checkout .mp-input-label {
	font-family: var(--body, "DM Sans", sans-serif) !important;
	font-size: 13px;
	font-weight: 600;
	color: var(--hub6-text, #15171a);
}

/* Cidade + Estado lado a lado (60% / 40%). */
#hub6-woo-checkout .hub6-city-state {
	display: flex !important;
	gap: 12px;
	align-items: flex-start;
}
#hub6-woo-checkout .hub6-city-state .form-row {
	flex: 1 1 0;
	min-width: 0;
	margin: 0 !important;
}
#hub6-woo-checkout .hub6-city-state .form-row:first-child { flex: 3 1 0; }
#hub6-woo-checkout .hub6-city-state .form-row:last-child  { flex: 2 1 0; }

/* Endereco + Numero na mesma linha. */
#hub6-woo-checkout .form-row#billing_address_1_field,
#hub6-woo-checkout .form-row#billing_address_number_field {
	display: inline-block;
	vertical-align: top;
	width: 66%;
	margin-right: 2%;
	box-sizing: border-box;
}
#hub6-woo-checkout .form-row#billing_address_number_field {
	width: 32%;
	margin-right: 0;
}

/* =========================================================================
 * Pix: o metodo continua selecionavel, mas a caixa de instrucoes nao desce.
 * ========================================================================= */
#hub6-woo-checkout #payment .payment_method_woo-mercado-pago-pix .payment_box,
#hub6-woo-checkout #payment .payment_method_woo-mercado-pago-pix .pm-box {
	display: none !important;
}

/* =========================================================================
 * Mercado Pago - cartao transparente.
 * ========================================================================= */

/* O plugin injeta padding 20/24/40 com !important; anulamos o padding extra
 * para os inputs encostarem na borda interna do painel sem cortar a borda. */
#hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-container {
	padding: 0 0 16px !important;
}

/* O iframe do campo seguro do cartao nascia com metade da largura e deixava
 * a borda do container "quebrada". Forca a largura total. */
#hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-card-input iframe {
	width: 100% !important;
}

/* Nome do titular sobe; numero do cartao desce para perto de validade/CVV. */
#hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-card-form > .mp-checkout-custom-card-row:nth-child(1) { order: 2; }
#hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-card-form > #mp-card-holder-div { order: 1; }
#hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-card-form > .mp-checkout-custom-card-row:nth-child(3) { order: 3; }
#hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-card-form > .mp-checkout-custom-input-document { order: 4; }

/* Bandeiras de cartao centralizadas. */
#hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-container .mp-checkout-custom-card-flags-list {
	justify-content: center !important;
}

/* Botoes do PPCP: aparencia de bloqueado enquanto faltar obrigatorio/termos. */
#hub6-woo-checkout .ppc-button-wrapper.hub6-ppc-blocked,
#hub6-woo-checkout #ppc-button-ppcp-card-button-gateway-v6.hub6-ppc-blocked {
	opacity: .5 !important;
	filter: grayscale(.25);
	transition: opacity .15s ease;
}

/* =========================================================================
 * Grade do endereco: 10 colunas.
 * Nome/Sobrenome 5/5, Endereco/No 7/3, Cidade/Estado 6/4, demais 10.
 * O JS address-i18n.js do Woo reordena os .form-row por data-priority; por
 * isso a grade vive no container, nao em wrappers que o JS desmonta.
 * ========================================================================= */
#hub6-woo-checkout .woocommerce-billing-fields__field-wrapper,
#hub6-woo-checkout .woocommerce-shipping-fields__field-wrapper,
#hub6-woo-checkout .woocommerce-additional-fields__field-wrapper {
	grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
}

#hub6-woo-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
#hub6-woo-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
#hub6-woo-checkout .woocommerce-additional-fields__field-wrapper > .form-row {
	grid-column: span 10;
}

#hub6-woo-checkout #billing_first_name_field { grid-column: span 5; }
#hub6-woo-checkout #billing_last_name_field  { grid-column: span 5; }
#hub6-woo-checkout #billing_address_1_field  { grid-column: span 7; }
#hub6-woo-checkout #billing_address_number_field { grid-column: span 3; }
#hub6-woo-checkout #billing_city_field  { grid-column: span 6; }
#hub6-woo-checkout #billing_state_field { grid-column: span 4; }

/* Endereco + No: a grade cuida da linha; sem inline-block/float. */
#hub6-woo-checkout .form-row#billing_address_1_field,
#hub6-woo-checkout .form-row#billing_address_number_field {
	display: grid !important;
	vertical-align: baseline;
	width: 100% !important;
	margin-right: 0 !important;
}

@media (max-width: 900px) {
	#hub6-woo-checkout .woocommerce-billing-fields__field-wrapper,
	#hub6-woo-checkout .woocommerce-shipping-fields__field-wrapper,
	#hub6-woo-checkout .woocommerce-additional-fields__field-wrapper {
		grid-template-columns: 1fr !important;
	}
	#hub6-woo-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
	#hub6-woo-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
	#hub6-woo-checkout .woocommerce-additional-fields__field-wrapper > .form-row {
		grid-column: 1 / -1 !important;
	}
}

/* =========================================================================
 * Finalizar compra — botoes normalizados + skeleton neutro.
 * O "Pagar com PayPal" e a referencia de espaco: 8px de row-gap do grid
 * de .place-order + 14px de margin aqui, iguais para o skeleton, para os
 * botoes PPCP e para o "Confirmar pedido".
 * ========================================================================= */

#hub6-woo-checkout [data-hub6-place-actions] {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
	min-width: 0;
	margin-top: 14px !important;
}
#hub6-woo-checkout .co-side [data-hub6-place-actions] > *,
#hub6-woo-checkout .co-side [data-hub6-place-actions] > .ppc-button-wrapper,
#hub6-woo-checkout .co-side [data-hub6-place-actions] > #ppc-button-ppcp-card-button-gateway-v6,
#hub6-woo-checkout .co-side [data-hub6-place-actions] > #place_order {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Skeleton neutro: barra cheia, sem texto, na cor do gateway escolhido. */
#hub6-woo-checkout [data-hub6-place-skel] {
	width: 100%;
	height: 48px;
	border: 0;
	border-radius: 999px !important;
	background: var(--hub6-brand-strong, #1b1a17);
	animation: hub6-place-skel-pulse 1.15s ease-in-out infinite;
	pointer-events: none;
}
#hub6-woo-checkout [data-hub6-place-skel]:not([hidden]) {
	display: block !important;
}
#hub6-woo-checkout [data-hub6-place-skel][hidden] {
	display: none !important;
}
#hub6-woo-checkout [data-hub6-place-actions][data-gw="ppcp-gateway"] [data-hub6-place-skel] { background: #ffc439; }
#hub6-woo-checkout [data-hub6-place-actions][data-gw="ppcp-card-button-gateway"] [data-hub6-place-skel] { background: #14141a; }
@keyframes hub6-place-skel-pulse {
	0%, 100% { opacity: .55; }
	50%      { opacity: .95; }
}

/* Debit & Credit Cards: o PPCP injeta <style data-hide-gateway> que esconde
 * a linha ate o eligibility rodar; a opcao tem que estar la no F5. */
#hub6-woo-checkout #payment .payment_method_ppcp-card-button-gateway {
	display: list-item !important;
}

/* PayPal, cartao PPCP e Pix: a caixa de descricao e suprimida; o card fica
 * inteiro arredondado ao selecionar (canto inferior ficava quadrado). */
#hub6-woo-checkout #payment .payment_method_ppcp-gateway > .opt,
#hub6-woo-checkout #payment .payment_method_ppcp-card-button-gateway > .opt,
#hub6-woo-checkout #payment .payment_method_woo-mercado-pago-pix > .opt {
	border-radius: 10px !important;
}

/* Mercado Pago - cartao transparente: os campos seguros nascem como divs com
 * iframe; forca a borda igual ao input nativo do titular. */
#hub6-woo-checkout #mp-checkout-custom-root #form-checkout__cardNumber-container,
#hub6-woo-checkout #mp-checkout-custom-root #form-checkout__expirationDate-container,
#hub6-woo-checkout #mp-checkout-custom-root #form-checkout__securityCode-container {
	border: 1px solid var(--andes-gray-250, rgba(0, 0, 0, 0.25)) !important;
	border-radius: 6px !important;
	background: #fff !important;
	overflow: hidden !important;
}
#hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-card-input iframe {
	display: block !important;
	height: 100% !important;
	border: 0 !important;
	background: transparent !important;
}

/* Pressed com a descricao suprimida: o .payment_box existe no DOM mas esta
 * oculto — o card precisa continuar com os cantos todos arredondados. */
#hub6-woo-checkout #payment .wc_payment_method.payment_method_ppcp-gateway:has(input:checked) > .opt,
#hub6-woo-checkout #payment .wc_payment_method.payment_method_ppcp-card-button-gateway:has(input:checked) > .opt,
#hub6-woo-checkout #payment .wc_payment_method.payment_method_woo-mercado-pago-pix:has(input:checked) > .opt {
	border-radius: 10px !important;
}

/* Todos os iframes de campo seguro (numero, validade, CVV) em block. */
#hub6-woo-checkout #mp-checkout-custom-root iframe {
	display: block !important;
}

/* =========================================================================
 * Slot de acao fixo: o skeleton e o pre-botao do gateway escolhido e ocupa
 * o MESMO slot do botao real — nada empilha, nada empurra.
 * ========================================================================= */
#hub6-woo-checkout [data-hub6-place-actions] {
	position: relative !important;
	min-height: 48px !important;
}
#hub6-woo-checkout [data-hub6-place-skel] {
	position: absolute !important;
	inset: 0 !important;
	height: auto !important;
	z-index: 5;
}

/* PPCP escolhido no F5: o pedido manual fica fora ate o botao do gateway
 * renderizar (ou ate o fallback liberar). */
/* Enquanto o pre-botao (esqueleto) estiver ativo, o pedido manual fica fora.
 * Vale para todos os gateways (F5 unificado: esqueleto -> botao de fato). */
#hub6-woo-checkout [data-hub6-place-actions].hub6-place-locked > #place_order {
	display: none !important;
}

/* =========================================================================
 * Obrigatorios — vermelho permanente nos campos pendentes.
 * ========================================================================= */
#hub6-woo-checkout .hub6-campo-obrigatorio {
	display: none;
	color: #e02424;
	font-size: 11px;
	font-weight: 600;
	margin-left: 6px;
	letter-spacing: .01em;
	white-space: nowrap;
}
/* Obrigatorios — vermelho permanente ate o campo ser preenchido (fiel aos inputs do MP). */
#hub6-woo-checkout input.hub6-obrigatorio-erro.hub6-obrigatorio-erro.hub6-obrigatorio-erro,
#hub6-woo-checkout select.hub6-obrigatorio-erro.hub6-obrigatorio-erro.hub6-obrigatorio-erro,
#hub6-woo-checkout textarea.hub6-obrigatorio-erro.hub6-obrigatorio-erro.hub6-obrigatorio-erro {
	border-color: #e02424 !important;
	box-shadow: 0 0 0 1px #e02424 !important;
}

/* Termos (Li e aceito): asterisco e toggle vermelhos enquanto desmarcar
 * + texto "É obrigatório aceitar" ao lado. */
#hub6-woo-checkout .co-terms .hub6-req { color: #e02424; }
#hub6-woo-checkout .co-terms .hub6-aceite-obrig { display: none; }
#hub6-woo-checkout .co-terms.hub6-aceite-erro .hub6-aceite-obrig { display: inline; }
#hub6-woo-checkout .co-terms.hub6-aceite-erro input[type="checkbox"] {
	accent-color: #e02424 !important;
}

/* co-trust (Compra segura): escudo no lugar da bolinha. */
#hub6-woo-checkout .co-trust-shield { color: #35C878; font-size: 12px; flex: none; }

/* =========================================================================
 * Mercado Pago — checkout transparente no modo noturno (data-theme="dark").
 * O formulário nasce claro; aqui a cara do tema escuro.
 * ========================================================================= */
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-container {
	background: transparent !important;
}
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-input-label {
	color: #f3f1ed !important;
}
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-input,
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root #form-checkout__cardNumber-container,
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root #form-checkout__expirationDate-container,
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root #form-checkout__securityCode-container {
	background: #232326 !important;
	border-color: rgba(255, 255, 255, .18) !important;
	color: #f3f1ed !important;
}
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root #mp-card-holder-div input.mp-card-holder-name,
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root #mp-doc-div input {
	background: #232326 !important;
	border-color: rgba(255, 255, 255, .18) !important;
	color: #f3f1ed !important;
}
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root #mp-card-holder-div input.mp-card-holder-name::placeholder {
	color: rgba(243, 241, 237, .45) !important;
}
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root .mp-helper-message.info,
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root #mp-card-holder-name-helper-info {
	color: #a8a59e !important;
}
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root .mp-wallet-button-container {
	background: #232326 !important;
	border-color: rgba(255, 255, 255, .12) !important;
}
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root .mp-wallet-button-title,
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root .mp-wallet-button-title span {
	color: #f3f1ed !important;
}
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root .mp-privacy-policy-footer,
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root .mp-privacy-policy-footer a {
	color: #c9c6bf !important;
}
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root #mp-security-code-info,
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-security-code-tooltip {
	border-color: rgba(255, 255, 255, .3) !important;
	color: #c9c6bf !important;
}
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root .mp-error-msg,
html[data-theme="dark"] #hub6-woo-checkout #mp-checkout-custom-root .mp-helper-message.error {
	color: #ff7a6b !important;
}

/* Asterisco obrigatorio some quando o campo esta alimentado. */
#hub6-woo-checkout .form-row.hub6-filled .hub6-req,
#hub6-woo-checkout .co-terms.hub6-filled .hub6-req {
	display: none !important;
}

/* CVV tooltip: circulo escuro no noturno; no claro segue os defaults do MP (pilha de prompt clara). */
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-security-code-tooltip,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root #mp-security-code-info {
	background: #17191c !important;
	border: 2px solid rgba(255, 255, 255, .3) !important;
	color: #f3f1ed !important;
	position: absolute !important;
	right: 6px !important;
	z-index: 5 !important;
}

/* MP: fonte do tema em tudo dentro do root (mata Proxima Nova). */
#hub6-woo-checkout #mp-checkout-custom-root,
#hub6-woo-checkout #mp-checkout-custom-root * {
	font-family: var(--body, 'DM Sans', sans-serif) !important;
}

/* MP no noturno: selects/campos "mp-input" com fundo escuro e texto claro. */
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-input,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-input-document,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root #form-checkout__identificationNumber-container,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root select.mp-document-select,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root select.mp-custom-checkout-select-input,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-input-select-input,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root select {
	background: #232326 !important;
	color: #F3F1ED !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	color-scheme: dark !important;
}
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-input-select-input svg,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-input-select-button {
	color: #F3F1ED !important;
	fill: #F3F1ED !important;
}
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root option {
	background: #232326;
	color: #F3F1ED;
}

/* ===== Mercado Pago no noturno — v2: remapeia as variáveis do próprio MP ===== */
html:not([data-theme="light"]) #hub6-woo-checkout {
	--andes-white: #232326 !important;
	--andes-gray-250: rgba(255, 255, 255, 0.18) !important;
	--andes-gray-900: #F3F1ED !important;
	--andes-gray-900-solid: #F3F1ED !important;
	--andes-gray-100-solid: #3A3833 !important;
	--andes-gray-color: rgba(255, 255, 255, .12) !important;
	--andes-text-color-primary: #F3F1ED !important;
	--andes-text-color-secondary: rgba(243, 241, 237, .55) !important;
	--woocommerce-primary: #FFBC87 !important;
	--mp-font-family: 'DM Sans', system-ui, sans-serif !important;
	--mp-font-inter: 'DM Sans', system-ui, sans-serif !important;
	--primary-font-family: 'DM Sans', system-ui, sans-serif !important;
	--andes-font-style: 'DM Sans', system-ui, sans-serif !important;
}

/* Recipiente do MP: branco cravado no plugin. */
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-container {
	background-color: #131312 !important;
}

/* Código de segurança: branco cravado no plugin. */
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-column .mp-checkout-custom-security-code-container .mp-checkout-custom-security-code-input {
	background: #232326 !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	color: #F3F1ED !important;
	font-family: 'DM Sans', system-ui, sans-serif !important;
	height: 48px !important;
}

/* Loading do cardForm (spinner): branco cravado. */
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-load {
	background-color: var(--hub6-surface-2, #1D1C19) !important;
}

/* PIX transparente (mesmo requisito: área escura, sem container branco). */
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-pix-root.mp-checkout-pix-container,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-pix-root .mp-pix-template-container {
	background-color: var(--hub6-surface-2, #1D1C19) !important;
	color: #F3F1ED !important;
}
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-pix-root .mp-pix-template-title,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-pix-root .mp-pix-template-subtitle {
	color: #F3F1ED !important;
}

/* MP: estado de carregamento (irmão do #mp-checkout-custom-root) no noturno — o mesmo tom do wallet card. */
html:not([data-theme="light"]) #hub6-woo-checkout .mp-checkout-custom-load {
	background: var(--hub6-surface-2, #1D1C19) !important;
	color: #A9A59E !important;
}

/* MP: override do CSS externo (CDN) do MP que forca fundo branco nos campos do
   cartao no noturno — especificidade maxima (caminho completo desde #payment). */
html:not([data-theme="light"]) #hub6-woo-checkout #payment .wc_payment_method.payment_method_woo-mercado-pago-custom .payment_box.gateway-fields #mp-checkout-custom-root #mp-custom-checkout-form-container #form-checkout__cardNumber-container,
html:not([data-theme="light"]) #hub6-woo-checkout #payment .wc_payment_method.payment_method_woo-mercado-pago-custom .payment_box.gateway-fields #mp-checkout-custom-root #mp-custom-checkout-form-container #form-checkout__expirationDate-container,
html:not([data-theme="light"]) #hub6-woo-checkout #payment .wc_payment_method.payment_method_woo-mercado-pago-custom .payment_box.gateway-fields #mp-checkout-custom-root #mp-custom-checkout-form-container #form-checkout__securityCode-container {
	background: #232326 !important;
	border-color: rgba(255, 255, 255, 0.18) !important;
	color: #F3F1ED !important;
	color-scheme: dark !important;
}

/* Loja digital: a linha de Frete fica oculta (markup mantido para o Woo). */
#hub6-woo-checkout .tl[data-hub6-shipping="digital"] {
	display: none !important;
}

/* Noturno: inverte os iframes do MP para ficarem escuros como o nome do titular.
   Chrome pinta os secure-fields opacos; o invert reproduz o mesmo #232326 do tema. */
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-card-input iframe,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-security-code-input iframe {
	filter: invert(86%) hue-rotate(180deg) !important;
}

/* MP card area: o fundo da box do MP acompanha a cor do card pai
   (hub6-surface-2), nos dois temas. */
html:not([data-theme="light"]) #hub6-woo-checkout #payment .payment_box.payment_method_woo-mercado-pago-custom,
html[data-theme="light"] #hub6-woo-checkout #payment .payment_box.payment_method_woo-mercado-pago-custom {
	background: var(--hub6-surface-2, #efebe4) !important;
}

/* MP: o .mp-checkout-custom-container segue a cor do card pai (nos 2 temas). */
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-container,
html[data-theme="light"] #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-container {
	background: var(--hub6-surface-2, #efebe4) !important;
}

/* MP helper ("Conforme aparece no cartão") com fundo transparente — visual de card sólido. */
#hub6-woo-checkout #mp-checkout-custom-root .mp-helper-message,
#hub6-woo-checkout #mp-checkout-custom-root .mp-helper-message.info {
	background: transparent !important;
	background-color: transparent !important;
}

/* CVV hover balloon — noturno: fundo escuro + texto claro (igual o tooltip). */
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-security-code-tooltip:hover::after,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root #mp-security-code-info:hover::after {
	background: #17191c !important;
	color: #f3f1ed !important;
	border: 1px solid rgba(255,255,255,.18) !important;
	box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .5) !important;
}
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root .mp-checkout-custom-security-code-tooltip:hover::before,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root #mp-security-code-info:hover::before {
	border-bottom-color: #17191c !important;
}

/* Noturno: bordas dos 3 campos seguros do MP iguais à borda do nome do titular (mesa vs transparente-alpha). */
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root #form-checkout__cardNumber-container,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root #form-checkout__expirationDate-container,
html:not([data-theme="light"]) #hub6-woo-checkout #mp-checkout-custom-root #form-checkout__securityCode-container {
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

/* MP: esconder a area de campos do cartao ate o mount terminar (a basica'
'interacao permanece se MP nao for o escolhido). */
#hub6-woo-checkout #payment .payment_box.payment_method_woo-mercado-pago-custom {
	visibility: hidden !important;
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}
html.hub6-mp-mounted #hub6-woo-checkout #payment .payment_box.payment_method_woo-mercado-pago-custom {
	visibility: visible !important;
	position: relative !important;
	left: auto !important;
	width: auto !important;
	height: auto !important;
	overflow: visible !important;
}

/* PPCP card button modal: card fields do PayPal dentro de modal central, com
   padding interno; o backdrop fica ATRAS do modal; ao fechar, nada permanece visivel. */
.hub6-ppcp-modal-backdrop {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(8, 8, 8, .82) !important;
	z-index: 9998 !important;
	display: none;
}
.hub6-ppcp-modal-backdrop.is-open { display: block !important; }
html.hub6-ppcp-modal-on { overflow: hidden !important; }

/* Sempre some completamente quando fechada (nada vaza abaixo do botao). */
#hub6-woo-checkout paypal-sdk-iframe:not([open]),
paypal-sdk-iframe:not([open]) {
	display: none !important;
}

/* Durante a expansao do PayPal (antes da modal receber a classe), nada inline abaixo do botao. */
#hub6-woo-checkout paypal-sdk-iframe[open]:not(.hub6-ppcp-modal-iframe),
paypal-sdk-iframe[open]:not(.hub6-ppcp-modal-iframe) {
	display: none !important;
}

/* Card fields renderizam dentro de shadow DOM; o host e estilizado aqui. */
paypal-sdk-iframe.hub6-ppcp-modal-iframe {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	margin: 0 !important;
	width: min(480px, calc(100vw - 32px)) !important;
	height: min(720px, calc(100vh - 48px)) !important;
	padding: 18px 20px !important;
	box-sizing: border-box !important;
	background: #FFFFFF !important;
	border: 0 !important;
	border-radius: 16px !important;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .55) !important;
	overflow: hidden !important;
	z-index: 9999 !important;
}

/* Obrigatorios: o titulo do input vazio fica vermelho junto (some ao preencher). */
#hub6-woo-checkout .form-row:has(.hub6-obrigatorio-erro) label {
	color: #e02424 !important;
}

/* Toggle de aceite (Li e aceito): checkbox proprio; borda ATUAL vermelha enquanto desmarcado. */
#hub6-woo-checkout .co-terms input[type="checkbox"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	flex: none;
	width: 15px !important;
	height: 15px !important;
	margin-top: 3px;
	border: 1.5px solid var(--hub6-border, #d8d4c9) !important;
	border-radius: 4px !important;
	background: transparent !important;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease;
}
html:not([data-theme="light"]) #hub6-woo-checkout .co-terms input[type="checkbox"] {
	border-color: #4f4c4b !important;
	background-color: #2b2a28 !important;
}
#hub6-woo-checkout .co-terms input[type="checkbox"]:checked {
	border-color: var(--hub6-brand, #6b655b) !important;
	background: var(--hub6-brand, #6b655b) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center / 11px no-repeat !important;
}
#hub6-woo-checkout .co-terms.hub6-aceite-erro input[type="checkbox"] {
	border-color: #e02424 !important;
}
#hub6-woo-checkout .co-terms.hub6-aceite-erro input[type="checkbox"]:checked {
	border-color: var(--hub6-brand, #6b655b) !important;
	background: var(--hub6-brand, #6b655b) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center / 11px no-repeat !important;
}

/* Botao proprio do caminho PPCP Cartao: substitui visualmente o botao do SDK
   do PayPal, que mantem o fluxo seguro escondido mas vivo (bcdc-click). */
#hub6-woo-checkout .hub6-ppc-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	min-height: 48px;
	margin-top: 0;
	border: 0;
	border-radius: 8px;
	background: #ffc439;
	color: #111;
	font: 700 15px/1.1 var(--body, inherit);
	letter-spacing: .01em;
	cursor: pointer;
	transition: background .15s ease, opacity .15s ease, transform .15s ease;
}
#hub6-woo-checkout .hub6-ppc-button:hover:not(:disabled) { background: #ffb300; }
#hub6-woo-checkout .hub6-ppc-button:active:not(:disabled) { transform: translateY(1px); }
#hub6-woo-checkout .hub6-ppc-button:disabled {
	opacity: .5;
	cursor: not-allowed;
	filter: grayscale(.25);
}
