/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/*product list*/
.e-loop-item.product .discount-percent .elementor-shortcode {
    background: var(--e-global-color-secondary);
    color: #fff;
    border-radius: 6px;
    padding: 5px 8px 3px;
}
.e-loop-item.product .discount-percent .elementor-shortcode:empty {display:none}

.e-loop-item.product .elementor-widget-woocommerce-product-price ins {
    float: left;
    margin-right: 0.4em;
}
.e-loop-item.product .elementor-widget-woocommerce-product-price del {
    margin-top: 2px !important;
}

.e-loop-item .elementor-widget-woocommerce-product-price p.price > span.woocommerce-Price-amount {
  color: var(--e-global-color-primary);
    font-size: 20px;
	font-weight: 700;
}

..product-shipping {
    color: var(--e-global-color-secondary);
    margin: 0;
    font-size: 13px;
    display: flex;
    align-items: center;
    background: white;
    padding: 1px 20px;
    border-radius: 15px;
}
@media (max-width: 767px) {
    .product-shipping {
		margin: 0px;
		font-size: 11px;
	}
}
.product-shipping img {margin-right:5px}
.product-information {
    margin: 7px 15px;
    padding-top: 10px;
    border-top: 1px solid #F0F0F0;
}
@media (max-width: 767px) {
    .product-information {margin: 7px 10px;}
}
.product-swatches {
    margin: 10px 15px 0 !important;
    padding: 7px 0;
    border-top: 1px solid #F0F0F0;
}
.list-characteristics {
    margin: 0 0 15px 0;
    padding: 0;
    list-style: none;
	font-size: 13px;
}
@media (max-width: 767px) {
    .list-characteristics {font-size: 11px;}
}
.list-characteristics img {
    width: 20px;
	margin-right:5px
}
.list-characteristics .list-feature-product{
	display: flex;
    align-items: center;
	margin-bottom: 3px;
}
.product-swatches {
	margin: 0 15px;
	display: flex;
    align-items: center;
}
.product-swatch {
    margin-right: 8px;
    width: 25px;
    height: 25px;
}
.tp-woo-swatches .tp-swatches:not(.tp-swatches-image) {
    width: max-content;
    padding: 1px 15px;
    height: auto;
    border-radius: 9px;
    margin: 0 5px 5px 0;
    border: 1px solid #aeaeae;
    background: #dfdfdf;
}
.tp-woo-swatches .tp-swatches:not(.tp-swatches-image):hover {background: #aeaeae;}
a.reset_variations {display: none !important;}
.tp-woo-swatches .tp-swatches.selected:not(.tp-swatches-image)  {background: #aeaeae;}

.woocommerce span.onsale {
    min-height: auto !important;
    min-width: auto !important;
    padding: 7px 12px !important;
    font-weight: normal !important;
    line-height: 1 !important;
    border-radius: 8px !important;
    background: var(--e-global-color-secondary);
}

/*product page*/
@media (max-width: 767px) {
    .slick-nav.slick-prev.style-1, .slick-nav.slick-next.style-1 {padding: 14px;}
	.slick-prev.style-1::before, .slick-next.style-1::before {
		font-size: 14px;
		line-height: 26px;}
	.product-template-default .variations .label {padding: 5px 9px 0 0 !important;}
	.product-template-default .tp-woo-single-pricing .tp-woo-add-to-cart.variable .variations .value {min-width: 205px !important;}
	.product-template-default .variations td {padding: 0 !important;}
	.product-template-default table.variations {margin-bottom: 0 !important;}
	.product-template-default .tp-woo-single-pricing.layout-2 .tp-woo-add-to-cart .cart .quantity .quantity-arrow-minus, .tp-woo-single-pricing.layout-2 .tp-woo-add-to-cart .cart .quantity .quantity-arrow-plus {padding: 5px !important;}
	.product-template-default .tp-woo-single-pricing.layout-2 .tp-woo-add-to-cart .cart .quantity {max-width: 110px !important;}
}
span.tp-quantity-arrow.quantity-arrow-minus.qty-nav.decrease {order:1}
input.input-text.qty.text {order:2}
span.tp-quantity-arrow.quantity-arrow-plus.qty-nav.increase {order:3}


/*wc general*/
.woocommerce-MyAccount-content {
    border: 1px solid var(--e-global-color-76fb30b) !important;
    border-radius: 0px 0px 15px 15px;
    padding: 50px !important;
}
.elementor-widget-woocommerce-cart .woocommerce {font-family: var(--e-global-typography-primary-font-family) !important;}
.woocommerce-error, .woocommerce-info, .woocommerce-message {
  font-family: var(--e-global-typography-primary-font-family);
  border-top: none !important;
  border-radius: 15px !important;
}
.woocommerce-info::before {color: var(--e-global-color-secondary) !important}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
	font-weight: normal !important;
	border-radius: 32px;
	background-color: var(--e-global-color-secondary);
	color: #fff !important;
    padding: 17px 25px 17px 25px;
    font-size: 15px;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover,  :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover {background-color: var(--e-global-color-b6dd3e7) !important;}


.wc-block-components-product-name {
  font-size: 14px !important;
}
.wc-block-components-form .wc-block-components-text-input input[type="email"], .wc-block-components-form .wc-block-components-text-input input[type="number"], .wc-block-components-form .wc-block-components-text-input input[type="password"], .wc-block-components-form .wc-block-components-text-input input[type="tel"], .wc-block-components-form .wc-block-components-text-input input[type="text"], .wc-block-components-form .wc-block-components-text-input input[type="url"], .wc-block-components-text-input input[type="email"], .wc-block-components-text-input input[type="number"], .wc-block-components-text-input input[type="password"], .wc-block-components-text-input input[type="tel"], .wc-block-components-text-input input[type="text"], .wc-block-components-text-input input[type="url"], .wc-blocks-components-select .wc-blocks-components-select__select {
	border: 1px solid var(--sections-border-color,#d5d8dc) !important;
	border-radius: 10px !important;
}
.wc-block-components-radio-control--highlight-checked::after, .wc-block-components-notice-banner {border-radius: 10px !important;}
[type="button"], [type="submit"], button {border: none !important}

.wc-block-components-totals-item__label, .wc-block-components-totals-item__value span, .wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-totals-item__value {
  color: var(--e-global-color-primary);
  text-transform: uppercase;
  font-weight: bold !important;
  font-size: 14px !important;
}
.wc-block-components-checkout-order-summary__title-text {
  color: var(--e-global-color-primary);
  text-transform: uppercase;
  font-weight: bold !important;
  font-size: 18px !important;
}

.variations_form .variations { display: none; }

span.marca-prd {
    font-weight: 600;
    font-size: 0.8rem;
    color: black;
}


/***** 
LOGOS QUE SE MUESTRAN EN LA CATEGORÍA MEJORES MARCAS
*^****/
.marcas-logos {
    display: flex;
    align-items: center;
    justify-content: START;
    flex-wrap: wrap;
    gap: 40px;
    padding: 20px 0;
}
.marcas-logos img {
    height: 70px;
    width: auto;
    object-fit: contain;
}

/**** 
SKU FICHA DE PRODUCTO 
*****/
.e-loop-item.product .product-shipping-wrapper{
    padding-left: 15px;
    flex-direction: column;
    justify-content: start;
    align-items: start;
}

.e-loop-item.product .product-shipping-wrapper .product-shipping{
    font-size: 0.85rem;
    padding:0;
}


.e-loop-item.product  .price-iva-suffix{
    font-size: 10px;
    padding-top:0;
    margin-left: 5px;
}

.product-shipping-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.product-shipping-wrapper .product-sku {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    margin-bottom: 0; /* quitamos el margen inferior anterior */
}

.product-shipping-wrapper .product-sku__label {
    font-size: 11px;
    color: #9a9a9a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.product-shipping-wrapper .product-sku__value {
    font-size: 15px;
    color: #1a1a1a;
    font-weight: 500;
}

.product-shipping-wrapper .product-shipping {
    display: flex;
    align-items: center;
    gap: 6px;
    background: white;
    padding: 1px 10px;
    border-radius: 15px;
    font-size: 0.75rem;
    color: var( --e-global-color-secondary );
}

.price-iva-suffix {
    display: inline-block;
    margin-left: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #6b6b6b;
    vertical-align: middle;
    padding-top: 20px;
}

.price-iva-suffix--no-incluido {
    color: var( --e-global-color-primary );/* opcional: rojo suave para destacar cuando NO incluye IVA */
}

a.ariseweb-fpdf-link {
    padding-left: 1rem;
}



/******* TABLA DE CAR. EN LA FIUCHA DE PRODUCTO ******/
/* === FICHA TÉCNICA: ocultar título y dividir en 2 columnas === */

/* 2. Escritorio (≥768px): 2 columnas paralelas usando CSS columns */
@media (min-width: 768px) {

    .woocommerce-product-attributes.shop_attributes {
        column-count: 2;
        column-gap: 40px;
        display: block;
        border: 0;
        border-collapse: collapse;
    }

    .woocommerce-product-attributes.shop_attributes tbody {
        display: block;
    }

    .woocommerce-product-attributes.shop_attributes tr {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 0;
        border-bottom: 1px solid #eaeaea;
        break-inside: avoid;
        page-break-inside: avoid;
        -webkit-column-break-inside: avoid;
    }

    .woocommerce-product-attributes.shop_attributes th,
    .woocommerce-product-attributes.shop_attributes td {
        border: 0;
        padding: 0;
        background: transparent;
        font-size: 14px;
        line-height: 1.45;
    }

    .woocommerce-product-attributes.shop_attributes th {
        flex: 0 0 45%;
        font-weight: 600;
        color: #222;
        text-align: left;
    }

    .woocommerce-product-attributes.shop_attributes td {
        flex: 1;
        text-align: right;
        color: #555;
    }
}

/* 3. Móvil (<768px): 1 columna apilada */
@media (max-width: 767px) {

    .woocommerce-product-attributes.shop_attributes {
        column-count: 1;
        display: block;
        border: 0;
    }

    .woocommerce-product-attributes.shop_attributes tbody {
        display: block;
    }

    .woocommerce-product-attributes.shop_attributes tr {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 0;
        border-bottom: 1px solid #eaeaea;
    }

    .woocommerce-product-attributes.shop_attributes th,
    .woocommerce-product-attributes.shop_attributes td {
        border: 0;
        padding: 0;
        background: transparent;
        font-size: 14px;
    }

    .woocommerce-product-attributes.shop_attributes th {
        flex: 0 0 50%;
        font-weight: 600;
    }

    .woocommerce-product-attributes.shop_attributes td {
        flex: 1;
        text-align: right;
    }
}



/**** VER SUPOCATEGORIAS EN CATEGORIAS *****/
.awc-subcats {
    background: transparent !important;
    background-color: transparent !important;
    padding: 24px 0 34px;
    margin: 0;
    width: 100%;
}

.awc-subcats__inner {
    position: relative;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 58px;
    overflow: hidden;
}

.awc-subcats__track {
    display: flex;
    flex-wrap: nowrap;
    gap: 30px;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 8px 0 12px;
}

.awc-subcats__track::-webkit-scrollbar {
    display: none;
}

.awc-subcats__item {
    flex: 0 0 125px;
    min-width: 125px;
    max-width: 125px;
    text-align: center;
    text-decoration: none;
    color: #000;
    scroll-snap-align: start;
}

.awc-subcats__image-wrap {
    width: 78px;
    height: 78px;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.awc-subcats__image {
    max-width: 68px;
    max-height: 68px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.awc-subcats__name {
    display: block;
    font-size: 14px;
    line-height: 1.15;
    font-weight: 700;
    color: #000;
}

.awc-subcats__item:hover .awc-subcats__image-wrap {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0,0,0,.14);
}

.awc-subcats__arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;
    aspect-ratio: 1 / 1;
    padding: 0 !important;
    border: 0;
    border-radius: 50% !important;
    background: #77b900;
    color: #fff;
    font-size: 32px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.awc-subcats__arrow--prev {
    left: 0;
}

.awc-subcats__arrow--next {
    right: 0;
}

.awc-subcats__arrow:hover {
    background: #5f9500;
}

.awc-subcats__arrow:disabled {
    opacity: .35;
    cursor: not-allowed;
}

.awc-subcats.is-not-scrollable .awc-subcats__arrow {
    display: none;
}

@media (max-width: 767px) {
    .awc-subcats {
        padding: 18px 0 28px;
    }

    .awc-subcats__inner {
        padding: 0 44px;
    }

    .awc-subcats__track {
        gap: 20px;
    }

    .awc-subcats__item {
        flex-basis: 96px;
        min-width: 96px;
        max-width: 96px;
    }

    .awc-subcats__image-wrap {
        width: 66px;
        height: 66px;
    }

    .awc-subcats__image {
        max-width: 56px;
        max-height: 56px;
    }

    .awc-subcats__name {
        font-size: 12px;
    }

    .awc-subcats__arrow {
        width: 38px;
        height: 38px;
        min-width: 38px;
        min-height: 38px;
        font-size: 26px;
    }
}