/* ==========================================================================
Estilos do Configurador de Produto Wallfuture (com Destaque Laranja)
========================================================================== */

/* ==========================================================================
Estilos do Woocommerce
========================================================================== */

.walfuture-category-page-header {
	padding: 20px 0 50px 0;
}

.header-content-grid {
	display: flex;
	flex-wrap: wrap; 
	align-items: center;
	gap: 50px; 
}

/* Coluna do Texto (esquerda) */
.header-text-content {
	flex: 2; 
	min-width: 300px;
}

/* Coluna da Imagem (direita) */
.header-image-content {
	flex: 1; 
	text-align: center;
}
.header-image-content img {
	max-width: 100%;
	height: auto;
	max-height: 400px; 
}


/* -- 2. Estilo do Conteúdo do Cabeçalho -- */

/* Título Principal da Categoria */
.walfuture-main-category-title {
	font-size: 2.8em;
	font-weight: 700;
	color: #f07c1f; 
	margin-top: 0;
	margin-bottom: 0.5em;
	line-height: 1.2;
}


/* Descrição da Categoria */
.category-description-content {
	font-size: 1.1em;
	line-height: 1.7;
	color: #555;
}
/* Estilo para os subtítulos dentro da descrição (como "Dual-Chamber Chassis") */
.category-description-content h2,
.category-description-content h3 {
	font-size: 1.4em;
	font-weight: 600;
	color: #333d47;
	margin-top: 1.8em;
	margin-bottom: 0.8em;
}

/* -- 3. Botão "Voltar aos Sistemas" -- */
.walfuture-back-button-container {
	margin-top: 30px; 
}

.wf-back-button {
	display: inline-block;
	background-color: #555555 !important; 
	color: #ffffff !important;
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	text-transform: none; 
	font-size: 15px !important;
	padding: 12px 28px !important;
	text-decoration: none !important;
	border-radius: 50px !important; 
	border: none !important;
	box-shadow: 0 6px 15px rgba(240, 124, 31, 0.3);
	transition: all 0.3s ease;
	line-height: normal !important;
}

.wf-back-button:hover {
	background-color: #f07c1f !important; 
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(240, 124, 31, 0.3);
}

/* -- 4. Separador "Configure & Compre" -- */
.walfuture-configure-buy-separator {
	display: flex;
	align-items: center;
	text-align: center;
	margin-bottom: 40px;
}


.walfuture-configure-buy-separator::before,
.walfuture-configure-buy-separator::after {
	content: '';
	flex-grow: 1;
	height: 2px;
	background-color: #eee;
}

.walfuture-configure-buy-separator h2 {
	font-size: 20px;
	font-weight: 600;
	text-transform: uppercase;
	color: #f07c1f; 
	padding: 0 25px;
	margin: 0;
}


/* -- 4. Responsividade -- */
@media (max-width: 820px) {
	.header-content-grid {
		flex-direction: column-reverse; 
		gap: 30px;
	}

	.walfuture-main-category-title {
		font-size: 2.2em;
	}
}

ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 30px !important;
    margin-top: 50px !important;
    margin-bottom: 50px !important;
    justify-items: center;
    padding: 0 !important;
}

ul.products li.product.wf-product-card {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

/* Estilo geral do container */
.wf-categories-container {
	font-family: sans-serif;
	width: 100%;
	margin: 0 auto;
}

.wf-category-section {
	margin-bottom: 40px;
}

.wf-category-title {
	font-size: 24px;
	color: #f07c1f; 
	margin-bottom: 20px;
	border-bottom: 2px solid #eee;
	padding-bottom: 10px;
}

.wf-subcategories-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); /* Cria um grid responsiv*/
	gap: 20px;
}

.wf-subcategory-item {
	background-color: #ffffff;
	border: 1px solid #F07C1F;
	border-radius: 15px;
	text-align: center;
	transition: box-shadow 0.3s ease;
}

.wf-subcategory-item:hover {
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.wf-subcategory-item a {
	text-decoration: none;
	color: inherit;
	display: block;
	padding: 15px;
}

.wf-subcategory-image {
	padding: 20px;
	min-height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.wf-subcategory-image img {
	max-width: 100%;
	height: auto;
	max-height: 120px;
}

.wf-subcategory-info {
	padding: 15px;
	border-top: 1px solid #F07C1F;
	background-color: #fff;
}

.wf-subcategory-name {
	margin: 0 0 5px 0;
	font-size: 16px;
	color: #f07c1f; 
}

.wf-product-count {
	font-size: 14px;
	color: #666;
}
/* 1. Grelha Principal */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
	gap: 45px !important;
	margin-bottom: 50px !important;
}

/* Remove estilos de lista padrão do woo/tema */
.woocommerce ul.products li.product {
	margin: 0 !important;
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	list-style: none !important;
}

/* 2. O Card do Produto */
.wf-product-card {
	background: #ffffff;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	height: 100%;
	position: relative;
	overflow: hidden; 
	transition: all 0.3s ease;
}

/* Efeito Hover no Card */
.wf-product-card:hover {
	border-color: transparent;
	transform: translateY(-5px);
	box-shadow: 0px 20px 40px rgba(92, 95, 101, 0.15);
}

/* Link que envolve imagem e título */
.wf-product-card a.wf-product-link {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	color: inherit;
}

/* 3. Área da Imagem */
.wf-product-image {
	padding: 35px 25px;
	background-color: #fdfdfd;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid #f4f4f4;
	overflow: hidden;
}

.wf-product-image img {
	max-width: 100%;
	height: auto;
	max-height: 180px; 
	object-fit: contain;
	transition: transform 0.5s ease;
}

/* Zoom suave na imagem ao passar o rato no card */
.wf-product-card:hover .wf-product-image img {
	transform: scale(1.08);
}

/* 4. Título do Produto */
.wf-product-title {
	font-family: "Rubik", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: #333d47 !important; 
	padding: 20px 20px 10px 20px;
	margin: 0;
	text-align: center;
	background: #fff;
	transition: color 0.3s ease;
}

.wf-product-card:hover .wf-product-title {
	color: #F07C1F !important; 
}

/* 5. Área do Botão (Rodapé) */
.wf-button-wrapper {
	padding: 10px 20px 25px 20px;
	background: #fff;
	text-align: center;
	margin-top: auto; 
}

/* Estilo do Botão "Configure" (Baseado em "#add-to-cart-button") */
.wf-configure-button {
	display: block;
	width: 100%;
	background-color: #F07C1F !important; 
	color: #ffffff !important;
	font-family: "Poppins", sans-serif; 
	font-weight: 600;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 1px;
	padding: 12px 15px !important;
	text-decoration: none;
	border-radius: 6px;
	border: 1px solid #F07C1F !important;
	transition: all 0.3s ease;
	line-height: normal !important;
}

.wf-configure-button:hover {
	background-color: #fff !important;
	color: #F07C1F !important;
	border-color: #F07C1F !important;
	box-shadow: 0 5px 15px rgba(240, 124, 31, 0.2);
}



/* ==========================================================================
Estilos do Configurador de Produto Wallfuture 
========================================================================== */

/*
* Estilos para o Loader do Configurador
* --------------------------------------------------
*/

/* O contentor do loading */
.configurator-loading-placeholder {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 250px;
	text-align: center;
	border: 2px dashed #e0e0e0;
	border-radius: 8px;
	background-color: #f9f9f9;
	padding: 20px;
	margin-top: 15px;
}

/* O spinner animado */
.wallfuture-loader {
	border: 6px solid #f3f3f3; 
	border-top: 6px solid #F07C1F;
	border-radius: 50%; 
	width: 50px;
	height: 50px;
	animation: spin 1s linear infinite; 
	margin-bottom: 20px;
}

/* O texto de loading */
.configurator-loading-placeholder .loading-text {
	font-size: 1.1em;
	color: #555;
}

/* A animação de rotação (keyframes) */
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* 1. Layout Principal e Containers
----------------------------------------------------------------------------- */

.configurator-page-wrapper {
	clear: both;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin: 50px 0;
	align-items: flex-start;
}

#wallfuture-product-configurator-container {
	flex: 2;
	background: #ffffff;
	padding: 30px;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.configurator-summary-sidebar {
	flex: 1;
	min-width: 300px;
	background-color: #f8f9fa;
	border: 1px solid #e9ecef;
	padding: 25px;
	border-radius: 8px;
	align-self: flex-start;
	position: sticky;
	top: 40px;
}

.wallfuture-product-configurator-title {
	margin-bottom: 25px;
	font-size: 1.8em;
	font-weight: 600;
	color: #212529;
	border-bottom: 1px solid #dee2e6;
	padding-bottom: 15px;
}


/* 2. Grupos e Subgrupos de Componentes
----------------------------------------------------------------------------- */

.component-type-container {
	margin-bottom: 35px;
	padding: 0;
}

.component-type-container:last-child {
	margin-bottom: 0;
}

.component-type-container .component-type-name {
	display: block;
	margin-bottom: 20px;
	font-size: 1.2em;
	font-weight: 500;
	color: #495057;
	text-transform: uppercase;
	border-bottom: 2px solid #F07C1F; 
	padding-bottom: 10px;
	letter-spacing: 0.5px;
}

.component-type-subgroups-container .component-type-subgroup {
	margin-bottom: 25px;
}

.component-type-subgroups-container .component-type-subgroup .component-type-subgroup-name {
	font-weight: 600;
	color: #6c757d;
	font-size: 1em;
	margin-bottom: 15px;
}


/* 3. Opções de Produto Individuais
----------------------------------------------------------------------------- */

.component-type-related-products .related-product {
	padding: 8px 10px;
	border-radius: 6px;
	transition: background-color 0.2s ease-in-out;
	border: 1px solid transparent;
}

.component-type-related-products .related-product:hover {
	background-color: #fff8f2; /* Laranja muito claro para o hover */
	border-color: #ffe8d1;
}

/* Cor do radio/checkbox quando selecionado */
.component-type-related-products .related-product input[type="radio"]:checked,
.component-type-related-products .related-product input[type="checkbox"]:checked {
	accent-color: #F07C1F;
}

/* Destaque de texto quando selecionado */
.component-type-related-products .related-product input[type="radio"]:checked ~ label,
.component-type-related-products .related-product input[type="checkbox"]:checked ~ label {
	font-weight: 500;
}

.form-check-input {
	margin-left: 15px; 
	margin-top: 0; 
}

.related-product .form-check-label {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	cursor: pointer;
	margin-left: 10px;
	font-size: 0.95em;
}

.related-product .form-check-inline {
	display: flex;
	align-items: center;
	width: 100%;
}

.component-type-related-products .related-product .related-product-name {
	font-size: 1em;
	color: #495057;
}

.related-product-quantity-container:empty {
	/* Se o select não for renderizado, o div fica vazio. Adicionamos espaço equivalente. */
	min-width: 65px; 
}

.component-type-related-products .related-product .related-product-price {
	margin-left: 15px;
	padding: 4px 8px;
	font-size: 0.9em;
	font-weight: 500;
	color: #c75f07; /* Laranja mais escuro para o texto */
	background-color: #fff0e1; /* Laranja muito claro para o fundo */
	border-radius: 4px;
	white-space: nowrap;
	transition: all 0.2s ease-in-out;
}

/* Destaque no preço quando selecionado */
.component-type-related-products .related-product input[type="radio"]:checked ~ label .related-product-price,
.component-type-related-products .related-product input[type="checkbox"]:checked ~ label .related-product-price {
	background-color: #F07C1F; 
	color: #ffffff;
}

.related-product-quantity-container {
	display: inline-block;
	margin-right: 0;
}

.related-product-quantity-container select {
	min-width: 50px; /* Garante que todos os selects têm a mesma largura mínima */
}

.related-product-quantity-container .related-product-quantity {
	padding: 4px 8px;
	margin: 0;
	background: #fff;
	border: 1px solid #ced4da;
	border-radius: 4px;
}


/* 4. Sidebar de Resumo
----------------------------------------------------------------------------- */

.configurator-summary-sidebar h4 {
	margin-top: 0;
	padding-bottom: 15px;
	margin-bottom: 20px;
	font-size: 1.4em;
	font-weight: 600;
	color: #343a40;
	border-bottom: 1px solid #dee2e6;
}

#summary-content ul { list-style: none; padding: 0; margin: 0; }
#summary-content ul li { margin-bottom: 12px; font-size: 1em; }
#summary-content ul li strong { display: block; font-weight: 600; color: #495057; margin-bottom: 5px; }
#summary-content .summary-item { padding-left: 15px; font-size: 0.95em; color: #6c757d; display: flex; justify-content: space-between; }
#summary-content .summary-item .item-quantity { font-style: normal; color: #6c757d; margin: 0 5px; }
#summary-content .summary-item .item-price { font-weight: 500; color: #495057; }

.configurator-summary-sidebar .summary-total {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 2px solid #dee2e6;
	font-weight: bold;
	font-size: 1.25em;
	display: flex;
	justify-content: space-between;
}

#summary-total-price {
	color: #28a745; /* Mantive verde para o total para indicar sucesso/valor positivo */
}


/* 5. Botões e Ações
----------------------------------------------------------------------------- */

.configurator-actions {
	margin-top: 25px;
	padding-top: 25px;
	border-top: 1px solid #dee2e6;
	text-align: center;
}

/* Botão do Carrinho com a cor Laranja */
#add-to-cart-button {
	background-color: #F07C1F; 
	border-color: #d96f1c;
	color: #ffffff;
	margin-top: 15px;
	padding: 12px 25px;       
	font-size: 1em;
	font-weight: bold;
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.3s ease;
	text-transform: uppercase;
	width: 100%;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

#add-to-cart-button:hover:not(:disabled) {
	background-color: #d96f1c;
	border-color: #c06219;
	box-shadow: 0 4px 8px rgba(0,0,0,0.15);
	transform: translateY(-2px);
}

#add-to-cart-button:disabled {
	background-color: #cccccc;
	border-color: #bbbbbb;
	color: #666666;
	opacity: 0.7;
	cursor: not-allowed;
	box-shadow: none;
	transform: none;
}


/* 6. Responsividade
----------------------------------------------------------------------------- */

@media (max-width: 992px) { 
	.configurator-page-wrapper {
		flex-direction: column;
	}
	#wallfuture-product-configurator-container,
	.configurator-summary-sidebar {
		flex-basis: 100%;
		width: 100%;
		max-width: 100%;
	}
	.configurator-summary-sidebar {
		position: static;
		margin-top: 20px;
	}
}

/*
* Estilos Personalizados para o SweetAlert2
* --------------------------------------------------
*/

/* Altera a fonte para combinar com o tema */
.swal2-popup {
	font-family: 'Rubik', sans-serif; 
}

/* Altera a cor de fundo do botão de confirmação */
.swal2-styled.swal2-confirm {
	background-color: #F07C1F !important; 
}

/* Altera a cor de fundo do botão de cancelar */
.swal2-styled.swal2-cancel {
	background-color: #777777 !important; 
}


/* ==========================================================================
Estilos Finais para a Página do Carrinho (Layout com Margens Corretas)
========================================================================== */

/* 1. Container Principal da Página do Carrinho
----------------------------------------------------------------------------- */
.woocommerce-cart .entry-content .wp-block-post-content {
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px; 
	padding-right: 15px; 
}


/* 2. Layout de Duas Colunas (Dentro do container já com padding)
----------------------------------------------------------------------------- */
.wc-block-components-sidebar-layout {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 40px; /* Espaço entre as colunas */
}

/* Coluna da esquerda (lista de produtos) */
.wc-block-components-main {
	flex: 1; 
	min-width: 0; 
}

/* Coluna da direita (resumo do pedido) */
.wc-block-components-sidebar {
	width: 330px; 
	flex-shrink: 0;
}


/* 3. Estilos Adicionais (Mantidos)
----------------------------------------------------------------------------- */

/* Caixa de Resumo do Pedido */
.wc-block-cart__sidebar-container,
.wc-block-cart-totals-block {
	background-color: #f8f9fa;
	border: 1px solid #e9ecef;
	padding: 25px;
	border-radius: 8px;
	position: sticky;
	top: 40px;
}

/* Título "Total no Carrinho" */
.wc-block-cart-order-summary-block__title {
	font-size: 1.6em;
	font-weight: 600;
	margin: 0 0 20px 0;
	padding-bottom: 15px;
	border-bottom: 1px solid #dee2e6;
}

/* Botão de Finalizar Compras */
.wc-block-cart__submit-button {
	background-color: #ffffff !important;
	width: 100%;
	padding: 15px !important;
	font-size: 1.1em !important;
	border-radius: 6px !important;
	transition: background-color 0.3s ease;
}
.wc-block-cart__submit-button:hover {
	background-color: #d96f1c !important;
}


/* 4. Responsividade
----------------------------------------------------------------------------- */
@media (max-width: 992px) {
	.wc-block-components-sidebar-layout {
		flex-direction: column;
	}

	.wc-block-components-sidebar {
		width: 100%;
		position: static;
	}
}

/* ==========================================================================
Estilos para a Página de "Encomenda Recebida" (Thank You Page)
========================================================================== */

/* 1. Recriar o "Container" Principal da Página
----------------------------------------------------------------------------- */
.woocommerce-order-received .entry-content > .wp-block-post-content {
	max-width: 1200px; 
	margin: 40px auto 60px auto; 
	padding: 0 15px; 
}


/* 2. Bloco de Confirmação "Obrigado"
----------------------------------------------------------------------------- */
.woocommerce-order-received .wc-block-checkout__thank-you {
	background-color: #f8f9fa;
	border: 1px solid #e9ecef;
	padding: 30px;
	border-radius: 8px;
	margin-bottom: 40px;
}

.woocommerce-order-received .wc-block-checkout__thank-you p {
	font-size: 1.1em;
	line-height: 1.6;
}


/* 3. Detalhes do Pedido e Dados Bancários
----------------------------------------------------------------------------- */

/* Títulos das secções (Dados Bancários, Detalhes da Encomenda) */
.woocommerce-order-received h2 {
	font-size: 1.8em;
	font-weight: 600;
	margin-top: 40px;
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: 2px solid #F07C1F; /* Cor de destaque laranja */
}

/* Lista de detalhes do pedido (Número, Data, Email, etc.) */
.woocommerce-order-overview {
	list-style: none;
	padding: 0;
	margin: 0 0 30px 0;
	border: 1px solid #e9ecef;
	border-radius: 8px;
}
.woocommerce-order-overview li {
	padding: 15px 20px;
	border-bottom: 1px solid #e9ecef;
	display: flex;
	justify-content: space-between;
}
.woocommerce-order-overview li:last-child {
	border-bottom: none;
}
.woocommerce-order-overview li strong {
	margin-left: 10px;
}

/* Detalhes dos dados bancários */
.woocommerce-bacs_details {
	list-style: none;
	padding: 0;
	margin: 0;
}


/* 4. Tabela de Detalhes da Encomenda
----------------------------------------------------------------------------- */
.woocommerce-order-details .woocommerce-table--order-details {
	width: 100%;
	border-radius: 8px;
	border: 1px solid #dee2e6;
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce-order-details .woocommerce-table--order-details th,
.woocommerce-order-details .woocommerce-table--order-details td {
	padding: 15px;
	text-align: left;
	border-bottom: 1px solid #dee2e6;
}

.woocommerce-order-details .woocommerce-table--order-details thead th {
	background-color: #f8f9fa;
	font-weight: 600;
}

/* Remove a borda da última linha do corpo e do rodapé */
.woocommerce-order-details .woocommerce-table--order-details tbody tr:last-child td,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: none;
}

/* Metadados dos produtos (componentes configurados) */
.wc-block-order-confirmation-line-item-details__description {
	font-size: 0.9em;
	color: #6c757d;
}

/*
* Esconde o seletor de quantidade para produtos configurados no carrinho
* ----------------------------------------------------------------------
*/


/* 1. Esconde o seletor de quantidade original ('- 1 +') */
tr.wc-block-cart-items__row.produto-configurado-no-carrinho .wc-block-components-quantity-selector {
	display: none !important;
}

tr.wc-block-cart-items__row.produto-configurado-no-carrinho td.wc-block-cart-item__quantity::before {
	content: '1';
	font-weight: bold;
	text-align: center;
	padding: 0 15px;
	display: block !important;
	min-width: 107px;
}


/* =================================================================
DESIGN DE CHECKOUT PREMIUM PARA WALLFUTURE.COM (VERSÃO FINAL POLIDA)
================================================================= */

/* -- 1. DEFINIÇÕES GLOBAIS E DE COR -- */
:root {
	--cor-primaria: #ff6600;
	--cor-primaria-escura: #e65c00;
	--cor-texto-principal: #1d2b3a;
	--cor-texto-secundario: #5a6a7b;
	--cor-borda: #e9ecef;
	--cor-fundo-pagina: #f8f9fa;
	--cor-fundo-cartao: #ffffff;
}

body.woocommerce-checkout {
	background-color: var(--cor-fundo-pagina);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* -- 2. ESTRUTURA PRINCIPAL COM GRELHA (GRID) -- */
form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
	padding: 2em 0;
}
#customer_details { grid-area: 1 / 1 / 2 / 2; }
#payment { grid-area: 2 / 1 / 3 / 2; margin-top: 0; }

/* >>> NOVO: A área da encomenda agora é um único bloco na grelha */
div#order_review {
	grid-area: 1 / 2 / 3 / 2; /* Ocupa todo o lado direito */
}

.col2-set .col-1, .col2-set .col-2 {
	float: none !important; width: auto !important; padding: 0 !important;
}

/* -- 3. ESTILO DE "CARTÃO" PARA AS SECÇÕES -- */
#customer_details, #payment, #order_review {
	background: var(--cor-fundo-cartao);
	padding: 2.5em;
	border-radius: 12px;
	border: 1px solid var(--cor-borda);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.07);
}

/* -- 4. FORMULÁRIOS: ETIQUETAS E CAMPOS DE TEXTO -- */
.woocommerce form .form-row { margin-bottom: 20px !important; }
.woocommerce form .form-row label {
	font-size: 13px !important;
	font-weight: 600;
	color: var(--cor-texto-secundario);
	text-transform: uppercase;
	margin-bottom: 8px !important;
}
.woocommerce form .form-row .input-text, .woocommerce form textarea, .select2-container .select2-selection {
	border: 1px solid #d9dfe5 !important;
	border-radius: 6px !important;
	padding: 12px 15px !important;
	font-size: 15px !important;
	height: auto !important;
}
.woocommerce form .form-row .input-text:focus, .woocommerce form textarea:focus {
	border-color: var(--cor-primaria) !important;
	box-shadow: 0 0 0 3px rgba(255, 102, 0, 0.15) !important;
}


/* =================================================================
>>>>> SECÇÃO DA ENCOMENDA TOTALMENTE REFINADA <<<<<
================================================================= */

/* >>> NOVO: O título "A sua encomenda" agora está estilizado DENTRO do cartão */
#order_review_heading {
	font-size: 24px !important;
	color: var(--cor-texto-principal);
	padding: 0 0 25px 0 !important;
	margin: 0 0 25px 0 !important;
	border-bottom: 1px solid var(--cor-borda) !important;
	background: none !important;
	box-shadow: none !important;
	display: block !important;
}

/* >>> NOVO: O nome do produto (ex: Teste45) fica maior e a negrito */
.shop_table .product-name {
	padding-bottom: 20px !important;
	border-bottom: 1px solid var(--cor-borda) !important;
	font-size: 1.3em;
	font-weight: 700;
	color: var(--cor-texto-principal);
}

/* Oculta o cabeçalho original da tabela (Produto/Subtotal) */
.shop_table thead, .shop_table td.product-total { display: none; }

/* Grelha para os componentes (CPU, Memórias, etc.) */
.shop_table dl.variation {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 10px 15px;
	margin-top: 20px;
}
.shop_table dl.variation dt, .shop_table dl.variation dd {
	padding: 10px 0;
	display: block;
}
.shop_table dl.variation dt {
	grid-column: 1;
	font-weight: 600;
	color: var(--cor-texto-principal);
	text-align: right;
}
.shop_table dl.variation dd {
	grid-column: 2;
	margin: 0;
	padding-left: 15px;
	border-left: 1px solid var(--cor-borda);
	color: var(--cor-texto-secundario);
}
.shop_table dl.variation dd p { margin: 0 !important; padding: 0 !important; line-height: 1.5; }

/* Secção dos Totais (Subtotal, Envio, Total) */
.shop_table tfoot th, .shop_table tfoot td {
	border-bottom: 1px solid var(--cor-borda) !important;
	padding: 15px 0 !important;
}
.shop_table tfoot tr {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/* >>> NOVO: Remove a caixa cinzenta dos títulos */
.shop_table tfoot th {
	font-size: 16px;
	font-weight: 500;
	color: var(--cor-texto-principal);
	background: none !important;
}
.shop_table tfoot td {
	font-size: 16px;
	font-weight: 500;
	text-align: right;
	color: var(--cor-texto-secundario);
}
.shop_table tr.order-total {
	padding-top: 15px;
	border-top: 2px solid var(--cor-texto-principal);
}
.shop_table tr.order-total th { font-size: 20px; font-weight: 700; }
.shop_table tr.order-total td { font-size: 22px; font-weight: 700; color: var(--cor-primaria); }
.shop_table .includes_tax {
	display: block;
	font-size: 12px !important;
	font-weight: 400;
	color: var(--cor-texto-secundario);
	margin-top: 5px;
}
.shop_table tr:last-child th, .shop_table tr:last-child td { border: none !important; }


/* -- 7. SECÇÃO DE PAGAMENTO -- */
#payment h3 { display:none; }
#payment .wc_payment_methods { padding: 0; border-bottom: 1px solid var(--cor-borda); margin-bottom: 1em; }
#payment .wc_payment_method { padding: 10px 0; }
#payment .wc_payment_method label { font-size: 16px !important; font-weight: 500; }
#payment .payment_box {
	background-color: var(--cor-fundo-pagina);
	padding: 1.2em;
	margin-top: 1em;
	border-radius: 6px;
	border-left: 4px solid var(--cor-primaria);
}
#payment #place_order {
	background-color: var(--cor-primaria) !important;
	color: white !important;
	font-weight: bold;
	font-size: 16px !important;
	padding: 18px !important;
	border-radius: 6px !important;
	transition: all 0.3s ease;
}
#payment #place_order:hover {
	background-color: var(--cor-primaria-escura) !important;
	transform: translateY(-2px);
}

/* -- 8. RESPONSIVIDADE -- */
@media (max-width: 992px) {
	form.checkout.woocommerce-checkout { display: block; }
	#order_review, #payment { margin-top: 30px; }
}

/* ==========================================================================
ESTILOS MELHORADOS PARA A PÁGINA DE "ENCOMENDA RECEBIDA"
========================================================================== */

/* 1. Corpo da página e Container Principal
----------------------------------------------------------------------------- */
body.woocommerce-order-received {
	background-color: #f4f5f7; /* Um cinza muito suave para dar contraste ao conteúdo */
}

/* O .woocommerce-order será o nosso "cartão" principal que engloba tudo */
.woocommerce-order-received .woocommerce-order {
	background: #ffffff;
	border-radius: 8px;
	padding: 2em;
	margin: 40px 0 60px 0;
	box-shadow: 0 5px 25px rgba(0, 0, 0, 0.07);
	border: 1px solid #e9ecef;
}


/* 2. Mensagem de Sucesso "Obrigado"
----------------------------------------------------------------------------- */
.woocommerce-order-received .woocommerce-notice--success {
	background-color: #e8f5e9; /* Um verde mais suave e agradável */
	border-left: 5px solid #4CAF50; /* Destaque verde forte */
	color: #2e7d32;
	padding: 1.5em;
	border-radius: 6px;
	font-size: 1.1em;
	margin: 0; /* Remove a margem padrão para se ajustar ao nosso cartão */
}


/* 3. Bloco de Resumo Rápido (Grid)
----------------------------------------------------------------------------- */
.woocommerce-order-received .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap; /* Permite que os itens quebrem linha em ecrãs menores */
	list-style: none;
	padding: 1em;
	margin: 2.5em 0;
	background-color: #fdfdfd;
	border: 1px solid #e9ecef;
	border-radius: 8px;
}

.woocommerce-order-received .woocommerce-order-overview li {
	flex-grow: 1; /* Faz com que os itens ocupem o espaço disponível */
	padding: 1.5em 1em;
	text-align: center;
	border-right: 1px solid #e9ecef;
	min-width: 160px; /* Largura mínima para cada item */
}

.woocommerce-order-received .woocommerce-order-overview li:last-child {
	border-right: none;
}

.woocommerce-order-received .woocommerce-order-overview li strong {
	font-size: 1.5em;
	display: block;
	color: #f37021; /* Cor laranja do seu logótipo */
	margin-top: 0.25em;
}


/* 4. Títulos das Secções
----------------------------------------------------------------------------- */
.woocommerce-order-received h2 {
	font-size: 1.7em;
	color: #333;
	margin-top: 3em;
	margin-bottom: 1.5em;
	padding-bottom: 0.5em;
	border-bottom: 2px solid #f37021; /* Borda laranja como destaque */
}
/* Primeiro H2 sem margem superior */
.woocommerce-order-received .woocommerce-bacs-bank-details h2 {
	margin-top: 0;
}

/* 5. Estilo da Tabela e Detalhes da Morada
----------------------------------------------------------------------------- */
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-bacs-bank-details {
	margin-bottom: 2em;
}

.woocommerce-order-received table.shop_table {
	border-radius: 8px;
	border: 1px solid #dee2e6;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden; /* Garante que o border-radius seja aplicado às células */
}

.woocommerce-order-received table.shop_table thead th {
	background-color: #333; /* Cinza escuro do seu logótipo */
	color: #fff;
	padding: 1em 1.5em;
	font-weight: 600;
}

.woocommerce-order-received table.shop_table td,
.woocommerce-order-received table.shop_table th {
	padding: 1em 1.5em;
	border-bottom: 1px solid #dee2e6;
}

.woocommerce-order-received table.shop_table tbody tr:last-child td {
	border-bottom: none;
}

.woocommerce-order-received table.shop_table tfoot {
	font-weight: bold;
	color: #333;
}

.woocommerce-order-received table.shop_table tfoot tr:first-child th,
.woocommerce-order-received table.shop_table tfoot tr:first-child td {
	border-top: 2px solid #ccc;
}

/* Metadados do produto (componentes configurados) */
.woocommerce-order-received ul.wc-item-meta {
	list-style: none;
	padding-left: 0;
	margin-top: 0.5em;
	font-size: 0.9em;
}

.woocommerce-order-received ul.wc-item-meta li {
	color: #6c757d;
	padding: 0.25em 0;
}

/* 6. Morada de Faturação e Dados Bancários
----------------------------------------------------------------------------- */
.woocommerce-order-received .woocommerce-customer-details address {
	background: #fdfdfd;
	padding: 1.5em;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	line-height: 1.7;
}

.woocommerce-order-received .woocommerce-bacs-bank-details ul {
	list-style: none;
	padding: 1.5em;
	margin: 0;
	background: #fdfdfd;
	border: 1px solid #e9ecef;
	border-radius: 8px;
}

/* Pequenas modificações de estilos base */
a {
	color: #ff6a00; /* Alteração da cor dos links */
}

.wc-block-components-quantity-selector{
	display: none !important;
}