/**
 * Loja Moticristo — identidade visual (Fase 4, passo 1).
 *
 * Montra/grelha, cartão de produto, selo Usado, etiqueta de marca (eyebrow LED),
 * preço + disponibilidade, botão e base da página de produto com bloco de
 * confiança. Carrinho/checkout no passo seguinte.
 *
 * @package hello-moticristo-child
 */

.woocommerce,
.woocommerce-page {
	--mc-red: #e52528;
	--mc-grafite: #0f1216;
	--mc-muted: #6b7280;
	--mc-line: #e7e8ea;
	--mc-soft: #eceef0;
	--mc-green: #1f9d57;
	--mc-radius: 14px;
	--mc-font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	font-family: var(--mc-font);
}

@keyframes mc-led { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* ---------------------------------------------------------------------------
 * Largura — abrir a montra a toda a largura (tentativa; ajustada com o DOM)
 * ------------------------------------------------------------------------- */
body.woocommerce-page #content,
body.woocommerce-page .site-main,
body.woocommerce-page main,
body.archive.woocommerce-page .elementor-widget-woocommerce-archive-products,
body.archive.woocommerce-page .e-con-inner {
	max-width: 1280px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* ---------------------------------------------------------------------------
 * Montra / grelha
 * ------------------------------------------------------------------------- */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 22px;
	clear: both;
	margin: 8px 0 44px !important;
	padding: 0 !important;
	list-style: none;
}
/* Anular o clearfix do WooCommerce (senão vira célula vazia na grelha) */
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	position: relative;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-radius);
	overflow: hidden;
	transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}

/* Barra vermelha que entra no topo ao passar o rato */
.woocommerce ul.products li.product::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 3px;
	width: 0;
	background: var(--mc-red);
	transition: width .28s ease;
	z-index: 3;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(15, 18, 22, .13);
	border-color: #dadce0;
}
.woocommerce ul.products li.product:hover::after { width: 100%; }

/* O <a> envolve imagem + título + preço */
.woocommerce ul.products li.product > a {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	text-decoration: none;
	color: inherit;
}

.woocommerce ul.products li.product a img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	margin: 0;
	border-radius: 0;
	background: var(--mc-soft);
}

/* Etiqueta de marca (eyebrow LED) */
.mc-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: var(--mc-font);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--mc-muted);
	line-height: 1;
}
.mc-eyebrow::before {
	content: "";
	width: 3px;
	height: 11px;
	border-radius: 2px;
	background: var(--mc-red);
	animation: mc-led 1.8s ease-in-out infinite;
}
.woocommerce ul.products li.product .mc-eyebrow { padding: 14px 16px 0; }

/* Título */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 14px 16px 0;
	margin: 0;
	font-family: var(--mc-font);
	font-size: .96rem;
	font-weight: 600;
	line-height: 1.32;
	color: var(--mc-grafite);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.5em;
}
/* Com eyebrow presente, o título encosta-se a ela */
.woocommerce ul.products li.product .mc-eyebrow + .woocommerce-loop-product__title { padding-top: 5px; }

/* Rodapé do cartão: preço + disponibilidade */
.woocommerce ul.products li.product .mc-foot {
	margin-top: auto;
	padding: 12px 16px 0;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
}
.woocommerce ul.products li.product .mc-foot .price {
	margin: 0 !important;
	color: var(--mc-grafite) !important;
	font-size: 1.16rem !important;
	font-weight: 800;
	line-height: 1;
}
.woocommerce ul.products li.product .mc-foot .price .woocommerce-Price-amount { color: var(--mc-grafite); font-weight: 800; }
.woocommerce ul.products li.product .mc-foot .price small {
	display: block;
	font-size: .6rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--mc-muted);
	margin-top: 5px;
}
.mc-stock {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
}
.mc-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; }
.mc-stock--in { color: var(--mc-green); }
.mc-stock--in::before { background: var(--mc-green); }
.mc-stock--out { color: var(--mc-muted); }
.mc-stock--out::before { background: var(--mc-muted); }

/* Botão "Adicionar" */
.woocommerce ul.products li.product .button,
.woocommerce a.button.add_to_cart_button {
	display: block;
	margin: 14px 16px 16px;
	padding: .78em 1em;
	border: 0;
	border-radius: 10px;
	background: var(--mc-grafite);
	color: #fff;
	font-family: var(--mc-font);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: center;
	transition: background .18s ease;
}
.woocommerce a.button.add_to_cart_button::after {
	content: " \2192";
	display: inline-block;
	transition: transform .18s ease;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button.add_to_cart_button:hover { background: var(--mc-red); color: #fff; }
.woocommerce a.button.add_to_cart_button:hover::after { transform: translateX(3px); }
.woocommerce ul.products li.product .added_to_cart {
	display: block;
	margin: -6px 16px 14px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-align: center;
	color: var(--mc-red);
}

/* Selo Usado sobre a imagem */
.mc-estado {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	padding: 5px 11px;
	border-radius: 999px;
	font-family: var(--mc-font);
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1;
	color: #fff;
}
.mc-estado--usado { background: var(--mc-red); }

/* ---------------------------------------------------------------------------
 * Barra de resultados / ordenação / paginação
 * ------------------------------------------------------------------------- */
.woocommerce .woocommerce-result-count { color: var(--mc-muted); font-size: .85rem; }
.woocommerce .woocommerce-ordering select {
	font-family: var(--mc-font);
	border: 1px solid var(--mc-line);
	border-radius: 8px;
	padding: .45em 2em .45em .7em;
	color: var(--mc-grafite);
}
.woocommerce nav.woocommerce-pagination ul { border: 0; gap: 6px; display: inline-flex; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--mc-line);
	border-radius: 8px;
	min-width: 40px;
	padding: .5em .7em;
	color: var(--mc-grafite);
	font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--mc-grafite);
	color: #fff;
	border-color: var(--mc-grafite);
}

/* ---------------------------------------------------------------------------
 * Botões — fallback de marca (apanha botões avulsos: avaliações, etc.)
 * ------------------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--mc-grafite);
	color: #fff;
	border: 0;
	border-radius: 10px;
	font-family: var(--mc-font);
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	transition: background .18s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--mc-red);
	color: #fff;
}

/* ---------------------------------------------------------------------------
 * Página de produto
 * ------------------------------------------------------------------------- */
.woocommerce div.product .product_title {
	font-family: var(--mc-font);
	font-weight: 800;
	font-size: 1.85rem;
	letter-spacing: -.01em;
	color: var(--mc-grafite);
	line-height: 1.15;
	margin: 0 0 14px;
}
.mc-eyebrow--single { font-size: .72rem; margin-bottom: 12px; }

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--mc-grafite);
	font-weight: 800;
	font-size: 1.7rem;
}
.woocommerce div.product p.price::after {
	content: "IVA incluído";
	display: block;
	font-size: .62rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--mc-muted);
	margin-top: 4px;
}

/* Etiqueta de estado (Usado) na página de produto */
.mc-estado-tag {
	display: inline-block;
	margin: 0 0 14px;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
}
.mc-estado-tag--usado { background: var(--mc-red); }

/* Disponibilidade (em vez do amarelo por omissão) */
.woocommerce div.product p.stock {
	font-family: var(--mc-font);
	font-weight: 700;
	font-size: .9rem;
	margin: 14px 0 0;
}
.woocommerce div.product p.stock.in-stock { color: var(--mc-green); }
.woocommerce div.product p.stock.out-of-stock { color: var(--mc-muted); }

/* REF + Categoria em linhas separadas (tabela vertical) */
.woocommerce div.product .product_meta {
	display: flex;
	flex-direction: column;
	margin-top: 22px;
	border-top: 1px solid var(--mc-line);
	font-family: var(--mc-font);
	font-size: .85rem;
}
.woocommerce div.product .product_meta > span {
	padding: 11px 0;
	border-bottom: 1px solid var(--mc-line);
	color: var(--mc-grafite);
}
.woocommerce div.product .product_meta .sku,
.woocommerce div.product .product_meta .posted_in a,
.woocommerce div.product .product_meta .tagged_as a {
	font-weight: 700;
	color: var(--mc-grafite);
}

.woocommerce div.product form.cart .button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--mc-grafite);
	color: #fff;
	font-family: var(--mc-font);
	font-weight: 700;
	font-size: .86rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	border-radius: 11px;
	padding: 1em 2em;
	transition: background .18s ease;
}
.woocommerce div.product form.cart .button::after {
	content: " \2192";
	transition: transform .18s ease;
}
.woocommerce div.product form.cart .button:hover { background: var(--mc-red); }
.woocommerce div.product form.cart .button:hover::after { transform: translateX(3px); }

/* Bloco de confiança */
.mc-trust {
	margin: 26px 0 0;
	border-top: 1px solid var(--mc-line);
	padding-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 13px;
}
.mc-trust__row { display: flex; align-items: center; gap: 12px; font-size: .88rem; color: var(--mc-grafite); }
.mc-trust__row svg { width: 20px; height: 20px; color: var(--mc-red); flex: none; }
.mc-trust__row b { font-weight: 700; }

/* ---------------------------------------------------------------------------
 * Espaçamento vertical (afastar do header e do footer)
 * ------------------------------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb {
	padding-top: 42px;
	margin-bottom: 16px;
	color: var(--mc-muted);
	font-size: .82rem;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--mc-muted); }
.woocommerce .woocommerce-products-header { padding-top: 4px; }
.woocommerce .woocommerce-result-count { margin-bottom: 18px; }
.woocommerce nav.woocommerce-pagination { margin: 10px 0 72px; }
.woocommerce .related.products,
.woocommerce .upsells.products {
	margin-top: 60px;
	padding-top: 44px;
	border-top: 1px solid var(--mc-line);
	margin-bottom: 64px;
}
.woocommerce div.product { padding-top: 6px; }

/* ---------------------------------------------------------------------------
 * Galeria do produto (miniaturas em fila, como na maqueta)
 * ------------------------------------------------------------------------- */
.woocommerce div.product div.images { margin-bottom: 40px; }
.woocommerce div.product div.images img { border-radius: 12px; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product div.images .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	position: static;
}
.woocommerce div.product div.images .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	list-style: none;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
	width: 76px;
	height: 76px;
	object-fit: cover;
	border-radius: 9px;
	border: 1px solid var(--mc-line);
	opacity: .62;
	transition: opacity .15s ease, border-color .15s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
	opacity: 1;
	border-color: var(--mc-grafite);
}

/* ---------------------------------------------------------------------------
 * Separadores + Informação adicional
 * ------------------------------------------------------------------------- */
.woocommerce div.product .woocommerce-tabs { margin-top: 56px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 24px;
	border-bottom: 1px solid var(--mc-line);
	display: flex;
	gap: 4px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 10px 18px;
	font-family: var(--mc-font);
	font-weight: 700;
	font-size: .8rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--mc-muted);
	border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--mc-grafite); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { border-bottom-color: var(--mc-red); }
.woocommerce div.product .woocommerce-Tabs-panel h2 {
	font-family: var(--mc-font);
	font-weight: 800;
	font-size: 1.2rem;
	color: var(--mc-grafite);
	margin: 0 0 18px;
}

.woocommerce table.shop_attributes {
	border: 1px solid var(--mc-line);
	border-radius: 10px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	border: 0;
	border-bottom: 1px solid var(--mc-line);
	padding: 12px 16px;
	font-size: .9rem;
}
.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_attributes th {
	background: #fafbfc;
	color: var(--mc-grafite);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: .74rem;
	width: 170px;
	text-align: left;
}
.woocommerce table.shop_attributes td {
	color: var(--mc-grafite);
	font-style: normal;
}
.woocommerce table.shop_attributes td p { margin: 0; padding: 0; }

/* Títulos de secção do produto (Produtos Relacionados, etc.) */
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2,
.woocommerce section.related > h2,
.woocommerce section.up-sells > h2 {
	font-family: var(--mc-font);
	font-weight: 800;
	font-size: 1.4rem;
	color: var(--mc-grafite);
	margin: 0 0 24px;
}

/* ---------------------------------------------------------------------------
 * Barra de filtros
 * ------------------------------------------------------------------------- */
.mc-filtros { margin: 6px 0 26px; clear: both; }
.mc-filtros__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 14px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid var(--mc-line);
	border-radius: 12px;
}
.mc-filtros__field { display: flex; flex-direction: column; gap: 6px; }
.mc-filtros__field > span {
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mc-muted);
}
.mc-filtros__field select,
.mc-filtros__price input {
	font-family: var(--mc-font);
	font-size: .86rem;
	color: var(--mc-grafite);
	border: 1px solid var(--mc-line);
	border-radius: 9px;
	padding: .55em .7em;
	background: #fff;
	min-width: 150px;
}
.mc-filtros__field select:focus,
.mc-filtros__price input:focus { outline: none; border-color: var(--mc-grafite); }
.mc-filtros__price-inputs { display: flex; gap: 8px; }
.mc-filtros__price input { width: 92px; min-width: 0; }
.mc-filtros__actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.mc-filtros__submit {
	background: var(--mc-grafite);
	color: #fff;
	border: 0;
	border-radius: 10px;
	font-family: var(--mc-font);
	font-weight: 700;
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .72em 1.5em;
	cursor: pointer;
	transition: background .18s ease;
}
.mc-filtros__submit:hover { background: var(--mc-red); }
.mc-filtros__clear {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--mc-muted);
	text-decoration: none;
}
.mc-filtros__clear:hover { color: var(--mc-red); }
@media (max-width: 760px) {
	.mc-filtros__row { gap: 10px; }
	.mc-filtros__field { flex: 1 1 46%; }
	.mc-filtros__field select { min-width: 0; width: 100%; }
	.mc-filtros__price { flex: 1 1 100%; }
	.mc-filtros__price input { flex: 1; width: auto; }
	.mc-filtros__actions { width: 100%; margin-left: 0; justify-content: space-between; }
	.mc-filtros__submit { flex: 1; }
}

/* ---------------------------------------------------------------------------
 * Cabeçalho da loja
 * ------------------------------------------------------------------------- */
.mc-loja-hero { margin: 0 0 24px; }
.mc-loja-hero .mc-eyebrow { font-size: .72rem; margin-bottom: 12px; }
.mc-loja-hero__title {
	margin: 0;
	font-family: var(--mc-font);
	font-weight: 800;
	font-size: 2.1rem;
	letter-spacing: -.01em;
	line-height: 1.12;
	color: var(--mc-grafite);
}
.mc-loja-hero__title em { font-style: italic; color: var(--mc-red); }
.mc-loja-hero__sub { margin: 12px 0 0; color: var(--mc-muted); font-size: .95rem; max-width: 640px; }

/* Filtros: esconder o botão quando o JS aplica automaticamente */
.mc-filtros.mc-js .mc-filtros__submit { display: none; }

/* Scroll infinito — indicador de carregamento */
.mc-loadmore { min-height: 44px; display: flex; align-items: center; justify-content: center; margin: 4px 0 48px; }
.mc-loadmore.is-loading::after {
	content: "";
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 3px solid var(--mc-line);
	border-top-color: var(--mc-red);
	animation: mc-spin .7s linear infinite;
}
@keyframes mc-spin { to { transform: rotate(360deg); } }

/* ---------------------------------------------------------------------------
 * Responsivo
 * ------------------------------------------------------------------------- */
@media (max-width: 560px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(2, 1fr);
		gap: 13px;
	}
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .88rem; }
	.woocommerce ul.products li.product .button,
	.woocommerce a.button.add_to_cart_button { margin: 12px; padding: .7em .6em; font-size: .72rem; letter-spacing: .04em; }
	.woocommerce div.product .product_title { font-size: 1.4rem; }
	.mc-loja-hero__title { font-size: 1.55rem; }
}

/* ===========================================================================
 * CARRINHO + CHECKOUT (blocos WooCommerce 10)
 * ======================================================================== */

/* Hero (reutiliza .mc-loja-hero da montra) */
.mc-loja-hero--cart { margin-bottom: 32px; }

/* --- Títulos dos blocos --- */
body.woocommerce-cart .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-cart .wp-block-woocommerce-cart h2,
body.woocommerce-checkout .wc-block-components-checkout-step__title {
	font-family: var(--mc-font);
	font-weight: 800;
	color: var(--mc-grafite);
	letter-spacing: -.01em;
}

/* --- Botões primários (contained): grafite -> vermelho --- */
body.woocommerce-cart .wc-block-components-button:not(.is-link).contained,
body.woocommerce-checkout .wc-block-components-button:not(.is-link).contained {
	background-color: var(--mc-grafite);
	color: #fff;
	border: 0;
	border-radius: 10px;
	font-family: var(--mc-font);
	font-weight: 700;
	letter-spacing: .01em;
	transition: background-color .15s ease, transform .15s ease;
}
body.woocommerce-cart .wc-block-components-button:not(.is-link).contained:hover,
body.woocommerce-checkout .wc-block-components-button:not(.is-link).contained:hover,
body.woocommerce-cart .wc-block-components-button:not(.is-link).contained:focus,
body.woocommerce-checkout .wc-block-components-button:not(.is-link).contained:focus {
	background-color: var(--mc-red);
	transform: translateY(-1px);
}

/* --- Botões/ligações secundárias (is-link) e âncoras: vermelho --- */
body.woocommerce-cart .wc-block-components-button.is-link,
body.woocommerce-checkout .wc-block-components-button.is-link,
body.woocommerce-cart a:not(.wc-block-components-button):not(.wc-block-components-product-name),
body.woocommerce-checkout a:not(.wc-block-components-button):not(.wc-block-components-product-name) {
	color: var(--mc-red);
}

/* --- Campos de formulário --- */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-textarea {
	border: 1px solid var(--mc-line);
	border-radius: 8px;
	font-family: var(--mc-font);
}
body.woocommerce-checkout .wc-block-components-text-input.is-active input,
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus {
	border-color: var(--mc-grafite);
	box-shadow: 0 0 0 3px rgba(229, 37, 40, .12);
	outline: 0;
}
body.woocommerce-checkout .wc-block-components-text-input.is-active label {
	color: var(--mc-grafite);
}

/* --- Seletor de quantidade (carrinho) --- */
body.woocommerce-cart .wc-block-components-quantity-selector {
	border: 1px solid var(--mc-line);
	border-radius: 8px;
}
body.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
	color: var(--mc-red);
}

/* --- Nomes e preços --- */
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name {
	color: var(--mc-grafite);
	font-weight: 700;
	text-decoration: none;
}
body.woocommerce-cart .wc-block-components-product-name:hover,
body.woocommerce-checkout .wc-block-components-product-name:hover {
	color: var(--mc-red);
}
body.woocommerce-cart .wc-block-components-product-price__value,
body.woocommerce-checkout .wc-block-components-product-price__value,
body.woocommerce-cart .wc-block-formatted-money-amount,
body.woocommerce-checkout .wc-block-formatted-money-amount {
	color: var(--mc-grafite);
	font-weight: 700;
}

/* --- Remover artigo --- */
body.woocommerce-cart .wc-block-cart-item__remove-link { color: var(--mc-muted); }
body.woocommerce-cart .wc-block-cart-item__remove-link:hover { color: var(--mc-red); }

/* --- Resumo / totais em cartão --- */
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-checkout__sidebar > .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-checkout__sidebar {
	background: #fff;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-radius);
	padding: 24px;
}
.wc-block-components-totals-item__label { color: var(--mc-muted); }
.wc-block-components-totals-item__value { color: var(--mc-grafite); font-weight: 600; }
.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-weight: 800;
	color: var(--mc-grafite);
}

/* --- Passos do checkout: número a grafite --- */
body.woocommerce-checkout .wc-block-components-checkout-step__title::before,
body.woocommerce-checkout .wc-block-components-checkout-step-number {
	background-color: var(--mc-grafite);
	color: #fff;
}

/* --- Avisos --- */
body.woocommerce-cart .wc-block-components-notice-banner,
body.woocommerce-checkout .wc-block-components-notice-banner {
	border-radius: 10px;
	font-family: var(--mc-font);
}

/* --- Carrinho vazio --- */
body.woocommerce-cart .wc-block-cart__empty-cart__title {
	font-family: var(--mc-font);
	font-weight: 800;
	color: var(--mc-grafite);
}

/* ===========================================================================
 * CARRINHO / CHECKOUT — ajustes (feedback iteração 1)
 * ======================================================================== */

/* (1) Espaçamento vertical uniforme com a loja: 42px topo / 72px base */
.mc-loja-hero--cart { padding-top: 42px; }
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-checkout .wc-block-checkout {
	margin-bottom: 72px;
}

/* (2) Imagem do produto no carrinho/resumo igual aos thumbs do produto */
body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-checkout .wc-block-order-summary-item__image img,
body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
	border: 1px solid var(--mc-line);
	border-radius: 9px;
	object-fit: cover;
}

/* (3) Avisos da loja como cartão (erro/sucesso com barra lateral) */
.woocommerce-page .wc-block-components-notice-banner,
.woocommerce .wc-block-components-notice-banner {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	border: 1px solid var(--mc-line);
	border-left: 4px solid var(--mc-red);
	border-radius: 10px;
	box-shadow: 0 6px 22px rgba(15, 18, 22, .07);
	font-family: var(--mc-font);
	padding: 16px 20px;
}
.wc-block-components-notice-banner.is-success { border-left-color: var(--mc-green); }
.wc-block-components-notice-banner.is-error   { border-left-color: var(--mc-red); }
.wc-block-components-notice-banner .wc-block-components-button:not(.is-link).contained {
	background-color: var(--mc-grafite);
	border-radius: 8px;
}
.wc-block-components-notice-banner .wc-block-components-button:not(.is-link).contained:hover {
	background-color: var(--mc-red);
}

/* (4) Carrinho: separar caixas (cupão / total) e tirar linha a mais */
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
	margin-bottom: 16px;
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper:last-child {
	margin-bottom: 0;
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon {
	border: 0;
}

/* (8) Resumo da encomenda fica visível ao fazer scroll (abaixo do header) */
body.woocommerce-checkout .wc-block-checkout__sidebar {
	position: sticky;
	top: 110px;
	align-self: flex-start;
}

/* ===========================================================================
 * CARRINHO / CHECKOUT — ajustes (feedback iteração 2)
 * ======================================================================== */

/* (P1) Avisos da loja (marcação CLÁSSICA + blocos) com identidade Moticristo */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-error,
.woocommerce-page .woocommerce-info,
.woocommerce .wc-block-components-notice-banner,
.woocommerce-page .wc-block-components-notice-banner {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 20px !important;
	background: #fff !important;
	border: 1px solid var(--mc-line) !important;
	border-left-width: 5px !important;
	border-radius: 12px !important;
	box-shadow: 0 10px 30px rgba(15, 18, 22, .08);
	font-family: var(--mc-font);
	font-weight: 600;
	color: var(--mc-grafite);
}
.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-message,
.wc-block-components-notice-banner.is-success { border-left-color: var(--mc-green) !important; }
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error,
.wc-block-components-notice-banner.is-error { border-left-color: var(--mc-red) !important; }
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-info,
.wc-block-components-notice-banner.is-info { border-left-color: var(--mc-grafite) !important; }
/* botão dentro do aviso clássico (Ver carrinho) */
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-message .button {
	border-radius: 8px;
	font-family: var(--mc-font);
	font-weight: 700;
}

/* (P2/P3) Carrinho: remover a linha por baixo do resumo (order-summary-block) */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart .wc-block-cart__totals-title + * { border-bottom: 0 !important; }

/* (P4) Botões dos blocos no carrinho/checkout (anular cor do Elementor) */
body.woocommerce-checkout .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button),
body.woocommerce-cart .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button) {
	background-color: var(--mc-grafite) !important;
	border-color: var(--mc-grafite) !important;
	color: #fff !important;
	border-radius: 10px;
}
body.woocommerce-checkout .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button):hover,
body.woocommerce-checkout .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button):focus,
body.woocommerce-cart .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button):hover,
body.woocommerce-cart .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button):focus {
	background-color: var(--mc-red) !important;
	border-color: var(--mc-red) !important;
}

/* (P5/P6) Mais folga no topo do resumo fixo (mostra a borda do cartão) */
body.woocommerce-checkout .wc-block-checkout__sidebar { top: 130px; }

/* ===========================================================================
 * ÁREA DE CLIENTE ("A minha conta")
 * ======================================================================== */

.mc-loja-hero--conta { padding-top: 42px; }

/* Navegação lateral */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-radius);
	overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid var(--mc-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 14px 18px;
	color: var(--mc-grafite);
	font-family: var(--mc-font);
	font-weight: 600;
	text-decoration: none;
	transition: background-color .12s ease, color .12s ease, box-shadow .12s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--mc-soft);
	color: var(--mc-red);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--mc-red);
	background: #fff;
	box-shadow: inset 3px 0 0 var(--mc-red);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--mc-muted);
}

/* Painel — boas-vindas */
.mc-conta-welcome { margin-bottom: 28px; }
.mc-conta-welcome__title {
	font-family: var(--mc-font);
	font-weight: 800;
	color: var(--mc-grafite);
	font-size: 1.55rem;
	margin: .35rem 0 .6rem;
	letter-spacing: -.01em;
}
.mc-conta-welcome__title em { font-style: italic; color: var(--mc-red); }
.mc-conta-welcome__lead { color: var(--mc-muted); max-width: 680px; margin: 0; }

/* Cartões de atalho */
.mc-conta-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	margin-top: 22px;
}
.mc-conta-card {
	position: relative;
	display: block;
	background: #fff;
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-radius);
	padding: 18px;
	text-decoration: none;
	color: var(--mc-grafite);
	overflow: hidden;
	transition: transform .15s ease, box-shadow .15s ease;
}
.mc-conta-card::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	background: var(--mc-red);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .15s ease;
}
.mc-conta-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(15, 18, 22, .08); }
.mc-conta-card:hover::after { transform: scaleX(1); }
.mc-conta-card strong { display: block; font-family: var(--mc-font); font-weight: 800; margin-bottom: 4px; }
.mc-conta-card span { color: var(--mc-muted); font-size: .88rem; }

/* Placeholders dos separadores */
.mc-conta-placeholder h3 {
	font-family: var(--mc-font);
	font-weight: 800;
	color: var(--mc-grafite);
	margin-top: 0;
}
.mc-conta-placeholder p { color: var(--mc-muted); }

/* Títulos e formulários da conta */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce h2 {
	font-family: var(--mc-font);
	font-weight: 800;
	color: var(--mc-grafite);
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	border: 1px solid var(--mc-line);
	border-radius: var(--mc-radius);
	padding: 24px;
}
.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce-EditAccountForm input.input-text {
	border: 1px solid var(--mc-line);
	border-radius: 8px;
	padding: 10px 12px;
}
.woocommerce-account .woocommerce input.input-text:focus {
	border-color: var(--mc-grafite);
	box-shadow: 0 0 0 3px rgba(229, 37, 40, .12);
	outline: 0;
}
.woocommerce-account .woocommerce-Button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce a.button {
	background: var(--mc-grafite);
	color: #fff;
	border: 0;
	border-radius: 10px;
	font-family: var(--mc-font);
	font-weight: 700;
}
.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce a.button:hover {
	background: var(--mc-red);
}

/* ===========================================================================
 * ÁREA DE CLIENTE — ajustes (iteração 1)
 * ======================================================================== */

/* Sem sublinhados nos cartões e atalhos do painel */
.mc-conta-card,
.mc-conta-card strong,
.mc-conta-card span,
.mc-conta-welcome a { text-decoration: none !important; }

/* Espaçamento vertical da página da conta (topo e antes do footer) */
body.woocommerce-account #content,
body.woocommerce-account .site-main,
body.woocommerce-account main { padding-top: 30px; padding-bottom: 76px; }

/* ===========================================================================
 * ÁREA DE CLIENTE — listagem de reservas
 * ======================================================================== */
.mc-conta-reservas h3 { font-family: var(--mc-font); font-weight: 800; color: var(--mc-grafite); margin-top: 0; }
.mc-conta-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.mc-conta-table th {
	text-align: left;
	font-family: var(--mc-font);
	font-weight: 700;
	color: var(--mc-muted);
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 10px 12px;
	border-bottom: 2px solid var(--mc-line);
}
.mc-conta-table td {
	padding: 12px;
	border-bottom: 1px solid var(--mc-line);
	color: var(--mc-grafite);
	font-weight: 500;
}
.mc-conta-estado {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: .76rem;
	font-weight: 700;
	background: var(--mc-soft);
	color: var(--mc-grafite);
}
.mc-conta-estado--confirmada,
.mc-conta-estado--a_decorrer,
.mc-conta-estado--concluida { background: rgba(31, 157, 87, .12); color: var(--mc-green); }
.mc-conta-estado--aguarda_pagamento,
.mc-conta-estado--pendente { background: rgba(229, 37, 40, .10); color: var(--mc-red); }
.mc-conta-estado--cancelada,
.mc-conta-estado--manutencao { background: #f1f1f1; color: var(--mc-muted); }
.mc-conta-hint { color: var(--mc-muted); font-size: .85rem; margin-top: 14px; }

@media (max-width: 600px) {
	.mc-conta-table thead { display: none; }
	.mc-conta-table, .mc-conta-table tbody, .mc-conta-table tr, .mc-conta-table td { display: block; width: 100%; }
	.mc-conta-table tr { border: 1px solid var(--mc-line); border-radius: 10px; margin-bottom: 10px; padding: 6px 10px; }
	.mc-conta-table td { border: 0; padding: 6px 2px; display: flex; justify-content: space-between; gap: 12px; }
	.mc-conta-table td::before { content: attr(data-label); color: var(--mc-muted); font-weight: 700; font-size: .78rem; }
}
