/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* Chaty: en móvil/tablet subir los iconos por encima de la barra inferior de Woodmart (55px) */
@media (max-width: 1024px) {
	.chaty.chaty-widget-0 .chaty-widget { bottom: 210px !important; }
	.chaty.chaty-widget-_2 .chaty-widget { bottom: 147px !important; }
	.chaty.chaty-widget-_1 .chaty-widget { bottom: 87px !important; }
}

/*
 * Tipografía de botones unificada.
 * El kit de Elementor aplica a todos los <a> la tipografía "Accent" (20px), así que
 * los botones que son enlaces (Seleccionar opciones, Ver carrito, Finalizar compra…)
 * salían más grandes que los <button> (Añadir al carrito, Comprar ahora…).
 */
:root { --btn-font-size: 16px; }
html:root { --btn-font-weight: 600; --btn-accented-font-weight: 600; --btn-default-font-weight: 600; }
.elementor-kit-5 a:is(.btn, .button),
:is(.btn, .button, button[type="submit"]).single_add_to_cart_button,
.wd-buy-now-btn {
	font-family: var(--btn-accented-font-family, var(--btn-font-family, inherit));
	font-size: var(--btn-font-size);
	font-weight: 600;
	letter-spacing: .05em;
}

/* Chaty: subir los iconos cuando aparece la barra fija de "Añadir al carrito" del producto */
.chaty .chaty-widget { transition: margin-bottom .3s ease; }
@media (min-width: 769px) {
	body:has(.wd-sticky-btn.wd-sticky-btn-shown) .chaty .chaty-widget { margin-bottom: 95px; }
}
@media (max-width: 768px) {
	body:has(.wd-sticky-btn.wd-sticky-btn-shown) .chaty .chaty-widget { margin-bottom: 50px; }
}

/* ===== Carrito lateral: escala tipográfica proporcionada ===== */
.cart-widget-side .wd-heading .title { font-size: 24px; }
.cart-widget-side .wd-action-btn .wd-action-text { font-size: 16px; font-weight: 500; }
.cart-widget-side .product_list_widget > li .wd-entities-title {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
	margin-bottom: 6px;
}
.cart-widget-side .wpced-inner,
.cart-widget-side .wpced {
	font-family: var(--wd-text-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
}
.cart-widget-side .wpced { margin: 4px 0 8px; }
.cart-widget-side .wpced-inner { padding: 5px 8px; }
.cart-widget-side .woocommerce-mini-cart-item span.quantity,
.cart-widget-side .woocommerce-mini-cart-item .amount { font-size: 17px; }
.cart-widget-side .woocommerce-mini-cart-item .amount { font-weight: 700; }
.cart-widget-side div.quantity input[type="number"],
.cart-widget-side div.quantity input[type="button"] { font-size: 15px; }
.cart-widget-side .woocommerce-mini-cart__total,
.cart-widget-side .woocommerce-mini-cart__total .amount { font-size: 21px; }
.cart-widget-side .wd-progress-bar .progress-msg { font-size: 17px; line-height: 1.4; }

/* Chaty no debe tapar los paneles laterales (carrito, menú móvil) */
body:has(.wd-side-hidden.wd-opened) .chaty { display: none !important; }

/* ===== Escala tipográfica de la tienda (coherente en todo el sitio) =====
 * Nombres de producto: Montserrat 500 (igual que en la rejilla, 16px).
 * Texto y precios: Cormorant Garamond. Botones: 16px (rejilla 15px).
 */

/* Nombres de producto fuera de la rejilla: carrito, checkout, widgets, barra fija */
.shop_table .product-name > a,
.shop_table .product-name .wd-entities-title,
.shop_table .cart-product-label,
.product_list_widget > li .wd-entities-title,
.wd-sticky-btn .wd-entities-title {
	font-family: var(--wd-entities-title-font, Montserrat), Arial, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
}
.product_list_widget > li .wd-entities-title { font-size: 15px; }

/* "Entrega estimada" con el mismo cuerpo de texto en todas partes */
body .wpced .wpced-inner {
	font-family: var(--wd-text-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
}

/* Botones de la rejilla de productos (antes 12px y cortados con "…") */
body .wd-product.wd-hover-buttons-on-hover .add-to-cart-loop .wd-action-text,
body .wd-product .wd-add-btn .add-to-cart-loop .wd-action-text {
	font-size: 15px;
	letter-spacing: .03em;
}
@media (max-width: 575px) {
	body .wd-product.wd-hover-buttons-on-hover .add-to-cart-loop .wd-action-text,
	body .wd-product .wd-add-btn .add-to-cart-loop .wd-action-text {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: var(--btn-height, 42px);
		padding: 6px 8px;
		font-size: 13px;
		letter-spacing: .02em;
		line-height: 1.15;
		white-space: normal;
		text-align: center;
	}
}

/* Selectores de cantidad legibles */
div.quantity input.qty,
div.quantity input[type="button"] { font-size: 16px; }

/* Formularios (checkout, cuenta, cupón): campos 16px y etiquetas 17px */
.woocommerce form .form-row label,
.woocommerce-form-login label,
.woocommerce-form-register label,
.wpforms-container .wpforms-field-label { font-size: 16px !important; font-weight: 600 !important; }
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form .select2-selection__rendered,
.woocommerce-cart-form .input-text,
.checkout_coupon .input-text { font-size: 16px; }

/* Checkout: títulos de sección al mismo tamaño (antes 40px vs 22px) */
.woocommerce-checkout .woocommerce h3,
.woocommerce-checkout #order_review_heading,
.cart_totals .cart-totals-inner > h2 {
	font-size: 30px;
	line-height: 1.25;
	margin-bottom: 18px;
}
.woocommerce-checkout .woocommerce h3 label { font-size: inherit; }

/* Totales del carrito y del pedido: total destacado pero proporcionado */
.cart_totals .order-total .amount,
.woocommerce-checkout-review-order-table .order-total .amount { font-size: 22px; }

/* ===== Pie de página: tamaños más contenidos y coherentes con el resto ===== */
.wd-footer .elementor-element-ee87493 .elementor-heading-title {
	font-size: 32px !important;
	line-height: 1.2 !important;
}
.wd-footer .elementor-widget-heading:not(.elementor-element-ee87493) .elementor-heading-title {
	font-size: 26px !important;
	line-height: 1.2 !important;
	margin-bottom: 4px;
}
.wd-footer .elementor-widget-text-editor p { font-size: 17px !important; line-height: 1.6 !important; }
.wd-footer .elementor-icon-list-text { font-size: 16px !important; line-height: 1.6 !important; }
.wd-footer .elementor-icon-list-icon i,
.wd-footer .elementor-icon-list-icon svg { font-size: 15px !important; width: 15px !important; height: 15px !important; }
.wd-footer .copyrights-wrapper,
.wd-footer .copyrights-wrapper strong,
.wd-footer .copyrights-wrapper small { font-size: 15px !important; }
@media (max-width: 767px) {
	.wd-footer .elementor-element-ee87493 .elementor-heading-title { font-size: 26px !important; }
	.wd-footer .elementor-widget-heading:not(.elementor-element-ee87493) .elementor-heading-title { font-size: 23px !important; }
}
.wd-footer .elementor-icon-list-icon i.fa-circle { font-size: 7px !important; width: 7px !important; height: auto !important; }

/* ===== Barra lateral: listas de productos (Productos vistos, etc.) ===== */
.wd-sidebar .product_list_widget > li {
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid rgba(184, 123, 97, .18);
}
.wd-sidebar .product_list_widget > li:first-child { padding-top: 0; }
.wd-sidebar .product_list_widget > li:last-child { border-bottom: 0; padding-bottom: 0; }
.wd-sidebar .product_list_widget .widget-product-wrap {
	display: flex;
	align-items: center;
	gap: 14px;
}
.wd-sidebar .product_list_widget .widget-product-img {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 0 0 1px rgba(184, 123, 97, .15);
}
.wd-sidebar .product_list_widget .widget-product-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transition: transform .3s ease;
}
.wd-sidebar .product_list_widget > li:hover .widget-product-img img { transform: scale(1.05); }
.wd-sidebar .product_list_widget .widget-product-info { min-width: 0; }
body .wd-sidebar .product_list_widget > li .wd-entities-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #3f3f3f;
}
body .wd-sidebar .product_list_widget > li .wd-entities-title:hover { color: var(--wd-primary-color); }
.wd-sidebar .product_list_widget .price {
	display: block;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--wd-primary-color);
}
.wd-sidebar .product_list_widget .price del { font-size: 14px; font-weight: 500; opacity: .6; margin-right: 4px; }

/* ===== Móvil: textos y espaciados más compactos (carrito, checkout, avisos) ===== */
@media (max-width: 767px) {
	.woocommerce-cart .wd-page-content > .container,
	.woocommerce-checkout .wd-page-content > .container,
	.woocommerce-cart #main-content,
	.woocommerce-checkout #main-content { padding-top: 20px; padding-bottom: 24px; }

	/* Avisos (reserva de stock, errores, información) */
	.woocommerce-error,
	.woocommerce-message,
	.woocommerce-info {
		margin-bottom: 14px !important;
		padding: 12px 14px 12px 44px !important;
		font-size: 15px;
		line-height: 1.45;
	}
	.woocommerce-error::before,
	.woocommerce-message::before,
	.woocommerce-info::before { left: 14px !important; font-size: 18px; }

	/* Separación entre bloques del carrito (antes 30px + márgenes) */
	.cart-content-wrapper { row-gap: 14px !important; }
	.cart-content-wrapper > .woocommerce-error,
	.cart-content-wrapper > .woocommerce-message,
	.cart-content-wrapper > .woocommerce-info { margin-bottom: 0 !important; }
	.cart-content-wrapper > .woocommerce-notices-wrapper:empty { display: none; }

	/* Caja "envío gratis": un solo relleno (antes exterior + interior) */
	.wd-shipping-progress-bar { margin-bottom: 14px !important; padding: 0 !important; }
	.wd-shipping-progress-bar .wd-free-progress-bar { padding: 12px 14px !important; }
	.wd-shipping-progress-bar .progress-msg { font-size: 15px; line-height: 1.4; margin-bottom: 8px; }

	/* Filas de producto del carrito */
	.woocommerce-cart-form .shop_table tr.cart_item { margin-bottom: 12px; padding-bottom: 12px; }
	.woocommerce-cart-form .shop_table td { font-size: 16px; line-height: 1.4; }
	.woocommerce-cart-form .shop_table td.product-name { padding-bottom: 6px; }
	.woocommerce-cart-form .shop_table td.product-price,
	.woocommerce-cart-form .shop_table td.product-quantity,
	.woocommerce-cart-form .shop_table td.product-subtotal { padding-top: 4px; padding-bottom: 4px; }
	.woocommerce-cart-form .shop_table td::before { font-size: 15px; }
	.shop_table .product-name > a,
	.shop_table .product-name .wd-entities-title { font-size: 15px; }

	/* Entrega estimada más compacta */
	body .wpced .wpced-inner { font-size: 14px; padding: 6px 8px; }
	.wpced { margin-top: 6px; }

	/* Totales y formularios */
	.cart_totals .cart-totals-inner > h2, .woocommerce-checkout .woocommerce h3, .woocommerce-checkout #order_review_heading { font-size: 24px; margin-bottom: 12px; }
	.cart_totals .shop_table th, .cart_totals .shop_table td { padding-top: 10px; padding-bottom: 10px; }
	.woocommerce form .form-row { margin-bottom: 12px; }
	.woocommerce form .form-row label { margin-bottom: 4px; }
}

/* Móvil: nombre del producto en la rejilla más pequeño (antes 16px) */
@media (max-width: 767px) {
	html body .wd-product .wd-entities-title,
	html body .wd-product .wd-entities-title a {
		font-size: 14px;
		line-height: 1.35;
	}
	body .wd-product .wd-entities-title { margin-bottom: 4px; }
}

/* =====================================================================
 * ESCALA TIPOGRÁFICA GLOBAL (escritorio / tablet / móvil)
 * Portada 50/42/32 · Título de sección 40/34/28 · Antetítulo 18/17/16
 * Tarjeta 28/26/22 · Título de página 30/28/24 · Producto 32/28/26
 * Texto 18/18/17 · Pequeño 15/15/14 · Botones 16/16/15 (rejilla 15/13)
 * Las cabeceras de Elementor se ajustan en cada widget y en el kit (post 5).
 * ===================================================================== */

/* Botones de Elementor iguales que los del tema */
html body .elementor-widget-button .elementor-button {
	font-family: var(--btn-accented-font-family, 'Cormorant Garamond'), Georgia, serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
	line-height: 1.2 !important;
}
html body .elementor-widget-button .elementor-button .elementor-button-text { font: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; }
body .widget_price_filter [class*="price_slider_amount"] .button { font-size: 14px; }

/* Títulos de página (legales, Acceder/Registro, Productos relacionados) */
.entry-content .elementor-widget-text-editor h2,
.wd-login-title,
.related-and-upsells .title,
.related-products .title,
.upsells-products .title { font-size: 30px; line-height: 1.2; }

/* Ficha de producto */
.single-product .product_title { font-size: 32px; line-height: 1.15; }
.single-product .summary .price,
.single-product .summary-inner > .price { font-size: 30px; }
.single-product .wd-nav-tabs .nav-link-text,
.single-product .wd-nav-tabs > li > a,
body .woocommerce-tabs .wd-accordion-title .wd-accordion-title-text { font-size: 18px; font-weight: 600; }
.variations label,
.wd-swatches-name,
.variations .wd-attr-name { font-size: 18px; font-weight: 600; }

/* Precios en rejilla y carrito */
.wd-product .price,
.wd-product .price .amount { font-size: 18px; }
.woocommerce-cart-form .shop_table .amount,
.woocommerce-checkout-review-order-table td .amount { font-size: 18px; }

/* Texto pequeño y metadatos */
.woocommerce form .optional,
.wd-footer .copyrights-wrapper { font-size: 15px; }
.product-labels .product-label { font-size: 13px; }

/* Avisos de WooCommerce (¿Ya eres cliente?, cupones…) */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error { font-size: 17px; font-weight: 500; }
.woocommerce-info a,
.woocommerce-message a { font-weight: 600; }

@media (max-width: 1024px) {
	.entry-content .elementor-widget-text-editor h2,
	.wd-login-title,
	.related-and-upsells .title,
	.related-products .title,
	.upsells-products .title { font-size: 28px; }
	.single-product .product_title { font-size: 28px; }
}
@media (max-width: 767px) {
	html body .elementor-widget-button .elementor-button { font-size: 15px !important; }
	.entry-content .elementor-widget-text-editor h2,
	.wd-login-title,
	.related-and-upsells .title,
	.related-products .title,
	.upsells-products .title { font-size: 24px; }
	.single-product .product_title { font-size: 26px; }
	.single-product .summary .price,
	.single-product .summary-inner > .price { font-size: 24px; }
	.single-product .wd-nav-tabs .nav-link-text,
	.single-product .wd-nav-tabs > li > a,
	body .woocommerce-tabs .wd-accordion-title .wd-accordion-title-text { font-size: 17px; }
	.variations label, .wd-swatches-name, .variations .wd-attr-name { font-size: 17px; }
	.wd-product .price, .wd-product .price .amount { font-size: 16px; }
	.woocommerce-cart-form .shop_table .amount { font-size: 17px; }
	.wd-sidebar .widget-title { font-size: 18px; }
	.woocommerce form .optional, .wd-footer .copyrights-wrapper { font-size: 14px; }
	.woocommerce-info, .woocommerce-message, .woocommerce-error { font-size: 15px; }
}

/* Botón de WPForms (Contáctanos) igual que el resto de botones */
html body .wpforms-container button.wpforms-submit {
	font-family: var(--btn-accented-font-family, 'Cormorant Garamond'), Georgia, serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
}
@media (max-width: 767px) {
	html body .wpforms-container button.wpforms-submit { font-size: 15px !important; }
}

/* Nombre del producto en la ficha (gana a la tipografía avanzada de Woodmart) */
html body.single-product .product_title { font-size: 32px; line-height: 1.15; }
@media (max-width: 1024px) { html body.single-product .product_title { font-size: 28px; } }
@media (max-width: 767px) {
	html body.single-product .product_title { font-size: 26px; }
	/* Botones del tema al mismo tamaño que los de Elementor en móvil */
	:root { --btn-font-size: 15px; }
}
