/* Simony - página de produto: relacionados + variações */

/* ================================
   RELATED PRODUCTS - FIX FINAL
================================ */

body.single-product .sj-related,
body.single-product section.sj-related {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	margin: 54px 0 20px !important;
	padding: 0 !important;
	background: #fff !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.single-product .sj-related__title {
	display: block !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: #a88f7d !important;
	letter-spacing: -0.02em !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.single-product .sj-related__carousel {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.single-product .sj-related__carousel:not(.slick-initialized) {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	column-gap: 28px !important;
}

body.single-product .sj-related__carousel .slick-list {
	overflow: hidden !important;
	margin: 0 -14px !important;
}

body.single-product .sj-related__carousel .slick-track {
	display: flex !important;
	align-items: stretch !important;
}

body.single-product .sj-related__carousel .slick-slide {
	height: auto !important;
	padding: 0 14px !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.single-product .sj-related__item {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	list-style: none !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

body.single-product .sj-related__media {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: 385px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	overflow: hidden !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.single-product .sj-related__image-link {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	text-decoration: none !important;
}

body.single-product .sj-related__image {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	background: #fff !important;
	overflow: hidden !important;
}

body.single-product .sj-related__img {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: 78% !important;
	max-height: 78% !important;
	object-fit: contain !important;
	object-position: center center !important;
	mix-blend-mode: multiply !important;
	transition: transform 0.45s ease !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.single-product .sj-related__item:hover .sj-related__img {
	transform: scale(1.08) !important;
}

body.single-product .sj-related__hover-button {
	position: absolute !important;
	left: 50% !important;
	bottom: 26px !important;
	z-index: 20 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 34px !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #a99279 !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translate(-50%, 10px) !important;
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color 0.3s ease !important;
}

body.single-product .sj-related__item:hover .sj-related__hover-button {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translate(-50%, 0) !important;
}

body.single-product .sj-related__hover-button:hover {
	background: #8f7663 !important;
	color: #fff !important;
}

body.single-product .sj-related__info {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 46px !important;
	max-height: none !important;
	margin: 8px 0 0 !important;
	padding: 0 30px 0 0 !important;
	background: transparent !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

body.single-product .sj-related__name {
	position: relative !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 0 7px !important;
	padding: 0 !important;
	overflow: visible !important;
	color: #b19886 !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	text-align: left !important;
	text-decoration: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

body.single-product .sj-related__name:hover {
	color: #9f806a !important;
	text-decoration: none !important;
}

body.single-product .sj-related__price {
	position: relative !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	color: #b19886 !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	text-align: left !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

body.single-product .sj-related__wishlist {
	position: absolute !important;
	top: -2px !important;
	right: 0 !important;
	z-index: 30 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #c3aa98 !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

body.single-product .sj-related__wishlist:hover {
	color: #9f806a !important;
	text-decoration: none !important;
}

body.single-product .sj-related__carousel .slick-arrow {
	position: absolute !important;
	top: 42% !important;
	z-index: 50 !important;
	width: 32px !important;
	height: 32px !important;
	border: 0 !important;
	background: transparent !important;
	color: transparent !important;
	font-size: 0 !important;
	cursor: pointer !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(-50%) !important;
}

body.single-product .sj-related__carousel .slick-prev {
	left: 0 !important;
}

body.single-product .sj-related__carousel .slick-next {
	right: 0 !important;
}

body.single-product .sj-related__carousel .slick-prev:before,
body.single-product .sj-related__carousel .slick-next:before {
	display: block !important;
	font-family: Arial, sans-serif !important;
	font-size: 38px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	color: #c3aa98 !important;
}

body.single-product .sj-related__carousel .slick-prev:before {
	content: "‹" !important;
}

body.single-product .sj-related__carousel .slick-next:before {
	content: "›" !important;
}

body.single-product .sj-related__carousel .slick-dots {
	display: none !important;
}

@media (max-width: 1200px) {
	body.single-product .sj-related__media {
		height: 350px !important;
	}
}

@media (max-width: 1024px) {
	body.single-product .sj-related__carousel:not(.slick-initialized) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	body.single-product .sj-related__media {
		height: 315px !important;
	}
}

@media (max-width: 767px) {
	body.single-product .sj-related {
		margin-top: 38px !important;
	}

	body.single-product .sj-related__title {
		font-size: 23px !important;
		margin-bottom: 16px !important;
	}

	body.single-product .sj-related__carousel:not(.slick-initialized) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 18px !important;
	}

	body.single-product .sj-related__carousel .slick-list {
		margin: 0 -9px !important;
	}

	body.single-product .sj-related__carousel .slick-slide {
		padding: 0 9px !important;
	}

	body.single-product .sj-related__media {
		height: 245px !important;
	}

	body.single-product .sj-related__img {
		max-width: 86% !important;
		max-height: 86% !important;
	}

	body.single-product .sj-related__name {
		font-size: 16px !important;
	}

	body.single-product .sj-related__price {
		font-size: 16px !important;
	}

	body.single-product .sj-related__hover-button {
		min-height: 32px !important;
		padding: 0 16px !important;
		font-size: 16px !important;
		bottom: 18px !important;
	}
}

@media (max-width: 420px) {
	body.single-product .sj-related__media {
		height: 210px !important;
	}
}

/* ================================
   SINGLE PRODUCT - VARIATIONS
================================ */

body.single-product table.variations {
	width: 100% !important;
	margin: 0 0 22px !important;
	padding: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
}

body.single-product table.variations tbody,
body.single-product table.variations tr,
body.single-product table.variations td {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.single-product table.variations tr {
	margin-bottom: 18px !important;
}

body.single-product table.variations td.label {
	margin-bottom: 10px !important;
}

body.single-product table.variations td.label label {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #a99279 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

/* Remove espaços estranhos do tema */
body.single-product table.variations td.value {
	position: relative !important;
	display: block !important;
	width: 100% !important;
}

/* ================================
   SELECTS - LETRA / PEDRA / OUTROS
================================ */

body.single-product table.variations select {
	display: block !important;
	width: 100% !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 42px 0 16px !important;
	border: 1px solid #bfbfbf !important;
	border-radius: 0 !important;
	background-color: #fff !important;
	color: #222 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 48px !important;
	box-shadow: none !important;
	outline: none !important;
	cursor: pointer !important;
	appearance: auto !important;
	-webkit-appearance: auto !important;
}

body.single-product table.variations select:focus {
	border-color: #a99279 !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Se o tema/plugin envolver o select */
body.single-product table.variations .variation-selector {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Mas quando for o select escondido do swatch, continua escondido */
body.single-product table.variations .variation-selector.hidden {
	display: none !important;
}

/* ================================
   TAMANHO DE ARO - SWATCHES
================================ */

body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 9px !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* wrapper do item */
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch-item-wrapper {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* botão do aro */
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 31px !important;
	height: 31px !important;
	min-width: 31px !important;
	min-height: 31px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #c8c8c8 !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: #222 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-align: center !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}

/* remove formato bolinha que o plugin colocou */
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch-shape-circle {
	border-radius: 0 !important;
}

/* textos internos */
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch .text-label,
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch .text {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: 1 !important;
}

/* em alguns temas aparece texto duplicado */
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch .text {
	display: none !important;
}

/* hover */
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch:hover {
	border-color: #a99279 !important;
	color: #a99279 !important;
	background: #fff !important;
}

/* selecionado - cobre várias classes possíveis do plugin */
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch.selected,
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch.swatch-selected,
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch.active,
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch-item-wrapper.selected .swatch,
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch-item-wrapper.swatch-selected .swatch,
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch-item-wrapper.active .swatch {
	border-color: #a99279 !important;
	background: #fff !important;
	color: #a99279 !important;
}

/* desabilitado / sem estoque */
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch.disabled,
body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch-item-wrapper.disabled .swatch {
	opacity: 0.35 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
}

/* reset variation - limpar */
body.single-product table.variations .reset_variations {
	display: none !important;
}

/* ================================
   CASO O PLUGIN GERE SWATCH PARA OUTROS ATRIBUTOS
   mantém só ARO como swatch
================================ */

body.single-product table.variations .tawcvs-swatches:not([data-attribute_name="attribute_pa_aro"]) {
	display: none !important;
}

/* ================================
   MOBILE
================================ */

@media (max-width: 767px) {
	body.single-product table.variations tr {
		margin-bottom: 16px !important;
	}

	body.single-product table.variations td.label {
		margin-bottom: 8px !important;
	}

	body.single-product table.variations td.label label {
		font-size: 14px !important;
	}

	body.single-product table.variations select {
		height: 46px !important;
		font-size: 14px !important;
		line-height: 46px !important;
	}

	body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] {
		gap: 8px !important;
	}

	body.single-product table.variations .tawcvs-swatches[data-attribute_name="attribute_pa_aro"] .swatch {
		width: 30px !important;
		height: 30px !important;
		min-width: 30px !important;
		min-height: 30px !important;
		font-size: 13px !important;
	}
}
