/**
 * Banana Smile - bloco "Talvez tambem precisas" (WPClever Bought Together).
 *
 * Global: aplica-se a todos os produtos (layout "default") em ecras estreitos,
 * onde o plugin empilha tudo (checkbox, imagem grande, nome, preco).
 * Aqui fica numa linha compacta: caixa | miniatura | nome | preco.
 */

@media (max-width: 767px) {
	.woobt-wrap.woobt-layout-default .woobt-product.woobt-hide-this {
		display: none !important;
	}

	.woobt-wrap.woobt-layout-default .woobt-product {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 10px;
		padding: 8px 0 !important;
		text-align: left !important;
	}

	.woobt-wrap.woobt-layout-default .woobt-product .woobt-choose {
		flex: 0 0 auto;
		width: auto !important;
		margin: 0 !important;
	}

	.woobt-wrap.woobt-layout-default .woobt-product .woobt-thumb {
		flex: 0 0 44px !important;
		width: 44px !important;
		min-width: 44px !important;
		max-width: none !important;
		height: 44px;
		margin: 0 !important;
	}

	.woobt-wrap.woobt-layout-default .woobt-product .woobt-thumb .woobt-img {
		display: block;
		width: 44px;
		height: 44px;
	}

	.woobt-wrap.woobt-layout-default .woobt-product .woobt-thumb img {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		max-width: none !important;
		border-radius: 6px;
		object-fit: cover;
	}

	.woobt-wrap.woobt-layout-default .woobt-product .woobt-title {
		flex: 1 1 auto;
		min-width: 0;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		font-size: 14px;
		line-height: 1.25;
	}

	.woobt-wrap.woobt-layout-default .woobt-product .woobt-price {
		flex: 0 0 auto;
		width: auto !important;
		margin: 0 !important;
		font-size: 14px;
		text-align: right !important;
		white-space: nowrap;
	}

	.woobt-wrap.woobt-layout-default .woobt-before-text {
		margin: 4px 0;
		font-size: 15px;
	}
}

/* Classes postas por assets/js/bags-by-size.js. Ficam no fim para vencer o
   display:flex acima. */
.woobt-wrap .woobt-product.bs-hide-bag,
.woobt-wrap.bs-wrap-empty {
	display: none !important;
}

/* ---------- 10. Botao de compra e linha de confianca (paginas de produto) ---------- */

.single-product form.cart .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 24px;
	background: #ffe135;
	color: #000;
	border: 2px solid #000;
	border-radius: 12px;
	font-weight: 600;
	letter-spacing: .4px;
	opacity: 1;
	transition: background .2s, color .2s, border-color .2s;
}

.single-product form.cart .single_add_to_cart_button:hover {
	background: #fff6c2;
	color: #000;
}

.single-product form.cart .single_add_to_cart_button.disabled,
.single-product form.cart .single_add_to_cart_button:disabled,
.single-product form.cart .single_add_to_cart_button.wc-variation-selection-needed,
.single-product form.cart .single_add_to_cart_button.wc-variation-is-unavailable {
	background: #f4efe3 !important;
	color: #8a8478 !important;
	border-color: #d9d2c0 !important;
	cursor: not-allowed;
	opacity: 1;
}

.single-product form.cart .single_add_to_cart_button i,
.single-product form.cart .single_add_to_cart_button svg {
	margin: 0;
	flex: 0 0 auto;
}

.single-product form.cart .quantity input.qty {
	height: 52px;
	border: 2px solid #000;
	border-radius: 12px;
	font-weight: 500;
}

.single-product form.cart .e-atc-qty-button-holder {
	gap: 14px;
}

.bs-trust-line {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: #555;
}

.bs-trust-line i {
	margin-right: 6px;
	color: #222;
}

.bs-trust-line a {
	color: #555;
	text-decoration: underline;
}

/* bs-btn-fix: o Elementor aplica cantos e espacos proprios ao botao */
.single-product form.cart .single_add_to_cart_button.elementor-button {
	border-radius: 12px !important;
	padding: 16px 24px !important;
	border-width: 2px !important;
}

.single-product form.cart .single_add_to_cart_button .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.single-product form.cart .single_add_to_cart_button .elementor-button-icon {
	margin: 0;
}

/* bs-btn-icon-gap */
.single-product form.cart .single_add_to_cart_button .elementor-button-icon {
	margin-right: 10px !important;
	margin-inline-end: 10px !important;
}

/* bs-gallery-strip: miniaturas da galeria numa tira horizontal (em vez de grelha de 4 colunas) */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
	display: flex !important;
	flex-wrap: nowrap;
	gap: 8px;
	margin: 10px 0 0 !important;
	padding: 0 0 6px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	flex: 0 0 88px;
	width: 88px !important;
	float: none !important;
	margin: 0 !important;
	scroll-snap-align: start;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 2px solid transparent;
	border-radius: 8px;
	opacity: .75;
	transition: opacity .2s, border-color .2s;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	opacity: 1;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	border-color: #222;
}

@media (max-width: 767px) {
	.single-product .woocommerce-product-gallery .flex-control-thumbs li {
		flex-basis: 64px;
		width: 64px !important;
	}
}

/* bs-gallery-fix: o tema/Elementor repoem opacidade e overflow */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
	overflow-x: auto !important;
	overflow-y: hidden !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	opacity: .75 !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	opacity: 1 !important;
}

/* bs-strip-ui: setas e contador da galeria */
.single-product .woocommerce-product-gallery .bs-strip {
	position: relative;
}

.single-product .woocommerce-product-gallery .bs-strip .flex-control-thumbs {
	position: relative;
}

.single-product .woocommerce-product-gallery .bs-strip-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-60%);
	z-index: 2;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid #d9d2c0;
	border-radius: 50%;
	background: #fff;
	color: #222;
	font-size: 22px;
	line-height: 28px;
	text-align: center;
	cursor: pointer;
}

.single-product .woocommerce-product-gallery .bs-strip-btn:disabled {
	opacity: 0;
	pointer-events: none;
}

.single-product .woocommerce-product-gallery .bs-prev {
	left: 4px;
}

.single-product .woocommerce-product-gallery .bs-next {
	right: 4px;
}

.single-product .woocommerce-product-gallery .flex-viewport {
	position: relative;
}

.single-product .woocommerce-product-gallery .bs-counter {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 3;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(0, 0, 0, .65);
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
	pointer-events: none;
}

@media (max-width: 767px) {
	.single-product .woocommerce-product-gallery .bs-strip-btn {
		display: none;
	}
}

/* bs-arrows-main: setas sobre a foto grande */
.single-product .woocommerce-product-gallery .flex-viewport > .bs-strip-btn {
	position: absolute;
	top: 50%;
	bottom: auto;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
	color: #222;
	font-size: 24px;
	line-height: 1;
	z-index: 4;
	opacity: 0;
	transition: opacity .2s;
}

.single-product .woocommerce-product-gallery:hover .flex-viewport > .bs-strip-btn {
	opacity: 1;
}

.single-product .woocommerce-product-gallery .flex-viewport > .bs-strip-btn:disabled {
	opacity: 0 !important;
	pointer-events: none;
}

.single-product .woocommerce-product-gallery .flex-viewport > .bs-prev {
	left: 12px;
	right: auto;
}

.single-product .woocommerce-product-gallery .flex-viewport > .bs-next {
	right: 12px;
	left: auto;
}

/* bs-arrows-chevron: seta desenhada em CSS, centrada */
.single-product .woocommerce-product-gallery .flex-viewport > .bs-strip-btn {
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: 0;
	position: absolute;
}

.single-product .woocommerce-product-gallery .flex-viewport > .bs-strip-btn::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-top: 2px solid #222;
	border-right: 2px solid #222;
	box-sizing: border-box;
}

.single-product .woocommerce-product-gallery .flex-viewport > .bs-next::before {
	transform: translate(-65%, -50%) rotate(45deg);
}

.single-product .woocommerce-product-gallery .flex-viewport > .bs-prev::before {
	transform: translate(-35%, -50%) rotate(-135deg);
}

/* bs-gallery-size: foto principal mais compacta no computador */
@media (min-width: 1025px) {
	.single-product .woocommerce-product-gallery {
		max-width: 640px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* bs-trust-nowa: linha do WhatsApp redundante com o banner de envio */
.bs-trust-line a[href*="wa.me"] {
	display: none !important;
}

/* bs-pay-logos: logos de pagamento (substitui a linha de texto e do WhatsApp) */
.bs-trust-line {
	display: none !important;
}

.bs-pay {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 10px;
	margin: 12px 0 4px;
	color: #6b6556;
	font-size: 12.5px;
	white-space: nowrap;
}

.bs-pay img {
	height: 26px;
	width: auto;
	display: block;
}

/* bs-pay-center: logos centrados, Apple Pay e Google Pay em caixa fina */
.bs-pay {
	justify-content: center;
	gap: 8px;
}

.bs-pay-b {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 26px;
	padding: 0 7px;
	box-sizing: border-box;
	border: 1px solid #d9d2c0;
	border-radius: 6px;
	background: #fff;
}

.bs-pay-b svg {
	display: block;
	height: 13px;
	width: auto;
}

/* bs-product-rhythm: 16px entre botao, banner de envio e logos; sem bloco vazio da linha antiga */
.elementor-widget-html:has(.bs-trust-line) {
	display: none !important;
}

.bs-pay {
	margin: 16px 0 0;
}
