/*
 * BÚFALO CANECAS — configurador guiado
 * Componentes do produto 1433. A geometria do frame e dos seus três painéis
 * fica exclusivamente em encomenda2.css.
 */

body.buffalo-compra-guiada-page {
	--bc-ink: #2f251f;
	--bc-muted: #75685f;
	--bc-paper: #fffdf8;
	--bc-sand: #f5f0e7;
	--bc-line: #ded5c8;
	--bc-copper: #2f7d32;
	--bc-copper-dark: #225e25;
	--bc-success: #39734d;
	background: var(--bc-paper);
}

body.buffalo-compra-guiada-page #product-1433 {
	color: var(--bc-ink);
}

/* Remove apenas os elementos nativos que não fazem parte do configurador. */
body.buffalo-compra-guiada-page #product-1433 .elementor-widget-shopengine-product-meta,
body.buffalo-compra-guiada-page #product-1433 .elementor-widget-shopengine-product-stock,
body.buffalo-compra-guiada-page #product-1433 .elementor-widget-shopengine-product-rating,
body.buffalo-compra-guiada-page #product-1433 .elementor-widget-shopengine-product-excerpt,
body.buffalo-compra-guiada-page #product-1433 .elementor-widget-shopengine-product-price,
body.buffalo-compra-guiada-page #product-1433 .elementor-widget-shopengine-product-title,
body.buffalo-compra-guiada-page #product-1433 .elementor-widget-shopengine-product-list,
body.buffalo-compra-guiada-page #product-1433 .elementor-widget-shopengine-product-tabs,
body.buffalo-compra-guiada-page #product-1433 .summary > .product_title,
body.buffalo-compra-guiada-page #product-1433 .summary > .price,
body.buffalo-compra-guiada-page #product-1433 .summary > .woocommerce-product-details__short-description,
body.buffalo-compra-guiada-page #product-1433 .summary > .product_meta,
body.buffalo-compra-guiada-page #product-1433 .summary > .stock,
body.buffalo-compra-guiada-page #product-1433 .summary > #wc-shipping-sim,
body.buffalo-compra-guiada-page #product-1433 .woocommerce-tabs,
body.buffalo-compra-guiada-page #product-1433 .related,
body.buffalo-compra-guiada-page #product-1433 .upsells,
body.buffalo-compra-guiada-page #product-1433 .bc-hide-during-builder {
	display: none !important;
}

/* Prévia criada pelo JS; a posição dela é definida pelo painel esquerdo. */
.bc-live-preview {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	box-sizing: border-box;
}

.bc-live-preview__image {
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
	transition: opacity .18s ease;
}

.bc-live-preview__image.is-changing {
	opacity: .22;
}

.bc-live-preview__caption {
	margin: 0;
	color: var(--bc-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-weight: 700;
	text-align: center;
}

/* O stepper é movido pelo JS para o painel superior. */
.bc-stepper {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;
}

.bc-stepper__item {
	position: relative;
	display: grid;
	justify-items: center;
	align-content: center;
	color: var(--bc-muted);
	text-align: center;
}

.bc-stepper__item:not(:last-child)::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: calc(50% + 18px);
	width: calc(100% - 36px);
	height: 1px;
	background: var(--bc-line);
}

.bc-stepper__number {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--bc-line);
	border-radius: 50%;
	background: #fff;
	font-weight: 800;
	box-sizing: border-box;
}

.bc-stepper__item.is-current,
.bc-stepper__item.is-complete {
	color: var(--bc-copper-dark);
}

.bc-stepper__item.is-current .bc-stepper__number,
.bc-stepper__item.is-complete .bc-stepper__number {
	border-color: var(--bc-copper);
	background: var(--bc-copper);
	color: #fff;
}

.bc-stepper__item.is-complete:not(:last-child)::after {
	background: var(--bc-copper);
}

.bc-stage-heading {
	margin: 0;
	padding: 0;
	text-align: center;
}

.bc-stage-heading__title {
	margin: 0;
	color: var(--bc-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 700;
}

.bc-stage-heading__hint {
	margin: 0;
	color: var(--bc-muted);
}

/* O form real continua sendo o responsável pelo carrinho e pelo PPOM. */
body.buffalo-compra-guiada-page #product-1433 form.cart,
body.buffalo-compra-guiada-page #product-1433 .ppom-wrapper,
body.buffalo-compra-guiada-page #product-1433 .ppom-rendering-fields {
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	box-sizing: border-box;
}

body.buffalo-compra-guiada-page #product-1433 .ppom-rendering-fields {
	display: block !important;
}

body.buffalo-compra-guiada-page #product-1433 .bc-stage-shell {
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	box-sizing: border-box;
}

body.buffalo-compra-guiada-page #product-1433 .bc-stage-shell:not(.bc-stage-shell--current),
body.buffalo-compra-guiada-page #product-1433 .bc-stage-shell--excluded {
	display: none !important;
}

/* A etapa guiada vence apenas a visibilidade condicional do PPOM. */
body.buffalo-compra-guiada-page #product-1433 .bc-stage-shell--current:not(.bc-stage-shell--excluded),
body.buffalo-compra-guiada-page #product-1433 .bc-stage-shell--current:not(.bc-stage-shell--excluded).ppom-c-hide,
body.buffalo-compra-guiada-page #product-1433 .bc-stage-shell--current:not(.bc-stage-shell--excluded).ppom-hide,
body.buffalo-compra-guiada-page #product-1433 .bc-stage-shell--current:not(.bc-stage-shell--excluded).ppom-hidden,
body.buffalo-compra-guiada-page #product-1433 .bc-stage-shell--current:not(.bc-stage-shell--excluded).ppom-field-hidden {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

body.buffalo-compra-guiada-page #product-1433 form.cart .bc-stage {
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	animation: none !important;
	transform: none !important;
}

body.buffalo-compra-guiada-page #product-1433 form.cart .bc-stage:not(.bc-stage--current),
body.buffalo-compra-guiada-page #product-1433 form.cart .bc-stage--excluded {
	display: none !important;
}

body.buffalo-compra-guiada-page #product-1433 form.cart .bc-stage--current {
	display: block !important;
}

body.buffalo-compra-guiada-page #product-1433 form.cart .bc-stage > label,
body.buffalo-compra-guiada-page #product-1433 form.cart .bc-stage > .form-label,
body.buffalo-compra-guiada-page #product-1433 form.cart .bc-stage > .ppom-label-item {
	display: none !important;
}

/* Cartões visuais: nunca usam translate/scale, logo não escapam no hover. */
body.buffalo-compra-guiada-page #product-1433 .buffalo-visual-grid {
	display: grid !important;
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	box-sizing: border-box;
}

body.buffalo-compra-guiada-page #product-1433 .buffalo-visual-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 0;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	overflow: visible;
	border: 1px solid rgba(116, 76, 37, .24) !important;
	border-radius: 11px !important;
	background: rgba(255, 252, 246, .48) !important;
	color: var(--bc-ink);
	font: inherit;
	text-align: center;
	appearance: none;
	cursor: pointer;
	box-shadow: none;
	transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
	box-sizing: border-box;
}

body.buffalo-compra-guiada-page #product-1433 .buffalo-visual-card:hover {
	border-color: rgba(47, 125, 50, .7) !important;
}

body.buffalo-compra-guiada-page #product-1433 .buffalo-visual-card.is-selected {
	border-color: var(--bc-copper) !important;
	background: rgba(251, 253, 249, .82) !important;
	box-shadow: 0 0 0 2px rgba(47, 125, 50, .12) !important;
}

body.buffalo-compra-guiada-page #product-1433 .buffalo-visual-card.is-selected::after {
	content: "✓";
	position: absolute;
	z-index: 2;
	top: 7px;
	right: 7px;
	display: flex;
	width: 22px;
	height: 22px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--bc-copper);
	color: #fff;
	font-size: 12px;
	font-weight: 900;
}

body.buffalo-compra-guiada-page #product-1433 .buffalo-visual-card:focus-visible {
	outline: 3px solid rgba(47, 125, 50, .28);
	outline-offset: 2px;
}

.buffalo-native-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.buffalo-card-content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 6px 5px;
	background: transparent;
	pointer-events: none;
	box-sizing: border-box;
}

.buffalo-card-title {
	display: block;
	color: var(--bc-ink);
	font-weight: 700;
	line-height: 1.2;
}

.buffalo-card-price {
	display: inline-block;
	color: var(--bc-copper-dark);
	font-weight: 800;
	line-height: 1.15;
}

.bc-option-visual,
.buffalo-card-image-box {
	position: relative;
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: #4a250e;
	pointer-events: none;
	box-sizing: border-box;
}

.buffalo-card-image-box {
	overflow: visible;
}

.buffalo-card-image-box img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.buffalo-image-empty::before {
	content: "";
	position: absolute;
	inset: 10px;
	border: 1px dashed rgba(74, 37, 14, .19);
	border-radius: 8px;
}

.bc-option-visual {
	font-family: Georgia, serif;
	font-weight: 700;
	line-height: 1;
}

.bc-option-visual small {
	margin-left: 3px;
	font-family: Arial, sans-serif;
	font-weight: 600;
}

.bc-option-visual svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bc-option-visual--color-azul { color: #276db0; }
.bc-option-visual--color-verde { color: #2f8a45; }
.bc-option-visual--color-preto,
.bc-option-visual--color-neutro { color: #4b4038; }

.bc-option-visual--glow_gravacao i {
	display: block;
	border: 5px solid currentColor;
	border-radius: 50%;
	box-shadow: 0 0 13px currentColor;
}

.bc-summary {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.bc-summary__top {
	display: flex;
	min-width: 0;
	align-items: flex-end;
	justify-content: space-between;
}

.bc-summary__choice {
	min-width: 0;
}

.bc-summary__label,
.bc-summary__total-label {
	display: block;
	color: var(--bc-muted);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.bc-summary__selection {
	margin: 0;
	color: var(--bc-ink);
	font-weight: 600;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.bc-summary__price {
	color: var(--bc-ink);
	font-weight: 800;
	line-height: 1.05;
	text-align: right;
	white-space: nowrap;
}

.bc-navigation {
	display: grid;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.bc-navigation--first {
	grid-template-columns: 1fr;
}

.bc-navigation--first .bc-navigation__button--back,
.bc-navigation__button--back[hidden] {
	display: none !important;
}

.bc-navigation__button {
	min-width: 0;
	border: 1px solid var(--bc-line);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: opacity .18s ease, background-color .18s ease;
	box-sizing: border-box;
}

.bc-navigation__button:focus-visible {
	outline: 3px solid rgba(169, 93, 32, .35);
	outline-offset: 2px;
}

.bc-navigation__button--back {
	background: transparent;
	color: var(--bc-ink);
}

.bc-navigation__button--next {
	border-color: var(--bc-copper);
	background: var(--bc-copper);
	color: #fff;
}

.bc-navigation__button--next:hover:not(:disabled) {
	background: var(--bc-copper-dark);
}

.bc-navigation__button:disabled {
	cursor: not-allowed;
	opacity: .42;
}

.bc-security-line {
	margin: 0;
	color: var(--bc-muted);
	text-align: center;
}

/* Controles nativos permanecem ativos, mas são substituídos pelos controles guiados. */
body.buffalo-compra-guiada-page #product-1433 form.cart > .quantity,
body.buffalo-compra-guiada-page #product-1433 form.cart .bc-native-quantity,
body.buffalo-compra-guiada-page #product-1433 form.cart .bc-native-buy {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}
