/* ---------------------------------------------------------------------------
   Maxx Flowers - loja.

   Este arquivo sai depois do style.css do pai e ANTES do campo
   "CSS adicional", que o WordPress imprime em wp_head na prioridade 101.
   Por isso, toda regra daqui que precise ganhar de uma regra de la vem com
   .single-product (ou body) na frente: a briga e resolvida por
   especificidade, nao por ordem.
--------------------------------------------------------------------------- */

/* Heranca quebrada na troca de tema ---------------------------------------- */

/* O pai pinta o link do menu de branco contando com a barra azul dele. A
   barra virou branca no desenho novo, entao o texto some. */
.main-navigation ul li a {
	color: var(--tinta);
}

.main-navigation ul li a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-parent > a,
.main-navigation .current_page_item > a {
	color: var(--marca);
}

/* Com lateral, o grid precisa dizer qual coluna e de quem: o float do pai
   nao vale dentro de um container grid, e a ordem sai trocada. */
body .store-container-inner:has(#secondaryright) {
	grid-template-columns: minmax(0, 1fr) 250px;
}

body .store-container-inner:has(#secondaryright) > #primary {
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	float: none;
}

body .store-container-inner:has(#secondaryright) > #secondaryright {
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	float: none;
}

/* Produto - bloco de cima --------------------------------------------------- */

.single-product .product-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: var(--e5);
	align-items: start;
	padding-block: var(--e4);
}

/* Galeria ------------------------------------------------------------------- */

/* O desenho antigo previa um trilho de 72px na lateral. Aqui a foto manda:
   ela ocupa a coluna inteira e as miniaturas viram um carrossel embaixo. */
.single-product .woocommerce-product-gallery {
	display: block;
	position: relative;
	margin: 0;

	/* o WooCommerce fixa 48% nas duas colunas contando com float; dentro de um
	   grid isso vira "metade da faixa" e sobra um buraco no meio da pagina. */
	width: 100% !important;
	float: none !important;
}

.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper {
	position: relative;
	border: 1px solid var(--linha);
	border-radius: var(--raio);
	background: var(--fundo);
	padding: var(--e2);
}

.single-product .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 0;
	background: var(--fundo-alt);
}

.single-product .woocommerce-product-gallery__trigger {
	z-index: 3;
}

/* Miniaturas: fileira rolavel, e nao a grade de 25% do WooCommerce. */
.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
	display: flex;
	gap: var(--e1);
	list-style: none;
	margin: var(--e2) 0 0;
	padding: 0 0 6px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
}

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

.single-product .woocommerce-product-gallery ol.flex-control-thumbs img {
	width: 96px;
	height: 96px;
	object-fit: cover;
	opacity: 1;
	border: 1px solid var(--linha);
	border-radius: var(--raio);
	background: var(--fundo-alt);
	cursor: pointer;
	transition: border-color 0.16s;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs img:hover,
.single-product .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active {
	border-color: var(--marca);
	box-shadow: inset 0 0 0 1px var(--marca);
}

/* Setas: so aparecem quando ha mais de uma foto (quem cria e o mx.js). */
.mx-seta {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid var(--linha);
	border-radius: 50%;
	color: var(--tinta);
	cursor: pointer;
}

.mx-seta:hover {
	border-color: var(--marca);
	color: var(--marca);
}

.mx-seta--ant { left: var(--e2); }
.mx-seta--prox { right: var(--e2); }

/* Card de compra ------------------------------------------------------------ */

.single-product .summary.entry-summary {
	margin: 0;
	padding: var(--e4);
	width: 100% !important;
	float: none !important;
}

.single-product .summary .product_title {
	margin: 0 0 var(--e1);
}

.single-product .summary .price {
	margin: 0 0 var(--e3);
}

.single-product .summary .woocommerce-product-details__short-description {
	margin-bottom: var(--e3);
}

/* Fora do card, para bater com a referencia. */
.single-product .summary p.stock.in-stock,
.single-product .summary .yith-wcwl-add-to-wishlist,
.single-product .summary.entry-summary a.compare.button,
.single-product .summary .storevilla-social {
	/* o pai grava estes com !important, contando com o desenho antigo. */
	display: none !important;
}

/* Quantidade + botao -------------------------------------------------------- */

.single-product form.cart {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--e2);
	margin: 0;
}

.single-product form.cart .quantity {
	display: flex;
	align-items: center;
	border: 1px solid var(--linha-forte);
	border-radius: var(--raio);
	overflow: hidden;
}

.single-product form.cart .quantity.hidden {
	display: none;
}

.single-product form.cart .quantity input.qty {
	-moz-appearance: textfield;
}

.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.single-product form.cart .single_add_to_cart_button {
	flex: 1 1 220px;
}

/* WhatsApp ------------------------------------------------------------------ */

.mx-zap {
	display: inline-flex;
	align-items: center;
	gap: var(--e1);
	margin-top: var(--e3);
	min-height: 40px;
	padding: 0 var(--e2);
	font-family: var(--fonte-dado);
	font-size: var(--t-corpo-s);
	font-weight: 700;
	color: #1B7F43;
	background: var(--fundo);
	border: 1px solid #1B7F43;
	border-radius: var(--raio);
	text-decoration: none;
	transition: background 0.16s, color 0.16s;
}

.mx-zap:hover {
	color: var(--fundo);
	background: #1B7F43;
	text-decoration: none;
}

.mx-zap-icone {
	flex: 0 0 20px;
}

/* Acordeao ------------------------------------------------------------------ */

.single-product .mx-acordeao {
	margin-top: var(--e4);
}

.single-product .acordeao {
	border-top: 1px solid var(--linha);
}

.single-product .acordeao:last-of-type {
	border-bottom: 1px solid var(--linha);
}

.single-product .acordeao-cabeca {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--e2);
	padding-block: var(--e3);
	font-family: var(--fonte-titulo);
	font-size: var(--t-bloco);
	color: var(--tinta);
	cursor: pointer;
	list-style: none;
}

.single-product .acordeao-cabeca::-webkit-details-marker {
	display: none;
}

.single-product .acordeao-cabeca:hover {
	color: var(--marca);
}

.single-product .acordeao-sinal {
	position: relative;
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
}

.single-product .acordeao-sinal::before,
.single-product .acordeao-sinal::after {
	content: "";
	position: absolute;
	background: var(--tinta-3);
}

.single-product .acordeao-sinal::before {
	left: 0;
	top: 7px;
	width: 16px;
	height: 2px;
}

.single-product .acordeao-sinal::after {
	left: 7px;
	top: 0;
	width: 2px;
	height: 16px;
}

.single-product .acordeao[open] .acordeao-sinal::after {
	display: none;
}

.single-product .acordeao .conteudo {
	padding-bottom: var(--e3);
	color: var(--tinta-2);
	max-width: 70ch;
}

.single-product .acordeao .conteudo > h2:first-child {
	display: none;
}

/* Quem viu, tambem gostou --------------------------------------------------- */

.single-product .related,
.single-product .up-sells {
	margin-top: var(--e5);
}

.single-product .related > h2,
.single-product .up-sells > h2 {
	font-family: var(--fonte-titulo);
	font-size: var(--t-secao);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--marca);
	margin: 0 0 var(--e3);
}

.single-product .related ul.products,
.single-product .up-sells ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--e3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.single-product .related ul.products li.product,
.single-product .up-sells ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}

/* Telas menores ------------------------------------------------------------- */

@media (max-width: 1024px) {
	.single-product .product-layout {
		gap: var(--e4);
	}
}

@media (max-width: 900px) {
	.single-product .product-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--e3);
		padding-block: var(--e3);
	}

	.single-product .related ul.products,
	.single-product .up-sells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body .store-container-inner:has(#secondaryright) {
		grid-template-columns: minmax(0, 1fr);
	}

	body .store-container-inner:has(#secondaryright) > #secondaryright {
		grid-column: 1;
		grid-row: 2;
	}
}

@media (max-width: 600px) {
	.single-product .summary.entry-summary {
		padding: var(--e3);
	}

	.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
		width: 72px !important;
	}

	.single-product .woocommerce-product-gallery ol.flex-control-thumbs img {
		width: 72px;
		height: 72px;
	}

	.single-product form.cart .single_add_to_cart_button {
		flex: 1 1 100%;
	}
}
