/* Layout PDP — referência gm-oficial-licencas.com.br */

.gm-pdp-installments {
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	color: #111;
	margin-top: 8px;
}

.gm-pdp-installments strong {
	font-weight: 700;
}

.gm-pdp-pix {
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	color: #333;
	margin-top: 6px;
	line-height: 1.4;
}

.gm-pdp-pix strong {
	font-weight: 700;
	color: #111;
}

.gm-pdp-pix__label {
	font-size: 13px;
	color: #1a7f4b;
	font-weight: 600;
}

.elementor-element-pdp_atc .single_add_to_cart_button {
	border-radius: 999px !important;
	background: #111 !important;
	color: #fff !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	padding: 14px 28px !important;
	min-width: 180px;
}

.elementor-element-pdp_atc .single_add_to_cart_button.loading {
	opacity: 0.7;
}

.elementor-location-single .woocommerce-breadcrumb {
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	color: #666;
}

.elementor-location-single .woocommerce-breadcrumb a {
	color: #666;
	text-decoration: none;
}

.elementor-location-single .woocommerce-breadcrumb a:hover {
	text-decoration: underline;
}

/* Galeria: miniaturas verticais à esquerda + imagem principal à direita */
.elementor-element-pdp_images .woocommerce-product-gallery {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 14px;
	width: 100%;
	opacity: 1 !important;
}

.elementor-element-pdp_images .woocommerce-product-gallery .flex-viewport,
.elementor-element-pdp_images .woocommerce-product-gallery:not(.flexslider) > .woocommerce-product-gallery__wrapper {
	order: 2;
	flex: 1 1 auto;
	min-width: 0;
	width: auto !important;
	margin: 0 !important;
}

.elementor-element-pdp_images .woocommerce-product-gallery ol.flex-control-nav,
.elementor-element-pdp_images .woocommerce-product-gallery ol.flex-control-thumbs,
.elementor-element-pdp_images .woocommerce-product-gallery .gm-pdp-gallery__thumbs {
	order: 1;
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-auto-flow: row !important;
	flex: 0 0 80px;
	width: 80px !important;
	min-width: 80px !important;
	max-width: 80px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	overflow: visible !important;
	float: none !important;
}

.elementor-element-pdp_images .woocommerce-product-gallery ol.flex-control-nav li,
.elementor-element-pdp_images .woocommerce-product-gallery ol.flex-control-thumbs li,
.elementor-element-pdp_images .woocommerce-product-gallery .gm-pdp-gallery__thumbs li {
	width: 80px !important;
	max-width: 80px !important;
	float: none !important;
	clear: both !important;
	display: block !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
}

.elementor-element-pdp_images .woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n + 1),
.elementor-element-pdp_images .woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n + 1),
.elementor-element-pdp_images .woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n + 1) {
	clear: none !important;
}

.elementor-element-pdp_images .woocommerce-product-gallery ol.flex-control-nav li img,
.elementor-element-pdp_images .woocommerce-product-gallery .gm-pdp-gallery__thumbs li img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
	border: 1px solid #e5e5e5;
	opacity: 0.65;
	cursor: pointer;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.elementor-element-pdp_images .woocommerce-product-gallery ol.flex-control-nav li.flex-active img,
.elementor-element-pdp_images .woocommerce-product-gallery .gm-pdp-gallery__thumbs li.flex-active img {
	opacity: 1;
	border-color: #333;
}

.elementor-element-pdp_images .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
}

.elementor-element-pdp_images .woocommerce-product-gallery:not(.flexslider):not(.gm-pdp-gallery--mobile-carousel) .woocommerce-product-gallery__image:not(:first-child) {
	display: none;
}

.elementor-element-pdp_left {
	flex: 1 1 55%;
	max-width: 55%;
}

.elementor-element-pdp_right {
	flex: 1 1 45%;
	max-width: 45%;
}

@media (max-width: 767px) {
	.elementor-element-pdp_row {
		flex-direction: column !important;
	}

	.elementor-element-pdp_left,
	.elementor-element-pdp_right {
		flex: 1 1 100%;
		max-width: 100%;
		width: 100% !important;
	}

	/* Full-bleed: cancela padding do pdp_root (especificidade >= Elementor). */
	.elementor-632 .elementor-element.elementor-element-pdp_root > .e-con-inner,
	.elementor-element-pdp_root > .e-con-inner {
		overflow: visible !important;
	}

	.elementor-632 .elementor-element.elementor-element-pdp_root .elementor-element-pdp_row,
	.elementor-element-pdp_root .elementor-element-pdp_row,
	.elementor-632 .elementor-element.elementor-element-pdp_root .elementor-element-pdp_left,
	.elementor-element-pdp_root .elementor-element-pdp_left {
		overflow: visible !important;
	}

	.elementor-632 .elementor-element.elementor-element-pdp_root .elementor-element-pdp_left,
	.elementor-element-pdp_root .elementor-element-pdp_left {
		width: calc(100% + var(--padding-left, 10px) + var(--padding-right, 10px)) !important;
		max-width: none !important;
		margin-left: calc(-1 * var(--padding-left, 10px)) !important;
		margin-right: calc(-1 * var(--padding-right, 10px)) !important;
	}

	.elementor-632 .elementor-element.elementor-element-pdp_root .elementor-element-pdp_images,
	.elementor-element-pdp_root .elementor-element-pdp_images {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		position: relative;
		left: auto;
		right: auto;
	}

	.elementor-element-pdp_images .elementor-widget-container {
		padding: 0 !important;
		margin: 0 !important;
	}

	.elementor-element-pdp_images .woocommerce-product-gallery {
		flex-direction: column;
		position: relative;
		width: 100% !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.elementor-element-pdp_images .woocommerce-product-gallery ol.flex-control-nav,
	.elementor-element-pdp_images .woocommerce-product-gallery ol.flex-control-thumbs,
	.elementor-element-pdp_images .woocommerce-product-gallery .gm-pdp-gallery__thumbs {
		display: none !important;
	}

	.elementor-element-pdp_images .woocommerce-product-gallery.gm-pdp-gallery--mobile-carousel {
		display: block !important;
		overflow: hidden;
	}

	.elementor-element-pdp_images .woocommerce-product-gallery.gm-pdp-gallery--mobile-carousel > .woocommerce-product-gallery__wrapper {
		order: 0;
		flex: none;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: auto;
		overflow-y: hidden;
		display: flex !important;
		flex-direction: row;
		flex-wrap: nowrap;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		transition: none !important;
	}

	.elementor-element-pdp_images .woocommerce-product-gallery.gm-pdp-gallery--mobile-carousel > .woocommerce-product-gallery__wrapper::-webkit-scrollbar {
		display: none;
	}

	.elementor-element-pdp_images .woocommerce-product-gallery.gm-pdp-gallery--mobile-carousel .woocommerce-product-gallery__image {
		flex: 0 0 100%;
		flex-shrink: 0;
		box-sizing: border-box;
		scroll-snap-align: start;
		scroll-snap-stop: always;
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		position: relative !important;
		opacity: 1 !important;
		left: auto !important;
	}

	.elementor-element-pdp_images .woocommerce-product-gallery.gm-pdp-gallery--mobile-carousel .woocommerce-product-gallery__image a {
		display: block;
		width: 100%;
	}

	.elementor-element-pdp_images .woocommerce-product-gallery.gm-pdp-gallery--mobile-carousel .woocommerce-product-gallery__image img {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 0;
	}

	.gm-pdp-gallery__counter {
		position: absolute;
		left: 50%;
		bottom: 14px;
		transform: translateX(-50%);
		z-index: 3;
		background: rgba(255, 255, 255, 0.92);
		border-radius: 999px;
		padding: 4px 12px;
		font-family: "Montserrat", sans-serif;
		font-size: 13px;
		font-weight: 600;
		color: #333;
		pointer-events: none;
	}
}
