/**
 * WooCommerce – Cores do site e estilo moderno/mobile-friendly
 * Cores: azul #3498db, preto, branco
 */

/* ==========================================================================
   Variáveis
   ========================================================================== */
:root {
	--wc-primary: #3498db;
	--wc-primary-dark: #2980b9;
	--wc-primary-light: #5dade2;
	--wc-black: #000;
	--wc-white: #fff;
	--wc-gray-100: #f8f9fa;
	--wc-gray-200: #e9ecef;
	--wc-gray-600: #6c757d;
	--wc-gray-900: #212529;
	--wc-radius: 8px;
	--wc-radius-lg: 12px;
	--wc-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	--wc-shadow-hover: 0 4px 16px rgba(52, 152, 219, 0.2);
	--wc-transition: 0.2s ease;
	--wc-content-max-width: 1200px;
}

/* Sobrescreve variáveis do WooCommerce block theme (evita botão roxo #720eec e amarelo #958e09) */
body.woocommerce,
body.woocommerce-page {
	--woocommerce: #3498db;
	--wc-primary: #3498db;
	--wc-primary-text: #fff;
	--wc-highlight: #3498db;
	--wc-highligh-text: #fff;
}

/* ==========================================================================
   Base e tipografia (Montserrat já aplicada no style.css)
   ========================================================================== */
body.woocommerce-page .woocommerce,
body.woocommerce .woocommerce {
	--wc-body-color: var(--wc-gray-900);
	color: var(--wc-body-color);
	line-height: 1.6;
}

/* ==========================================================================
   Links
   ========================================================================== */
.woocommerce a:not(.button),
.woocommerce-page a:not(.button) {
	color: var(--wc-primary);
	text-decoration: none;
	transition: color var(--wc-transition);
}
.woocommerce a:hover,
.woocommerce-page a:hover {
	color: var(--wc-primary-dark);
}

/* ==========================================================================
   Botões
   ========================================================================== */
.woocommerce .button,
.woocommerce-page .button,
.woocommerce input[type="submit"],
.woocommerce-page input[type="submit"],
.woocommerce a.button,
.woocommerce-page a.button,
.woocommerce button.button {
	display: inline-block;
	padding: 12px 24px;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	border: none;
	border-radius: var(--wc-radius);
	background: var(--wc-primary);
	color: var(--wc-white) !important;
	cursor: pointer;
	transition: background var(--wc-transition), box-shadow var(--wc-transition), transform var(--wc-transition);
	-webkit-tap-highlight-color: transparent;
	min-height: 48px;
}
.woocommerce .button:hover,
.woocommerce-page .button:hover,
.woocommerce input[type="submit"]:hover,
.woocommerce-page input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce-page a.button:hover,
.woocommerce button.button:hover {
	background: var(--wc-primary-dark);
	color: var(--wc-white) !important;
	box-shadow: var(--wc-shadow-hover);
}
.woocommerce .button.alt,
.woocommerce-page .button.alt {
	background: var(--wc-primary);
	color: var(--wc-white) !important;
}
.woocommerce .button.alt:hover,
.woocommerce-page .button.alt:hover {
	background: var(--wc-primary-dark);
	color: var(--wc-white) !important;
}

/* Botão secundário / outline */
.woocommerce .button[name="update_cart"],
.woocommerce-page .button[name="update_cart"],
.woocommerce .button[name="apply_coupon"],
.woocommerce-page .button[name="apply_coupon"] {
	background: var(--wc-white);
	color: var(--wc-primary) !important;
	border: 2px solid var(--wc-primary);
	border-radius: var(--wc-radius);
}
.woocommerce .button[name="apply_coupon"],
.woocommerce-page .button[name="apply_coupon"] {
	min-height: 48px;
	height: 48px;
}
.woocommerce .button[name="update_cart"]:hover,
.woocommerce-page .button[name="update_cart"]:hover,
.woocommerce .button[name="apply_coupon"]:hover,
.woocommerce-page .button[name="apply_coupon"]:hover {
	background: var(--wc-gray-100);
	color: var(--wc-primary-dark) !important;
	border-color: var(--wc-primary-dark);
}
.woocommerce .button[name="apply_coupon"]:disabled,
.woocommerce-page .button[name="apply_coupon"]:disabled {
	background: var(--wc-gray-200) !important;
	color: var(--wc-gray-600) !important;
	border-color: var(--wc-gray-200) !important;
}

/* ==========================================================================
   Notices (sucesso, erro, info)
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	padding: 14px 18px;
	margin-bottom: 1.25rem;
	border-radius: var(--wc-radius);
	border-left: 4px solid;
	list-style: none;
}
.woocommerce-message,
.woocommerce .woocommerce-message {
	background: #e8f6f3;
	border-left-color: var(--wc-primary);
	color: var(--wc-gray-900);
}
.woocommerce-info,
.woocommerce .woocommerce-info {
	background: #eaf2f8;
	border-left-color: var(--wc-primary);
	color: var(--wc-gray-900);
}
.woocommerce-error,
.woocommerce .woocommerce-error {
	background: #fde8e8;
	border-left-color: #c0392b;
	color: var(--wc-gray-900);
}

/* ==========================================================================
   Formulários
   ========================================================================== */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce form .form-row select {
	width: 100%;
	max-width: 100%;
	padding: 12px 14px;
	font-size: 1rem;
	border: 1px solid var(--wc-gray-200);
	border-radius: var(--wc-radius);
	background: var(--wc-white);
	transition: border-color var(--wc-transition), box-shadow var(--wc-transition);
	min-height: 48px;
	box-sizing: border-box;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-page form .form-row input.input-text:focus,
.woocommerce-page form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--wc-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.15);
}
.woocommerce form .form-row {
	margin-bottom: 1rem;
}
.woocommerce form .form-row label {
	display: block;
	margin-bottom: 4px;
	font-weight: 600;
	color: var(--wc-gray-900);
	font-size: 0.9375rem;
}

/* ==========================================================================
   Product loop (loja / arquivo)
   ========================================================================== */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	gap: 1.5rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
	width: 100%;
	/* Largura mínima por item para evitar itens estreitos */
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
/* Remove clearfix ::before/::after do WooCommerce – em grid viram células vazias e quebram o layout */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	display: none !important;
	content: none !important;
}
/* Fallback se quiser limitar colunas no desktop (opcional) */
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); max-width: 100%; }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); max-width: 100%; }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); max-width: 100%; }
.woocommerce-page ul.products.columns-2,
.woocommerce-page ul.products.columns-3,
.woocommerce-page ul.products.columns-4 {
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

/* Product Collection fora da loja – mesma tipografia */
.wp-block-woocommerce-product-collection {
	font-family: 'Montserrat', sans-serif;
}

/* "Novo na loja" no carrinho vazio – product-new usa wc-block-grid__product-* (não wc-block-components-*), 4 colunas */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wc-block-product-new .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin: 0 0 2rem !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wc-block-product-new .wc-block-grid__product {
	display: flex;
	flex-direction: column;
	background: var(--wc-white);
	border-radius: var(--wc-radius-lg);
	overflow: hidden;
	box-shadow: var(--wc-shadow);
	transition: box-shadow var(--wc-transition), transform var(--wc-transition);
	border: 1px solid var(--wc-gray-200);
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
	box-shadow: var(--wc-shadow-hover);
	transform: translateY(-2px);
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--wc-black) !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .woocommerce-Price-amount {
	color: var(--wc-primary) !important;
	font-size: 0.9375rem !important;
	font-weight: 400 !important;
}
/* Botão "Novo na loja" – igual à listagem de produtos */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart.wp-block-button {
	align-self: center;
	margin-left: auto;
	margin-right: auto;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a.add_to_cart_button {
	background: var(--wc-primary) !important;
	color: var(--wc-white) !important;
	border: none !important;
	text-decoration: none !important;
	border-radius: var(--wc-radius);
	padding: 0 16px !important;
	font-size: 0.875rem !important;
	font-weight: 600;
	min-height: 38px !important;
	height: 38px !important;
	width: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	transition: background var(--wc-transition), box-shadow var(--wc-transition);
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart a.add_to_cart_button:hover {
	background: var(--wc-primary-dark) !important;
	color: var(--wc-white) !important;
	box-shadow: var(--wc-shadow-hover);
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

/* Listagem em blocos (Product Collection) – mesma largura mínima, sem 22% nem colunas estreitas */
/* Inclui .wp-block-woocommerce-product-collection para "Novo na loja" e blocos fora da loja */
.woocommerce .wc-block-product-template.is-flex-container,
.woocommerce-page .wc-block-product-template.is-flex-container,
.wp-block-woocommerce-product-collection .wc-block-product-template.is-flex-container {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
}
.woocommerce .wc-block-product-template.is-flex-container > li,
.woocommerce-page .wc-block-product-template.is-flex-container > li,
.wp-block-woocommerce-product-collection .wc-block-product-template.is-flex-container > li {
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
}
/* Layout responsivo do Product Collection – evita colunas estreitas (ex.: 22%) */
.woocommerce .wc-block-product-template.wc-block-product-template__responsive,
.woocommerce-page .wc-block-product-template.wc-block-product-template__responsive,
.wp-block-woocommerce-product-collection .wc-block-product-template.wc-block-product-template__responsive {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	gap: 1.5rem;
}
.woocommerce .wc-block-product-template.wc-block-product-template__responsive > li,
.woocommerce-page .wc-block-product-template.wc-block-product-template__responsive > li,
.wp-block-woocommerce-product-collection .wc-block-product-template.wc-block-product-template__responsive > li {
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
}
.woocommerce .wc-block-grid__products,
.woocommerce-page .wc-block-grid__products,
.wp-block-woocommerce-product-collection .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
	margin: 0 0 2rem !important;
}
.woocommerce .wc-block-grid__products .wc-block-grid__product,
.woocommerce-page .wc-block-grid__products .wc-block-grid__product,
.wp-block-woocommerce-product-collection .wc-block-grid__products .wc-block-grid__product {
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
	border: none;
}
/* Força qualquer item de produto a não ficar com width em % (ex.: 22%) */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wp-block-woocommerce-product-collection .wc-block-product-template > li,
.wp-block-woocommerce-product-collection .wc-block-grid__product {
	width: 100%;
	max-width: none;
}

/* Card de produto – listagem clássica e blocos (incl. "Novo na loja") */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wp-block-woocommerce-product-collection .wc-block-product-template > li,
.wp-block-woocommerce-product-collection .wc-block-grid__product {
	display: flex;
	flex-direction: column;
	background: var(--wc-white);
	border-radius: var(--wc-radius-lg);
	overflow: hidden;
	box-shadow: var(--wc-shadow);
	transition: box-shadow var(--wc-transition), transform var(--wc-transition);
	border: 1px solid var(--wc-gray-200);
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.wp-block-woocommerce-product-collection .wc-block-product-template > li:hover,
.wp-block-woocommerce-product-collection .wc-block-grid__product:hover {
	box-shadow: var(--wc-shadow-hover);
	transform: translateY(-2px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block;
	color: inherit;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link:hover {
	color: var(--wc-primary);
}
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 1;
	object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0.75rem 1rem 0.25rem;
	line-height: 1.35;
}
/* Nome do produto na listagem em blocos */
.woocommerce .wc-block-grid__products .wc-block-components-product-title,
.woocommerce .wc-block-product-template .wc-block-components-product-title,
.woocommerce-page .wc-block-grid__products .wc-block-components-product-title,
.woocommerce-page .wc-block-product-template .wc-block-components-product-title,
.wp-block-woocommerce-product-collection .wc-block-components-product-title {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--wc-black) !important;
}
.woocommerce ul.products li.product .price {
	margin: 0 1rem 0.5rem;
	font-size: 0.9375rem;
	font-weight: 400;
	color: var(--wc-primary);
}
/* Preço em todos os contextos – evita cor amarelada do tema/blocos */
.woocommerce .price,
.woocommerce .price bdi,
.woocommerce .price ins,
.woocommerce-page .price,
.woocommerce-page .price bdi,
.woocommerce-page .price ins,
.woocommerce .wc-block-components-product-price,
.woocommerce .wc-block-components-product-price bdi,
.woocommerce-page .wc-block-components-product-price,
.woocommerce-page .wc-block-components-product-price bdi,
.wp-block-woocommerce-product-collection .wc-block-components-product-price,
.wp-block-woocommerce-product-collection .wc-block-components-product-price bdi {
	color: var(--wc-primary) !important;
}
/* Preço na listagem – sem bold, menor */
.woocommerce ul.products li.product .price,
.woocommerce .wc-block-grid__products .wc-block-components-product-price,
.woocommerce .wc-block-product-template .wc-block-components-product-price,
.woocommerce-page ul.products li.product .price,
.woocommerce-page .wc-block-grid__products .wc-block-components-product-price,
.woocommerce-page .wc-block-product-template .wc-block-components-product-price,
.wp-block-woocommerce-product-collection .wc-block-components-product-price {
	font-size: 0.9375rem !important;
	font-weight: 400 !important;
}
.woocommerce .price del,
.woocommerce-page .price del {
	color: var(--wc-gray-600) !important;
}
/* Disponibilidade / stock (ex.: "Disponível por encomenda") */
.woocommerce .stock,
.woocommerce p.stock,
.woocommerce-page .stock,
.woocommerce-page p.stock,
.woocommerce .wc-block-components-product-badge,
.woocommerce-page .wc-block-components-product-badge {
	color: var(--wc-gray-600) !important;
}
.woocommerce .stock.in-stock,
.woocommerce-page .stock.in-stock {
	color: var(--wc-primary) !important;
}
.woocommerce ul.products li.product .button {
	margin: 0.5rem auto 1rem;
	width: auto;
	padding: 0 16px;
	font-size: 0.875rem;
	min-height: 38px;
	height: 38px;
	align-self: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

/* Botão "Adicionar ao carrinho" dos blocos WooCommerce (Product Button block) */
.woocommerce .wc-block-components-product-button .wc-block-components-product-button__button,
.woocommerce .wp-block-button.wc-block-components-product-button .wp-block-button__link,
.woocommerce-page .wc-block-components-product-button .wc-block-components-product-button__button,
.woocommerce-page .wp-block-button.wc-block-components-product-button .wp-block-button__link,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wc-block-components-product-button__button,
.wp-block-woocommerce-product-collection .wp-block-button.wc-block-components-product-button .wp-block-button__link {
	background: var(--wc-primary) !important;
	color: var(--wc-white) !important;
	border: none !important;
	border-radius: var(--wc-radius);
	padding: 12px 24px;
	font-weight: 600;
	min-height: 48px;
	transition: background var(--wc-transition), box-shadow var(--wc-transition);
}
/* Na listagem de produtos, botão menor */
.woocommerce ul.products .wc-block-components-product-button .wc-block-components-product-button__button,
.woocommerce .wc-block-grid__products .wc-block-components-product-button .wc-block-components-product-button__button,
.woocommerce .wc-block-product-template .wc-block-components-product-button .wc-block-components-product-button__button,
.woocommerce-page ul.products .wc-block-components-product-button .wc-block-components-product-button__button,
.woocommerce-page .wc-block-grid__products .wc-block-components-product-button .wc-block-components-product-button__button,
.woocommerce-page .wc-block-product-template .wc-block-components-product-button .wc-block-components-product-button__button,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wc-block-components-product-button__button {
	padding: 0 16px !important;
	font-size: 0.875rem !important;
	min-height: 38px !important;
	height: 38px !important;
	width: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
}
/* Centraliza o botão na listagem (template clássico e blocos) */
.woocommerce ul.products .wc-block-components-product-button,
.woocommerce .wc-block-grid__products .wc-block-components-product-button,
.woocommerce .wc-block-product-template .wc-block-components-product-button,
.woocommerce-page ul.products .wc-block-components-product-button,
.woocommerce-page .wc-block-grid__products .wc-block-components-product-button,
.woocommerce-page .wc-block-product-template .wc-block-components-product-button,
.wp-block-woocommerce-product-collection .wc-block-components-product-button {
	align-self: center;
	margin-left: auto;
	margin-right: auto;
}
/* Ver carrinho (após add to cart AJAX na listagem) – centralizado */
.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .added_to_cart {
	display: block;
	align-self: center;
	text-align: center;
	margin-bottom: 1rem;
}
.woocommerce .wc-block-components-product-button .wc-block-components-product-button__button:hover,
.woocommerce .wp-block-button.wc-block-components-product-button .wp-block-button__link:hover,
.woocommerce-page .wc-block-components-product-button .wc-block-components-product-button__button:hover,
.woocommerce-page .wp-block-button.wc-block-components-product-button .wp-block-button__link:hover,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wc-block-components-product-button__button:hover,
.wp-block-woocommerce-product-collection .wp-block-button.wc-block-components-product-button .wp-block-button__link:hover {
	background: var(--wc-primary-dark) !important;
	color: var(--wc-white) !important;
	box-shadow: var(--wc-shadow-hover);
}

/* Botão single product (página do produto) – template clássico e blocos */
.woocommerce .single_add_to_cart_button,
.woocommerce .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button,
.woocommerce form.cart .single_add_to_cart_button,
.woocommerce-page .single_add_to_cart_button,
.woocommerce-page .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button,
.woocommerce-page form.cart .single_add_to_cart_button {
	background: var(--wc-primary) !important;
	color: var(--wc-white) !important;
	border: none !important;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button:hover,
.woocommerce form.cart .single_add_to_cart_button:hover,
.woocommerce-page .single_add_to_cart_button:hover,
.woocommerce-page .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button:hover,
.woocommerce-page form.cart .single_add_to_cart_button:hover {
	background: var(--wc-primary-dark) !important;
	color: var(--wc-white) !important;
}

.woocommerce ul.products li.product .onsale {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--wc-primary);
	color: var(--wc-white);
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 600;
}

/* ==========================================================================
   Single product
   ========================================================================== */
.woocommerce div.product,
.woocommerce-page div.product {
	margin-bottom: 2rem;
}
.woocommerce div.product .summary {
	margin-bottom: 1.5rem;
}
.woocommerce div.product .price {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--wc-primary);
}
.woocommerce div.product .single_add_to_cart_button {
	width: 100%;
	max-width: 320px;
	padding: 14px 28px;
	font-size: 1.0625rem;
}
/* Campo quantidade: mesma altura e bordas do botão "Adicionar ao carrinho" */
.woocommerce div.product .quantity input.qty,
.woocommerce div.product form.cart .quantity input.qty,
.woocommerce-page div.product .quantity input.qty,
.woocommerce-page div.product form.cart .quantity input.qty {
	width: 70px;
	height: 48px;
	min-height: 48px;
	padding: 0 12px;
	text-align: center;
	border: 1px solid var(--wc-gray-200);
	border-radius: var(--wc-radius);
	background: var(--wc-white);
	font-size: 1rem;
	font-weight: 600;
	box-sizing: border-box;
}
.woocommerce div.product .quantity input.qty:focus,
.woocommerce-page div.product .quantity input.qty:focus {
	border-color: var(--wc-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.15);
}
/* Bloco Add to Cart com seletor de quantidade (stepper) */
.woocommerce .wc-block-components-quantity-selector,
.woocommerce-page .wc-block-components-quantity-selector {
	border-radius: var(--wc-radius);
	overflow: hidden;
	border: 1px solid var(--wc-gray-200);
	min-height: 48px;
}
.woocommerce .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input,
.woocommerce-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 12px;
	font-size: 1rem;
	font-weight: 600;
	text-align: center;
	border: none;
	border-radius: 0;
}
.woocommerce .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
.woocommerce-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	min-height: 48px;
	min-width: 44px;
}
/* Quantidade na listagem / carrinho – idêntico à página do produto */
.woocommerce .quantity input.qty,
.woocommerce-page .quantity input.qty,
.woocommerce-cart .quantity input.qty,
.woocommerce-cart-form .quantity input.qty,
.woocommerce-cart table.shop_table .quantity input.qty {
	width: 70px !important;
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 12px !important;
	text-align: center !important;
	border: 1px solid var(--wc-gray-200) !important;
	border-radius: var(--wc-radius) !important;
	background: var(--wc-white) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	box-sizing: border-box !important;
}
.woocommerce-cart .quantity input.qty:focus,
.woocommerce-cart-form .quantity input.qty:focus,
.woocommerce-cart table.shop_table .quantity input.qty:focus {
	border-color: var(--wc-primary) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.15) !important;
}

/* ==========================================================================
   Product meta (SKU, categorias, tags) – tabela com badges
   ========================================================================== */
.product_meta.product-meta-table,
.wp-block-woocommerce-product-meta.product-meta-table {
	margin-top: 1.25rem;
	font-size: 0.875rem;
}
.product-meta-table .product-meta-row,
.product-meta-table .wp-block-group > .wp-block-woocommerce-product-sku,
.product-meta-table .wp-block-group > .wp-block-post-terms {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	padding: 0.4rem 0;
	border-bottom: 1px solid var(--wc-gray-200);
}
.product-meta-table .product-meta-label,
.product-meta-table .wp-block-post-terms__prefix {
	flex: 0 0 100px;
	font-weight: 600;
	color: var(--wc-gray-600);
}
.product-meta-table .product-meta-value {
	flex: 1;
	min-width: 0;
	color: var(--wc-gray-900);
}
.product-meta-table .wp-block-woocommerce-product-sku .sku {
	flex: 1;
}
.product-meta-table .product-meta-row:last-child,
.product-meta-table .wp-block-group > *:last-child {
	border-bottom: none;
}
/* Badges para categorias e tags */
.product-meta-badge,
.product-meta-table .wp-block-post-terms a {
	display: inline-block;
	padding: 4px 12px;
	margin: 2px 4px 2px 0;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--wc-primary);
	background: rgba(52, 152, 219, 0.1);
	border-radius: 999px;
	text-decoration: none;
	transition: background var(--wc-transition), color var(--wc-transition);
}
.product-meta-badge:hover,
.product-meta-table .wp-block-post-terms a:hover {
	background: var(--wc-primary);
	color: #fff !important;
}
.product-meta-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
}

/* Tabs (descrição, informações adicionais) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	list-style: none;
	padding: 0;
	margin: 0 0 1rem;
	border-bottom: 2px solid var(--wc-gray-200);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 20px;
	font-weight: 600;
	color: var(--wc-gray-600);
	border-radius: var(--wc-radius) var(--wc-radius) 0 0;
	transition: color var(--wc-transition), background var(--wc-transition);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--wc-primary);
	background: transparent;
}
.woocommerce div.product .woocommerce-tabs .panel {
	padding: 1.25rem 0;
	background: transparent;
}
/* Bloco product-details (template em blocos) – remove fundo cinza da aba ativa */
.wp-block-woocommerce-product-details .woocommerce-tabs ul.tabs li.active a,
.wp-block-woocommerce-product-details ul.tabs.wc-tabs li.active a {
	background: transparent !important;
}
/* Accordion (product-details em formato accordion) – remove fundo cinza quando expandido */
.wp-block-woocommerce-product-details .wp-block-woocommerce-accordion-item.is-open .accordion-item__toggle,
.wp-block-woocommerce-product-details .accordion-item__toggle {
	background: transparent !important;
}

/* ==========================================================================
   Cart
   ========================================================================== */

/* Container centralizado (não full width) – igual às outras páginas */
.woocommerce-cart .woocommerce,
body.woocommerce-cart .wp-block-woocommerce-cart {
	max-width: var(--wc-content-max-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
	margin-bottom: 1.5rem;
}
.woocommerce-cart-form__contents,
.woocommerce-cart table.shop_table {
	border: 1px solid var(--wc-gray-200);
	border-radius: var(--wc-radius-lg);
	overflow: hidden;
	box-shadow: var(--wc-shadow);
	background: var(--wc-white);
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
	padding: 14px 18px;
	border-color: var(--wc-gray-200);
}
.woocommerce-cart table.shop_table thead th {
	background: var(--wc-primary);
	color: var(--wc-white) !important;
	font-weight: 600;
}
.woocommerce-cart table.shop_table tbody tr:nth-child(even) {
	background: var(--wc-gray-100);
}
.woocommerce-cart table.shop_table .product-name,
.woocommerce-cart table.shop_table .product-name a {
	color: var(--wc-black) !important;
	font-weight: 700;
}
.woocommerce-cart table.shop_table .product-remove a {
	color: #c0392b !important;
	font-size: 1rem;
	line-height: 1;
	text-decoration: none !important;
	transition: color var(--wc-transition);
}
.woocommerce-cart table.shop_table .product-remove a:hover {
	color: #a93226 !important;
	text-decoration: none !important;
}
.woocommerce-cart table.shop_table .product-remove,
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
	text-align: right;
}
.woocommerce-cart .cart_totals {
	background: var(--wc-white);
	border: 1px solid var(--wc-gray-200);
	border-radius: var(--wc-radius-lg);
	padding: 1.25rem;
	box-shadow: var(--wc-shadow);
}
.woocommerce-cart .cart_totals h2 {
	font-size: 1.25rem;
	margin: 0 0 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--wc-primary);
	color: var(--wc-gray-900);
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	padding: 10px 0;
	border-color: var(--wc-gray-200);
	color: var(--wc-gray-900);
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--wc-primary);
	padding-top: 1rem;
	border-top: 2px solid var(--wc-primary);
}
.woocommerce-cart .cart_totals .checkout-button {
	background: var(--wc-primary) !important;
	color: var(--wc-white) !important;
	border: none !important;
	margin-top: 1rem;
	padding: 14px 24px;
	font-size: 1.0625rem;
	width: 100%;
}
.woocommerce-cart .cart_totals .checkout-button:hover {
	background: var(--wc-primary-dark) !important;
	color: var(--wc-white) !important;
}

/* Carrinho em blocos (template block) */
.wp-block-woocommerce-cart .wc-block-components-panel__button,
.wp-block-woocommerce-cart .wc-block-components-totals-item {
	color: var(--wc-gray-900);
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--wc-primary);
	font-weight: 700;
}
/* Botão remover item: vermelho, sem sublinhado */
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
	color: #c0392b !important;
	text-decoration: none !important;
	font-size: 0.875rem;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: #a93226 !important;
	text-decoration: none !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__quantity {
	display: flex;
	align-items: center;
	width: 100%;
	min-width: 0;
}
.wp-block-woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	margin-bottom: 0;
	flex-shrink: 0;
}
.wp-block-woocommerce-cart .wc-block-cart-item__total {
	text-align: right !important;
}
/* Desktop: botão remover na coluna do preço, alinhado verticalmente com o campo de quantidade */
@container (min-width: 700px) {
	.wp-block-woocommerce-cart .wc-block-cart-item__quantity {
		position: relative;
	}
	.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
		position: absolute;
		right: -120px;
		top: 50%;
		transform: translateY(-50%);
	}
}
/* Mobile: célula de quantidade ocupa largura total para alinhar "Remover" com preço */
@container (max-width: 699px) {
	.wp-block-woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__quantity {
		grid-column: 1 / -1;
	}
}

/* Nome do produto: preto e bold */
.wp-block-woocommerce-cart .wc-block-components-product-name,
.wp-block-woocommerce-cart .wc-block-components-product-name a {
	color: var(--wc-black) !important;
	font-weight: 700 !important;
}
/* Quantidade no carrinho em blocos – idêntico à página do produto, sem botões +/- */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	border: 1px solid var(--wc-gray-200) !important;
	border-radius: var(--wc-radius) !important;
	background: var(--wc-white) !important;
	min-height: 48px;
	height: 48px;
	width: 70px !important;
	overflow: hidden;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector::after {
	display: none !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	display: none !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	width: 70px !important;
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 12px !important;
	text-align: center !important;
	border: none !important;
	border-radius: 0 !important;
	background: var(--wc-white) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	box-sizing: border-box !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input:focus {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector:focus-within {
	border-color: var(--wc-primary) !important;
	box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.15) !important;
}
/* Botões com cantos arredondados */
.wp-block-woocommerce-cart .wc-block-components-button:not(.is-link),
.wp-block-woocommerce-cart .wp-block-button__link,
.wp-block-woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button {
	background: var(--wc-primary) !important;
	color: var(--wc-white) !important;
	border: none !important;
	border-radius: var(--wc-radius) !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button,
.wc-block-checkout .wc-block-components-totals-coupon__button {
	border-radius: var(--wc-radius) !important;
	min-height: 48px !important;
	height: 48px !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input input,
.wc-block-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input input {
	min-height: 48px;
	height: 48px;
}
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button:disabled,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button--loading,
.wc-block-checkout .wc-block-components-totals-coupon__button:disabled,
.wc-block-checkout .wc-block-components-totals-coupon__button--loading {
	background: var(--wc-gray-200) !important;
	color: var(--wc-gray-600) !important;
}
.wp-block-woocommerce-cart .wc-block-components-button:not(.is-link):hover,
.wp-block-woocommerce-cart .wp-block-button__link:hover {
	background: var(--wc-primary-dark) !important;
	color: var(--wc-white) !important;
}

/* ==========================================================================
   Checkout (template clássico e blocos)
   ========================================================================== */

/* Container centralizado (não full width) – igual às outras páginas */
.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
	max-width: var(--wc-content-max-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}

/* --- Checkout clássico (form-checkout) --- */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
	font-size: 1.25rem;
	margin: 0 0 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--wc-primary);
	color: var(--wc-gray-900);
}
.woocommerce-checkout #order_review {
	background: var(--wc-white);
	border-radius: var(--wc-radius-lg);
	padding: 1.25rem;
	border: 1px solid var(--wc-gray-200);
	box-shadow: var(--wc-shadow);
}
.woocommerce-checkout #order_review .shop_table {
	border: none;
	box-shadow: none;
}
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td {
	padding: 10px 0;
	border-color: var(--wc-gray-200);
}
.woocommerce-checkout #order_review .shop_table thead th {
	background: transparent;
	color: var(--wc-gray-900);
	font-weight: 600;
}
.woocommerce-checkout #order_review .shop_table .product-name {
	color: var(--wc-black) !important;
	font-weight: 700;
}
.woocommerce-checkout #order_review .shop_table .order-total th,
.woocommerce-checkout #order_review .shop_table .order-total td {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--wc-primary);
	padding-top: 1rem;
	border-top: 2px solid var(--wc-primary);
}
.woocommerce-checkout #order_review .shop_table .product-total,
.woocommerce-checkout #order_review .shop_table .order-total td {
	text-align: right;
}
.woocommerce-checkout .form-row.place-order .button {
	width: 100%;
	font-size: 1.0625rem;
	padding: 14px 24px;
	border-radius: var(--wc-radius);
	background: var(--wc-primary) !important;
	color: var(--wc-white) !important;
	border: none !important;
	min-height: 48px;
}
.woocommerce-checkout .form-row.place-order .button:hover {
	background: var(--wc-primary-dark) !important;
	color: var(--wc-white) !important;
}

/* --- Checkout em blocos (wc-block-checkout) --- */
.wc-block-checkout .wc-block-components-button:not(.is-link),
.wc-block-checkout .wp-block-button__link,
.wc-block-checkout .wc-block-checkout__actions-row .wc-block-components-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	background: var(--wc-primary) !important;
	color: var(--wc-white) !important;
	border: none !important;
	border-radius: var(--wc-radius) !important;
	padding: 12px 24px;
	font-weight: 600;
	min-height: 48px;
}
.wc-block-checkout .wc-block-components-button:not(.is-link):hover,
.wc-block-checkout .wp-block-button__link:hover,
.wc-block-checkout .wc-block-checkout__actions-row .wc-block-components-button:hover {
	background: var(--wc-primary-dark) !important;
	color: var(--wc-white) !important;
}
/* wc-block-components-text-input: sem padding/border no wrapper (fica no input) */
.wc-block-checkout .wc-block-components-text-input,
.wp-block-woocommerce-cart .wc-block-components-text-input {
	padding: 0 !important;
	border: none !important;
}
/* Labels – alinhamento com o input (padding 14px) */
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-address-form .wc-block-components-text-input label,
.wp-block-woocommerce-cart .wc-block-components-text-input label,
.wp-block-woocommerce-cart .wc-block-components-address-form .wc-block-components-text-input label {
	left: 14px !important;
}
/* Inputs e selects – padding, border, foco */
.wc-block-checkout .wc-block-components-select,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="number"],
.wc-block-checkout select,
.wc-block-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-cart .wc-block-components-text-input input {
	padding: 12px 14px;
	border: 1px solid var(--wc-gray-200);
	border-radius: var(--wc-radius);
	background: var(--wc-white);
	min-height: 48px;
	box-sizing: border-box;
}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-select:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus,
.wp-block-woocommerce-cart .wc-block-components-text-input input:focus {
	border-color: var(--wc-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.15);
}
.wc-block-checkout .wc-block-components-product-name,
.wc-block-checkout .wc-block-components-product-name a {
	color: var(--wc-black) !important;
	font-weight: 700 !important;
}
.wc-block-checkout .wc-block-components-formatted-money-amount,
.wc-block-checkout .wc-block-components-product-price,
.wc-block-checkout .wc-block-components-totals-item__value {
	color: var(--wc-primary) !important;
}
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--wc-primary) !important;
	font-weight: 700 !important;
}
.wc-block-checkout .wc-block-components-order-summary-item__quantity {
	background-color: var(--wc-gray-100);
	border-color: var(--wc-gray-200);
	box-shadow: 0 0 0 2px var(--wc-white);
	color: var(--wc-gray-900);
}
.wc-block-checkout .wc-block-checkout__submit-container {
	background-color: var(--wc-white);
}
.wc-block-checkout .wc-block-checkout__submit-container::before {
	color: rgba(0, 0, 0, 0.05);
}

/* ==========================================================================
   My Account
   ========================================================================== */
.woocommerce-account .woocommerce-MyAccount-content {
	padding: 1.25rem 0;
}
.woocommerce-MyAccount-navigation {
	margin-bottom: 1.5rem;
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.woocommerce-MyAccount-navigation li {
	margin: 0;
}
.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 12px 18px;
	background: var(--wc-white);
	border: 1px solid var(--wc-gray-200);
	border-radius: var(--wc-radius);
	font-weight: 500;
	transition: background var(--wc-transition), border-color var(--wc-transition), color var(--wc-transition);
}
.woocommerce-MyAccount-navigation a:hover {
	background: var(--wc-gray-100);
	border-color: var(--wc-primary);
	color: var(--wc-primary);
}
.woocommerce-MyAccount-navigation li.is-active a {
	background: var(--wc-primary);
	border-color: var(--wc-primary);
	color: var(--wc-white) !important;
}
.woocommerce-account .woocommerce-orders-table {
	border: 1px solid var(--wc-gray-200);
	border-radius: var(--wc-radius-lg);
	overflow: hidden;
	box-shadow: var(--wc-shadow);
}

/* ==========================================================================
   Breadcrumb bar (breadcrumb + cart link)
   ========================================================================== */
.wc-breadcrumb-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 2.5rem;
	margin-bottom: 1.5rem;
}
.wc-breadcrumb-bar .woocommerce-breadcrumb {
	margin-bottom: 0;
	padding-top: 0;
	flex: 1;
	min-width: 0;
}
.wc-breadcrumb-bar .woocommerce-breadcrumb::before {
	display: none;
}

.woocommerce-breadcrumb {
	padding: 1.25rem 0;
	margin-top: 0;
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	color: var(--wc-gray-600);
}
.woocommerce-breadcrumb::before {
	content: '';
	display: block;
	height: 2.5rem;
}
.woocommerce-breadcrumb a {
	color: var(--wc-primary);
}

/* Cart link no breadcrumb bar */
.wc-breadcrumb-cart-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--wc-gray-600) !important;
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none !important;
	white-space: nowrap;
	transition: color var(--wc-transition);
	flex-shrink: 0;
}
.wc-breadcrumb-cart-link:hover {
	color: var(--wc-primary) !important;
}
.wc-breadcrumb-cart-link svg {
	flex-shrink: 0;
}
.wc-breadcrumb-cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--wc-primary);
	color: var(--wc-white);
	font-size: 0.75rem;
	font-weight: 700;
	min-width: 20px;
	height: 20px;
	border-radius: 999px;
	padding: 0 5px;
	line-height: 1;
}

.woocommerce-products-header {
	padding: 1.5rem 0;
	margin-bottom: 1.5rem;
}
.woocommerce-products-header__title {
	margin: 0 0 0.5rem;
}

/* ==========================================================================
   Result count e orderby (topo da loja)
   ========================================================================== */
.woocommerce-result-count,
.woocommerce-ordering {
	margin-bottom: 1rem;
	font-size: 0.9375rem;
	color: var(--wc-gray-600);
}
.woocommerce-ordering select {
	padding: 8px 12px;
	border: 1px solid var(--wc-gray-200);
	border-radius: var(--wc-radius);
	background: var(--wc-white);
	color: var(--wc-gray-900);
}

/* ==========================================================================
   Pagination
   ========================================================================== */
.woocommerce nav.woocommerce-pagination {
	margin-top: 2rem;
}
.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: block;
	padding: 10px 16px;
	min-width: 44px;
	text-align: center;
	border-radius: var(--wc-radius);
	border: 1px solid var(--wc-gray-200);
	background: var(--wc-white);
	color: var(--wc-gray-900);
	font-weight: 500;
	transition: background var(--wc-transition), border-color var(--wc-transition), color var(--wc-transition);
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--wc-primary);
	border-color: var(--wc-primary);
	color: var(--wc-white);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--wc-primary);
	border-color: var(--wc-primary);
	color: var(--wc-white);
}

/* ==========================================================================
   Responsivo – mobile first
   ========================================================================== */

/* Tablets e abaixo */
@media (max-width: 992px) {
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products.columns-3,
	.woocommerce-page ul.products.columns-4,
	.woocommerce-page ul.products.columns-3 {
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	}
	.wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
	.wp-block-woocommerce-empty-cart-block .wc-block-product-new .wc-block-grid__products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-2,
	.woocommerce-page ul.products.columns-4,
	.woocommerce-page ul.products.columns-3,
	.woocommerce-page ul.products.columns-2 {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}
	.wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
	.wp-block-woocommerce-empty-cart-block .wc-block-product-new .wc-block-grid__products {
		grid-template-columns: 1fr;
	}

	/* Cart: tabela vira cards no mobile */
	.woocommerce-cart-form .shop_table thead {
		display: none;
	}
	.woocommerce-cart-form .shop_table tbody tr {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 1rem;
		padding: 1rem;
		background: var(--wc-white);
		border: 1px solid var(--wc-gray-200);
		border-radius: var(--wc-radius);
		box-shadow: var(--wc-shadow);
	}
	.woocommerce-cart-form .shop_table tbody td {
		display: flex;
		align-items: center;
		padding: 8px 0;
		border: none;
		width: 100%;
	}
	.woocommerce-cart-form .shop_table tbody td::before {
		content: attr(data-title);
		font-weight: 600;
		margin-right: 10px;
		flex-shrink: 0;
		min-width: 80px;
	}
	.woocommerce-cart-form .shop_table .product-remove,
	.woocommerce-cart-form .shop_table .product-price,
	.woocommerce-cart-form .shop_table .product-subtotal {
		justify-content: flex-end;
	}
	.woocommerce-cart-form .shop_table .product-remove {
		order: 999;
		width: 100%;
		display: flex;
		padding-top: 0.5rem;
	}
	.woocommerce-cart-form .shop_table .product-remove::before {
		display: none;
	}
	.woocommerce-cart-form .shop_table .product-thumbnail {
		order: -2;
		width: 100%;
		padding-bottom: 8px;
		border-bottom: 1px solid var(--wc-gray-200);
		margin-bottom: 4px;
	}
	.woocommerce-cart-form .shop_table .product-thumbnail::before {
		display: none;
	}
	.woocommerce-cart-form .shop_table .product-thumbnail a,
	.woocommerce-cart-form .shop_table .product-thumbnail img {
		display: block;
		margin: 0 auto;
	}
	.woocommerce-cart-form .shop_table .product-name {
		font-weight: 600;
	}
	.woocommerce-cart-form .shop_table tr td.actions {
		flex-wrap: wrap;
		width: 100%;
		margin-top: 0.5rem;
		padding-top: 0.75rem;
		border-top: 1px solid var(--wc-gray-200);
	}
	.woocommerce-cart-form .shop_table tr td.actions::before {
		display: none;
	}
	.woocommerce-cart-form .shop_table .coupon {
		width: 100%;
		margin-bottom: 10px;
	}
	.woocommerce-cart-form .shop_table .coupon input {
		width: 100%;
		margin-bottom: 8px;
	}

	/* Cart totals e botões em coluna */
	.woocommerce .cart-collaterals {
		margin-top: 1.5rem;
	}
	.woocommerce .cart_totals {
		margin-bottom: 1rem;
	}
	.woocommerce .cart_totals .checkout-button {
		width: 100%;
	}

	/* Checkout: uma coluna */
	.woocommerce-checkout .col2-set {
		width: 100%;
	}
	.woocommerce-checkout #order_review_heading {
		margin-top: 1.5rem;
	}
	.woocommerce-checkout .form-row.place-order .button {
		width: 100%;
	}

	/* My Account: navegação empilhada */
	.woocommerce-MyAccount-navigation ul {
		flex-direction: column;
	}
	.woocommerce-MyAccount-navigation a {
		text-align: center;
	}

	/* Tabelas de pedidos: scroll horizontal ou cards */
	.woocommerce-account .woocommerce-orders-table__cell {
		padding: 10px 12px;
		font-size: 0.9375rem;
	}
}

@media (max-width: 480px) {
	.woocommerce .button,
	.woocommerce-page .button,
	.woocommerce a.button,
	.woocommerce-page a.button {
		width: 100%;
		max-width: 100%;
		padding: 14px 20px;
	}
	.woocommerce div.product .single_add_to_cart_button {
		max-width: 100%;
	}
	.woocommerce-result-count,
	.woocommerce-ordering {
		width: 100%;
		text-align: center;
	}
	.woocommerce-ordering select {
		width: 100%;
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs li {
		flex: 1 1 100%;
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		text-align: center;
	}
}

/* Acessibilidade: foco visível */
.woocommerce .button:focus-visible,
.woocommerce-page .button:focus-visible,
.woocommerce a:focus-visible,
.woocommerce input:focus-visible,
.woocommerce select:focus-visible,
.woocommerce textarea:focus-visible {
	outline: 2px solid var(--wc-primary);
	outline-offset: 2px;
}
