/* Palavor — tienda, producto, carrito y pago */

/* Blocksy pinta su propio título de página; usamos el encabezado de la tienda. */
.woocommerce-shop .hero-section,
.tax-product_cat .hero-section,
.tax-product_tag .hero-section {
	display: none;
}

body.palavor.woocommerce-page #main,
body.palavor.woocommerce #main {
	padding-top: 0;
}

body.palavor .ct-container,
body.palavor .ct-container-full {
	width: min(var(--pv-container), calc(100% - 40px));
}

.pv-shop-hero {
	padding: clamp(56px, 8vw, 96px) 0 40px;
}

.pv-shop-hero .pv-lead {
	margin-bottom: 28px;
}

.pv-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.pv-chip {
	padding: 8px 18px;
	border: 1px solid var(--pv-ink);
	border-radius: 40px;
	color: var(--pv-ink);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.pv-chip:hover {
	background: var(--pv-ink);
	color: var(--pv-yellow);
}

.pv-chip.is-active {
	background: var(--pv-orange);
	border-color: var(--pv-orange);
	color: var(--pv-yellow);
}

.woo-listing-top {
	padding-bottom: 20px;
	margin-bottom: 28px;
	border-bottom: 1px solid var(--pv-line);
}

.woocommerce-ordering select {
	border: 1px solid var(--pv-ink);
	border-radius: 6px;
	background-color: transparent;
}

/* Tarjetas de producto */
[data-products] {
	--grid-columns-gap: 20px;
}

[data-products] .product {
	display: flex;
	flex-direction: column;
	padding: 14px 14px 18px;
	border: 1px solid var(--pv-ink);
	border-radius: var(--pv-radius);
	background-color: var(--pv-yellow-soft);
	background-image: radial-gradient(rgba(9, 9, 9, 0.06) 1px, transparent 1px);
	background-size: 6px 6px;
	transition: transform 0.4s var(--pv-ease), box-shadow 0.4s var(--pv-ease);
}

[data-products] .product:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 30px rgba(120, 60, 0, 0.14);
}

[data-products] .product figure {
	margin-bottom: 18px;
}

[data-products] .product figure .ct-media-container {
	border-radius: 6px;
	background: radial-gradient(circle at 50% 70%, #ff7a3d 0%, var(--pv-orange) 75%);
	overflow: hidden;
}

[data-products] .product figure img {
	object-fit: contain !important;
	padding: 10%;
	filter: drop-shadow(0 14px 18px rgba(0, 0, 0, 0.3));
	transition: transform 0.6s var(--pv-ease);
}

[data-products] .product:hover figure img {
	transform: scale(1.06) rotate(-2deg);
}

[data-products] .woocommerce-loop-product__title {
	--theme-font-size: 20px;
	font-family: var(--pv-display);
	font-weight: 600;
	line-height: 1.15;
}

[data-products] .woocommerce-loop-product__title a {
	color: var(--pv-ink);
}

[data-products] .price {
	font-family: var(--pv-display);
	font-size: 24px;
	font-weight: 600;
	color: var(--pv-ink);
}

[data-products] .entry-meta a {
	color: var(--pv-orange);
}

[data-products] .ct-woo-card-actions {
	margin-top: auto;
}

[data-products] .button,
[data-products] .added_to_cart {
	width: 100%;
	min-height: 44px;
	justify-content: center;
	background: var(--pv-ink);
	color: var(--pv-yellow);
	border-radius: 6px;
}

[data-products] .button:hover {
	background: var(--pv-orange);
}

[data-products] .added_to_cart {
	margin: 8px 0 0;
	background: var(--pv-orange);
}

.onsale,
[class*="ct-woo-badge-"] {
	--badge-background-color: var(--pv-ink);
	--badge-text-color: var(--pv-yellow);
	border-radius: 30px;
}

/* Producto individual */
.single-product #main {
	padding-top: 40px;
}

.ct-breadcrumbs,
.woocommerce-breadcrumb {
	color: var(--pv-gray);
}

.ct-breadcrumbs a {
	color: var(--pv-orange);
}

.single-product .woocommerce-product-gallery .ct-media-container,
.single-product .flexy-items .ct-media-container {
	border-radius: var(--pv-radius);
	background: radial-gradient(circle at 50% 70%, #ffffff 0%, #ffe0cf 55%, #ffb38f 100%);
}

.single-product .woocommerce-product-gallery img {
	object-fit: contain !important;
}

.flexy-pills [data-type="thumbs"] li,
.flexy-pills li {
	border-radius: 6px;
	overflow: hidden;
}

body.palavor .entry-summary .product_title {
	--theme-font-size: clamp(34px, 4vw, 52px);
	font-family: var(--pv-display);
	line-height: 1.02 !important;
	letter-spacing: -0.02em;
}

body.palavor .entry-summary .price {
	--theme-font-size: 34px;
	font-family: var(--pv-display);
	color: var(--pv-orange) !important;
}

.woocommerce-product-details__short-description {
	color: var(--pv-dark);
}

.entry-summary .single_add_to_cart_button {
	min-height: 52px;
	background: var(--pv-orange);
	color: var(--pv-yellow);
	font-size: 16px;
}

.entry-summary .single_add_to_cart_button:hover {
	background: var(--pv-ink);
}

.quantity {
	--quantity-initial-color: var(--pv-ink);
	--quantity-hover-color: var(--pv-orange);
}

.quantity input,
.quantity .ct-increase,
.quantity .ct-decrease {
	border-color: var(--pv-ink) !important;
}

.woocommerce-tabs .tabs {
	--tab-background: var(--pv-orange);
}

.woocommerce-tabs .tabs a {
	font-family: var(--pv-body);
	color: var(--pv-ink);
}

.related .ct-module-title,
.up-sells .ct-module-title,
.cross-sells > h2 {
	--theme-font-size: clamp(30px, 4vw, 48px);
	font-family: var(--pv-display);
	letter-spacing: -0.02em;
}

/* Formularios, carrito y pago */
body.palavor input[type="text"],
body.palavor input[type="email"],
body.palavor input[type="tel"],
body.palavor input[type="number"],
body.palavor input[type="password"],
body.palavor input[type="search"],
body.palavor textarea,
body.palavor select {
	--theme-form-field-border-initial-color: var(--pv-ink);
	--theme-form-field-border-focus-color: var(--pv-orange);
	--theme-form-field-background-initial-color: var(--pv-white);
	--theme-form-field-background-focus-color: #fff;
	border-radius: 6px;
}

.woocommerce-info,
.woocommerce-message,
.wc-block-components-notice-banner {
	--background-color: var(--pv-yellow-soft);
	border: 1px solid var(--pv-ink);
	border-radius: var(--pv-radius);
	color: var(--pv-ink);
}

.ct-woocommerce-cart-form .cart_totals,
.ct-order-review {
	--cart-totals-border: 1px solid var(--pv-ink);
	--order-review-border: 1px solid var(--pv-ink);
	border-radius: var(--pv-radius);
	background: var(--pv-yellow-soft);
}

.shop_table th {
	font-family: var(--pv-display);
	font-weight: 600;
	color: var(--pv-ink);
}

.checkout-button,
#place_order,
.wc-block-components-button {
	min-height: 52px;
	background: var(--pv-orange) !important;
	color: var(--pv-yellow) !important;
	border-radius: 6px !important;
}

.checkout-button:hover,
#place_order:hover {
	background: var(--pv-ink) !important;
}

/* Páginas normales (carrito, pago, cuenta, privacidad) */
.page:not(.home) .entry-header .page-title {
	--theme-font-size: clamp(40px, 6vw, 72px);
	font-family: var(--pv-display);
	letter-spacing: -0.02em;
	line-height: 1;
}

.page:not(.home) .hero-section[data-type="type-1"] {
	margin-top: 24px;
}
