/*
 * Madame Charlotte 4.0 — telas da loja.
 *
 * Catálogo, página de produto, sacola, checkout, conta da cliente e pedido.
 * Depende dos tokens definidos em main.css.
 */

/* ==========================================================================
   1. Cabeçalho das páginas da loja e breadcrumb
   ========================================================================== */
.mc-commerce-page {
	padding-top: clamp(24px, 4vw, 44px);
}

.mc-commerce-page__header {
	margin-bottom: clamp(20px, 3vw, 32px);
}

.mc-commerce-page__header h1 {
	margin: 0;
	font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem);
}

.mc-commerce-page--account .mc-commerce-page__header,
.mc-commerce-page--order .mc-commerce-page__header {
	text-align: left;
}

.woocommerce-account:not(.logged-in) .mc-commerce-page__header {
	text-align: center;
}

.mc-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
	margin: 0 0 18px;
	color: var(--mc-subtle);
	font-size: 0.82rem;
}

.mc-breadcrumb a {
	color: var(--mc-muted);
	text-decoration: none;
}

.mc-breadcrumb a:hover {
	color: var(--mc-red);
}

.mc-breadcrumb span[aria-hidden] {
	opacity: 0.5;
}

/* ==========================================================================
   2. Catálogo
   ========================================================================== */
.mc-catalog {
	padding-top: clamp(20px, 3vw, 32px);
}

.mc-catalog-hero {
	position: relative;
	display: grid;
	gap: 10px;
	align-items: center;
	margin-bottom: 18px;
	padding: clamp(22px, 3.4vw, 40px);
	overflow: hidden;
	border-radius: var(--mc-r-lg);
	background:
		radial-gradient(70% 140% at 100% 0%, color-mix(in srgb, var(--mc-red) 12%, transparent) 0%, transparent 70%),
		var(--mc-bg-soft);
	border: 1px solid var(--mc-line);
	isolation: isolate;
}

.mc-catalog-hero .mc-breadcrumb {
	margin-bottom: 2px;
}

.mc-catalog-hero__content {
	display: grid;
	justify-items: start;
	gap: 8px;
	max-width: 620px;
}

.mc-catalog-hero h1 {
	margin: 0;
	font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3rem);
	line-height: 1.05;
}

.mc-catalog-hero p {
	margin: 0;
	color: var(--mc-muted);
	font-size: 0.98rem;
	line-height: 1.55;
}

.mc-catalog-hero .mc-eyebrow {
	gap: 8px;
}

.mc-catalog-hero__emoji {
	font-size: 1rem;
	letter-spacing: 0;
}

.mc-catalog-hero__emoji img.emoji {
	width: 1em !important;
	height: 1em !important;
	margin: 0 !important;
}

.mc-catalog-hero__count {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	margin-top: 4px;
	padding: 0 12px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-pill);
	background: #ffffff;
	color: var(--mc-ink);
	font-size: 0.78rem;
	font-weight: 700;
}

/* Com foto: faixa escura e elegante, foto à direita esmaecendo no fundo. */
.mc-catalog-hero.has-image {
	min-height: 220px;
	border-color: transparent;
	background:
		radial-gradient(80% 120% at 0% 100%, color-mix(in srgb, var(--mc-red) 38%, transparent) 0%, transparent 62%),
		var(--mc-black);
	color: #ffffff;
}

.mc-catalog-hero__media {
	position: absolute;
	inset: 0 0 0 auto;
	z-index: -1;
	width: min(62%, 560px);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 55%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 55%);
}

.mc-catalog-hero__media .mc-catalog-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.62;
}

.mc-catalog-hero.has-image h1 {
	color: #ffffff;
}

.mc-catalog-hero.has-image p {
	max-width: 46ch;
	color: rgb(255 255 255 / 0.76);
}

.mc-catalog-hero.has-image .mc-eyebrow {
	color: color-mix(in srgb, var(--mc-red) 30%, #ffffff);
}

.mc-catalog-hero.has-image .mc-breadcrumb,
.mc-catalog-hero.has-image .mc-breadcrumb a {
	color: rgb(255 255 255 / 0.66);
}

.mc-catalog-hero.has-image .mc-breadcrumb a:hover {
	color: #ffffff;
}

.mc-catalog-hero.has-image .mc-catalog-hero__count {
	border-color: rgb(255 255 255 / 0.22);
	background: rgb(255 255 255 / 0.1);
	color: #ffffff;
}

@media (min-width: 900px) {
	.mc-catalog-hero.has-image {
		min-height: 260px;
	}

	.mc-catalog-hero__media .mc-catalog-hero__image {
		opacity: 0.85;
	}
}

/* Atalhos de categoria: sempre uma linha, rolagem lateral com setas no computador. */
.mc-catalog-chips {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 22px;
}

.mc-catalog-chips__track {
	display: flex;
	flex: 1 1 auto;
	gap: 8px;
	min-width: 0;
	margin-inline: calc(var(--mc-gutter) * -1);
	padding: 2px var(--mc-gutter) 6px;
	overflow-x: auto;
	scrollbar-width: none;
	scroll-behavior: smooth;
	scroll-snap-type: x proximity;
	overscroll-behavior-x: contain;
}

.mc-catalog-chips__track::-webkit-scrollbar {
	display: none;
}

.mc-catalog-chips__track a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-pill);
	background: #ffffff;
	color: var(--mc-ink);
	font-size: 0.86rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	scroll-snap-align: start;
	transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}

.mc-catalog-chips__track a:hover {
	border-color: var(--mc-black);
	color: var(--mc-black);
}

.mc-catalog-chips__track a.is-current {
	border-color: var(--mc-black);
	background: var(--mc-black);
	color: var(--mc-on-black);
}

.mc-catalog-chips__track .mc-catalog-chip--sale {
	border-color: color-mix(in srgb, var(--mc-red) 30%, #ffffff);
	color: var(--mc-red);
}

.mc-catalog-chips__track .mc-catalog-chip--sale.is-current {
	border-color: var(--mc-red);
	background: var(--mc-red);
	color: var(--mc-on-accent);
}

.mc-catalog-chips__nav {
	display: none;
}

@media (min-width: 1024px) {
	.mc-catalog-chips__track {
		margin: 0;
		padding: 2px 0 4px;
	}

	.mc-catalog-chips.is-scrollable .mc-catalog-chips__track {
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 40px), transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 40px), transparent 100%);
	}

	.mc-catalog-chips.is-at-start .mc-catalog-chips__track {
		-webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 40px), transparent 100%);
		mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 40px), transparent 100%);
	}

	.mc-catalog-chips.is-at-end .mc-catalog-chips__track {
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px);
		mask-image: linear-gradient(90deg, transparent 0, #000 24px);
	}

	.mc-catalog-chips__nav {
		display: grid;
		flex: 0 0 auto;
		place-items: center;
		width: 38px;
		height: 38px;
		padding: 0;
		border: 1px solid var(--mc-line);
		border-radius: 50%;
		background: #ffffff;
		color: var(--mc-ink);
		cursor: pointer;
		transition: border-color 0.2s, color 0.2s;
	}

	.mc-catalog-chips__nav[hidden] {
		display: none;
	}

	.mc-catalog-chips__nav:hover {
		border-color: var(--mc-black);
		color: var(--mc-black);
	}

	.mc-catalog-chips__nav .mc-icon {
		width: 16px;
		height: 16px;
	}
}

.mc-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
}

.mc-shop-toolbar .woocommerce-notices-wrapper {
	flex-basis: 100%;
}

.woocommerce-result-count {
	margin: 0;
	color: var(--mc-muted);
	font-size: 0.9rem;
	font-weight: 600;
}

.woocommerce-ordering {
	margin: 0;
}

.woocommerce-ordering select {
	width: auto;
	min-width: 210px;
	min-height: 44px;
	border-radius: var(--mc-r-pill);
	font-size: 0.9rem;
	font-weight: 600;
}

.woocommerce-no-products-found .woocommerce-info {
	justify-content: center;
}

/* ==========================================================================
   3. Página de produto
   ========================================================================== */
.mc-single-product-page {
	padding-top: clamp(16px, 3vw, 28px);
}

.mc-product__main {
	display: grid;
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
}

.mc-product__gallery {
	position: relative;
	min-width: 0;
}

/* No celular, o vídeo vem depois das informações de compra. */
@media (max-width: 899px) {
	.mc-product__main {
		display: flex;
		flex-direction: column;
		position: relative;
	}

	.mc-product__gallery {
		display: contents;
	}

	.mc-product__gallery > .woocommerce-product-gallery {
		order: 1;
	}

	.mc-product__summary {
		order: 2;
	}

	.mc-product__gallery > .mc-product-video {
		order: 3;
		margin-top: 0;
	}
}

@media (min-width: 900px) {
	.mc-product__main {
		grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
	}

	/* A galeria acompanha a rolagem enquanto a cliente lê o resumo. */
	.mc-product__gallery {
		position: sticky;
		top: 150px;
	}
}

.mc-product__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 5;
	padding: 6px 14px;
	font-size: 0.8rem;
}

/* Galeria nativa do WooCommerce */
.woocommerce-product-gallery {
	position: relative;
	margin: 0;
}

.woocommerce-product-gallery__wrapper {
	margin: 0;
}

.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child {
	overflow: hidden;
	border-radius: var(--mc-r-lg);
	background: var(--mc-surface);
}

.woocommerce-product-gallery__image a {
	display: block;
}

.woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
}

.woocommerce-product-gallery__trigger {
	display: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.woocommerce-product-gallery .flex-control-thumbs li {
	overflow: hidden;
	border-radius: var(--mc-r-sm);
	background: var(--mc-surface);
}

.woocommerce-product-gallery .flex-control-thumbs img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	opacity: 0.55;
	cursor: pointer;
	transition: opacity 0.2s;
	border: 2px solid transparent;
	border-radius: var(--mc-r-sm);
}

.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	opacity: 1;
}

.woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	border-color: var(--mc-black);
}

.woocommerce-product-gallery .flex-direction-nav {
	display: none;
}

.mc-product-gallery-tools {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 4;
	display: flex;
	gap: 8px;
}

.mc-product-gallery-tools__counter:empty {
	display: none;
}

.mc-product-gallery-tools__counter,
.mc-product-gallery-tools__zoom {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 12px;
	border: 0;
	border-radius: var(--mc-r-pill);
	background: rgb(255 255 255 / 0.92);
	color: var(--mc-black);
	font-size: 0.78rem;
	font-weight: 700;
	box-shadow: var(--mc-shadow-xs);
}

/* Vídeo do produto (Suite) */
.mc-product-video {
	margin: 16px 0 0;
	padding: 14px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: #ffffff;
}

.mc-product-video__frame {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--mc-r);
	background: var(--mc-black);
}

.mc-product-video__frame iframe,
.mc-product-video__frame video {
	width: 100%;
	height: 100%;
	border: 0;
}

.mc-product-video__play {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	align-content: center;
	gap: 10px;
	width: 100%;
	padding: 0;
	border: 0;
	background: var(--mc-black);
	color: #ffffff;
}

.mc-product-video__play img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.55;
}

.mc-product-video__play-icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	padding-left: 4px;
	border-radius: 50%;
	background: var(--mc-red);
	font-size: 1.4rem;
	box-shadow: 0 0 0 10px rgb(255 255 255 / 0.15);
}

.mc-product-video__play-label {
	position: relative;
	font-weight: 700;
}

.mc-product-video figcaption {
	margin-top: 10px;
	font-weight: 700;
}

.mc-product-video__link {
	color: var(--mc-muted);
	font-size: 0.85rem;
}

/* Resumo de compra */
.mc-product__summary {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.mc-product__summary > * {
	margin: 0;
}

.mc-product-category-kicker a,
.mc-product-category-kicker span {
	color: var(--mc-red);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-decoration: none;
	text-transform: uppercase;
}

.mc-product__summary .product_title {
	margin: -6px 0 0;
	font-size: clamp(1.8rem, 1.3rem + 2vw, 2.6rem);
	line-height: 1.12;
}

.mc-single-proof {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	font-size: 0.85rem;
}

.mc-single-proof__rating {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--mc-black);
	text-decoration: none;
}

.mc-single-proof__rating strong {
	color: var(--mc-gold);
}

.mc-single-proof__rating span {
	color: var(--mc-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mc-single-proof__sales {
	color: var(--mc-muted);
	font-weight: 600;
}

.mc-product__summary > .price,
.mc-product__summary p.price {
	color: var(--mc-black);
	font-size: clamp(1.8rem, 1.5rem + 1vw, 2.2rem);
	font-weight: 800;
	line-height: 1.1;
}

.mc-product__summary p.price del {
	font-size: 0.55em;
	vertical-align: middle;
}

.mc-pay-box {
	display: grid;
	overflow: hidden;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
	background: #ffffff;
}

.mc-pay-box__row {
	display: grid;
	grid-template-columns: 44px 1fr;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
}

.mc-pay-box__row + .mc-pay-box__row {
	border-top: 1px solid var(--mc-line);
}

.mc-pay-box__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: var(--mc-r-sm);
	background: var(--mc-surface);
	color: var(--mc-black);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.mc-pay-box__icon .mc-icon {
	width: 22px;
	height: 22px;
}

.mc-pay-box__row--pix .mc-pay-box__icon {
	background: var(--mc-pix-soft);
	color: var(--mc-pix);
}

.mc-pay-box p {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 8px;
	margin: 0;
	line-height: 1.35;
}

.mc-pay-box strong {
	color: var(--mc-black);
	font-size: 1.05rem;
}

.mc-pay-box__row--pix strong {
	color: var(--mc-pix);
	font-size: 1.25rem;
}

.mc-pay-box p > span {
	color: var(--mc-muted);
	font-weight: 600;
}

.mc-pay-box small {
	flex-basis: 100%;
	color: var(--mc-muted);
	font-size: 0.8rem;
}

.mc-pay-box__row--pix small {
	color: var(--mc-pix);
	font-weight: 600;
}

.mc-product-purchase-summary p {
	margin: 0;
	color: var(--mc-muted);
	font-size: 1rem;
	line-height: 1.7;
}

.mc-product-purchase-summary ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.mc-product-purchase-summary li {
	padding: 6px 12px;
	border-radius: var(--mc-r-pill);
	background: var(--mc-surface);
	font-size: 0.82rem;
	font-weight: 600;
}

/* Formulário de compra */
.mc-product__summary form.cart {
	display: grid;
	gap: 12px;
	padding: 18px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: var(--mc-bg-soft);
}

.mc-product__summary form.cart:not(.variations_form),
.mc-product__summary .woocommerce-variation-add-to-cart {
	grid-template-columns: auto 1fr;
	align-items: stretch;
}

.mc-product__summary form.variations_form {
	grid-template-columns: 1fr;
}

.mc-product__summary .woocommerce-variation-add-to-cart {
	display: grid;
	gap: 12px;
}

.mc-product__summary form.cart > *:not(.quantity):not(.single_add_to_cart_button),
.mc-product__summary .woocommerce-variation-add-to-cart > *:not(.quantity):not(.single_add_to_cart_button) {
	grid-column: 1 / -1;
}

.mc-product__summary .quantity {
	display: flex;
	align-items: center;
}

.mc-product__summary .quantity .qty,
.mc-cart-item .quantity .qty,
.quantity .qty {
	width: 76px;
	min-height: 54px;
	padding: 0 8px;
	border-radius: var(--mc-r-pill);
	text-align: center;
	font-weight: 700;
	-moz-appearance: textfield;
}

.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button {
	opacity: 1;
}

.mc-product__summary .single_add_to_cart_button {
	width: 100%;
	min-height: 54px;
	font-size: 1rem;
	letter-spacing: 0.02em;
}

.mc-add-to-bag {
	--mc-btn-bg: #ffffff;
	--mc-btn-color: var(--mc-black);
	--mc-btn-border: var(--mc-black);
	width: 100%;
	min-height: 50px;
}

.mc-add-to-bag:hover {
	--mc-btn-bg: var(--mc-black);
	--mc-btn-color: var(--mc-on-black);
}

.mc-add-to-bag.is-blocked {
	opacity: 0.5;
}

/* Variações */
.mc-product__summary table.variations {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
}

.mc-product__summary table.variations tr {
	display: grid;
	gap: 8px;
	margin-bottom: 14px;
}

.mc-product__summary table.variations th,
.mc-product__summary table.variations td {
	display: block;
	padding: 0;
	text-align: left;
}

.mc-product__summary table.variations label {
	font-size: 0.88rem;
	font-weight: 700;
}

.mc-variation-native-select--enhanced {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none;
}

.mc-variation-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mc-variation-chip {
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid var(--mc-line-strong);
	border-radius: var(--mc-r-pill);
	background: #ffffff;
	color: var(--mc-black);
	font-size: 0.88rem;
	font-weight: 600;
	transition: border-color 0.2s, background-color 0.2s;
}

.mc-variation-chip:hover:not(:disabled) {
	border-color: var(--mc-black);
}

.mc-variation-chip.is-selected {
	border-color: var(--mc-black);
	background: var(--mc-black);
	color: var(--mc-on-black);
}

.mc-variation-chip.is-unavailable {
	opacity: 0.4;
	text-decoration: line-through;
	cursor: not-allowed;
}

.reset_variations {
	display: inline-block;
	margin-top: 6px;
	color: var(--mc-muted);
	font-size: 0.82rem;
}

.woocommerce-variation-price .price {
	font-size: 1.3rem;
	font-weight: 800;
}

.woocommerce-variation-availability p,
.mc-product__summary .stock {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 700;
}

.stock.out-of-stock {
	color: var(--mc-error);
}

.stock.in-stock,
.stock.available-on-backorder {
	color: var(--mc-success);
}

/* Simulador de entrega */
.mc-product-shipping {
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
	background: #ffffff;
}

.mc-product-shipping__summary {
	display: grid;
	grid-template-columns: 40px 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	list-style: none;
	cursor: pointer;
}

.mc-product-shipping__summary::-webkit-details-marker {
	display: none;
}

.mc-product-shipping__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--mc-accent-soft);
	color: var(--mc-red);
}

.mc-product-shipping__summary-copy {
	display: grid;
	line-height: 1.3;
}

.mc-product-shipping__summary-copy small {
	margin-top: 3px;
	color: var(--mc-muted);
	font-size: 0.78rem;
}

.mc-product-shipping__chevron {
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--mc-muted);
	border-bottom: 2px solid var(--mc-muted);
	transform: rotate(45deg);
	transition: transform 0.25s var(--mc-ease);
}

.mc-product-shipping[open] .mc-product-shipping__chevron {
	transform: rotate(-135deg);
}

.mc-product-shipping__body {
	display: grid;
	gap: 10px;
	padding: 0 16px 16px;
}

.mc-product-shipping__postcode label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.85rem;
	font-weight: 700;
}

.mc-product-shipping__postcode > div {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
}

.mc-product-shipping__postcode input {
	min-height: 46px;
	border-radius: var(--mc-r-pill);
}

.mc-product-shipping__postcode .button {
	min-height: 46px;
	padding: 0 20px;
}

.mc-product-shipping__feedback {
	color: var(--mc-muted);
	font-size: 0.82rem;
}

.mc-product-shipping[data-mc-shipping-state="error"] .mc-product-shipping__feedback {
	color: var(--mc-error);
	font-weight: 600;
}

.mc-product-shipping[data-mc-shipping-state="success"] .mc-product-shipping__feedback {
	color: var(--mc-success);
	font-weight: 600;
}

.mc-product-shipping.is-invalid {
	border-color: var(--mc-error);
}

.mc-product-shipping__options {
	display: grid;
	gap: 8px;
}

.mc-product-shipping__option {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-sm);
	cursor: pointer;
	transition: border-color 0.2s, background-color 0.2s;
}

.mc-product-shipping__option:hover {
	border-color: var(--mc-line-strong);
}

.mc-product-shipping__option.is-selected {
	border-color: var(--mc-black);
	background: var(--mc-bg-soft);
}

.mc-product-shipping__option-icon {
	display: none;
}

.mc-product-shipping__option-copy {
	display: grid;
	line-height: 1.3;
}

.mc-product-shipping__option-copy strong {
	font-size: 0.9rem;
}

.mc-product-shipping__option-copy small {
	color: var(--mc-muted);
	font-size: 0.78rem;
}

.mc-product-shipping__option-price {
	display: grid;
	justify-items: end;
	font-weight: 800;
	font-size: 0.92rem;
}

.mc-product-shipping__option-tag {
	color: var(--mc-success);
	font-size: 0.68rem;
	font-weight: 700;
}

.mc-shipping-simulator-superseded {
	display: none !important;
}

/* Confiança e ajuda */
.mc-buy-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mc-buy-trust li {
	display: grid;
	justify-items: center;
	gap: 6px;
	padding: 12px 6px;
	border-radius: var(--mc-r-sm);
	background: var(--mc-bg-soft);
	color: var(--mc-ink);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.mc-buy-trust .mc-icon {
	width: 22px;
	height: 22px;
	color: var(--mc-red);
}

.mc-buy-help {
	display: grid;
	grid-template-columns: 44px 1fr;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid color-mix(in srgb, #1fa855 30%, #ffffff);
	border-radius: var(--mc-r);
	background: #f1fbf4;
	color: var(--mc-black);
	text-decoration: none;
	transition: box-shadow 0.2s;
}

.mc-buy-help:hover {
	color: var(--mc-black);
	box-shadow: var(--mc-shadow-sm);
}

.mc-buy-help .mc-icon {
	width: 44px;
	height: 44px;
	padding: 10px;
	border-radius: 50%;
	background: #1fa855;
	color: #ffffff;
}

.mc-buy-help strong {
	display: block;
	font-size: 0.92rem;
}

.mc-buy-help small {
	display: block;
	color: var(--mc-muted);
	font-size: 0.8rem;
	line-height: 1.4;
}

/* Detalhes, avaliações e recomendações */
.mc-product__details {
	margin-top: clamp(40px, 6vw, 72px);
}

.mc-product-accordions {
	display: grid;
	gap: 16px;
	max-width: 900px;
}

.mc-product-accordions__title {
	margin: 0;
	font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.1rem);
}

.mc-product-accordions__list {
	border-top: 1px solid var(--mc-line);
}

.mc-product-accordion {
	border-bottom: 1px solid var(--mc-line);
}

.mc-product-accordion summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 4px;
	color: var(--mc-black);
	font-size: 1.05rem;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}

.mc-product-accordion summary::-webkit-details-marker {
	display: none;
}

.mc-product-accordion__plus {
	position: relative;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--mc-surface);
}

.mc-product-accordion__plus::before,
.mc-product-accordion__plus::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 12px;
	height: 2px;
	border-radius: 2px;
	background: var(--mc-black);
	transition: transform 0.3s var(--mc-ease);
}

.mc-product-accordion__plus::after {
	transform: rotate(90deg);
}

.mc-product-accordion[open] .mc-product-accordion__plus::after {
	transform: none;
}

.mc-product-accordion__content {
	padding: 0 4px 24px;
	color: var(--mc-ink);
	line-height: 1.75;
}

.mc-product-accordion__content > h2:first-child {
	display: none;
}

/* Descrições coladas de fornecedores costumam vir centralizadas: texto
   alinhado à esquerda é mais fácil de ler, principalmente no celular. */
.mc-product-accordion--description .mc-product-accordion__content :is(p, li, div, span)[style*="text-align"],
.mc-product-accordion--description .mc-product-accordion__content .has-text-align-center {
	text-align: left !important;
}

.mc-product-accordion__content table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
}

.mc-product-accordion__content table.shop_attributes th,
.mc-product-accordion__content table.shop_attributes td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--mc-line);
	text-align: left;
	vertical-align: top;
}

.mc-product-accordion__content table.shop_attributes th {
	width: 35%;
	color: var(--mc-muted);
	font-weight: 600;
}

.mc-product-accordion__content table.shop_attributes p {
	margin: 0;
}

/* Avaliações nativas */
#reviews .woocommerce-Reviews-title,
#reviews #reply-title {
	font-family: var(--mc-font-display);
	font-size: 1.3rem;
}

#reviews .commentlist {
	display: grid;
	gap: 14px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

#reviews .commentlist li .comment_container {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
}

#reviews .commentlist img.avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
}

#reviews .comment-text .meta {
	margin: 4px 0 8px;
	color: var(--mc-muted);
	font-size: 0.85rem;
}

#reviews .comment-text .description p {
	margin: 0;
}

#review_form_wrapper {
	padding: 20px;
	border-radius: var(--mc-r);
	background: var(--mc-bg-soft);
}

#review_form .comment-form {
	display: grid;
	gap: 14px;
}

#review_form .comment-form p {
	margin: 0;
}

#review_form label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.88rem;
	font-weight: 700;
}

p.stars {
	margin: 0;
}

p.stars span {
	display: inline-flex;
	gap: 2px;
}

p.stars a {
	position: relative;
	display: inline-block;
	width: 1.6em;
	height: 1.6em;
	overflow: hidden;
	color: transparent;
	font-size: 1.2rem;
	text-indent: -999em;
	text-decoration: none;
}

p.stars a::before {
	content: "★";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: var(--mc-line-strong);
	text-indent: 0;
}

p.stars:hover a::before,
p.stars.selected a:not(.active)::before,
p.stars.selected a.active::before {
	color: var(--mc-gold);
}

p.stars a:hover ~ a::before,
p.stars.selected a.active ~ a::before {
	color: var(--mc-line-strong);
}

#review_form .form-submit input[type="submit"] {
	min-height: 48px;
	padding: 0 26px;
	border: 0;
	border-radius: var(--mc-r-pill);
	background: var(--mc-black);
	color: var(--mc-on-black);
	font-weight: 700;
}

/* Compartilhar */
.mc-product-accordions__share {
	margin-top: 4px;
}

.mc-product-share--compact summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--mc-muted);
	font-size: 0.9rem;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}

.mc-product-share--compact summary::-webkit-details-marker {
	display: none;
}

.mc-product-share__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.mc-product-share__button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-pill);
	background: #ffffff;
	color: var(--mc-black);
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
}

.mc-product-share__button--whatsapp {
	border-color: #1fa855;
	color: #1a8c47;
}

.mc-product-share__button.is-copied {
	border-color: var(--mc-success);
	color: var(--mc-success);
}

.mc-product-share__status {
	margin: 8px 0 0;
	color: var(--mc-success);
	font-size: 0.82rem;
}

.mc-product-share__status:empty {
	display: none;
}

section.related.products,
section.upsells.products {
	margin-top: clamp(48px, 7vw, 88px);
}

section.related.products > h2,
section.upsells.products > h2 {
	margin-bottom: 24px;
	font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem);
}

/* Barra de compra fixa no celular */
.mc-product-mobile-buy {
	position: fixed;
	left: 0;
	right: 0;
	bottom: calc(66px + env(safe-area-inset-bottom));
	z-index: 44;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 10px 16px;
	border-top: 1px solid var(--mc-line);
	background: rgb(255 255 255 / 0.97);
	backdrop-filter: blur(12px);
	box-shadow: 0 -10px 30px -20px rgb(16 16 18 / 0.4);
	animation: mc-slide-up 0.35s var(--mc-ease);
}

@keyframes mc-slide-up {
	from {
		transform: translateY(100%);
	}
}

.mc-product-mobile-buy__info {
	display: grid;
	min-width: 0;
	line-height: 1.25;
}

.mc-product-mobile-buy__info small {
	overflow: hidden;
	color: var(--mc-muted);
	font-size: 0.75rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mc-product-mobile-buy__info strong {
	font-size: 1.05rem;
	font-weight: 800;
}

.mc-product-mobile-buy__info del {
	font-size: 0.75em;
	color: var(--mc-subtle);
	font-weight: 500;
}

.mc-product-mobile-buy__info ins {
	text-decoration: none;
	color: var(--mc-red);
}

.mc-product-mobile-buy .button {
	--mc-btn-bg: var(--mc-red);
	--mc-btn-color: var(--mc-on-accent);
	min-height: 46px;
	padding: 0 20px;
}

@media (min-width: 1024px) {
	.mc-product-mobile-buy {
		display: none !important;
	}
}

/* ==========================================================================
   4. Sacola (página)
   ========================================================================== */
.mc-cart {
	display: grid;
	gap: 24px;
	align-items: start;
}

@media (min-width: 1024px) {
	.mc-cart {
		grid-template-columns: minmax(0, 1fr) 380px;
		gap: 40px;
	}

	.mc-cart__summary {
		position: sticky;
		top: 150px;
	}
}

.mc-cart__form {
	display: grid;
	gap: 16px;
	min-width: 0;
}

.mc-cart-items {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: #ffffff;
	list-style: none;
}

.mc-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 14px 16px;
	padding: 18px;
}

.mc-cart-item + .mc-cart-item {
	border-top: 1px solid var(--mc-line);
}

.mc-cart-item__media img {
	width: 88px;
	height: 88px;
	border-radius: var(--mc-r-sm);
	object-fit: cover;
	background: var(--mc-surface);
}

.mc-cart-item__details {
	display: grid;
	align-content: start;
	gap: 6px;
	min-width: 0;
	padding-right: 64px;
}

.mc-cart-item__details h3 {
	margin: 0;
	font-family: var(--mc-font-body);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
}

.mc-cart-item__details h3 a {
	text-decoration: none;
}

.mc-cart-item__unit {
	color: var(--mc-muted);
	font-size: 0.82rem;
}

.mc-cart-item__controls {
	grid-column: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.mc-cart-item .mc-qty {
	grid-template-columns: 38px auto 38px;
}

.mc-cart-item .mc-qty .quantity .qty {
	width: 46px;
	min-height: 38px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

.mc-qty .qty::-webkit-outer-spin-button,
.mc-qty .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.mc-cart-item__unit .mc-badge {
	margin-left: 6px;
}

.mc-cart-item__subtotal strong {
	font-size: 1.05rem;
}

.mc-cart-item__remove {
	position: absolute;
	top: 18px;
	right: 18px;
}

.mc-cart-item__remove .remove {
	color: var(--mc-subtle);
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mc-cart-item__remove .remove:hover {
	color: var(--mc-error);
}

/* Celular: "Remover" vira um botão redondo e o nome ganha a largura toda. */
@media (max-width: 639px) {
	.mc-cart-item__details {
		padding-right: 34px;
	}

	.mc-cart-item__remove {
		top: 14px;
		right: 12px;
	}

	.mc-cart-item__remove .remove {
		display: grid;
		place-items: center;
		width: 32px;
		height: 32px;
		border-radius: 50%;
		background: var(--mc-surface);
		color: var(--mc-muted);
		font-size: 0;
		text-decoration: none;
	}

	.mc-cart-item__remove .remove::before {
		content: "×";
		font-size: 1.25rem;
		line-height: 1;
	}
}

/* Barra fixa da sacola no celular. */
.mc-cart-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 46;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 10px var(--mc-gutter) calc(10px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--mc-line);
	background: rgb(255 255 255 / 0.97);
	box-shadow: 0 -12px 30px rgb(8 8 9 / 0.08);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transform: translateY(110%);
	transition: transform 0.3s var(--mc-ease);
}

.mc-cart-sticky.is-visible {
	transform: none;
}

.mc-cart-sticky__total {
	display: grid;
	line-height: 1.15;
}

.mc-cart-sticky__total small {
	color: var(--mc-muted);
	font-size: 0.74rem;
	font-weight: 600;
}

.mc-cart-sticky__total strong {
	color: var(--mc-black);
	font-size: 1.15rem;
	font-weight: 800;
}

.mc-cart-sticky__total strong small {
	display: none;
}

.mc-cart-sticky .mc-button {
	min-height: 48px;
	padding-inline: 22px;
}

/* Na sacola a barra substitui a navegação inferior e o atalho flutuante,
   que no celular cobria o preço dos itens. */
body.woocommerce-cart .mc-mobile-bottom-nav {
	display: none;
}

@media (max-width: 1023px) {
	body.woocommerce-cart .mc-floating-whatsapp {
		display: none;
	}
}

@media (min-width: 1024px) {
	.mc-cart-sticky {
		display: none;
	}
}

@media (min-width: 640px) {
	.mc-cart-item {
		grid-template-columns: 104px 1fr auto;
		align-items: center;
		padding: 20px 22px;
	}

	.mc-cart-item__media img {
		width: 104px;
		height: 104px;
	}

	.mc-cart-item__details {
		padding-right: 0;
	}

	.mc-cart-item__controls {
		grid-column: 3;
		flex-direction: column;
		align-items: flex-end;
		padding-top: 22px;
	}

	.mc-cart-item__remove {
		top: 16px;
		right: 22px;
	}
}

.mc-cart__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px 20px;
}

.mc-cart-coupon {
	flex: 1 1 300px;
	max-width: 440px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
	background: #ffffff;
}

.mc-cart-coupon summary,
.mc-checkout-coupon summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 16px;
	font-size: 0.92rem;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}

.mc-cart-coupon summary::-webkit-details-marker,
.mc-checkout-coupon summary::-webkit-details-marker {
	display: none;
}

.mc-cart-coupon summary .mc-icon,
.mc-checkout-coupon summary .mc-icon {
	color: var(--mc-red);
}

.mc-coupon-form {
	display: grid;
	gap: 10px;
	padding: 0 16px 16px;
}

.mc-coupon-form__fields {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
}

.mc-coupon-form__fields input {
	min-height: 46px;
	border-radius: var(--mc-r-pill);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.mc-coupon-form__fields input::placeholder {
	text-transform: none;
	letter-spacing: 0;
}

.mc-coupon-form__fields .button {
	min-height: 46px;
	padding: 0 20px;
}

.mc-coupon-form__suggestion {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: 8px;
	padding: 6px 12px;
	border: 1px dashed var(--mc-gold);
	border-radius: var(--mc-r-pill);
	background: var(--mc-gold-soft);
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
}

.mc-coupon-form__hint {
	color: var(--mc-muted);
	font-size: 0.8rem;
}

.mc-cart__update {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
}

.mc-cart__status {
	color: var(--mc-muted);
	font-size: 0.85rem;
}

.mc-cart-update {
	--mc-btn-bg: #ffffff;
	--mc-btn-color: var(--mc-black);
	--mc-btn-border: var(--mc-line-strong);
	min-height: 44px;
}

/* Atualização automática: o botão vira apenas um recurso de acessibilidade. */
.mc-cart-auto-ready .mc-cart-update {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.woocommerce-cart .cart-empty {
	justify-content: center;
	max-width: 560px;
	margin: 24px auto 16px;
}

.woocommerce-cart .return-to-shop {
	text-align: center;
}

/* Resumo (sacola) */
.mc-summary {
	padding: 24px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: var(--mc-bg-soft);
}

.mc-summary__title {
	margin: 0 0 14px;
	font-size: 1.45rem;
}

.mc-summary__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.mc-summary__table th,
.mc-summary__table td {
	padding: 10px 0;
	border-bottom: 1px solid var(--mc-line);
	vertical-align: top;
}

.mc-summary__table th {
	color: var(--mc-muted);
	font-weight: 600;
	text-align: left;
}

.mc-summary__table td {
	text-align: right;
	font-weight: 700;
}

.mc-summary__table td small {
	display: block;
	color: var(--mc-muted);
	font-weight: 500;
	font-size: 0.8rem;
}

.mc-summary__table .cart-discount td,
.mc-review .cart-discount td {
	color: var(--mc-pix);
}

.mc-summary__table .cart-discount a,
.mc-review .cart-discount a {
	display: block;
	color: var(--mc-subtle);
	font-size: 0.75rem;
	font-weight: 600;
}

.mc-summary__table .order-total th,
.mc-summary__table .order-total td {
	padding-top: 16px;
	border-bottom: 0;
	color: var(--mc-black);
	font-size: 1.15rem;
}

.mc-summary__table .order-total td .amount {
	font-size: 1.5rem;
	font-weight: 800;
}

.mc-summary__table .order-total small.includes_tax {
	font-size: 0.75rem;
}

.mc-summary__installments {
	margin: -4px 0 14px;
	color: var(--mc-muted);
	font-size: 0.85rem;
	text-align: right;
}

.mc-summary__notes {
	display: grid;
	gap: 8px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.mc-summary__notes li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 12px;
	border-radius: var(--mc-r-sm);
	background: #ffffff;
	color: var(--mc-muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

.mc-summary__notes li .mc-icon {
	width: 18px;
	height: 18px;
	color: var(--mc-red);
}

.mc-summary__notes li.is-highlight {
	background: var(--mc-pix-soft);
	color: var(--mc-pix);
	font-weight: 700;
}

.mc-summary__notes li.is-highlight .mc-icon {
	color: var(--mc-pix);
}

.wc-proceed-to-checkout .checkout-button {
	width: 100%;
	min-height: 56px;
	font-size: 1rem;
}

.mc-summary__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 12px 0 0;
	color: var(--mc-muted);
	font-size: 0.8rem;
}

.mc-summary__secure .mc-icon {
	width: 16px;
	height: 16px;
	color: var(--mc-success);
}

/* ==========================================================================
   5. Checkout
   ========================================================================== */
.mc-main--checkout .mc-commerce-page {
	padding-top: 20px;
}

.mc-main--checkout .mc-commerce-page__header {
	display: none;
}

.mc-checkout-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	margin-bottom: 20px;
}

/* Itens de grade não podem empurrar a página para os lados no celular. */
.mc-checkout-top > *,
.mc-checkout__grid > * {
	min-width: 0;
}

.mc-checkout-progress {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px;
	border-radius: var(--mc-r);
	background: var(--mc-bg-soft);
	border: 1px solid var(--mc-line);
}

.mc-checkout-progress a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--mc-muted);
	font-size: 0.86rem;
	font-weight: 700;
	text-decoration: none;
}

.mc-checkout-progress b {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--mc-line-strong);
	border-radius: 50%;
	background: #ffffff;
	font-size: 0.8rem;
}

.mc-checkout-progress a.is-active {
	color: var(--mc-black);
}

.mc-checkout-progress a.is-active b {
	border-color: var(--mc-black);
	background: var(--mc-black);
	color: var(--mc-on-black);
}

.mc-checkout-progress a.is-complete b {
	border-color: var(--mc-success);
	background: var(--mc-success);
	color: #ffffff;
	font-size: 0;
}

.mc-checkout-progress a.is-complete b::before {
	content: "✓";
	font-size: 0.8rem;
}

.mc-checkout-progress i {
	width: 28px;
	height: 1px;
	background: var(--mc-line-strong);
	color: transparent;
	font-size: 0;
}

@media (max-width: 480px) {
	.mc-checkout-progress {
		justify-content: space-between;
		gap: 4px;
		padding: 10px 12px;
	}

	.mc-checkout-progress a {
		gap: 6px;
		font-size: 0.78rem;
	}

	.mc-checkout-progress b {
		width: 24px;
		height: 24px;
	}

	.mc-checkout-progress i {
		flex: 1 1 8px;
		width: auto;
		min-width: 8px;
		max-width: 28px;
	}
}

.mc-checkout-coupon {
	border: 1px dashed color-mix(in srgb, var(--mc-gold) 70%, #ffffff);
	border-radius: var(--mc-r);
	background: #ffffff;
}

.mc-checkout-coupon summary small {
	margin-left: auto;
	color: var(--mc-red);
	font-size: 0.8rem;
}

.mc-checkout-coupon form.checkout_coupon {
	display: grid !important;
	margin: 0;
}

.mc-checkout__grid {
	display: grid;
	gap: 20px;
	align-items: start;
}

@media (min-width: 1024px) {
	.mc-checkout__grid {
		grid-template-columns: minmax(0, 1.25fr) minmax(360px, 1fr);
		gap: 32px;
	}

	.mc-checkout-top {
		grid-template-columns: 1fr minmax(320px, 420px);
		align-items: start;
	}

	.mc-checkout-progress {
		justify-content: flex-start;
	}
}

.mc-checkout-card {
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: #ffffff;
}

.mc-checkout-card--review {
	background: var(--mc-bg-soft);
}

.mc-checkout-section-heading,
.mc-checkout-step-heading th {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	text-align: left;
}

.mc-checkout-section-heading strong,
.mc-checkout-step-heading strong {
	display: block;
	color: var(--mc-black);
	font-family: var(--mc-font-display);
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.2;
}

.mc-checkout-section-heading small,
.mc-checkout-step-heading small {
	display: block;
	color: var(--mc-muted);
	font-size: 0.84rem;
	font-weight: 500;
}

.mc-checkout-step-number {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--mc-black);
	color: var(--mc-on-black);
	font-family: var(--mc-font-body);
	font-size: 0.9rem;
	font-weight: 800;
}

#customer_details .woocommerce-billing-fields > h3,
#customer_details .woocommerce-additional-fields > h3 {
	display: none;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper,
.woocommerce-EditAccountForm,
.woocommerce-form-register,
.woocommerce-form-login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.form-row {
	grid-column: 1 / -1;
	display: grid;
	gap: 6px;
	margin: 0;
}

/* Meia largura sem fixar a coluna: fixar abria "buracos" quando um plugin
   (ex.: campos brasileiros) intercalava campos de largura total. */
.form-row-first,
.form-row-last {
	grid-column: span 1;
}

@media (max-width: 560px) {
	.form-row-first,
	.form-row-last {
		grid-column: 1 / -1;
	}
}

/*
 * Checkout: ordem e pares estáveis, qualquer que seja a ordem dos plugins.
 * Nome | Sobrenome · E-mail | Telefone · Tipo | CPF/CNPJ · CEP | Estado ·
 * Endereço · Número | Complemento · Bairro | Cidade · País.
 */
:is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > .form-row {
	order: 40;
	grid-column: 1 / -1;
}

:is(#billing_first_name_field, #shipping_first_name_field) { order: 1; }
:is(#billing_last_name_field, #shipping_last_name_field) { order: 2; }
#billing_email_field { order: 3; }
#billing_phone_field, #shipping_phone_field { order: 4; }
#billing_persontype_field { order: 5; }
:is(#billing_cpf_field, #billing_cnpj_field) { order: 6; }
:is(#billing_company_field, #shipping_company_field) { order: 7; }
:is(#billing_rg_field, #billing_ie_field, #billing_birthdate_field, #billing_sex_field) { order: 8; }
:is(#billing_postcode_field, #shipping_postcode_field) { order: 10; }
:is(#billing_state_field, #shipping_state_field) { order: 11; }
:is(#billing_address_1_field, #shipping_address_1_field) { order: 12; }
:is(#billing_number_field, #shipping_number_field) { order: 13; }
:is(#billing_address_2_field, #shipping_address_2_field) { order: 14; }
:is(#billing_neighborhood_field, #shipping_neighborhood_field) { order: 15; }
:is(#billing_city_field, #shipping_city_field) { order: 16; }
:is(#billing_country_field, #shipping_country_field) { order: 17; }

@media (min-width: 561px) {
	:is(
		#billing_first_name_field, #shipping_first_name_field,
		#billing_last_name_field, #shipping_last_name_field,
		#billing_email_field, #billing_phone_field, #shipping_phone_field,
		#billing_persontype_field, #billing_cpf_field, #billing_cnpj_field,
		#billing_rg_field, #billing_ie_field, #billing_birthdate_field, #billing_sex_field,
		#billing_postcode_field, #shipping_postcode_field,
		#billing_state_field, #shipping_state_field,
		#billing_number_field, #shipping_number_field,
		#billing_address_2_field, #shipping_address_2_field,
		#billing_neighborhood_field, #shipping_neighborhood_field,
		#billing_city_field, #shipping_city_field
	) {
		grid-column: span 1;
	}
}

/* O complemento não tem rótulo visível: alinha o campo com o "Número". */
:is(#billing_address_2_field, #shipping_address_2_field) {
	align-self: end;
}

/* No celular, o Estado vem depois da Cidade (ordem natural do endereço). */
@media (max-width: 560px) {
	:is(#billing_state_field, #shipping_state_field) { order: 16; }
	:is(#billing_city_field, #shipping_city_field) { order: 15; }
	:is(#billing_neighborhood_field, #shipping_neighborhood_field) { order: 14; }
	:is(#billing_address_2_field, #shipping_address_2_field) { order: 13; }
	:is(#billing_number_field, #shipping_number_field) { order: 12; }
	:is(#billing_address_1_field, #shipping_address_1_field) { order: 11; }
}

/* Busca de endereço pelo CEP. */
.mc-cep-status {
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 18px;
	color: var(--mc-muted);
	font-size: 0.76rem;
	font-weight: 600;
}

.mc-cep-status[data-state="loading"]::before {
	content: "";
	width: 12px;
	height: 12px;
	border: 2px solid var(--mc-line-strong);
	border-top-color: var(--mc-black);
	border-radius: 50%;
	animation: mc-spin 0.8s linear infinite;
}

.mc-cep-status[data-state="found"] {
	color: var(--mc-success);
}

.mc-cep-status[data-state="error"] {
	color: var(--mc-red);
}

.mc-cep-status a {
	color: inherit;
	font-weight: 700;
}

@keyframes mc-spin {
	to {
		transform: rotate(360deg);
	}
}

.mc-field-autofilled input,
.mc-field-autofilled .select2-selection {
	background-color: color-mix(in srgb, var(--mc-success) 6%, #ffffff);
}

.form-row > label,
.woocommerce-form-row > label {
	color: var(--mc-black);
	font-size: 0.86rem;
	font-weight: 700;
}

.form-row .required {
	color: var(--mc-red);
	text-decoration: none;
	border: 0;
}

.form-row .optional {
	color: var(--mc-subtle);
	font-weight: 500;
}

.form-row .woocommerce-input-wrapper {
	display: block;
}

.form-row.woocommerce-invalid input.input-text,
.form-row.woocommerce-invalid select,
.form-row.woocommerce-invalid .select2-selection {
	border-color: var(--mc-error) !important;
	background-color: #fffafa;
}

.form-row.woocommerce-validated input.input-text {
	border-color: color-mix(in srgb, var(--mc-success) 50%, #ffffff);
}

.checkout-inline-error-message,
.woocommerce-error-message {
	margin: 0;
	color: var(--mc-error);
	font-size: 0.8rem;
	font-weight: 600;
}

.form-row .description {
	color: var(--mc-muted);
	font-size: 0.8rem;
}

.form-row.create-account,
.woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	font-weight: 600;
}

/* select2 / selectWoo */
.select2-container {
	width: 100% !important;
}

.select2-container .select2-selection--single {
	height: 50px;
	border: 1px solid var(--mc-line-strong);
	border-radius: var(--mc-r-sm);
}

.select2-container .select2-selection--single .select2-selection__rendered {
	padding-left: 16px;
	line-height: 48px;
	color: var(--mc-black);
}

.select2-container .select2-selection--single .select2-selection__arrow {
	height: 48px;
	right: 10px;
}

.select2-dropdown {
	border: 1px solid var(--mc-line-strong);
	border-radius: var(--mc-r-sm);
	overflow: hidden;
}

.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted[data-selected] {
	background: var(--mc-black) !important;
}

#ship-to-different-address {
	margin: 18px 0 6px;
	font-family: var(--mc-font-body);
	font-size: 0.95rem;
}

#ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mc-checkout-shipping-fields .shipping_address {
	margin-top: 14px;
}

.mc-checkout-notes {
	margin-top: 18px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
}

.mc-checkout-notes summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}

.mc-checkout-notes summary::-webkit-details-marker {
	display: none;
}

.mc-checkout-notes summary small {
	color: var(--mc-subtle);
	font-weight: 500;
}

.mc-checkout-notes__body {
	padding: 0 16px 16px;
}

.mc-checkout-step-action {
	margin-top: 22px;
}

.mc-checkout-next {
	--mc-btn-bg: var(--mc-black);
	width: 100%;
}

@media (min-width: 1024px) {
	.mc-checkout-step-action {
		display: none;
	}

	.mc-checkout-delivery-next {
		display: none;
	}
}

/* Revisão do pedido: cada linha é um flex independente, para que entrega,
   retirada e títulos de etapa ocupem toda a largura do cartão. */
.mc-review,
.mc-review tbody,
.mc-review tfoot {
	display: block;
	width: 100%;
	font-size: 0.93rem;
}

.mc-review tr {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.mc-review th,
.mc-review td {
	display: block;
	padding: 10px 0;
	border: 0;
}

.mc-review th[colspan],
.mc-review td[colspan],
.mc-review tr.woocommerce-shipping-totals td,
.mc-review tr.mc-checkout-pickup-details td {
	flex: 1;
	min-width: 0;
}

.mc-review tfoot tr.cart-subtotal,
.mc-review tfoot tr.cart-discount,
.mc-review tfoot tr.fee,
.mc-review tfoot tr.tax-rate,
.mc-review tfoot tr.tax-total,
.mc-review tfoot tr.mc-review__shipping-total {
	border-bottom: 1px solid var(--mc-line);
}

.mc-review tfoot th {
	color: var(--mc-muted);
	font-weight: 600;
	text-align: left;
}

.mc-review tfoot td {
	text-align: right;
	font-weight: 700;
}

.mc-review__products {
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
	background: #ffffff;
}

.mc-review__products summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	list-style: none;
	cursor: pointer;
}

.mc-review__products summary::-webkit-details-marker {
	display: none;
}

.mc-review__products summary strong {
	display: block;
	font-size: 1rem;
}

.mc-review__products summary small {
	color: var(--mc-muted);
}

.mc-review__toggle {
	color: var(--mc-red);
	font-size: 0.84rem;
	font-weight: 700;
}

.mc-review__products[open] .mc-review__toggle {
	color: var(--mc-muted);
}

.mc-review__list {
	display: grid;
	gap: 12px;
	padding: 0 16px 16px;
}

.mc-review__item {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	align-items: center;
	gap: 12px;
}

.mc-review__thumb {
	position: relative;
}

.mc-review__thumb img {
	width: 56px;
	height: 56px;
	border-radius: var(--mc-r-xs);
	object-fit: cover;
	background: var(--mc-surface);
}

.mc-review__thumb b {
	position: absolute;
	top: -6px;
	right: -6px;
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: var(--mc-r-pill);
	background: var(--mc-black);
	color: #ffffff;
	font-size: 0.7rem;
}

.mc-review__name {
	display: grid;
	min-width: 0;
	line-height: 1.35;
}

.mc-review__name strong {
	font-size: 0.88rem;
	font-weight: 600;
}

.mc-review__name > span {
	color: var(--mc-muted);
	font-size: 0.76rem;
}

.mc-review__total {
	font-size: 0.9rem;
	text-align: right;
}

.mc-review .mc-checkout-step-heading th {
	display: flex;
	padding-top: 22px;
	margin: 0;
}

@media (min-width: 1024px) {
	.mc-review tr.mc-checkout-delivery-next {
		display: none;
	}
}

.mc-checkout-step-heading th > div {
	display: block;
}

.mc-review tr.woocommerce-shipping-totals th {
	display: none;
}

.mc-review tr.woocommerce-shipping-totals td {
	text-align: left;
}

.mc-review tr.woocommerce-shipping-totals td::before {
	display: none;
}

#shipping_method {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#shipping_method li {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	padding: 14px 16px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-sm);
	background: #ffffff;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
}

#shipping_method li.is-selected {
	border-color: var(--mc-black);
	box-shadow: inset 0 0 0 1px var(--mc-black);
}

#shipping_method li label {
	display: flex;
	flex: 1;
	justify-content: space-between;
	gap: 10px;
	font-size: 0.9rem;
	cursor: pointer;
}

#shipping_method li label .amount {
	font-weight: 800;
}

.mc-shipping-preselected-badge {
	flex-basis: 100%;
	padding-left: 32px;
	color: var(--mc-success);
	font-size: 0.74rem;
	font-weight: 700;
}

.woocommerce-shipping-destination,
.woocommerce-shipping-calculator,
.mc-review .woocommerce-shipping-contents {
	margin: 8px 0 0;
	color: var(--mc-muted);
	font-size: 0.8rem;
	font-weight: 500;
}

.mc-checkout-delivery-next td {
	padding-top: 14px !important;
}

.mc-review__totals-heading th {
	padding-top: 24px !important;
	color: var(--mc-black) !important;
	font-size: 0.75rem;
	font-weight: 800 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.mc-review tr.order-total {
	align-items: baseline;
	margin-top: 4px;
}

.mc-review .order-total th,
.mc-review .order-total td {
	padding-top: 14px;
	color: var(--mc-black);
	font-size: 1.1rem;
}

.mc-review .order-total .amount {
	font-size: 1.45rem;
	font-weight: 800;
}

.mc-checkout-pickup-details th {
	display: none;
}

.mc-checkout-pickup-details td {
	text-align: left !important;
}

.mc-checkout-pickup-card {
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border-left: 3px solid var(--mc-gold);
	border-radius: 0 var(--mc-r-sm) var(--mc-r-sm) 0;
	background: #ffffff;
	font-weight: 500;
	font-size: 0.86rem;
}

.mc-checkout-pickup-card a {
	color: var(--mc-red);
	font-weight: 700;
}

/* Pagamento */
#payment {
	margin-top: 8px;
}

.mc-checkout-section-heading--payment {
	margin-top: 24px;
}

#payment ul.payment_methods {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#payment ul.payment_methods > li {
	padding: 14px 16px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-sm);
	background: #ffffff;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
}

#payment ul.payment_methods > li.is-selected {
	border-color: var(--mc-black);
	box-shadow: inset 0 0 0 1px var(--mc-black);
}

#payment ul.payment_methods > li > label {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-left: 8px;
	font-weight: 700;
	vertical-align: middle;
}

#payment ul.payment_methods > li > label img {
	display: inline-block;
	max-height: 24px;
	width: auto;
}

#payment .payment_box {
	margin-top: 12px;
	padding: 14px;
	border-radius: var(--mc-r-sm);
	background: var(--mc-bg-soft);
	color: var(--mc-ink);
	font-size: 0.88rem;
}

#payment .payment_box p:last-child {
	margin-bottom: 0;
}

#payment .payment_box fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.mc-checkout-pix-note {
	display: grid;
	gap: 2px;
	margin-bottom: 12px;
	padding: 12px 14px;
	border: 1px dashed color-mix(in srgb, var(--mc-pix) 50%, #ffffff);
	border-radius: var(--mc-r-sm);
	background: #ffffff;
	color: var(--mc-pix);
	font-size: 0.86rem;
}

.mc-checkout-pix-note.is-active {
	border-style: solid;
	background: var(--mc-pix-soft);
}

.mc-checkout-pix-note small {
	color: var(--mc-muted);
}

.mc-checkout-pix-note.is-active small {
	color: var(--mc-pix);
	font-weight: 600;
}

#payment .place-order {
	display: grid;
	gap: 14px;
	margin-top: 18px;
}

.woocommerce-terms-and-conditions-wrapper,
.woocommerce-privacy-policy-text {
	color: var(--mc-muted);
	font-size: 0.8rem;
}

.woocommerce-terms-and-conditions-wrapper p {
	margin: 0 0 8px;
}

#place_order {
	width: 100%;
	min-height: 58px;
	font-size: 1.05rem;
	letter-spacing: 0.02em;
}

body.mc-checkout-is-updating #order_review {
	opacity: 0.7;
	transition: opacity 0.2s;
}

.blockUI.blockOverlay {
	border-radius: var(--mc-r);
	background: rgb(255 255 255 / 0.6) !important;
}

/* ==========================================================================
   6. Conta da cliente
   ========================================================================== */
.mc-account-identity {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	padding: clamp(18px, 3vw, 28px);
	border-radius: var(--mc-r-lg);
	background:
		radial-gradient(70% 140% at 100% 0%, color-mix(in srgb, var(--mc-red) 38%, transparent) 0%, transparent 60%),
		var(--mc-black);
	color: rgb(255 255 255 / 0.82);
}

.mc-account-identity__avatar {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: rgb(255 255 255 / 0.08);
	color: var(--mc-gold);
	font-family: var(--mc-font-display);
	font-size: 1.4rem;
	font-weight: 700;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mc-gold) 50%, transparent);
}

.mc-account-identity__copy .mc-eyebrow {
	margin-bottom: 4px;
	color: var(--mc-gold);
}

.mc-account-identity__copy h2 {
	margin: 0;
	color: #ffffff;
	font-size: clamp(1.4rem, 1.1rem + 1.4vw, 2rem);
}

.mc-account-identity__copy p {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 6px 0 0;
	font-size: 0.86rem;
	word-break: break-all;
}

.mc-account-identity__copy p .mc-icon {
	width: 16px;
	height: 16px;
}

.mc-account-identity__actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mc-account-identity__actions a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid rgb(255 255 255 / 0.25);
	border-radius: var(--mc-r-pill);
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
}

.mc-account-identity__actions a.button {
	--mc-btn-bg: #ffffff;
	--mc-btn-color: var(--mc-black);
	min-height: 40px;
	padding: 0 18px;
	color: var(--mc-black);
}

.mc-account-identity__actions a:not(.button):hover {
	color: var(--mc-gold);
}

@media (min-width: 900px) {
	.mc-account-identity {
		grid-template-columns: auto 1fr auto;
	}

	.mc-account-identity__actions {
		grid-column: auto;
	}
}

.mc-account-workspace {
	display: grid;
	gap: 24px;
	align-items: start;
}

@media (min-width: 1024px) {
	.mc-account-workspace {
		grid-template-columns: 280px minmax(0, 1fr);
		gap: 32px;
	}

	.mc-account-navigation {
		position: sticky;
		top: 150px;
	}
}

.mc-account-navigation {
	padding: 10px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: #ffffff;
}

.mc-account-navigation__label {
	display: none;
}

.mc-account-navigation ul {
	display: flex;
	gap: 6px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}

.mc-account-navigation ul::-webkit-scrollbar {
	display: none;
}

.mc-account-navigation a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 46px;
	padding: 0 14px;
	border-radius: var(--mc-r-sm);
	color: var(--mc-ink);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.mc-account-navigation a > .mc-icon:last-child {
	display: none;
	margin-left: auto;
	width: 16px;
	height: 16px;
	opacity: 0.4;
}

.mc-account-navigation__icon {
	display: inline-grid;
	color: var(--mc-subtle);
}

.mc-account-navigation__icon .mc-icon {
	width: 20px;
	height: 20px;
}

.mc-account-navigation a:hover {
	background: var(--mc-surface);
	color: var(--mc-black);
}

.mc-account-navigation li.is-active a {
	background: var(--mc-black);
	color: var(--mc-on-black);
}

.mc-account-navigation li.is-active .mc-account-navigation__icon {
	color: var(--mc-gold);
}

.mc-account-navigation .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--mc-error);
}

@media (min-width: 1024px) {
	.mc-account-navigation ul {
		flex-direction: column;
		overflow: visible;
	}

	.mc-account-navigation a > .mc-icon:last-child {
		display: block;
	}

	.mc-account-navigation .woocommerce-MyAccount-navigation-link--customer-logout {
		margin-top: 6px;
		padding-top: 6px;
		border-top: 1px solid var(--mc-line);
	}
}

.mc-account-content {
	display: grid;
	gap: 24px;
	min-width: 0;
}

.mc-account-content > p:first-child:empty {
	display: none;
}

.mc-account-dashboard__compact-intro {
	display: grid;
	gap: 2px;
}

.mc-account-dashboard__compact-intro strong {
	font-family: var(--mc-font-display);
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--mc-black);
}

.mc-account-dashboard__compact-intro span {
	color: var(--mc-muted);
}

.mc-account-shortcuts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr));
	gap: 12px;
}

.mc-account-shortcuts a {
	display: grid;
	grid-template-columns: 44px 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
	background: #ffffff;
	text-decoration: none;
	transition: box-shadow 0.25s, transform 0.25s var(--mc-ease), border-color 0.25s;
}

.mc-account-shortcuts a:hover {
	border-color: transparent;
	color: var(--mc-black);
	box-shadow: var(--mc-shadow);
	transform: translateY(-2px);
}

.mc-account-shortcuts__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--mc-accent-soft);
	color: var(--mc-red);
}

.mc-account-shortcuts strong {
	display: block;
	font-size: 0.95rem;
	line-height: 1.3;
}

.mc-account-shortcuts small {
	display: block;
	color: var(--mc-muted);
	font-size: 0.8rem;
	line-height: 1.35;
}

.mc-account-shortcuts a > .mc-icon {
	width: 16px;
	height: 16px;
	opacity: 0.4;
}

.mc-account-ready,
.mc-account-privacy,
.mc-account-empty {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 18px;
	padding: 18px 20px;
	border-radius: var(--mc-r);
	background: var(--mc-bg-soft);
	border: 1px solid var(--mc-line);
}

.mc-account-ready {
	border-color: color-mix(in srgb, var(--mc-gold) 60%, #ffffff);
	background: var(--mc-gold-soft);
}

.mc-account-ready > span,
.mc-account-privacy > .mc-icon,
.mc-account-empty > .mc-icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	color: var(--mc-red);
}

.mc-account-ready > div,
.mc-account-privacy > div,
.mc-account-empty > div {
	flex: 1 1 240px;
}

.mc-account-ready p,
.mc-account-privacy p,
.mc-account-empty p {
	margin: 2px 0 0;
	color: var(--mc-muted);
	font-size: 0.88rem;
}

.mc-account-section {
	display: grid;
	gap: 14px;
}

.mc-account-section__heading,
.mc-account-endpoint-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px 20px;
}

.mc-account-section__heading h2,
.mc-account-endpoint-header h2 {
	margin: 0;
	font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.8rem);
}

.mc-account-section__heading .mc-eyebrow,
.mc-account-endpoint-header .mc-eyebrow {
	margin-bottom: 4px;
}

.mc-account-section__heading a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	font-size: 0.9rem;
	text-decoration: none;
}

.mc-account-section__heading p {
	margin: 0;
	color: var(--mc-muted);
}

.mc-account-endpoint-header {
	justify-content: flex-start;
	align-items: center;
}

.mc-account-endpoint-header__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--mc-accent-soft);
	color: var(--mc-red);
}

.mc-account-endpoint-header p {
	margin: 4px 0 0;
	color: var(--mc-muted);
}

.mc-order-cards {
	display: grid;
	gap: 12px;
}

.mc-order-card {
	display: grid;
	grid-template-columns: 48px 1fr auto;
	align-items: center;
	gap: 12px 16px;
	padding: 16px 18px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
	background: #ffffff;
}

.mc-order-card__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--mc-surface);
	color: var(--mc-black);
}

.mc-order-card__main {
	display: grid;
	min-width: 0;
	line-height: 1.35;
}

.mc-order-card__main > span {
	color: var(--mc-muted);
	font-size: 0.8rem;
	font-weight: 700;
}

.mc-order-card__main strong {
	color: var(--mc-black);
}

.mc-order-card__main small {
	color: var(--mc-muted);
	font-size: 0.8rem;
}

.mc-order-card__total {
	font-weight: 800;
	text-align: right;
}

.mc-order-card > .button,
.mc-order-card__actions {
	grid-column: 1 / -1;
}

.mc-order-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mc-order-card .button {
	min-height: 40px;
	padding: 0 16px;
	font-size: 0.85rem;
}

.mc-order-card .button.view {
	--mc-btn-bg: var(--mc-black);
}

.mc-order-card .button.pay {
	--mc-btn-bg: var(--mc-red);
}

.mc-order-card .button.cancel {
	--mc-btn-bg: #ffffff;
	--mc-btn-color: var(--mc-muted);
	--mc-btn-border: var(--mc-line-strong);
}

.mc-order-card--status-completed .mc-order-card__icon,
.mc-order-card--status-mc-shipped .mc-order-card__icon {
	background: var(--mc-success-soft);
	color: var(--mc-success);
}

.mc-order-card--status-processing .mc-order-card__icon {
	background: var(--mc-gold-soft);
	color: var(--mc-warning);
}

.mc-order-card--status-cancelled .mc-order-card__icon,
.mc-order-card--status-failed .mc-order-card__icon {
	background: var(--mc-error-soft);
	color: var(--mc-error);
}

@media (min-width: 720px) {
	.mc-order-card {
		grid-template-columns: 48px 1fr auto auto;
	}

	.mc-order-card > .button,
	.mc-order-card__actions {
		grid-column: auto;
	}
}

.mc-account-pagination {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.mc-address-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 14px;
}

.mc-address-card {
	padding: 20px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
	background: #ffffff;
}

.mc-address-card header {
	display: grid;
	grid-template-columns: 44px 1fr auto;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.mc-address-card__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--mc-surface);
}

.mc-address-card h3 {
	margin: 0;
	font-size: 1.05rem;
}

.mc-address-card .mc-eyebrow {
	margin: 0;
	font-size: 0.66rem;
}

.mc-address-card .mc-eyebrow::before {
	display: none;
}

.mc-address-card .edit {
	color: var(--mc-red);
	font-size: 0.86rem;
	font-weight: 700;
}

.mc-address-card address {
	color: var(--mc-muted);
	line-height: 1.7;
}

/* Formulários da conta */
.woocommerce-MyAccount-content form > h3,
.woocommerce-address-fields h3 {
	font-size: 1.3rem;
}

.woocommerce-EditAccountForm fieldset {
	grid-column: 1 / -1;
	display: grid;
	gap: 14px;
	margin: 10px 0 0;
	padding: 18px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
}

.woocommerce-EditAccountForm legend {
	padding: 0 6px;
	font-weight: 800;
}

.woocommerce-EditAccountForm > p:last-of-type,
.woocommerce-address-fields > p:last-child {
	grid-column: 1 / -1;
}

.woocommerce-MyAccount-content .woocommerce-address-fields .button,
.woocommerce-EditAccountForm .button {
	min-width: 220px;
}

.mc-account-gender-field small {
	color: var(--mc-muted);
	font-size: 0.78rem;
}

.mc-password-field {
	position: relative;
	display: block;
}

.mc-password-field input {
	padding-right: 92px;
}

.mc-password-toggle {
	position: absolute;
	top: 50%;
	right: 6px;
	min-height: 36px;
	padding: 0 12px;
	border: 0;
	border-radius: var(--mc-r-pill);
	background: var(--mc-surface);
	color: var(--mc-black);
	font-size: 0.78rem;
	font-weight: 700;
	transform: translateY(-50%);
}

.woocommerce-password-strength {
	margin-top: 6px;
	padding: 6px 10px;
	border-radius: var(--mc-r-xs);
	font-size: 0.8rem;
	font-weight: 600;
}

.woocommerce-password-strength.short,
.woocommerce-password-strength.bad {
	background: var(--mc-error-soft);
	color: var(--mc-error);
}

.woocommerce-password-strength.good {
	background: var(--mc-warning-soft);
	color: var(--mc-warning);
}

.woocommerce-password-strength.strong {
	background: var(--mc-success-soft);
	color: var(--mc-success);
}

.woocommerce-password-hint {
	color: var(--mc-muted);
	font-size: 0.78rem;
}

/* Carteira de cupons (Suite) */
.mc-coupon-wallet {
	display: grid;
	gap: 18px;
}

.mc-coupon-wallet__grid {
	display: grid;
	gap: 14px;
}

.mc-coupon-card {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 14px 16px;
	padding: 18px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r);
	background: #ffffff;
}

.mc-coupon-card__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--mc-gold-soft);
	color: var(--mc-warning);
}

.mc-coupon-card__copy strong {
	display: block;
	font-family: var(--mc-font-display);
	font-size: 1.35rem;
	line-height: 1.2;
}

.mc-coupon-card__copy p {
	margin: 4px 0 8px;
	color: var(--mc-muted);
	font-size: 0.9rem;
}

.mc-coupon-card__rules {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.mc-coupon-card__rules span {
	padding: 3px 10px;
	border-radius: var(--mc-r-pill);
	background: var(--mc-surface);
	color: var(--mc-muted);
	font-size: 0.74rem;
	font-weight: 600;
}

.mc-coupon-card__code {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 2px 12px;
	padding: 12px 16px;
	border: 1px dashed var(--mc-gold);
	border-radius: var(--mc-r-sm);
	background: var(--mc-gold-soft);
	text-decoration: none;
}

.mc-coupon-card__code small {
	grid-column: 1;
	color: var(--mc-muted);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mc-coupon-card__code strong {
	grid-column: 1;
	font-size: 1.1rem;
	letter-spacing: 0.08em;
}

.mc-coupon-card__code span {
	grid-column: 2;
	grid-row: 1 / span 2;
	padding: 8px 14px;
	border-radius: var(--mc-r-pill);
	background: var(--mc-black);
	color: var(--mc-on-black);
	font-size: 0.8rem;
	font-weight: 700;
	white-space: nowrap;
}

@media (min-width: 720px) {
	.mc-coupon-card {
		grid-template-columns: 48px 1fr minmax(280px, auto);
		align-items: center;
	}

	.mc-coupon-card__code {
		grid-column: auto;
	}
}

/* Consentimento de e-mail marketing (Suite) */
.mc-account-marketing {
	grid-column: 1 / -1;
	padding: 14px 16px;
	border-radius: var(--mc-r-sm);
	background: var(--mc-bg-soft);
}

/* Login e cadastro */
.mc-auth-intro {
	display: none;
}

.mc-auth-flow {
	display: grid;
	gap: 16px;
	max-width: 480px;
	margin: 0 auto;
}

.mc-auth-card {
	padding: clamp(22px, 4vw, 32px);
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: #ffffff;
	box-shadow: var(--mc-shadow-sm);
}

.mc-auth-card form {
	grid-template-columns: 1fr;
}

.mc-auth-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 0.88rem;
}

.mc-auth-card__actions a {
	color: var(--mc-red);
	font-weight: 700;
}

.mc-auth-submit-row .button {
	width: 100%;
	min-height: 52px;
	--mc-btn-bg: var(--mc-red);
}

.mc-auth-register-disclosure {
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: var(--mc-bg-soft);
}

.mc-auth-register-disclosure > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px;
	list-style: none;
	cursor: pointer;
}

.mc-auth-register-disclosure > summary::-webkit-details-marker {
	display: none;
}

.mc-auth-register-disclosure > summary strong {
	display: block;
}

.mc-auth-register-disclosure > summary small {
	color: var(--mc-muted);
}

.mc-auth-register-disclosure__action {
	padding: 8px 14px;
	border-radius: var(--mc-r-pill);
	background: var(--mc-black);
	color: var(--mc-on-black);
	font-size: 0.84rem;
	font-weight: 700;
	white-space: nowrap;
}

.mc-auth-register-disclosure .mc-auth-card {
	margin: 0 10px 10px;
	box-shadow: none;
}

.mc-auth-register-note {
	grid-column: 1 / -1;
	color: var(--mc-muted);
	font-size: 0.86rem;
}

/* Sem cadastro em "Minha conta": orienta quem ainda não tem conta. */
.mc-auth-first-purchase {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 14px;
	align-items: start;
	padding: 18px 20px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: var(--mc-bg-soft);
}

.mc-auth-first-purchase__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--mc-red) 10%, #ffffff);
	color: var(--mc-red);
}

.mc-auth-first-purchase strong {
	display: block;
	color: var(--mc-black);
	font-size: 0.98rem;
}

.mc-auth-first-purchase p {
	margin: 4px 0 8px;
	color: var(--mc-muted);
	font-size: 0.88rem;
	line-height: 1.5;
}

/* O WooCommerce também cria um botão "mostrar senha" (sem estilo, já que as
   folhas dele não são carregadas); o tema já tem o seu, com texto. */
.woocommerce .show-password-input {
	display: none !important;
}

.woocommerce .password-input {
	display: block;
	position: relative;
}

.woocommerce-ResetPassword,
.woocommerce-form-login.login:not(.mc-auth-card form) {
	max-width: 480px;
	margin-inline: auto;
}

.woocommerce-ResetPassword {
	display: grid;
	gap: 14px;
	padding: 28px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
}

/* ==========================================================================
   7. Pedido recebido e detalhes do pedido
   ========================================================================== */
.woocommerce-order {
	display: grid;
	gap: 24px;
}

.woocommerce-order > p.woocommerce-notice--success,
.woocommerce-thankyou-order-received {
	margin: 0;
	padding: 18px 20px;
	border-radius: var(--mc-r);
	background: var(--mc-success-soft);
	color: var(--mc-success);
	font-weight: 700;
}

ul.woocommerce-order-overview,
ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.order_details li {
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-sm);
	background: #ffffff;
	color: var(--mc-muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

ul.order_details li strong {
	color: var(--mc-black);
	font-size: 0.98rem;
	letter-spacing: 0;
	text-transform: none;
	word-break: break-word;
}

.mc-thankyou-next {
	display: grid;
	gap: 16px;
	padding: clamp(20px, 3vw, 28px);
	border-radius: var(--mc-r-lg);
	background: var(--mc-black);
	color: rgb(255 255 255 / 0.82);
}

.mc-thankyou-next__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: rgb(255 255 255 / 0.08);
	color: var(--mc-gold);
}

.mc-thankyou-next h2 {
	margin: 0 0 6px;
	color: #ffffff;
}

.mc-thankyou-next p {
	margin: 0;
}

.mc-thankyou-next strong {
	color: #ffffff;
}

.mc-thankyou-next .mc-eyebrow {
	color: var(--mc-gold);
}

.mc-thankyou-next__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.mc-thankyou-next__actions .button {
	--mc-btn-bg: #ffffff;
	--mc-btn-color: var(--mc-black);
}

.mc-thankyou-next__actions a:not(.button) {
	color: #ffffff;
	font-weight: 700;
}

@media (min-width: 900px) {
	.mc-thankyou-next {
		grid-template-columns: auto 1fr auto;
		align-items: center;
	}
}

.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-order-downloads {
	padding: clamp(18px, 3vw, 26px);
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: #ffffff;
}

.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-order-downloads__title {
	font-size: 1.35rem;
}

/* Tabelas genéricas (detalhes do pedido, downloads) sem especificidade,
   para não interferir no resumo da sacola e na revisão do checkout. */
:where(table.shop_table) {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.93rem;
}

:where(table.shop_table) :where(th, td) {
	padding: 12px 8px;
	border-bottom: 1px solid var(--mc-line);
	text-align: left;
	vertical-align: top;
}

:where(table.shop_table thead) th {
	color: var(--mc-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

:where(table.shop_table tfoot) th {
	color: var(--mc-muted);
	font-weight: 600;
}

:where(table.shop_table tfoot tr:last-child) :where(th, td) {
	color: var(--mc-black);
	font-weight: 800;
	border-bottom: 0;
}

:where(table.shop_table) :where(td.product-total, tfoot td) {
	text-align: right;
}

.mc-review :where(th, td),
.mc-summary__table :where(th, td) {
	padding-inline: 0;
}

.woocommerce-customer-details address {
	padding: 14px 16px;
	border-radius: var(--mc-r-sm);
	background: var(--mc-bg-soft);
	color: var(--mc-ink);
	line-height: 1.7;
}

.woocommerce-customer-details .woocommerce-columns {
	display: grid;
	gap: 16px;
}

@media (min-width: 720px) {
	.woocommerce-customer-details .woocommerce-columns {
		grid-template-columns: 1fr 1fr;
	}
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
	margin: 6px 0 0;
}

mark {
	padding: 1px 6px;
	border-radius: var(--mc-r-xs);
	background: var(--mc-gold-soft);
	color: var(--mc-black);
	font-weight: 700;
}

.woocommerce-OrderUpdates {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-OrderUpdate {
	padding: 12px 16px;
	border-left: 3px solid var(--mc-gold);
	background: var(--mc-bg-soft);
}

/* Progresso do pedido (Suite) */
.mc-order-progress {
	margin-bottom: 20px;
	padding: clamp(18px, 3vw, 24px);
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-r-lg);
	background: #ffffff;
}

.mc-order-progress__header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 18px;
}

.mc-order-progress__header span {
	color: var(--mc-red);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.mc-order-progress__header h2 {
	margin: 2px 0 0;
	font-size: 1.35rem;
}

.mc-order-progress__header > strong {
	padding: 6px 14px;
	border-radius: var(--mc-r-pill);
	background: var(--mc-gold-soft);
	font-size: 0.85rem;
}

.mc-order-progress__steps {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mc-order-progress__steps li {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--mc-subtle);
	font-size: 0.9rem;
}

.mc-order-progress__marker {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border: 1px solid var(--mc-line-strong);
	border-radius: 50%;
	background: #ffffff;
	font-size: 0.8rem;
	font-weight: 800;
}

.mc-order-progress__steps li.is-done {
	color: var(--mc-black);
}

.mc-order-progress__steps li.is-done .mc-order-progress__marker {
	border-color: var(--mc-success);
	background: var(--mc-success);
	color: #ffffff;
}

.mc-order-progress__steps li.is-active .mc-order-progress__marker {
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--mc-success) 18%, transparent);
}

@media (min-width: 720px) {
	.mc-order-progress__steps {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.mc-order-progress__steps li {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}
