/* 
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
*/

/* ===========================================
   ÍNDICE
   ===========================================
   1. HEADER FILIGRANA
   2. HEADER NORMAL
   3. ADMIN BAR
   4. PRODUCTO INDIVIDUAL
   5. LISTADOS DE PRODUCTOS
   6. CARRITO Y CHECKOUT
   7. COMPONENTES VARIOS
   =========================================== */


/* ===========================================
   1. HEADER FILIGRANA
   =========================================== */
.header-filigrana {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background-color: transparent;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.header-filigrana.header--hidden {
    transform: translateY(-100%);
}

.header-filigrana.header--scrolled {
    background-color: rgba(255, 255, 255, 0.90);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

/* Transicións */
.header-filigrana .elementor-item,
.header-filigrana .elementor-icon svg,
.header-filigrana .elementor-menu-toggle svg,
.header-filigrana .elementor-menu-cart__toggle svg,
.header-filigrana .elementor-menu-cart__toggle .elementor-button-text,
.header-filigrana .elementor-widget-image img {
    transition: all 0.3s ease;
}

.header-filigrana .elementor-icon,
.header-filigrana .elementor-menu-cart__toggle {
    transition: opacity 0.3s ease;
}

/* Estado inicial: branco */
.header-filigrana .elementor-item {
    color: #fff !important;
}

.header-filigrana .elementor-icon svg,
.header-filigrana .elementor-menu-toggle svg,
.header-filigrana .elementor-menu-cart__toggle svg {
    stroke: #fff !important;
}

.header-filigrana .elementor-menu-cart__toggle .elementor-button-text {
    color: #fff !important;
}

.header-filigrana .elementor-widget-image img {
    filter: none;
}

/* Estado scrolled: negro */
.header-filigrana.header--scrolled .elementor-item {
    color: #1D1D1B !important;
}

.header-filigrana.header--scrolled .elementor-icon svg,
.header-filigrana.header--scrolled .elementor-menu-toggle svg,
.header-filigrana.header--scrolled .elementor-menu-cart__toggle svg {
    stroke: #1D1D1B !important;
}

.header-filigrana.header--scrolled .elementor-menu-cart__toggle .elementor-button-text {
    color: #1D1D1B !important;
}

.header-filigrana.header--scrolled .elementor-widget-image img {
    filter: brightness(0);
}

/* Hover */
.header-filigrana .elementor-item:hover {
    color: rgba(255, 255, 255, 0.6) !important;
}

.header-filigrana.header--scrolled .elementor-item:hover {
    color: rgba(29, 29, 27, 0.6) !important;
}

.header-filigrana .elementor-icon:hover,
.header-filigrana .elementor-menu-cart__toggle:hover {
    opacity: 0.6;
}


/* ===========================================
   2. HEADER NORMAL
   =========================================== */
.header-normal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background-color: transparent;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.header-normal.header--hidden {
    transform: translateY(-100%);
}

.header-normal.header--scrolled {
    background-color: rgba(255, 255, 255, 0.90);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

/* Transicións */
.header-normal .elementor-item,
.header-normal .elementor-icon svg,
.header-normal .elementor-menu-toggle svg,
.header-normal .elementor-menu-cart__toggle svg,
.header-normal .elementor-menu-cart__toggle .elementor-button-text,
.header-normal .elementor-widget-image img {
    transition: all 0.3s ease;
}

.header-normal .elementor-icon,
.header-normal .elementor-menu-cart__toggle {
    transition: opacity 0.3s ease;
}

.header-normal .elementor-icon:hover,
.header-normal .elementor-menu-cart__toggle:hover {
    opacity: 0.6;
}


/* ===========================================
   3. ADMIN BAR
   =========================================== */
.admin-bar .header-filigrana,
.admin-bar .header-normal {
    top: 32px;
}

@media (max-width: 782px) {
    .admin-bar .header-filigrana,
    .admin-bar .header-normal {
        top: 46px;
    }
}


/* ===========================================
   4. PRODUCTO INDIVIDUAL
   =========================================== */

/* Botón añadir al carrito */
.single_add_to_cart_button {
    background-color: #1D1D1B !important;
    color: #FFFFFF !important;
    padding: 1rem 2.5rem !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    transition: background-color 0.3s ease !important;
}

.single_add_to_cart_button:hover {
    background-color: #000000 !important;
    color: #FFFFFF !important;
}

/* Selector de cantidad */
.quantity .qty {
    width: 70px !important;
    padding: 0.875rem 0.5rem !important;
    border: 1px solid #CACED2 !important;
    border-radius: 0 !important;
    font-size: 1rem !important;
    color: #3D3D3D !important;
    text-align: center !important;
}

.quantity .qty:focus {
    border-color: #1D1D1B !important;
    outline: none !important;
}

/* Tabla de variaciones */
table.variations,
table.variations tr,
table.variations td,
table.variations th {
    background: transparent !important;
    border: none !important;
}

table.variations tr,
table.variations td,
table.variations th {
    padding: 0 !important;
}

table.variations th.label label {
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #3D3D3D !important;
}

/* Swatches de color */
.variable-items-wrapper.color-variable-items-wrapper {
    gap: 10px !important;
    display: flex !important;
}

.color-variable-item {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 2px solid transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    transition: border-color 0.2s ease !important;
}

.color-variable-item .variable-item-span-color {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    display: block !important;
}

.color-variable-item:hover,
.color-variable-item.selected {
    border-color: #1D1D1B !important;
}

/* Texto variación seleccionada */
.woo-selected-variation-item-name {
    font-size: 0.6875rem !important;
    font-weight: 400 !important;
    color: #6B6B6B !important;
    text-transform: none !important;
}

/* Link limpiar variación */
a.reset_variations {
    font-size: 0.75rem !important;
    color: #6B6B6B !important;
    text-decoration: none !important;
}

a.reset_variations:hover {
    color: #1D1D1B !important;
}

/* Entrega estimada */
.entrega-estimada {
    color: var(--e-global-color-text);
    font-size: 0.875rem;
    line-height: 1em;
}

@media (max-width: 1366px) {
    .entrega-estimada {
        font-size: 0.795rem;
    }
}

@media (max-width: 767px) {
    .entrega-estimada {
        line-height: 1.4em !important;
    }
}


/* ===========================================
   5. LISTADOS DE PRODUCTOS
   =========================================== */

/* Hover imaxe produto */
.jet-listing-dynamic-image {
    overflow: hidden;
    position: relative;
}

.jet-listing-dynamic-image__img {
    transition: transform 0.4s ease;
}

.jet-listing-dynamic-image:hover .jet-listing-dynamic-image__img {
    transform: scale(1.05);
}

.jet-listing-dynamic-image__link::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(29, 29, 27, 0);
    transition: background-color 0.4s ease;
    pointer-events: none;
}

.jet-listing-dynamic-image:hover .jet-listing-dynamic-image__link::after {
    background-color: rgba(29, 29, 27, 0.08);
}

/* Slider: alineación izquierda */
.jet-listing-grid__slider .slick-track {
    margin-left: 0;
    margin-right: auto;
}


/* ===========================================
   6. CARRITO Y CHECKOUT
   =========================================== */

/* Inputs */
.woocommerce-cart-form .input-text,
.cart_totals .input-text,
#coupon_code,
#calc_shipping_city,
#calc_shipping_postcode {
    height: 42px;
    padding: 0 16px;
}

.woocommerce-cart-form .qty {
    width: 80px;
    text-align: center;
}

/* Select2 */
.cart_totals .select2-selection--single,
#calc_shipping_country_field .select2-selection--single,
#calc_shipping_state_field .select2-selection--single {
    height: 42px !important;
}

#calc_shipping_country_field .select2-selection__rendered,
#calc_shipping_state_field .select2-selection__rendered {
    line-height: 42px !important;
    padding: 0 16px !important;
    margin-top: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.cart_totals .select2-selection__arrow,
#calc_shipping_country_field .select2-selection__arrow,
#calc_shipping_state_field .select2-selection__arrow {
    height: 42px !important;
}

/* Mini cart botóns */
.elementor-menu-cart__footer-buttons .elementor-button--view-cart {
    background-color: #ffffff !important;
    color: #1d1d1b !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover {
    background-color: #1d1d1b !important;
    color: #ffffff !important;
}


/* ===========================================
   7. COMPONENTES VARIOS
   =========================================== */

/* Texto presentación (toggle expandir) */
.texto-presentacion {
    max-height: 50px;
    overflow: hidden;
    transition: max-height 0.4s ease !important;
}

.texto-presentacion__toggle {
    display: inline-block;
    margin-top: -16px;
    font-size: 0.85rem;
    font-weight: 500;
    color: #1D1D1B;
    cursor: pointer;
    text-decoration: underline;
}