/* ==========================================================================
   Single Product (woodmart-child)
   Layout fiel à referência: galeria + thumbs à esquerda; info, descrição,
   variações, CEP e CTA à direita; "Modelos similares" embaixo.
   ========================================================================== */

/* ---- Espaçamento geral da página de produto ---- */
.single-product-page {
	padding-top: 40px;
	padding-bottom: 140px;
}

/* ---- Layout 2 colunas ---- */
.single-product-page-content {
	gap: 60px;
}

.single-product-content-left {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Galeria principal sem bordas/sombras agressivas */
.product .woocommerce-product-gallery .flex-viewport,
.product .woocommerce-product-gallery .wd-carousel-wrap {
	background: #fff;
	border-radius: 0;
}

.product .woocommerce-product-gallery img {
	border-radius: 0;
}

/* Thumbnails embaixo (forçados via filter woodmart_option → 'bottom') */
.product .woocommerce-product-gallery.thumbs-position-bottom .flex-control-thumbs,
.product .woocommerce-product-gallery .flex-control-thumbs {
	margin-top: 12px;
}

.product .woocommerce-product-gallery .flex-control-thumbs li {
	border-radius: 0;
}

.product .woocommerce-product-gallery .flex-control-thumbs img {
	border: 1px solid var(--wd-border-color, #ececec);
	border-radius: 0;
	cursor: pointer;
}

.product .woocommerce-product-gallery .flex-control-thumbs .flex-active img,
.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
	border-color: var(--wd-primary-color, #8b3e1a);
}

/* ---- Tipografia da info ---- */
.product .summary,
.product .single-product-content-right.summary {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.product .product_title.entry-title {
	font-size: 28px;
	line-height: 1.15;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-weight: 500;
	margin: 0 0 22px;
}

/* Preço — preto, igual à referência */
.product .summary > .price,
.product .summary p.price,
.product .summary .price,
.product .summary .price .amount,
.product .summary .price ins .amount,
.product .summary .price .woocommerce-Price-amount {
	color: #000 !important;
}

.product .summary > .price,
.product .summary p.price,
.product .summary .price {
	font-size: 22px;
	font-weight: 600;
	margin: 0 0 22px;
}

.product .summary .price del { opacity: 0.55; font-weight: 400; }
.product .summary .price ins { text-decoration: none; }

/* ---- Heading de seção (DESCRIÇÃO, etc) ---- */
.wdc-section-title {
	font-size: 14px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-weight: 500;
	margin: 0 0 12px;
	padding-top: 0;
	border-top: 0;
	text-decoration: none;
}

/* ---- Descrição inline + dimensões em sanfona ---- */
.wdc-product-description,
.wdc-product-dimensions {
	display: block;
	margin: 6px 0 4px;
}

.wdc-product-description-content p,
.wdc-product-description-content ul,
.wdc-product-description-content ol {
	font-size: 14px;
	line-height: 1.6;
	color: var(--wd-text-color, #444);
	margin: 0 0 10px;
}

.wdc-product-description-content ul,
.wdc-product-description-content ol {
	padding-left: 18px;
}

.wdc-product-description-content li {
	margin-bottom: 4px;
}

.wdc-product-description-content p:last-child,
.wdc-product-description-content ul:last-child,
.wdc-product-description-content ol:last-child {
	margin-bottom: 0;
}

.wdc-product-description-content strong {
	font-weight: 600;
}

.wdc-accordion {
	border-top: 1px solid var(--wd-border-color, #ececec);
}

.wdc-accordion-item {
	border-bottom: 1px solid var(--wd-border-color, #ececec);
}

.wdc-accordion-header {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 0;
	background: transparent !important;
	border: 0;
	cursor: pointer;
	color: inherit;
	font-family: inherit;
	text-align: start;
	box-shadow: none !important;
}

.wdc-accordion-header:hover,
.wdc-accordion-header:focus,
.wdc-accordion-header:active {
	background: transparent !important;
	box-shadow: none !important;
	outline: none;
}

.wdc-accordion-title {
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-weight: 500;
	text-decoration: none;
}

.wdc-accordion-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	color: var(--wd-text-color, #555);
	transition: transform 0.2s ease;
}

.wdc-accordion-icon::before {
	content: '+';
}

.wdc-accordion-item.is-open .wdc-accordion-icon::before {
	content: '−';
}

.wdc-accordion-body {
	overflow: hidden;
	padding: 0 0 16px;
}

.wdc-accordion-body[hidden] {
	display: none;
}

.wdc-accordion-body p,
.wdc-accordion-body ul,
.wdc-accordion-body ol {
	font-size: 14px;
	line-height: 1.6;
	color: var(--wd-text-color, #444);
	margin: 0 0 12px;
}

.wdc-accordion-body ul,
.wdc-accordion-body ol {
	padding-left: 18px;
}

.wdc-accordion-body li {
	margin-bottom: 6px;
}

.wdc-accordion-body p:last-child,
.wdc-accordion-body ul:last-child,
.wdc-accordion-body ol:last-child {
	margin-bottom: 0;
}

/* ---- Variações (DIMENSÕES, COR, etc) ---- */
.product form.variations_form .variations {
	border: 0;
	margin: 6px 0 14px;
	width: 100%;
}

.product form.variations_form .variations tbody,
.product form.variations_form .variations tr,
.product form.variations_form .variations th,
.product form.variations_form .variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
}

.product form.variations_form .variations tr {
	margin-bottom: 16px;
}

.product form.variations_form .variations th.label {
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 500;
	margin-bottom: 6px;
	color: var(--wd-text-color, #555);
}

.product form.variations_form .variations th.label label {
	font-weight: inherit;
	margin: 0;
}

/* Remove o ":" que o Woodmart adiciona via :after no label da variação */
.product form.variations_form .variations th.label label::after,
.product table.variations label::after {
	content: none !important;
}

/* Dropdown de variação (DIMENSÕES) */
.product form.variations_form select {
	width: 100%;
	height: var(--wd-form-height, 48px);
	padding: 0 14px;
	border: 1px solid var(--wd-border-color, #d8d8d8);
	background: #fff;
	font-size: 14px;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
		linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 18px) center, calc(100% - 12px) center;
	background-size: 6px 6px;
	background-repeat: no-repeat;
}

/* "Limpar" link das variações — discreto */
.product form.variations_form .reset_variations {
	font-size: 12px;
	color: var(--wd-text-color, #777);
	margin-left: 8px;
}

/* Swatches de cor (Woodmart product attribute swatches) */
.product .wd-swatches.wd-style-default .wd-swatch,
.product .wd-swatches .wd-swatch {
	border-radius: 0;
	border: 1px solid var(--wd-border-color, #d8d8d8);
	padding: 2px;
	background: transparent !important;
}

.product .wd-swatches .wd-swatch:hover,
.product .wd-swatches .wd-swatch.wd-active,
.product .wd-swatches .wd-swatch.selected {
	background: transparent !important;
	box-shadow: none !important;
	border-color: var(--wd-primary-color, #8b3e1a);
}

/* Thumbs da galeria — sem fundo no hover */
.product .woocommerce-product-gallery .flex-control-thumbs li,
.product .woocommerce-product-gallery .flex-control-thumbs li:hover {
	background: transparent !important;
}

/* ---- CEP do produto (próprio, substitui o HubGo) ---- */
.wdc-product-shipping {
	margin: 14px 0 14px;
}

.wdc-product-shipping .wdc-section-label,
.wdc-product-shipping label {
	display: block;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--wd-text-color, #555);
	margin-bottom: 6px;
}

.wdc-product-shipping-form {
	display: flex;
	align-items: stretch;
	gap: 0;
}

.wdc-product-shipping-form input.wdc-cep-input,
.wdc-product-shipping-form button.wdc-product-shipping-submit {
	box-sizing: border-box;
	height: var(--wd-form-height, 48px) !important;
	min-height: 0;
	line-height: 1;
	margin: 0;
	font-family: inherit;
	border-radius: 0 !important;
}

.wdc-product-shipping-form input.wdc-cep-input {
	flex: 1 1 auto;
	min-width: 0;
	width: auto !important;
	max-width: none;
	padding: 0 14px !important;
	border: 1px solid var(--wd-border-color, #d8d8d8) !important;
	background: #fff;
	font-size: 14px;
	outline: none;
}

.wdc-product-shipping-form input.wdc-cep-input:focus {
	border-color: var(--wd-primary-color, #333) !important;
}

.wdc-product-shipping-form button.wdc-product-shipping-submit {
	flex-shrink: 0;
	min-width: 130px;
	padding: 0 22px !important;
	border: 1px solid var(--wd-primary-color, #8b3e1a) !important;
	background: var(--wd-primary-color, #8b3e1a) !important;
	color: var(--wd-primary-color-text, #fff) !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: none !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.wdc-product-shipping-form button.wdc-product-shipping-submit[disabled] {
	opacity: 0.6;
	cursor: progress;
}

.wdc-product-shipping .wdc-cep-help {
	display: inline-block;
	margin-top: 8px;
	font-size: 13px;
	color: var(--wd-text-color, #555);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wdc-product-shipping-feedback:empty {
	display: none;
}

.wdc-product-shipping-feedback {
	margin-top: 10px;
	font-size: 13px;
	color: #c0392b;
}

.wdc-product-shipping-rates {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	border-top: 1px solid var(--wd-border-color, #ececec);
}

.wdc-product-shipping-rates[hidden] { display: none; }

.wdc-product-shipping-rates .wdc-rate {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	font-size: 13px;
	border-bottom: 1px solid var(--wd-border-color, #f1f1f1);
}

.wdc-product-shipping-rates .wdc-rate-cost { font-weight: 500; }

/* ---- (legado HubGo, mantido caso o plugin ainda esteja ativo) ---- */
.hubgo-shipping-calculator,
.hubgo-shipping-calculator-wrapper,
.hubgo-shipping-form {
	margin: 8px 0 14px;
}

.hubgo-shipping-calculator label,
.hubgo-shipping-form label {
	display: block;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--wd-text-color, #555);
	margin-bottom: 6px;
}

.hubgo-shipping-calculator form,
.hubgo-shipping-form > form,
.hubgo-shipping-form {
	display: flex;
	gap: 0;
	align-items: stretch;
}

.hubgo-shipping-calculator input[type="text"],
.hubgo-shipping-form input[type="text"] {
	flex: 1 1 auto;
	min-width: 0;
	height: var(--wd-form-height, 48px) !important;
	padding: 0 14px !important;
	border: 1px solid var(--wd-border-color, #d8d8d8) !important;
	background: #fff;
	font-size: 14px;
	border-radius: 0 !important;
	box-sizing: border-box;
}

.hubgo-shipping-calculator button,
.hubgo-shipping-calculator input[type="submit"],
.hubgo-shipping-form button,
.hubgo-shipping-form input[type="submit"] {
	flex-shrink: 0;
	height: var(--wd-form-height, 48px) !important;
	min-width: 130px;
	padding: 0 22px !important;
	border: 1px solid var(--wd-primary-color, #8b3e1a) !important;
	background: var(--wd-primary-color, #8b3e1a) !important;
	color: var(--wd-primary-color-text, #fff) !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-radius: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
}

.hubgo-shipping-calculator-results {
	margin-top: 10px;
	font-size: 13px;
}

/* ---- Botão "FINALIZAR COMPRA" (single_add_to_cart_button) ---- */
.product form.cart {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 8px;
}

.product form.cart .quantity {
	display: inline-flex;
	height: 48px;
	width: 130px;
	border: 1px solid var(--wd-border-color, #d8d8d8);
	background: #fff;
	overflow: hidden;
	box-sizing: border-box;
}

.product form.cart .quantity input.qty {
	flex: 1;
	border: 0;
	background: transparent;
	text-align: center;
	font-size: 14px;
	height: 100%;
	min-width: 0;
}

.product form.cart .quantity .minus,
.product form.cart .quantity .plus,
.product form.cart .quantity input.minus,
.product form.cart .quantity input.plus {
	width: 42px;
	height: 100%;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-size: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	-webkit-appearance: none;
	appearance: none;
}

/* Esconde o seletor de quantidade na página do produto */
.product form.cart .quantity,
.product .woocommerce-variation-add-to-cart .quantity {
	display: none !important;
}

.product form.cart .single_add_to_cart_button.button {
	width: 100%;
	height: 56px;
	border-radius: 0 !important;
	background: var(--wd-primary-color, #8b3e1a) !important;
	color: var(--wd-primary-color-text, #fff) !important;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border: 0 !important;
	box-shadow: none !important;
}

.product form.cart .single_add_to_cart_button.button:hover {
	filter: brightness(0.92);
}

/* ---- "Adicionar ao comparador" ---- */
.product .compare-button-wrapper a,
.product a.compare-button,
.product .wd-compare-btn a {
	display: inline-block;
	font-size: 13px;
	color: var(--wd-text-color, #555);
	text-decoration: underline;
	text-underline-offset: 3px;
	padding: 0;
	background: transparent;
	border: 0;
}

.product .compare-button-wrapper a::before,
.product a.compare-button::before {
	content: '+ ';
}

/* ---- Esconde meta SKU/categoria padrão se não quiser ---- */
.product .product_meta {
	font-size: 12px;
	color: var(--wd-text-color, #777);
	border-top: 1px solid var(--wd-border-color, #ececec);
	padding-top: 14px;
	margin-top: 14px;
}

/* Esconde o wrapper de tabs e qualquer "shell" que sobrou após remover as tabs */
.product .woocommerce-tabs,
.product .woocommerce-tabs.wc-tabs-wrapper,
.product .wc-tabs-wrapper,
.product .wd-product-tabs,
.product .woodmart-tabs,
body.single-product .woocommerce-tabs,
body.single-product .wc-tabs-wrapper {
	display: none !important;
	border: 0 !important;
}

/* Remove bordas que podem aparecer em wrappers comuns do single-product */
body.single-product .single-product-page-content,
body.single-product .product .summary,
body.single-product .single-product-content,
body.single-product .entry-summary {
	border-top: 0 !important;
	border-bottom: 0 !important;
}

/* ---- Parcelamento (Asaas) ---- */
.wdc-installments {
	margin: 6px 0 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e5e5e5;
}

.wdc-installments-line {
	margin: 0;
	color: #999;
	font-size: 14px;
	line-height: 1.6;
}

.wdc-installments-line .amount {
	color: inherit;
	font-weight: inherit;
}

/* ---- Modelos similares (related products) ---- */
.related.products,
.related-products,
.up-sells.upsells.products {
	margin-top: 60px;
	margin-bottom: 0;
	padding-top: 0;
	border-top: 0;
}

.related.products > h2,
.up-sells.upsells.products > h2 {
	font-size: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 500;
	margin: 0 0 24px;
}

/* Estilos do card de produto agora ficam em product-card.css (carregado globalmente) */

.related.products .products .product .wd-swatches-product .wd-swatch,
.up-sells.upsells.products .products .product .wd-swatches-product .wd-swatch {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 1px solid var(--wd-border-color, #d8d8d8);
	padding: 0;
	margin: 0 6px 0 0;
	background-clip: padding-box;
}

.related.products .products .product .wd-swatches-product .wd-swatch:hover {
	background: transparent !important;
	box-shadow: none !important;
	border-color: var(--wd-primary-color, #8b3e1a);
}

/* Esconde "+ X" / "limit" badge se quiser visual ainda mais clean */
.related.products .products .product .wd-swatches-product .wd-swatches-info {
	font-size: 11px;
}

/* ---- Responsivo ---- */
@media (max-width: 991px) {
	.single-product-page {
		padding-top: 16px;
		padding-bottom: 80px;
	}

	.single-product-page-content {
		gap: 32px;
	}

	.product .product_title.entry-title {
		font-size: 24px;
	}

	.product form.cart .single_add_to_cart_button.button {
		height: 52px;
	}

	.related.products,
	.related-products,
	.up-sells.upsells.products {
		margin-top: 30px;
		margin-bottom: 0;
	}
}
