/* ========== TIPOGRAFÍA GENERAL WOOCOMMERCE ========== */

/* Todo el contenido de WooCommerce */
.woocommerce,
.woocommerce-page {
    font-family: Helvetica !important;
}

/* ========== TÍTULOS DE PRODUCTOS ========== */

/* Título en listado de productos (shop) */
.woocommerce-loop-product__title,
.products .product .woocommerce-LoopProduct-link h2 {
    font-family: Helvetica !important;
    font-weight: 600 !important;
    font-size: 18px;
}

div.woocommerce ul.products li.product button.button {
    margin-top: 0em !important;
    padding: 8px 12px !important;
    background: rgb(228, 228, 228) !important;
    color: #1e1e1e !important;
    font-weight: 600 !important;
}

/* Título en página individual del producto */
.product .product_title,
.woocommerce-product-details__short-description {
    font-family: Helvetica !important;
    font-weight: 700 !important;
}

/* ========== PRECIOS ========== */

/* Precio regular */
.woocommerce-Price-amount,
.price {
    font-family: Helvetica !important;
    font-weight: 600 !important;
}

/* Precio en oferta */
.price del {
    font-family: Helvetica !important;
    opacity: 0.6;
}

.price ins {
    font-family: Helvetica !important;
    font-weight: 700 !important;
}

.price-integer {
    font-size: 1.3em;
    font-weight: 500 !important;
    font-family: Helvetica !important;
}

.price-decimal-separator {
    font-size: 1.3em;
    font-weight: 500 !important;
    font-family: Helvetica !important;
}

.price-decimal {
    font-size: 0.9em;
    font-weight: 500 !important;
    vertical-align: super;
    opacity: 1;
    font-family: Helvetica !important;
}

div.woocommerce ul.products li.product a.woocommerce-loop-product__link span.et_shop_image, 
section.related ul.products li.product a.woocommerce-loop-product__link span.et_shop_image, 
div.woocommerce .cross-sells ul.products li.product a.woocommerce-loop-product__link span.et_shop_image {
    margin-bottom: 0px !important;
}

/* ========== BOTONES ========== */

/* Botón "Añadir al carrito" */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.add_to_cart_button {
    font-family: Helvetica !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ========== CARRITO Y CHECKOUT ========== */

/* Tablas del carrito */
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
    font-family: Helvetica !important;
}

/* Formularios checkout */
.woocommerce-checkout .form-row label,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    font-family: Helvetica !important;
}

/* Títulos sección checkout */
.woocommerce-checkout h3 {
    font-family: Helvetica !important;
    font-weight: 600 !important;
}

/* ========== MENSAJES Y NOTIFICACIONES ========== */

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    font-family: Helvetica !important;
}

/* ========== WIDGETS WOOCOMMERCE ========== */

/* Widget de carrito mini */
.widget_shopping_cart_content,
.woocommerce-mini-cart__empty-message {
    font-family: Helvetica !important;
}

/* Widget de productos destacados */
.widget_products .product_list_widget li a {
    font-family: Helvetica !important;
}

/* ========== CONTENEDOR PRINCIPAL ========== */
.custom-product-footer {
    /* margin-top: 15px; */
    /* padding: 0 10px 15px; */
}

/* ========== PRECIO ========== */
.custom-price {
    font-size: 1.3em;
    font-weight: 500 !important;
    color: var(--primary-color); /* Naranja del precio en tu imagen */
    margin-bottom: 8px;
}

.custom-price .woocommerce-Price-amount {
    color: var(--primary-color);
}

.custom-price .woocommerce-Price-currencySymbol {
    color: var(--primary-color);
}

/* ========== METADATA (STOCK + PROVEEDOR) ========== */
.stock-info {
    color: var(--primary-color);
    font-size: 1em;
    font-weight: 500;
    letter-spacing: 0px;
    text-align: left;
}

.stock-info.out-of-stock {
    color: #e74c3c;
}

.proveedor-info {
    margin: 0;
    color: var(--primary-color);
    text-transform: uppercase;
    font-size: 1em;
    font-weight: 500;
    letter-spacing: 0px;
    text-align: right;
}

/* ========== SELECTOR DE CANTIDAD ========== */
.custom-add-to-cart-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
}

.quantity-selector {
    display: flex;
    align-items: center;
    background: #f0f0f0;
    border-radius: 25px;
    padding: 4px;
    width: fit-content;
}

.qty-btn {
    width: 36px;
    height: 36px;
    border: none;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    color: #1e1e1e;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    line-height: 1;
    padding-bottom: 2px;
}

.qty-btn:hover {
    background: #212224;
    color: #fff;
    transform: scale(1.05);
}

.qty-btn:active {
    transform: scale(0.95);
}

.qty-input {
    width: 60px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 18px;
    font-weight: 600;
    color: #333;
    -moz-appearance: textfield;
    padding: 0;
}

.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ========== BOTÓN AÑADIR AL CARRITO ========== */
button.button.custom-add-to-cart-btn {
    width: 100%;
    background: #f0f0f0 !important;
    color: #212224 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 24px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: none;
    position: relative;
    overflow: hidden;
    margin-top: 0.5em !important;
}

button.button.custom-add-to-cart-btn:hover:not(:disabled) {
    background: #212224 !important;
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(204, 204, 204, 0.4);
}

button.button.custom-add-to-cart-btn:disabled {
    background: #ccc !important;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Estados del botón */
button.button.custom-add-to-cart-btn.adding {
    background: #e67e22 !important;
}

button.button.custom-add-to-cart-btn.added {
    background: #189000 !important; /* Verde éxito */
}

/* Botón para productos variables */
.custom-select-options-btn {
    width: 100%;
    background: var(--primary-color) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    text-align: center;
    text-decoration: none;
    display: block;
    margin-top: 10px;
    transition: all 0.3s ease;
}

.custom-select-options-btn:hover {
    background: #e76f51 !important;
    color: #fff !important;
    transform: translateY(-0px);
}

button.custom-select-options-btn:hover::after{
    margin-top: -4px;
    margin-left: -4px
}

/* Botón deshabilitado */
.custom-disabled-btn {
    width: 100%;
    background: #bdc3c7 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 24px !important;
    margin-top: 10px;
    cursor: not-allowed;
    opacity: 0.6;
}

/* ========== AJUSTES RESPONSIVE ========== */
@media (max-width: 768px) {
    .custom-add-to-cart-wrapper {
        gap: 10px;
    }
    
    .custom-add-to-cart-btn,
    .custom-select-options-btn {
        padding: 12px 20px !important;
        font-size: 15px !important;
    }
}

/* Ocultar elementos por defecto de WooCommerce que puedan quedar */
.products .product .add_to_cart_button,
.products .product .button.product_type_simple,
.products .product .button.product_type_variable {
    display: none !important;
}


/* REGLAS VISTA PAGINA PRODUCTO */
.woocommerce ul.products.columns-4 li div.product-metadata {
    margin-top: 1em;
    display: inline-grid;
    grid-template-columns: repeat(2,45%);
    gap: 20px;margin-top: 1em;
    color: var(--primary-color);
    width: 100%;
}

.woocommerce ul.products.columns-4 li div.product-metadata p.stock-info,
.woocommerce ul.products.columns-4 li div.product-metadata p.proveedor-info {
    padding-bottom: 0em;
}

div.et_pb_wc_title_0_tb_body .et_pb_module_inner h1::after,
div.et_pb_wc_title_0_tb_body .et_pb_module_inner h1::before,
section.related.products h2::after,
section.related.products h2::before {
    display: none;
}

section.related.products li.product.type-product {
    width: 23%;
    margin: 0 2% 2em 0;
    border-radius: 5px;
    min-height: 350px;
}

section.related.products ul.products li.product.type-product h2.woocommerce-loop-product__title {
    font-size: 18px !important;
    font-weight: 700;
    color: #212224;
    min-height: 50px;
    width: 100%;
    text-transform: initial;
    display: initial !important;
}

section.related.products ul.products li.product.type-product h2.woocommerce-loop-product__title:hover {
    color: var(--primary-color) !important;
    display: initial !important;
}

section.related.products ul.products li.product.type-product span.price {
  font-family: Helvetica, Arial, Lucida, sans-serif;
  font-size: 20px;
  color: var(--primary-color) !important;
  text-align: left;
}

section.related.products ul.products li.product.type-product img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    transform: scale(1);
}

/* REGLAS MUY USADAS */

article#post-1 h1.entry-title.main_title,
article#post-1 h1.entry-title.main_title::before {
    display: none;
}

.main-color {
    color: var(--primary-color);
}

.mr05 {
    margin-right: 0.5em
}

.ml05 {
    margin-left: 0.5em
}

.mb5px {
    margin-bottom: 5px;
}

.flexy-columns {
    display: flex;
    flex-direction: column;
}

.line-grid {
    display: inline-grid;
    width: 100%;
}

.vertical-center {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/*** ***/

.entry-content {
    margin-bottom: 0em !important;
}

/*** ESTILO GLOBAL DE LOS BOTONES ***/

.resize_wizard_block_v2 button {
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    font-family: var(--secondary-font);
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 5px;
    padding: 7px 25px;
    text-shadow: none;
    transition: linear 0.2s;
}

/*** ESTILO GLOBAL DE LOS INPUTS ***/
input.color-border[type], select.color-border {
    max-height: 47.5px !important;
}

.ta-center {
    text-align: center;
}

input.color-border[type],
textarea.color-border[type] {
    border: 1px solid var(--primary-color);
    border-radius: 5px;
    padding: 7px 10px;
    background: transparent;
}

input.color-border[type].error,
textarea.color-border[type].error {
    border: 1px solid #e82a2a;
}

input:disabled,
textarea:disabled {
    cursor: not-allowed !important;
    opacity: .4;
}

/*** SPINNER SIN FLECHAS ***/

input[type="number"] {
    -moz-appearance: textfield;
}

span.custom-span,
button.custom-span {
    display: block;
    width: 100%;
    height: 47.5px;
    max-height: 47.5px;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid var(--primary-color);
    background: var(--primary-color);
    color: white;
    text-align: center;
    text-transform: uppercase;
    font-family: var(--family-primary);
    overflow: hidden;
    line-height: 1.65;
}

span.custom-span.light,
button.custom-span.light {
    border: 1px solid var(--primary-color-light);
    background: var(--primary-color-light);
}

span.custom-span.light:hover,
button.custom-span.light:hover {
    border: 1px solid var(--primary-color);
    background: var(--primary-color);
}

span.custom-span.reverse,
button.custom-span.reverse {
    color: var(--primary-color);
    border: var(--primary-color) dashed 1px;
    background: white;
}

span.custom-span.reverse.initial {
    text-transform: initial;
}

span.custom-span.reverse.left {
    text-align: left;
    padding-left: 2em;
}

span.custom-span.lite,
button.custom-span.lite {
    color: white;
    border: var(--primary-color-light) solid 1px;
    background: var(--primary-color-light);
}

span.custom-span.strong,
button.custom-span.strong {
    color: white;
    border: var(--primary-color-lightest) solid 1px;
    background: var(--primary-color-lightest);
}

span.custom-span.lowercase,
span.wtk-card-info-value.lowercase,
button.custom-span.lowercase {
    text-transform: lowercase !important;
}

/*** BOTON DE VOLVER AL INICIO ***/

p.return-home {
    text-align: center;
    margin-bottom: 3em;
    margin-top: 3em;
}

p.return-home a {
    padding: 10px;
    border-radius: 5px;
    color: #fff;
    background-color: var(--primary-color);
    font-weight: normal;
    font-size: 14px;
    line-height: 1.3em;
    text-decoration: none;
    transition: all 0.2s ease;
}

p.return-home a:hover {
    color: var(--primary-color);
    background-color: var(--primary-color-lightest);
}

/*! DEPRECADO (return-home) */

span.go_to_home_span_like_a {
    background-color: var(--primary-color);
    padding: 10px;
    border-radius: 5px;
    font-size: 16px;
    line-height: 1.3em;
    font-weight: 700;
    color: white !important;
}

span.go_to_home_span_like_a_reverse {
    color: white;
    border: 1px solid #fff;
    padding: 10px;
    border-radius: 5px;
}

/*  CAMBIO DE COLORES A NARANJA EN CHECKOUT NUEVO*/

#primary .wpte-checkout__steps-list .wpte-checkout__step-item.completed .wpte-checkout__step-number {
    background-color: var(--primary-color);
}
#primary .wpte-checkout__ssl-message {
    background-color: rgba(255,100,0,.0392156863);
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

#primary .wpte-checkout__steps-list .wpte-checkout__step-number {
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
}

/* CAMBIOS EN EL CHECKOUT NUEVO*/

#primary .wpte-checkout__booking-summary-box {
    z-index: 0;
}

#primary tr.wpte-checkout__booking-summary-total {
    background-color: rgba(255,100,0,.0392156863);
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

/* CUSTOM CHECKS  */
.custom_wateke_check {
	-webkit-appearance: checkbox !important;
}

.custom_wateke_check:checked {
	-webkit-appearance: checkbox !important;
}

.custom_wateke_check {
	accent-color: var(--primary-color) !important;
	background-color: var(--primary-color) !important;
    scale:2.2;
    margin-right:1em;
    align-self:center;
    text-align: left !important;
}

.custom_wateke_check_alignment {
	transform: scale(0.6);
	margin-top: -0.5em !important;
	display: grid;
}

.custom_wateke_check_container {
	display: grid;
	grid-template-columns: 3% 97%;
}

#et-main-area #main-content {
  background-color: #fafafa !important;
}