/**
 * Estilos e Customizações WooCommerce — Tema Laengel v0.3.4
 *
 * Identidade Visual Oficial:
 * - Azul-Marinho (#082F5B / #145A9E) = Títulos, Preços, Estrutura e Destaques Institucionais
 * - Branco & Neutros (#FFFFFF / #F7F8FA / #20252B) = Cards limpos, respiro e legibilidade
 * - Amarelo (#F5C400) = Badges promocionais e destaques de catálogo
 * - Verde (#169B50 / #117A3E) = Botões de Ação Comercial, Compra, Conversão e PIX
 * - Vermelho (#E30613) = Microacentos e badges de desconto
 *
 * @package Laengel
 * @version 0.3.4
 */

/* ==========================================================================
   1. Grid Geral de Produtos
   ========================================================================== */
.laengel-product-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin: 20px 0;
}

.laengel-grid-4cols {
	grid-template-columns: repeat(4, 1fr);
}

/* ==========================================================================
   2. Card de Produto Padronizado Laengel — Fundo Branco Puro e Limpo
   ========================================================================== */
.laengel-product-card {
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-md);
	padding: 14px;
	display: flex;
	flex-direction: column;
	transition: var(--laengel-transition);
	position: relative;
	box-shadow: var(--laengel-shadow-sm);
	height: 100%;
}

.laengel-product-card:hover {
	border-color: var(--laengel-blue-mid);
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(8, 47, 91, 0.12);
}

/* 2.1 Topo do Card */
.laengel-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
	position: relative;
	z-index: 2;
}

.laengel-card-badges {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

.laengel-badge-discount {
	background-color: var(--laengel-red);
	color: var(--laengel-white);
	font-size: 0.6875rem;
	font-weight: 800;
	padding: 2px 6px;
	border-radius: var(--laengel-radius-sm);
}

.laengel-badge-stock {
	background-color: #ECFDF5;
	color: #166534;
	border: 1px solid #A7F3D0;
	font-size: 0.625rem;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: var(--laengel-radius-sm);
}

.laengel-badge-out {
	background-color: #FEF2F2;
	color: #991B1B;
	border: 1px solid #FECACA;
	font-size: 0.625rem;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: var(--laengel-radius-sm);
}

.laengel-badge-deal {
	display: inline-block;
	background: var(--laengel-yellow-light);
	color: #8A6D00;
	border: 1px solid rgba(245, 196, 0, 0.50);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.8px;
	padding: 3px 8px;
	border-radius: var(--laengel-radius-full);
	margin-bottom: 4px;
}

/* Botão Favorito no Card */
.laengel-wishlist-btn {
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--laengel-gray-400);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
	border-radius: 50%;
	transition: var(--laengel-transition);
}

.laengel-wishlist-btn:hover {
	color: var(--laengel-red);
	background-color: #FFF1F2;
	transform: scale(1.15);
}

.laengel-wishlist-btn.is-favorited,
.laengel-wishlist-btn.is-active {
	color: var(--laengel-red);
}

.laengel-wishlist-btn.is-favorited svg,
.laengel-wishlist-btn.is-active svg {
	fill: var(--laengel-red);
	stroke: var(--laengel-red);
}

/* 2.2 Imagem do Produto */
.laengel-card-thumb-link {
	display: block;
	margin-bottom: 12px;
}

.laengel-card-image-wrap {
	width: 100%;
	padding-bottom: 100%;
	position: relative;
	background: var(--laengel-white);
	border-radius: var(--laengel-radius-sm);
	overflow: hidden;
}

.laengel-card-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
	transition: transform 0.3s ease;
}

.laengel-product-card:hover .laengel-card-img {
	transform: scale(1.05);
}

/* 2.3 Corpo do Card — NOME COMPLETO */
.laengel-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.laengel-card-sku {
	font-size: 0.6875rem;
	color: var(--laengel-gray-400);
	font-weight: 500;
	margin-bottom: 4px;
}

.laengel-card-title {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	margin-bottom: 10px;
}

.laengel-card-title a {
	color: var(--laengel-text-dark);
	word-break: break-word;
	text-decoration: none;
	transition: var(--laengel-transition);
}

.laengel-card-title a:hover {
	color: var(--laengel-navy);
}

/* 2.4 Preços e Parcelamento */
.laengel-card-pricing {
	margin-top: auto;
	padding-bottom: 12px;
}

.laengel-regular-price {
	font-size: 0.75rem;
	color: var(--laengel-gray-400);
	text-decoration: line-through;
	display: block;
	margin-bottom: 2px;
}

.laengel-current-price {
	font-family: var(--laengel-font-head);
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--laengel-navy);
	line-height: 1.1;
	margin-bottom: 4px;
}

.laengel-pix-tag {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--laengel-green);
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 2px;
}

.laengel-installment-tag {
	font-size: 0.6875rem;
	color: var(--laengel-gray-600);
}

.laengel-installment-tag strong {
	color: var(--laengel-text-dark);
}

/* 2.5 Ação / Botão do Card — Verde Conversão */
.laengel-card-action {
	margin-top: 6px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.laengel-card-btn {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 9px 12px;
	border-radius: var(--laengel-radius-sm);
	font-size: 0.8125rem;
	font-weight: 700;
	text-align: center;
	border: none;
	cursor: pointer;
	transition: var(--laengel-transition);
	text-decoration: none;
}

.laengel-card-btn-cart {
	background: linear-gradient(135deg, var(--laengel-green) 0%, var(--laengel-green-dark) 100%);
	color: var(--laengel-white);
	box-shadow: 0 2px 6px rgba(22, 155, 80, 0.25);
}

.laengel-card-btn-cart:hover {
	background: linear-gradient(135deg, var(--laengel-green-dark) 0%, #0D5F30 100%);
	color: var(--laengel-white);
	box-shadow: 0 4px 12px rgba(22, 155, 80, 0.35);
	transform: translateY(-1px);
}

.laengel-card-btn-cart svg {
	flex-shrink: 0;
}

.laengel-card-btn-details {
	display: block;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--laengel-gray-600);
	padding: 5px;
	border-radius: var(--laengel-radius-sm);
	transition: var(--laengel-transition);
	text-decoration: none;
}

.laengel-card-btn-details:hover {
	color: var(--laengel-navy);
	background: var(--laengel-blue-light);
}

.laengel-card-btn-disabled {
	background-color: var(--laengel-gray-200);
	color: var(--laengel-gray-400);
	cursor: not-allowed;
}

.laengel-btn-remove-wishlist {
	width: 100%;
	background-color: #FEE2E2;
	color: #DC2626;
	border: 1px solid #FCA5A5;
	font-weight: 600;
	font-size: 0.8125rem;
	padding: 8px;
	border-radius: var(--laengel-radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	cursor: pointer;
	transition: var(--laengel-transition);
}

.laengel-btn-remove-wishlist:hover {
	background-color: #DC2626;
	color: var(--laengel-white);
}

/* ==========================================================================
   3. Catálogo / Loja & Filtros — Azul-Marinho Nobre
   ========================================================================== */
.laengel-woocommerce-wrapper {
	padding: 24px 0 48px;
}

.laengel-shop-header-banner {
	background: linear-gradient(135deg, #082F5B 0%, #0D3E73 50%, #145A9E 100%);
	border-radius: var(--laengel-radius-md);
	padding: 24px 32px;
	color: var(--laengel-white);
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	box-shadow: var(--laengel-shadow-md);
}

.laengel-shop-tag {
	font-size: 0.6875rem;
	font-weight: 700;
	color: var(--laengel-yellow);
	letter-spacing: 0.8px;
}

.laengel-shop-main-title {
	font-family: var(--laengel-font-head);
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--laengel-white);
	margin: 4px 0;
}

.laengel-shop-desc {
	font-size: 0.875rem;
	color: var(--laengel-blue-light);
}

/* Botão Mobile: "Escolher categoria" em Amarelo */
.laengel-mobile-filter-btn {
	display: none;
	align-items: center;
	gap: 8px;
	background: linear-gradient(135deg, var(--laengel-yellow) 0%, #E6B800 100%);
	color: var(--laengel-text-dark);
	border: none;
	padding: 10px 18px;
	border-radius: var(--laengel-radius-md);
	font-weight: 800;
	font-size: 0.875rem;
	cursor: pointer;
	transition: var(--laengel-transition);
	box-shadow: 0 2px 8px rgba(245, 196, 0, 0.3);
}

.laengel-mobile-filter-btn:hover {
	background: var(--laengel-white);
	color: var(--laengel-navy);
}

.laengel-shop-layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 28px;
	align-items: flex-start;
}

/* Barra Lateral de Categorias */
.laengel-shop-sidebar {
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-md);
	padding: 20px;
	box-shadow: var(--laengel-shadow-sm);
}

.laengel-sidebar-header {
	display: none;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--laengel-gray-200);
	padding-bottom: 12px;
}

.laengel-sidebar-header-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.laengel-close-filters-btn,
.laengel-sidebar-chevron-btn {
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--laengel-text-dark);
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.laengel-filter-group {
	margin-bottom: 24px;
	border-bottom: 1px solid var(--laengel-gray-100);
	padding-bottom: 16px;
}

.laengel-filter-group:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.laengel-filter-title {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--laengel-navy);
	margin-bottom: 12px;
}

.laengel-filter-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.laengel-filter-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 0.8125rem;
	color: var(--laengel-gray-600);
	padding: 6px 8px;
	border-radius: var(--laengel-radius-sm);
	transition: var(--laengel-transition);
	text-decoration: none;
}

.laengel-filter-link:hover,
.laengel-filter-link.is-active {
	background-color: var(--laengel-blue-light);
	color: var(--laengel-navy);
	font-weight: 700;
}

.laengel-filter-count {
	font-size: 0.6875rem;
	background: var(--laengel-gray-200);
	color: var(--laengel-text-dark);
	padding: 1px 6px;
	border-radius: var(--laengel-radius-full);
}

.laengel-filter-link.is-active .laengel-filter-count {
	background: var(--laengel-navy);
	color: var(--laengel-white);
}

/* Área Principal do Catálogo */
.laengel-shop-main {
	min-width: 0;
}

.woocommerce-result-count {
	font-size: 0.875rem;
	color: var(--laengel-gray-600);
	margin-bottom: 16px;
	float: left;
}

.woocommerce-ordering {
	float: right;
	margin-bottom: 20px;
}

.woocommerce-ordering select {
	border: 1.5px solid var(--laengel-gray-300);
	border-radius: var(--laengel-radius-sm);
	padding: 8px 12px;
	font-size: 0.875rem;
	color: var(--laengel-text-dark);
	background-color: var(--laengel-white);
	outline: none;
	cursor: pointer;
}

.woocommerce-ordering select:focus {
	border-color: var(--laengel-blue-mid);
}

ul.products {
	clear: both;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

ul.products::before,
ul.products::after {
	content: none !important;
}

ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-md);
	padding: 14px;
	display: flex;
	flex-direction: column;
	transition: var(--laengel-transition);
	box-shadow: var(--laengel-shadow-sm);
}

ul.products li.product:hover {
	border-color: var(--laengel-blue-mid);
	transform: translateY(-4px);
	box-shadow: var(--laengel-shadow-lg);
}

ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--laengel-text-dark);
	padding: 8px 0 4px;
	word-break: break-word;
}

ul.products li.product .price {
	font-family: var(--laengel-font-head);
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--laengel-navy) !important;
	margin-bottom: 12px;
	display: block;
}

ul.products li.product .button,
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
	margin-top: auto;
	background: linear-gradient(135deg, var(--laengel-green) 0%, var(--laengel-green-dark) 100%) !important;
	color: var(--laengel-white) !important;
	font-weight: 700;
	border-radius: var(--laengel-radius-sm);
	padding: 9px 12px;
	text-align: center;
	border: none;
	transition: var(--laengel-transition);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-shadow: 0 2px 6px rgba(22, 155, 80, 0.25) !important;
}

ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover {
	background: linear-gradient(135deg, var(--laengel-green-dark) 0%, #0D5F30 100%) !important;
	color: var(--laengel-white) !important;
	box-shadow: 0 4px 12px rgba(22, 155, 80, 0.35) !important;
	transform: translateY(-1px);
}

/* ==========================================================================
   4. Botão "Ver mais produtos" (+16) & "Voltar ao topo"
   ========================================================================== */
.laengel-load-more-wrapper {
	text-align: center;
	margin: 36px 0 16px;
	clear: both;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.laengel-btn-load-more {
	background: linear-gradient(135deg, var(--laengel-navy) 0%, var(--laengel-blue-mid) 100%);
	color: var(--laengel-white);
	border: none;
	padding: 12px 32px;
	border-radius: var(--laengel-radius-md);
	font-weight: 700;
	font-size: 0.9375rem;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: var(--laengel-transition);
	box-shadow: 0 4px 12px rgba(8, 47, 91, 0.20);
}

.laengel-btn-load-more:hover {
	background: var(--laengel-blue-mid);
	color: var(--laengel-white);
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(8, 47, 91, 0.30);
}

.laengel-btn-load-more.is-loading {
	opacity: 0.7;
	cursor: wait;
}

.laengel-end-of-products {
	color: var(--laengel-gray-400);
	font-size: 0.875rem;
	font-style: italic;
	display: none;
}

.laengel-btn-back-to-top {
	background: var(--laengel-blue-light);
	color: var(--laengel-navy);
	border: 1px solid rgba(20, 90, 158, 0.25);
	padding: 8px 18px;
	border-radius: var(--laengel-radius-full);
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	transition: var(--laengel-transition);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.laengel-btn-back-to-top:hover {
	background: var(--laengel-navy);
	color: var(--laengel-white);
	border-color: var(--laengel-navy);
}

/* ==========================================================================
   5. Página de Produto Individual
   ========================================================================== */
.laengel-single-product-wrapper {
	padding: 24px 0 48px;
}

.laengel-breadcrumb {
	font-size: 0.8125rem;
	color: var(--laengel-gray-600);
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.laengel-breadcrumb a {
	color: var(--laengel-blue-mid);
}
.laengel-breadcrumb a:hover {
	color: var(--laengel-navy);
}

.laengel-breadcrumb-sep {
	color: var(--laengel-gray-400);
}

.laengel-breadcrumb-current {
	color: var(--laengel-text-dark);
	font-weight: 600;
}

.laengel-product-panel {
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-lg);
	padding: 32px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	box-shadow: var(--laengel-shadow-sm);
	margin-bottom: 32px;
}

.laengel-product-gallery-col {
	position: relative;
}

.laengel-product-gallery-col .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
}

.laengel-product-gallery-col .woocommerce-product-gallery__wrapper {
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-md);
	overflow: hidden;
	background: var(--laengel-white);
}

.laengel-product-cat-tag {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--laengel-blue-mid);
	text-transform: uppercase;
	margin-bottom: 6px;
}

.laengel-product-info-col .product_title {
	font-family: var(--laengel-font-head);
	font-size: 1.65rem;
	font-weight: 700;
	color: var(--laengel-text-dark);
	line-height: 1.25;
	margin-bottom: 12px;
}

.laengel-product-info-col .price {
	font-family: var(--laengel-font-head);
	font-size: 1.75rem;
	font-weight: 800;
	color: var(--laengel-navy) !important;
	margin-bottom: 8px;
}

.laengel-single-payment-box {
	background: var(--laengel-gray-100);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-md);
	padding: 14px 18px;
	margin-bottom: 20px;
}

.laengel-single-pix-row {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 1rem;
	font-weight: 700;
	color: var(--laengel-green);
	margin-bottom: 4px;
}

.laengel-single-installment-row {
	font-size: 0.8125rem;
	color: var(--laengel-gray-600);
}

/* 5.1 Variações e Chips */
.laengel-swatches-container {
	margin: 16px 0;
}

.laengel-swatch-row {
	margin-bottom: 14px;
}

.laengel-swatch-label {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--laengel-navy);
	margin-bottom: 6px;
	display: block;
}

.laengel-swatch-chips {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.laengel-chip-btn {
	background: var(--laengel-white);
	border: 1.5px solid var(--laengel-gray-300);
	border-radius: var(--laengel-radius-sm);
	padding: 6px 14px;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--laengel-text-dark);
	cursor: pointer;
	transition: var(--laengel-transition);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.laengel-chip-btn:hover {
	border-color: var(--laengel-navy);
	background-color: var(--laengel-blue-light);
}

.laengel-chip-btn.is-active {
	border-color: var(--laengel-navy);
	background-color: var(--laengel-navy);
	color: var(--laengel-white);
}

/* Ocultar select nativo quando chips estiverem ativos */
.laengel-chips-active .variations select,
.laengel-chips-active .variations .select2-container,
.laengel-chips-active .variations td > select {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* 5.2 Estrutura da Compra em 3 Linhas (Mobile & Desktop) */
form.cart {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin: 16px 0 !important;
	max-width: 440px;
}

/* Linha 1: Stepper de Quantidade + Botão de Favoritar */
.woocommerce-variation-add-to-cart,
.laengel-cart-buttons-row,
form.cart:not(.variations_form) {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	margin-bottom: 2px !important;
}

.quantity {
	display: inline-flex !important;
	align-items: center !important;
	border: 1.5px solid var(--laengel-gray-300) !important;
	border-radius: var(--laengel-radius-md) !important;
	overflow: hidden !important;
	background: var(--laengel-white) !important;
	height: 44px !important;
	flex-shrink: 0 !important;
	width: auto !important;
}

.quantity .qty {
	width: 48px !important;
	height: 100% !important;
	border: none !important;
	text-align: center !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	color: var(--laengel-text-dark) !important;
	outline: none !important;
	padding: 0 !important;
	background: transparent !important;
}

.laengel-qty-btn {
	width: 36px !important;
	height: 100% !important;
	background: var(--laengel-gray-100) !important;
	border: none !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: var(--laengel-text-dark) !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: var(--laengel-transition) !important;
}

.laengel-qty-btn:hover {
	background: var(--laengel-blue-light) !important;
	color: var(--laengel-navy) !important;
}

.laengel-single-wishlist-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: var(--laengel-white) !important;
	border: 1.5px solid var(--laengel-gray-300) !important;
	border-radius: var(--laengel-radius-md) !important;
	padding: 0 16px !important;
	height: 44px !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--laengel-gray-800) !important;
	cursor: pointer !important;
	transition: var(--laengel-transition) !important;
	flex: 1 1 auto !important;
	justify-content: center !important;
}

.laengel-single-wishlist-btn:hover {
	border-color: var(--laengel-red) !important;
	color: var(--laengel-red) !important;
	background: #FFF1F2 !important;
}

.laengel-single-wishlist-btn.is-favorited,
.laengel-single-wishlist-btn.is-active {
	border-color: var(--laengel-red) !important;
	color: var(--laengel-red) !important;
	background: #FFF1F2 !important;
}

.laengel-single-wishlist-btn.is-favorited svg,
.laengel-single-wishlist-btn.is-active svg {
	fill: var(--laengel-red) !important;
	stroke: var(--laengel-red) !important;
}

.laengel-chips-active table.variations {
	display: none !important;
}

/* Linha 2: Adicionar ao carrinho (100% largura — Verde Conversão) */
.single_add_to_cart_button {
	width: 100% !important;
	height: 48px !important;
	background: linear-gradient(135deg, var(--laengel-green) 0%, var(--laengel-green-dark) 100%) !important;
	color: var(--laengel-white) !important;
	font-family: var(--laengel-font-head) !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	border-radius: var(--laengel-radius-md) !important;
	transition: var(--laengel-transition) !important;
	border: none !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	margin: 0 !important;
	box-shadow: 0 4px 12px rgba(22, 155, 80, 0.25) !important;
}

.single_add_to_cart_button::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") no-repeat center / contain;
	flex-shrink: 0;
}

.single_add_to_cart_button:hover {
	background: linear-gradient(135deg, var(--laengel-green-dark) 0%, #0D5F30 100%) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 18px rgba(22, 155, 80, 0.35) !important;
}

/* Linha 3: Botão Comprar Agora (100% largura, Verde Conversão, sem ícone de carrinho) */
.laengel-btn-buy-now {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: linear-gradient(135deg, var(--laengel-green-dark) 0%, #0D5F30 100%) !important;
	color: var(--laengel-white) !important;
	font-family: var(--laengel-font-head) !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	height: 48px !important;
	border-radius: var(--laengel-radius-md) !important;
	text-decoration: none !important;
	border: 1px solid rgba(22, 155, 80, 0.4) !important;
	cursor: pointer !important;
	transition: var(--laengel-transition) !important;
	width: 100% !important;
	margin: 0 !important;
	box-shadow: 0 4px 12px rgba(17, 122, 62, 0.25) !important;
}

.laengel-btn-buy-now:hover {
	background: linear-gradient(135deg, #0D5F30 0%, #094723 100%) !important;
	color: var(--laengel-white) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 16px rgba(17, 122, 62, 0.35) !important;
}

.laengel-btn-buy-now:disabled {
	background: var(--laengel-gray-300) !important;
	color: var(--laengel-gray-600) !important;
	cursor: not-allowed !important;
	transform: none !important;
	box-shadow: none !important;
}

/* 5.4 Selos de Confiança */
.laengel-trust-row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--laengel-gray-200);
}

.laengel-trust-item {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--laengel-gray-600);
}

/* 5.5 Abas e Avaliações */
.laengel-product-tabs-section {
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-lg);
	padding: 28px;
	box-shadow: var(--laengel-shadow-sm);
	margin-bottom: 24px;
}

.woocommerce-tabs ul.tabs {
	border-bottom: 2px solid var(--laengel-gray-200) !important;
	padding: 0 !important;
	margin: 0 0 20px !important;
	display: flex;
	gap: 20px;
	overflow-x: auto;
}

.woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	padding: 0 0 10px !important;
	margin: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
	color: var(--laengel-gray-600) !important;
	font-weight: 600;
	font-size: 0.9375rem;
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--laengel-navy) !important;
	font-weight: 700;
	border-bottom: 3px solid var(--laengel-blue-mid);
}

/* Avaliações — Seção aberta */
.laengel-reviews-open-section {
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-lg);
	padding: 28px;
	box-shadow: var(--laengel-shadow-sm);
	margin-top: 24px;
}

.laengel-reviews-open-section h2 {
	font-family: var(--laengel-font-head);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--laengel-navy);
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--laengel-gray-200);
}

/* Subseção de Especificações Técnicas incorporada na Descrição */
.laengel-product-specifications {
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid var(--laengel-gray-200);
}

.laengel-product-specifications h3 {
	font-family: var(--laengel-font-head);
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--laengel-navy);
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.laengel-product-specifications table.shop_attributes {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 1px solid var(--laengel-gray-200) !important;
	border-radius: var(--laengel-radius-md) !important;
	overflow: hidden !important;
	margin: 0 !important;
	background: var(--laengel-white) !important;
}

.laengel-product-specifications table.shop_attributes tr {
	border-bottom: 1px solid var(--laengel-gray-200) !important;
}

.laengel-product-specifications table.shop_attributes tr:last-child {
	border-bottom: none !important;
}

.laengel-product-specifications table.shop_attributes tr:nth-child(even) {
	background-color: var(--laengel-gray-50) !important;
}

.laengel-product-specifications table.shop_attributes th {
	width: 35% !important;
	padding: 12px 16px !important;
	font-weight: 600 !important;
	color: var(--laengel-navy) !important;
	border: none !important;
	vertical-align: middle !important;
	font-size: 0.9375rem !important;
}

.laengel-product-specifications table.shop_attributes td {
	padding: 12px 16px !important;
	color: var(--laengel-gray-800) !important;
	border: none !important;
	vertical-align: middle !important;
	font-size: 0.9375rem !important;
}

.laengel-product-specifications table.shop_attributes td p {
	margin: 0 !important;
	padding: 0 !important;
}

@media (max-width: 600px) {
	.laengel-product-specifications table.shop_attributes {
		display: block !important;
	}
	.laengel-product-specifications table.shop_attributes tbody {
		display: block !important;
	}
	.laengel-product-specifications table.shop_attributes tr {
		display: flex !important;
		flex-direction: column !important;
		padding: 8px 12px !important;
	}
	.laengel-product-specifications table.shop_attributes th {
		width: 100% !important;
		padding: 4px 0 !important;
		font-size: 0.875rem !important;
		color: var(--laengel-navy) !important;
	}
	.laengel-product-specifications table.shop_attributes td {
		width: 100% !important;
		padding: 2px 0 6px !important;
		font-size: 0.875rem !important;
	}
}

/* Subtexto descritivo dos métodos de frete */
.laengel-shipping-subtext {
	font-size: 0.8125rem;
	color: var(--laengel-gray-600);
	font-weight: 400;
	line-height: 1.4;
	margin-top: 4px;
}

.laengel-shipping-subtext span {
	color: var(--laengel-gray-700);
	font-weight: 500;
}

/* ==========================================================================
   6. Mini-Modal de Variação nos Cards
   ========================================================================== */
.laengel-variation-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(8, 47, 91, 0.45);
	z-index: 99990;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.22s ease, visibility 0.22s;
	backdrop-filter: blur(2px);
}

.laengel-variation-modal-overlay.is-active {
	opacity: 1;
	visibility: visible;
}

.laengel-variation-modal {
	background: var(--laengel-white);
	border-radius: var(--laengel-radius-lg);
	padding: 24px;
	max-width: 380px;
	width: 100%;
	max-height: 80vh;
	overflow-y: auto;
	box-shadow: 0 20px 50px rgba(8, 47, 91, 0.25);
	transform: translateY(12px);
	transition: transform 0.22s ease;
}

.laengel-variation-modal-overlay.is-active .laengel-variation-modal {
	transform: translateY(0);
}

.laengel-var-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--laengel-gray-200);
	padding-bottom: 12px;
}

.laengel-var-modal-title {
	font-family: var(--laengel-font-head);
	font-weight: 700;
	font-size: 1rem;
	color: var(--laengel-navy);
	line-height: 1.3;
}

.laengel-var-modal-close {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--laengel-gray-600);
	padding: 4px;
	border-radius: 50%;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.laengel-var-modal-close:hover {
	background: var(--laengel-gray-100);
}

.laengel-var-modal-attr {
	margin-bottom: 16px;
}

.laengel-var-modal-attr-label {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--laengel-navy);
	display: block;
	margin-bottom: 8px;
}

.laengel-var-modal-chips {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.laengel-var-modal-chip {
	background: var(--laengel-white);
	border: 1.5px solid var(--laengel-gray-300);
	border-radius: var(--laengel-radius-sm);
	padding: 5px 12px;
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	transition: var(--laengel-transition);
}

.laengel-var-modal-chip:hover {
	border-color: var(--laengel-navy);
	background: var(--laengel-blue-light);
}

.laengel-var-modal-chip.is-active {
	background: var(--laengel-navy);
	color: var(--laengel-white);
	border-color: var(--laengel-navy);
}

.laengel-var-modal-actions {
	margin-top: 20px;
	display: flex;
	gap: 8px;
	flex-direction: column;
}

.laengel-var-modal-btn-cart {
	width: 100%;
	height: 44px;
	background: linear-gradient(135deg, var(--laengel-green) 0%, var(--laengel-green-dark) 100%);
	color: var(--laengel-white);
	font-family: var(--laengel-font-head);
	font-weight: 700;
	font-size: 0.9375rem;
	border-radius: var(--laengel-radius-sm);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: var(--laengel-transition);
	margin-top: 12px;
	box-shadow: 0 2px 8px rgba(22, 155, 80, 0.25);
}

.laengel-var-modal-btn-cart:hover {
	background: linear-gradient(135deg, var(--laengel-green-dark) 0%, #0D5F30 100%);
	box-shadow: 0 4px 12px rgba(22, 155, 80, 0.35);
}

.laengel-var-modal-btn-cart:disabled {
	background: var(--laengel-gray-300);
	cursor: not-allowed;
}

.laengel-var-modal-btn-details {
	display: block;
	text-align: center;
	color: var(--laengel-gray-600);
	font-size: 0.875rem;
	padding: 8px;
	border-radius: var(--laengel-radius-sm);
	text-decoration: none;
}

.laengel-var-modal-btn-details:hover {
	color: var(--laengel-navy);
	background: var(--laengel-blue-light);
}

/* ==========================================================================
   7. Carrinho e Resumo do Pedido (Desktop & Mobile)
   ========================================================================== */
.woocommerce-cart-form {
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-md);
	padding: 16px;
	box-shadow: var(--laengel-shadow-sm);
	margin: 0 0 24px 0 !important;
}

.shop_table.cart {
	border: none !important;
	width: 100% !important;
}

.cart_totals {
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-md);
	padding: 20px;
	box-shadow: var(--laengel-shadow-sm);
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.cart_totals h2 {
	font-family: var(--laengel-font-head);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--laengel-navy);
	margin-bottom: 16px;
	border-bottom: 1px solid var(--laengel-gray-200);
	padding-bottom: 8px;
}

/* Tabela de Totais do Carrinho */
.cart_totals table.shop_table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin-bottom: 20px !important;
	border: none !important;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
	padding: 12px 0 !important;
	border-top: 1px solid var(--laengel-gray-200) !important;
	vertical-align: middle !important;
	text-align: left !important;
}

.cart_totals table.shop_table .cart-subtotal th,
.cart_totals table.shop_table .order-total th {
	font-family: var(--laengel-font-head) !important;
	font-weight: 700 !important;
	color: var(--laengel-navy) !important;
	width: 40% !important;
}

.cart_totals table.shop_table .cart-subtotal td,
.cart_totals table.shop_table .order-total td {
	text-align: right !important;
	font-weight: 700 !important;
	color: var(--laengel-navy) !important;
}

.cart_totals table.shop_table .order-total td strong {
	font-size: 1.25rem !important;
	color: var(--laengel-navy) !important;
}

/* Bloco Entrega / Retirada no Carrinho */
.cart_totals table.shop_table tr.shipping {
	display: block !important;
	width: 100% !important;
	border-top: 1px solid var(--laengel-gray-200) !important;
	border-bottom: 1px solid var(--laengel-gray-200) !important;
	padding: 16px 0 !important;
	margin: 8px 0 !important;
}

.cart_totals table.shop_table tr.shipping th {
	display: block !important;
	width: 100% !important;
	text-align: left !important;
	font-family: var(--laengel-font-head) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: var(--laengel-navy) !important;
	padding: 0 0 12px 0 !important;
	border: none !important;
}

.cart_totals table.shop_table tr.shipping td {
	display: block !important;
	width: 100% !important;
	text-align: left !important;
	padding: 0 !important;
	border: none !important;
}

.cart_totals table.shop_table tr.shipping td::before {
	display: none !important;
}

/* Lista de Opções de Entrega / Retirada */
.cart_totals ul#shipping_method {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	text-align: left !important;
	width: 100% !important;
}

.cart_totals ul#shipping_method li {
	margin: 0 !important;
	padding: 12px 14px !important;
	background: var(--laengel-gray-50) !important;
	border: 1px solid var(--laengel-gray-200) !important;
	border-radius: var(--laengel-radius-md) !important;
	text-align: left !important;
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	transition: var(--laengel-transition) !important;
}

.cart_totals ul#shipping_method li:hover {
	border-color: var(--laengel-blue-mid) !important;
	background: var(--laengel-blue-light) !important;
}

.cart_totals ul#shipping_method li input.shipping_method {
	float: left !important;
	margin: 2px 8px 0 0 !important;
	accent-color: var(--laengel-navy) !important;
	cursor: pointer !important;
}

.cart_totals ul#shipping_method li label {
	display: block !important;
	text-align: left !important;
	cursor: pointer !important;
	color: var(--laengel-text-dark) !important;
	font-size: 0.9375rem !important;
	line-height: 1.4 !important;
}

.cart_totals ul#shipping_method li label strong {
	display: inline !important;
	font-weight: 700 !important;
	color: var(--laengel-navy) !important;
	white-space: nowrap !important;
}

.cart_totals ul#shipping_method li .laengel-shipping-subtext {
	display: block !important;
	margin-top: 6px !important;
	padding-left: 22px !important;
	font-size: 0.8125rem !important;
	color: var(--laengel-gray-600) !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	text-align: left !important;
}

.cart_totals ul#shipping_method li .laengel-shipping-subtext span {
	display: block !important;
	color: var(--laengel-gray-500) !important;
	font-size: 0.75rem !important;
	margin-top: 2px !important;
}

/* Oculta calculadora de frete indevida */
.woocommerce-cart .woocommerce-shipping-calculator,
.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .woocommerce-shipping-destination,
.cart_totals .woocommerce-shipping-destination,
.cart_totals .shipping-calculator-button,
.cart_totals .shipping-calculator-form {
	display: none !important;
}

/* Botão Finalizar Compra — Verde Conversão */
.checkout-button {
	background: linear-gradient(135deg, var(--laengel-green) 0%, var(--laengel-green-dark) 100%) !important;
	color: var(--laengel-white) !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	padding: 14px 20px !important;
	border-radius: var(--laengel-radius-md) !important;
	display: block !important;
	text-align: center;
	transition: var(--laengel-transition);
	box-shadow: 0 4px 12px rgba(22, 155, 80, 0.25) !important;
}

.checkout-button:hover {
	background: linear-gradient(135deg, var(--laengel-green-dark) 0%, #0D5F30 100%) !important;
	box-shadow: 0 6px 16px rgba(22, 155, 80, 0.35) !important;
}

/* Desktop: Resumo à esquerda e Produtos à direita */
@media (min-width: 992px) {
	.woocommerce-cart .woocommerce {
		display: flex !important;
		flex-direction: row-reverse !important;
		justify-content: space-between !important;
		align-items: flex-start !important;
		gap: 32px !important;
	}

	.woocommerce-cart-form {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		padding: 24px;
		margin: 0 !important;
	}

	.woocommerce-cart .cart-collaterals {
		flex: 0 0 450px !important;
		width: 450px !important;
		margin: 0 !important;
	}

	.cart_totals {
		padding: 24px;
	}
}

/* Mobile: Empilhamento vertical responsivo */
@media (max-width: 991px) {
	.woocommerce-cart .woocommerce {
		display: flex !important;
		flex-direction: column !important;
		gap: 20px !important;
		width: 100% !important;
	}

	.woocommerce-cart-form {
		width: 100% !important;
		padding: 14px !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.woocommerce-cart table.cart {
		font-size: 0.875rem !important;
		min-width: 100% !important;
	}

	.woocommerce-cart table.cart th,
	.woocommerce-cart table.cart td {
		padding: 10px 6px !important;
	}

	.woocommerce-cart table.cart .product-thumbnail {
		width: 48px !important;
	}

	.woocommerce-cart table.cart .product-thumbnail img {
		width: 44px !important;
		height: 44px !important;
		object-fit: contain !important;
	}

	.woocommerce-cart table.cart .product-name a {
		font-size: 0.875rem !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		color: var(--laengel-text-dark) !important;
	}

	.woocommerce-cart table.cart td.actions {
		padding: 12px 0 !important;
	}

	.woocommerce-cart table.cart td.actions .coupon {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		width: 100% !important;
		margin-bottom: 12px !important;
	}

	.woocommerce-cart table.cart td.actions .coupon .input-text {
		flex: 1 1 130px !important;
		width: auto !important;
		height: 40px !important;
		margin: 0 !important;
	}

	.woocommerce-cart table.cart td.actions .coupon .button {
		flex: 1 1 auto !important;
		height: 40px !important;
		padding: 8px 16px !important;
		margin: 0 !important;
	}

	.woocommerce-cart table.cart td.actions > .button {
		width: 100% !important;
		display: block !important;
		height: 40px !important;
		line-height: 1 !important;
	}

	.woocommerce-cart .cart-collaterals {
		width: 100% !important;
		margin: 0 !important;
	}
}

/* Carrinho Vazio Centralizado */
.cart-empty.woocommerce-info {
	text-align: center;
	padding: 48px 24px;
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-lg);
	max-width: 500px;
	margin: 40px auto;
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--laengel-text-dark);
}

.return-to-shop {
	text-align: center;
	margin: 20px 0 60px;
}

.return-to-shop .button {
	background: linear-gradient(135deg, var(--laengel-navy) 0%, var(--laengel-blue-mid) 100%) !important;
	color: var(--laengel-white) !important;
	font-weight: 700;
	padding: 12px 28px;
	border-radius: var(--laengel-radius-md);
}

.return-to-shop .button:hover {
	background: var(--laengel-blue-mid) !important;
	color: var(--laengel-white) !important;
}

/* ==========================================================================
   8. Checkout & Identificação PF/PJ
   ========================================================================== */
.woocommerce-checkout .woocommerce {
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-lg);
	padding: 32px;
	box-shadow: var(--laengel-shadow-sm);
}

/* Seletor PF / PJ: Radio e Texto na MESMA linha com card/pill elegante */
.laengel-person-type-selector {
	margin-bottom: 20px !important;
}

.laengel-person-type-selector .woocommerce-input-wrapper {
	display: flex !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	margin-top: 8px !important;
}

.laengel-person-type-selector .woocommerce-input-wrapper input[type="radio"] {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
	pointer-events: none !important;
}

.laengel-person-type-selector .woocommerce-input-wrapper label.radio {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 12px 20px !important;
	background: var(--laengel-gray-100) !important;
	border: 2px solid var(--laengel-gray-300) !important;
	border-radius: var(--laengel-radius-md) !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	color: var(--laengel-text-dark) !important;
	cursor: pointer !important;
	transition: var(--laengel-transition) !important;
	margin: 0 !important;
}

.laengel-person-type-selector .woocommerce-input-wrapper label.radio::before {
	content: '' !important;
	display: inline-block !important;
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	border: 2px solid var(--laengel-gray-400) !important;
	background: var(--laengel-white) !important;
	transition: var(--laengel-transition) !important;
	flex-shrink: 0 !important;
}

.laengel-person-type-selector .woocommerce-input-wrapper input[type="radio"]:checked + label.radio {
	border-color: var(--laengel-green) !important;
	background: #F0FDF4 !important;
	color: var(--laengel-green-dark) !important;
}

.laengel-person-type-selector .woocommerce-input-wrapper input[type="radio"]:checked + label.radio::before {
	border-color: var(--laengel-green) !important;
	background: radial-gradient(circle, var(--laengel-green) 45%, #FFFFFF 50%) !important;
}

.laengel-person-type-selector label.radio .required {
	display: none !important;
}

/* Campos de formulário do checkout */
.woocommerce form .form-row .optional {
	display: none !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	border: 1.5px solid var(--laengel-gray-300);
	border-radius: var(--laengel-radius-sm);
	padding: 10px 12px;
	font-size: 0.9375rem;
	color: var(--laengel-text-dark);
	background: var(--laengel-white);
	outline: none;
	transition: var(--laengel-transition);
	width: 100%;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--laengel-blue-mid);
	box-shadow: 0 0 0 3px rgba(20, 90, 158, 0.15);
}

/* ==========================================================================
   9. Minha Conta (Grid Mobile 2 Colunas & Desktop Limpo)
   ========================================================================== */
.woocommerce-account .woocommerce {
	background: var(--laengel-white);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-lg);
	padding: 32px;
	box-shadow: var(--laengel-shadow-sm);
}

/* Layout Desktop: Menu lateral + Conteúdo */
@media (min-width: 769px) {
	.woocommerce-account .woocommerce {
		display: flex;
		gap: 32px;
		align-items: flex-start;
	}

	.woocommerce-account nav.woocommerce-MyAccount-navigation {
		width: 220px;
		flex-shrink: 0;
	}

	.woocommerce-account nav.woocommerce-MyAccount-navigation ul {
		list-style: none;
		background: var(--laengel-gray-100);
		border: 1px solid var(--laengel-gray-200);
		border-radius: var(--laengel-radius-md);
		overflow: hidden;
	}

	.woocommerce-account nav.woocommerce-MyAccount-navigation li a {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 18px;
		font-size: 0.9375rem;
		font-weight: 500;
		color: var(--laengel-text-dark);
		text-decoration: none;
		border-bottom: 1px solid var(--laengel-gray-200);
		transition: var(--laengel-transition);
	}

	.woocommerce-account nav.woocommerce-MyAccount-navigation li a:hover,
	.woocommerce-account nav.woocommerce-MyAccount-navigation li.is-active a {
		background: var(--laengel-navy);
		color: var(--laengel-white);
		padding-left: 22px;
	}

	.woocommerce-account nav.woocommerce-MyAccount-navigation li:last-child a {
		border-bottom: none;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		flex: 1;
		min-width: 0;
	}
}

/* Layout Mobile: Grid 2 Colunas no Menu + Conteúdo 100% Abaixo */
@media (max-width: 768px) {
	.woocommerce-account .woocommerce {
		display: flex;
		flex-direction: column;
		padding: 20px;
		gap: 24px;
	}

	.woocommerce-account nav.woocommerce-MyAccount-navigation {
		width: 100%;
	}

	.woocommerce-account nav.woocommerce-MyAccount-navigation ul {
		list-style: none;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
		padding: 0;
		margin: 0;
		background: transparent;
		border: none;
	}

	.woocommerce-account nav.woocommerce-MyAccount-navigation li a {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 12px 10px;
		background: var(--laengel-gray-100);
		border: 1px solid var(--laengel-gray-300);
		border-radius: var(--laengel-radius-md);
		font-size: 0.875rem;
		font-weight: 600;
		color: var(--laengel-text-dark);
		text-align: center;
		text-decoration: none;
		min-height: 48px;
		transition: var(--laengel-transition);
	}

	.woocommerce-account nav.woocommerce-MyAccount-navigation li a:hover,
	.woocommerce-account nav.woocommerce-MyAccount-navigation li.is-active a {
		background: var(--laengel-navy);
		color: var(--laengel-white);
		border-color: var(--laengel-navy);
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100%;
		border-top: 1px solid var(--laengel-gray-200);
		padding-top: 20px;
	}
}

/* Login e Registro Side-by-Side Deslogado */
.u-columns.col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.u-column1, .u-column2 {
	background: var(--laengel-gray-100);
	border: 1px solid var(--laengel-gray-200);
	border-radius: var(--laengel-radius-md);
	padding: 24px;
}

.u-column1 h2, .u-column2 h2 {
	font-family: var(--laengel-font-head);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--laengel-navy);
	margin-bottom: 16px;
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
	background: linear-gradient(135deg, var(--laengel-navy) 0%, var(--laengel-blue-mid) 100%) !important;
	color: var(--laengel-white) !important;
	font-weight: 700 !important;
	padding: 10px 20px !important;
	border-radius: var(--laengel-radius-sm) !important;
}

/* ==========================================================================
   10. Responsividade Geral
   ========================================================================== */
@media (max-width: 1024px) {
	.laengel-product-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.laengel-shop-layout {
		grid-template-columns: 1fr;
	}
	.laengel-shop-sidebar {
		position: fixed;
		top: 0;
		left: -320px;
		width: 300px;
		max-width: 85vw;
		height: 100vh;
		z-index: 10000;
		overflow-y: auto;
		transition: transform 0.3s ease;
	}
	.laengel-shop-sidebar.is-open {
		transform: translateX(320px);
	}
	.laengel-sidebar-header {
		display: flex;
	}
	.laengel-mobile-filter-btn {
		display: inline-flex;
	}
	.woocommerce-cart .woocommerce {
		grid-template-columns: 1fr;
	}
	.u-columns.col2-set {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.laengel-product-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
	.laengel-product-panel {
		grid-template-columns: 1fr;
		padding: 20px;
		gap: 20px;
	}
	.laengel-product-card {
		padding: 10px;
	}
	.laengel-current-price {
		font-size: 1.05rem;
	}
	.laengel-card-btn {
		font-size: 0.75rem;
		padding: 8px;
	}
	ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}
	.laengel-person-type-selector ul {
		flex-direction: column;
		gap: 8px;
	}
	.laengel-person-type-selector li {
		width: 100%;
	}
}

/* ==========================================================================
   11. Botão de Finalização de Compra (Checkout Verde Comercial)
   ========================================================================== */
.woocommerce-checkout #place_order,
button#place_order,
#place_order {
	background: linear-gradient(135deg, var(--laengel-green) 0%, var(--laengel-green-dark) 100%) !important;
	color: var(--laengel-white) !important;
	font-family: var(--laengel-font-head) !important;
	font-weight: 700 !important;
	font-size: 1.05rem !important;
	padding: 14px 28px !important;
	border-radius: var(--laengel-radius-md) !important;
	border: none !important;
	cursor: pointer !important;
	transition: var(--laengel-transition) !important;
	box-shadow: 0 4px 14px rgba(22, 155, 80, 0.30) !important;
	display: block !important;
	width: 100% !important;
}

.woocommerce-checkout #place_order:hover,
button#place_order:hover,
#place_order:hover {
	background: linear-gradient(135deg, var(--laengel-green-dark) 0%, #0D5F30 100%) !important;
	box-shadow: 0 6px 18px rgba(22, 155, 80, 0.40) !important;
	transform: translateY(-1px) !important;
}
