/* =====================================================================
   Pescadores de Relíquias — estilos do WooCommerce
   ===================================================================== */

.pdr-shop { padding-block: clamp(2rem, 5vw, 3.5rem); }
.woocommerce .pdr-container > .woocommerce-notices-wrapper:empty { display: none; }

/* ----- Barra de ordenação + resultado ----- */
.woocommerce .woocommerce-result-count { color: var(--pdr-muted); font-size: .9rem; margin-top: .5rem; }
.woocommerce .woocommerce-ordering select,
.woocommerce-ordering .orderby {
	font-family: var(--pdr-font-body); padding: .6rem 2rem .6rem .9rem; border: 1.5px solid var(--pdr-line);
	border-radius: var(--pdr-radius); background: #fff; color: var(--pdr-text);
}

/* ----- Grade de produtos ----- */
.woocommerce ul.products,
.woocommerce-page ul.products,
.pdr-products ul.products {
	display: grid !important; gap: clamp(1.1rem, 2.5vw, 1.8rem); margin: 0 0 2.5rem; padding: 0;
	grid-template-columns: repeat(3, 1fr); list-style: none;
}
/* O WooCommerce injeta um clearfix (::before/::after) na ul.products; num grid
   esses pseudo-elementos viram "células-fantasma" e desalinham toda a vitrine. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.pdr-products ul.products::before,
.pdr-products ul.products::after { content: none !important; display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.pdr-products ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; text-align: left; }
.woocommerce ul.products.columns-4,
.pdr-products ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
.woocommerce ul.products.columns-3,
.pdr-products ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
.woocommerce ul.products.columns-2,
.pdr-products ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }

/* ----- Carrossel de produtos (home: "Achados da semana") -----
   Sobrepõe o grid da vitrine SÓ dentro de .pdr-latest: a ul vira uma faixa
   horizontal com scroll-snap (swipe nativo no celular, setas no desktop). */
.pdr-carousel { position: relative; }
.pdr-latest .pdr-carousel__track ul.products {
	display: flex !important;
	grid-template-columns: none !important;
	flex-wrap: nowrap;
	gap: clamp(.9rem, 2.5vw, 1.5rem);
	margin: 0 0 1.4rem;
	padding: .4rem .2rem 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-left: .2rem;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scrollbar-width: thin;
	scrollbar-color: var(--pdr-gold) rgba(137, 88, 57, .12);
}
.pdr-latest .pdr-carousel__track ul.products li.product {
	flex: 0 0 auto !important;
	width: clamp(200px, 64vw, 250px) !important;
	scroll-snap-align: start;
}
/* Rolagem suave ao clicar nas setas — SÓ no desktop (ponteiro fino). No touch o
   scroll-behavior:smooth briga com o scroll/snap nativo do iOS e faz o card
   "balançar" ao arrastar; lá o swipe nativo já é suave. Respeita reduce-motion. */
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
	.pdr-latest .pdr-carousel__track ul.products { scroll-behavior: smooth; }
}
/* No touch, o "levantar" do card (:hover translateY) pode disparar ao encostar
   durante o arrasto e parecer que o item balança — desliga no touch. */
@media (hover: none) {
	.pdr-latest .pdr-carousel__track ul.products li.product:hover { transform: none; }
}
.pdr-latest .pdr-carousel__track ul.products::-webkit-scrollbar { height: 8px; }
.pdr-latest .pdr-carousel__track ul.products::-webkit-scrollbar-thumb { background: var(--pdr-gold); border-radius: 4px; }
.pdr-latest .pdr-carousel__track ul.products::-webkit-scrollbar-track { background: rgba(137, 88, 57, .12); border-radius: 4px; }

.pdr-carousel__btn {
	position: absolute; top: 40%; transform: translateY(-50%);
	z-index: 5; width: 44px; height: 44px; border-radius: 50%;
	border: 1px solid var(--pdr-line); background: var(--pdr-paper); color: var(--pdr-petrol);
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
	box-shadow: 0 12px 28px -16px rgba(20, 36, 46, .6);
	transition: background-color .2s ease, color .2s ease;
}
.pdr-carousel__btn:hover { background: var(--pdr-petrol); color: #fff; }
.pdr-carousel__btn[hidden] { display: none; }
.pdr-carousel__btn--prev { left: 2px; }
.pdr-carousel__btn--next { right: 2px; }
@media (max-width: 680px) {
	/* No celular o swipe nativo basta; as setas cobririam os cards. */
	.pdr-carousel__btn { display: none !important; }
}

.woocommerce ul.products li.product {
	position: relative; background: #fff; border: 1px solid var(--pdr-line); border-radius: var(--pdr-radius-lg);
	overflow: hidden; box-shadow: var(--pdr-shadow-soft); transition: transform .2s ease, box-shadow .2s ease;
	display: flex; flex-direction: column;
}
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--pdr-shadow); }
/* Moldura dourada interna (frame de antiquário) ao passar o mouse */
.woocommerce ul.products li.product::after,
.pdr-products ul.products li.product::after {
	content: ""; position: absolute; inset: 7px; border: 1px solid rgba(137, 88, 57, 0);
	border-radius: 5px; pointer-events: none; transition: border-color .35s ease; z-index: 3;
}
.woocommerce ul.products li.product:hover::after,
.pdr-products ul.products li.product:hover::after { border-color: rgba(137, 88, 57, .55); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; }
.woocommerce ul.products li.product img {
	margin: 0; border-radius: 0; aspect-ratio: 1 / 1; object-fit: cover; width: 100%;
	background: var(--pdr-cream); transition: transform .45s ease;
}
.woocommerce ul.products li.product:hover img { transform: scale(1.05); }

/* Selos sobre a imagem */
.woocommerce ul.products li.product .pdr-badge-tag,
.woocommerce span.onsale {
	position: absolute; top: 12px; left: 12px; margin: 0; min-height: 0; min-width: 0; line-height: 1.4;
}
.woocommerce span.onsale {
	background: var(--pdr-oxblood); color: #fff; font-family: var(--pdr-font-body); font-weight: 600; font-size: .72rem;
	letter-spacing: .06em; padding: .35rem .7rem; border-radius: 2px; text-transform: uppercase; top: 12px; right: 12px; left: auto;
}
/* Selo "Vendido"/"Peça única" fica à esquerda; "Oferta" à direita — sem colisão. */

/* Texto do card */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--pdr-font-display); font-weight: 600; font-size: 1.08rem; color: var(--pdr-ink);
	padding: 1rem 1.2rem .2rem; line-height: 1.3;
}
.woocommerce ul.products li.product .price {
	color: var(--pdr-gold-deep); font-family: var(--pdr-font-body); font-weight: 600; font-size: 1.1rem;
	padding: 0 1.2rem; margin: 0; display: block;
}
.woocommerce ul.products li.product .price del { color: var(--pdr-muted); font-weight: 400; font-size: .9rem; opacity: .8; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: .5rem 1.2rem 0; font-size: .85rem; color: var(--pdr-gold); }

/* Botão do card */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	margin: auto 1.2rem 1.2rem; margin-top: .9rem; display: block; text-align: center;
	background: var(--pdr-petrol); color: #fff; border-radius: var(--pdr-radius); padding: .7rem 1rem;
	font-family: var(--pdr-font-body); font-weight: 600; font-size: .88rem; border: none; transition: background-color .2s ease;
}
.woocommerce ul.products li.product .button:hover { background: var(--pdr-petrol-3); color: #fff; }
.woocommerce ul.products li.product .added_to_cart { background: var(--pdr-gold); color: var(--pdr-cream); }

/* ----- Botões gerais do Woo ----- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce .button.alt, .woocommerce button.button.alt {
	background: var(--pdr-petrol); color: #fff; border-radius: var(--pdr-radius); font-family: var(--pdr-font-body);
	font-weight: 600; padding: .85rem 1.6rem; border: 1.5px solid var(--pdr-petrol); transition: all .2s ease; text-transform: none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce .button.alt:hover, .woocommerce button.button.alt:hover { background: var(--pdr-petrol-3); border-color: var(--pdr-petrol-3); color: #fff; }
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background: linear-gradient(180deg, #9a6840, var(--pdr-gold)); color: #fff; border-color: var(--pdr-gold-deep);
}
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: #784c30; color: #fff; }

/* ----- Página de produto ----- */
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
/* O WooCommerce força float + width:48% na galeria E no resumo; dentro do nosso
   grid isso deixava cada um com 48% da coluna — a foto encostada à esquerda e
   metade da coluna vazia. Aqui os dois voltam a preencher a coluna inteira. */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary,
.single-product div.product .entry-summary { width: 100% !important; float: none !important; margin: 0; }
.single-product div.product .woocommerce-product-gallery { position: relative; }
/* Moldura de proporção fixa: a peça aparece INTEIRA e centrada sobre fundo creme,
   seja a foto retrato, paisagem ou quadrada (o acervo migrado tem proporções bem
   variadas). O flexslider define altura de .flex-viewport/__wrapper via JS —
   liberamos para a moldura mandar. */
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery__wrapper { height: auto !important; }
.single-product .woocommerce-product-gallery__image { aspect-ratio: 1 / 1; background: var(--pdr-cream); border: 1px solid var(--pdr-line); border-radius: var(--pdr-radius-lg); overflow: hidden; }
.single-product .woocommerce-product-gallery__image a { display: flex; width: 100%; height: 100%; }
.single-product .woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; object-fit: contain !important; border: 0 !important; border-radius: 0 !important; }
/* Miniaturas (produtos com mais de uma foto). */
.single-product .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.single-product .flex-control-thumbs li { width: 62px; margin: 0; }
.single-product .flex-control-thumbs img { border-radius: 6px; border: 1px solid var(--pdr-line); cursor: pointer; opacity: .65; transition: opacity .2s ease, border-color .2s ease; }
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover { opacity: 1; border-color: var(--pdr-gold); }
.single-product .woocommerce-product-gallery .pdr-badge-tag { position: absolute; top: 14px; left: 14px; z-index: 3; }
.single-product div.product .product_title { font-size: clamp(1.7rem, 3.5vw, 2.6rem); margin-bottom: .6rem; }
.single-product div.product .price,
.single-product div.product p.price { color: var(--pdr-gold-deep); font-family: var(--pdr-font-display); font-weight: 700; font-size: 1.9rem; }
.single-product .woocommerce-product-details__short-description { color: var(--pdr-text); font-size: 1.02rem; border-top: 1px solid var(--pdr-line); border-bottom: 1px solid var(--pdr-line); padding-block: 1.2rem; margin-block: 1.2rem; }
.single-product div.product form.cart { margin-block: 1.4rem; }
.single-product div.product form.cart .quantity input { padding: .7rem; border: 1.5px solid var(--pdr-line); border-radius: var(--pdr-radius); width: 70px; text-align: center; }
.single-product div.product form.cart .single_add_to_cart_button { padding: .9rem 2.2rem; }
.single-product .product_meta { font-size: .88rem; color: var(--pdr-muted); border-top: 1px solid var(--pdr-line); padding-top: 1rem; margin-top: 1.2rem; }
.single-product .product_meta a { color: var(--pdr-petrol); }

/* Abas */
.woocommerce-tabs { grid-column: 1 / -1; margin-top: clamp(2rem, 5vw, 3.5rem); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 1.5rem; border-bottom: 1px solid var(--pdr-line); display: flex; flex-wrap: wrap; gap: .3rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent; border: none; border-radius: 0; margin: 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--pdr-font-display); font-weight: 600; font-size: 1.05rem; color: var(--pdr-muted);
	padding: .7rem 1.1rem; display: block; border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--pdr-petrol); border-bottom-color: var(--pdr-gold); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 0; }

/* Relacionados / upsells */
.woocommerce .related, .woocommerce .upsells { grid-column: 1 / -1; margin-top: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid var(--pdr-line); padding-top: clamp(2rem, 4vw, 3rem); }
.woocommerce .related > h2, .woocommerce .upsells > h2, .products > h2 { font-size: 1.6rem; margin-bottom: 1.6rem; }

/* ----- Mensagens ----- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
	border-top-color: var(--pdr-gold); background: var(--pdr-paper-2); border-radius: var(--pdr-radius); font-family: var(--pdr-font-body);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--pdr-gold-deep); }
.woocommerce-error { border-top-color: var(--pdr-oxblood); }

/* ----- Carrinho ----- */
.woocommerce table.shop_table { border: 1px solid var(--pdr-line); border-radius: var(--pdr-radius-lg); border-collapse: separate; overflow: hidden; background: #fff; }
.woocommerce table.shop_table th { font-family: var(--pdr-font-body); font-weight: 600; color: var(--pdr-ink); background: var(--pdr-paper-2); }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3 { font-size: 1.4rem; }
.woocommerce .cart_totals, .woocommerce .checkout .col-2, .woocommerce-checkout #order_review { background: #fff; border: 1px solid var(--pdr-line); border-radius: var(--pdr-radius-lg); padding: 1.4rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text {
	padding: .75rem .9rem; border: 1.5px solid var(--pdr-line); border-radius: var(--pdr-radius); font-family: var(--pdr-font-body);
}
.woocommerce form .form-row input.input-text:focus { border-color: var(--pdr-gold); outline: none; }

/* Indicador "buscando CEP..." */
.woocommerce form .form-row.pdr-cep-loading { position: relative; }
.woocommerce form .form-row.pdr-cep-loading::after {
	content: ""; position: absolute; right: 12px; bottom: 12px; width: 16px; height: 16px;
	border: 2px solid var(--pdr-line); border-top-color: var(--pdr-gold); border-radius: 50%;
	animation: pdr-spin .7s linear infinite;
}
@keyframes pdr-spin { to { transform: rotate(360deg); } }

/* ----- País oculto (loja vende somente para o Brasil; valor fixado em BR) ----- */
#billing_country_field,
#shipping_country_field,
.pdr-hidden-country,
.woocommerce-billing-fields .pdr-hidden-country,
.woocommerce-shipping-fields .pdr-hidden-country { display: none !important; }
/* Checkout em blocos */
.wc-block-checkout .wc-block-components-country-input,
.wp-block-woocommerce-checkout .wc-block-components-country-input { display: none !important; }

/* ----- Minha conta ----- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1px solid var(--pdr-line); border-radius: var(--pdr-radius-lg); overflow: hidden; background: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--pdr-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--pdr-cream); color: var(--pdr-petrol); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .85rem 1.2rem; }

/* ----- Avaliações ----- */
.woocommerce #reviews #comments ol.commentlist li .comment-text { border: 1px solid var(--pdr-line); border-radius: var(--pdr-radius-lg); background: #fff; }

/* ----- Responsivo ----- */
@media (max-width: 980px) {
	.single-product div.product { grid-template-columns: 1fr; }
	.woocommerce ul.products, .woocommerce-page ul.products, .woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.woocommerce ul.products, .woocommerce-page ul.products, .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-2 { grid-template-columns: 1fr 1fr; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .95rem; padding: .7rem .7rem .2rem; }
	.woocommerce ul.products li.product .price { padding: 0 .7rem; }
	.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart { margin: .7rem .7rem 1rem; }
}
@media (max-width: 430px) {
	.woocommerce ul.products, .woocommerce-page ul.products, .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-2 { grid-template-columns: 1fr; }
}
