/*
Template:       luxenest
Theme Name:     LuxeNest Child
Theme URI:      https://luxenest.svb.la-studioweb.com/
Author:         LA Studio
Author URI:     https://1.envato.market/POnObq
Description:    LuxeNest - Furniture & Interior WooCommerce WordPress Theme
Version:        1.0.1
Requires at least: 5.9
Requires PHP:   7.0
Tags:           ceramics, craftsman, decor, elementor, furniture, furniture catalog, furniture portfolio, furniture shop, furniture store, home decor, interior catalog, interior decoration, lighting, woocommerce, woodworker
License:        GNU General Public License
License URI:    licence/GPL.txt
Text Domain:    luxenest-child
Domain Path:    /languages/
Elementor tested up to: 3.32.2
Elementor Pro tested up to: 3.32.2
WooCommerce tested up to: 10.1.2
*/

/* ==========================================================================
   GardLand — Override culori tema parinte
   ========================================================================== */
:root {
    --theme-primary-color: #4F7F3A !important;
    --theme-secondary-color: #2B2F2E !important;
    --theme-link-hover-color: #4F7F3A !important;
    --theme-text-color: #555B58 !important;
    --theme-border-color: #D3D8D5 !important;
}

/* ==========================================================================
   GardLand — Butoane hero homepage
   ========================================================================== */
.elementor-2333 .elementor-element.elementor-element-e87f2b9.gardland-hero-actions {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    gap: 14px;
}

#gardland-solutii {
    scroll-margin-top: 90px;
}

.elementor-2333 .gardland-hero-actions .elementor-button {
    justify-content: center;
    min-width: 180px;
    min-height: 48px;
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.elementor-2333 .gardland-hero-actions .gardland-hero-button--primary,
.elementor-2333 .gardland-hero-actions .gardland-hero-button--primary:hover,
.elementor-2333 .gardland-hero-actions .gardland-hero-button--primary:focus {
    background-color: #4F7F3A !important;
    color: #fff !important;
    fill: #fff !important;
}

.elementor-2333 .gardland-hero-actions .gardland-hero-button--primary:hover,
.elementor-2333 .gardland-hero-actions .gardland-hero-button--primary:focus {
    background-color: #3E692D !important;
}

.elementor-2333 .gardland-hero-actions .gardland-hero-button--secondary {
    background-color: #fff !important;
    color: #2B2F2E !important;
    fill: #2B2F2E !important;
}

.elementor-2333 .gardland-hero-actions .gardland-hero-button--secondary:hover,
.elementor-2333 .gardland-hero-actions .gardland-hero-button--secondary:focus {
    background-color: #2B2F2E !important;
    color: #fff !important;
    fill: #fff !important;
}

.elementor-2333 .gardland-hero-actions .elementor-button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #2B2F2E;
}

@media (max-width: 639px) {
    .elementor-2333 .elementor-element.elementor-element-e87f2b9.gardland-hero-actions {
        gap: 10px;
    }

    .elementor-2333 .gardland-hero-actions .elementor-button {
        min-width: 0;
        min-height: 44px;
        padding: 12px 18px;
    }
}

@media (max-width: 400px) {
    .elementor-2333 .gardland-hero-actions .elementor-button {
        flex: 1 1 auto;
        padding: 12px 14px;
    }
}

/* ==========================================================================
   GardLand — Tipografie fluida hero homepage (sub desktop)
   Elementor foloseste marimi fixe (64px tableta, 46px mobil); aici scalam
   continuu intre 320px si 1279px si tinem textul sub header-ul absolut.
   ========================================================================== */
@media (max-width: 1279px) {
    .elementor-2333 .elementor-element-cd5b058 .swiper-slide > .e-con {
        padding-top: 96px !important;
    }

    /* Titlu scris de mana (Reenie Beanie) */
    .elementor-2333 .elementor-element.elementor-element-2c611e9 .elementor-heading-title,
    .elementor-2333 .elementor-element.elementor-element-e45fa50 .elementor-heading-title {
        font-size: clamp(34px, 3.4vw + 24px, 64px) !important;
        line-height: .9 !important;
        text-wrap: balance;
    }

    /* Titlu principal (Oswald) */
    .elementor-2333 .elementor-element.elementor-element-07a0141 .elementor-heading-title,
    .elementor-2333 .elementor-element.elementor-element-285a978 .elementor-heading-title,
    .elementor-2333 .elementor-element.elementor-element-970721f .elementor-heading-title {
        font-size: clamp(32px, 3.4vw + 22px, 64px) !important;
        line-height: 1.05 !important;
        text-wrap: balance;
    }
}

/* ==========================================================================
   GardLand — Sectiunea "Produse pentru un gard complet" (homepage)
   ========================================================================== */

/* Imagini produse pătrate (1:1) */
.elementor-element-3b582a1 .product_item--thumbnail-holder img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: auto !important;
}

.elementor-element-3b582a1 .product_item--thumbnail {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

/* Dezactiveaza carousel — forteaza grid 4 coloane */
.elementor-element-3b582a1 .lakit-products__list_wrapper {
    overflow: visible !important;
}
.elementor-element-3b582a1 .products.ul_products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    flex-wrap: nowrap !important;
    transform: none !important;
    transition: none !important;
    width: 100% !important;
}

.elementor-element-3b582a1 .product_item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    flex: none !important;
    transform: none !important;
}

/* Ascunde navigatie carousel */
.elementor-element-3b582a1 .lakit-carousel__prev,
.elementor-element-3b582a1 .lakit-carousel__next,
.elementor-element-3b582a1 .lakit-carousel__dots {
    display: none !important;
}

/* Card-uri cu înălțime egală, butoane jos */
.elementor-element-3b582a1 .product_item--inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.elementor-element-3b582a1 .product_item--info {
    flex: 1;
    display: flex;
    flex-direction: column;
}


/* Imagini 1:1 in caruselul "Completeaza comanda" (pagina produs) */
.single-product .elementor-lakit-wooproducts .product_item--thumbnail-holder {
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    display: block !important;
}
.single-product .elementor-lakit-wooproducts .product_item--thumbnail-holder img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Imagini 3:2 doar in categoria Solutii — full, fara spatii albe */
.tax-product_cat.term-solutii .product_item--thumbnail-holder {
    aspect-ratio: 3 / 2 !important;
    overflow: hidden !important;
    display: block !important;
    background: #fff;
}
.tax-product_cat.term-solutii .product_item--thumbnail-holder > a,
.tax-product_cat.term-solutii .product_item--thumbnail-holder .figure__object_fit {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
.tax-product_cat.term-solutii .product_item--thumbnail-holder img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Butoane verzi — text alb la hover */
.single_add_to_cart_button:hover,
.button:hover,
.lakit-button:hover .lakit-btn__text,
.lakit-button:hover,
a.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.gardland-btn-oferta:hover {
    color: #fff !important;
}

/* Ascunde butoanele "Buy it Now" si "Compare" de pe pagina produsului */
.lakit-wrap-buynow,
.la-core-compare {
    display: none !important;
}

/* ==========================================================================
   Insigna "Stoc epuizat" — badge pe listing produse
   ========================================================================== */
body .product_item--inner span.la-custom-badge.badge-out-of-stock,
.la-custom-badge.badge-out-of-stock {
    --badge-width: auto !important;
    --badge-height: auto !important;
    --badge-radius: 4px !important;
    --badge-font-size: 11px !important;
    background-color: #c62828 !important;
    background: #c62828 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: .5px !important;
    padding: 5px 12px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 6px rgba(198,40,40,.3) !important;
    width: auto !important;
    height: auto !important;
    min-width: unset !important;
    min-height: unset !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
}

/* Insigna "Stoc epuizat" — pagina produs */
p.stock.out-of-stock {
    background: #c62828 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: .5px;
    padding: 8px 18px !important;
    border-radius: 4px !important;
    text-transform: uppercase;
    display: inline-block;
    box-shadow: 0 2px 6px rgba(198,40,40,.3);
}
p.stock.out-of-stock .stock--text {
    color: #fff !important;
    font-weight: 700 !important;
}
p.stock.in-stock {
    color: #2e7d32;
    font-weight: 600;
}

/* Forteaza afisarea filtrelor din sidebar (categorii, pret) —
   override Customizer CSS care le ascunde din greseala */
body .lakit-woofilters_block_item .lakit-woofilters_block_item__filter {
    display: block !important;
}

/* Ascunde "Se afiseaza X rezultate" pe paginile de categorie */
.woocommerce-result-count { display: none !important; }

/* Ascunde butoanele de cos si favorite la hover pe card-ul produsului */
.lakitp-zone-a,
.product_item .la-core-wishlist {
    display: none !important;
}

/* Search — placeholder si text vizibil pe fond alb */
.lakit-search__field,
.lakit-search__field::placeholder {
    color: #555B58 !important;
}
.lakit-search__field::placeholder {
    opacity: .6;
}

/* Ascunde butonul "Vezi toate produsele" */
.elementor-element-6f3163e { display: none !important; }

/* ==========================================================================
   Meniu mobil — aspect consecvent pe homepage si paginile interne
   ========================================================================== */
@media (max-width: 859px) {
    .elementor-2015 .elementor-element.elementor-element-095b66b
    .lakit-mobile-menu.lakit-active--mbmenu .lakit-nav-095b66b {
        width: min(340px, 88vw) !important;
        min-width: 0 !important;
        height: 100vh;
        height: 100dvh;
        padding: 84px 24px 32px !important;
        gap: 4px !important;
        background: #141414 !important;
        color: #fff !important;
    }

    .elementor-2015 .elementor-element.elementor-element-095b66b
    .lakit-mobile-menu.lakit-active--mbmenu .lakit-nav__item > .menu-item-link-top,
    .elementor-2015 .elementor-element.elementor-element-095b66b
    .lakit-mobile-menu.lakit-active--mbmenu .lakit-nav__item > .menu-item-link-sub {
        min-height: 44px;
        padding-block: 12px !important;
        color: #fff !important;
    }

    .elementor-2015 .elementor-element.elementor-element-095b66b
    .lakit-mobile-menu.lakit-active--mbmenu .lakit-nav__item.current-menu-item > .menu-item-link,
    .elementor-2015 .elementor-element.elementor-element-095b66b
    .lakit-mobile-menu.lakit-active--mbmenu .lakit-nav__item.current-menu-ancestor > .menu-item-link,
    .elementor-2015 .elementor-element.elementor-element-095b66b
    .lakit-mobile-menu.lakit-active--mbmenu .lakit-nav__item > .menu-item-link:hover,
    .elementor-2015 .elementor-element.elementor-element-095b66b
    .lakit-mobile-menu.lakit-active--mbmenu .lakit-nav__item > .menu-item-link:focus-visible {
        color: var(--theme-primary-color, #4F7F3A) !important;
    }

    .elementor-2015 .elementor-element.elementor-element-095b66b
    .lakit-mobile-menu.lakit-active--mbmenu .lakit-nav__sub {
        background: transparent !important;
    }

    .elementor-2015 .elementor-element.elementor-element-095b66b
    .lakit-nav-095b66b > .lakit-nav__mobile-close-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        top: 16px;
        right: 16px;
        color: #fff !important;
    }
}

/* ==========================================================================
   Footer — aliniere la stanga pe mobil
   ========================================================================== */
@media (max-width: 639px) {
    .elementor-191 .elementor-element.elementor-element-4f7e224 > .e-con-inner > .e-con {
        --align-items: flex-start;
        align-items: flex-start;
    }

    .elementor-191 .elementor-widget-heading,
    .elementor-191 .elementor-heading-title,
    .elementor-191 .elementor-icon-list-text {
        text-align: left !important;
    }

    .elementor-191 .elementor-widget-icon-list {
        --align-self: flex-start !important;
        align-self: flex-start !important;
    }

    .elementor-191 .elementor-widget-icon-list .elementor-icon-list-item {
        flex-direction: row !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .elementor-191 .elementor-widget-icon-list .elementor-icon-list-item > a {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .elementor-191 .elementor-widget-icon-list .elementor-icon-list-icon {
        padding-inline-end: 5px !important;
    }
}

/* ==========================================================================
   Pagina Cos — ascunde blocul livrare/returnare/garantie/plata
   ========================================================================== */
.elementor-element-7004da6 { display: none !important; }

/* ==========================================================================
   GardLand — Variation selectors (butoane dreptunghiulare)
   ========================================================================== */

/* Tabel variații — resetare layout */
.single-product form.variations_form.gardland-variation-selectors table.variations,
.single-product form.variations_form.gardland-variation-selectors table.variations tbody,
.single-product form.variations_form.gardland-variation-selectors table.variations tr,
.single-product form.variations_form.gardland-variation-selectors table.variations th,
.single-product form.variations_form.gardland-variation-selectors table.variations td {
    display: block;
    width: 100%;
    border: 0;
    padding: 0;
}

.single-product form.variations_form.gardland-variation-selectors table.variations th.label {
    margin-bottom: 8px;
    text-align: left;
}

.single-product form.variations_form.gardland-variation-selectors table.variations th.label label {
    color: var(--theme-secondary-color, #2B2F2E);
    font-weight: 600;
    line-height: 1.35;
}

/* Dropdown-ul rămâne în DOM și accesibil cititoarelor de ecran. */
.single-product form.variations_form.gardland-variation-selectors select.gardland-native-variation-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Ascunde selectorii incompleți ai temei; sunt înlocuiți de cei GardLand. */
.single-product form.variations_form.gardland-variation-selectors .swatch-control > .select-option,
.single-product form.variations_form.gardland-variation-selectors .swatch-control > .radio-option,
.single-product form.variations_form.gardland-variation-selectors .attribute__picker_label,
.single-product form.variations_form.gardland-variation-selectors .swatch-label {
    display: none !important;
}

.single-product .gardland-variation-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: stretch;
}

.single-product .gardland-variation-option {
    min-height: 42px;
    margin: 0;
    padding: 9px 15px;
    border: 1px solid #C9CECB;
    border-radius: 5px;
    background: #FFFFFF;
    color: var(--theme-secondary-color, #2B2F2E);
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.single-product .gardland-variation-option:hover:not(:disabled),
.single-product .gardland-variation-option:focus-visible {
    border-color: var(--theme-primary-color, #4F7F3A);
    color: var(--theme-primary-color, #4F7F3A);
    box-shadow: 0 0 0 2px rgba(79, 127, 58, .14);
    outline: 0;
}

.single-product .gardland-variation-option.is-selected,
.single-product .gardland-variation-option[aria-pressed="true"] {
    border-color: var(--theme-primary-color, #4F7F3A) !important;
    background: #EEF5EB !important;
    color: #355D27 !important;
    box-shadow: inset 0 0 0 1px var(--theme-primary-color, #4F7F3A) !important;
}

.single-product .gardland-variation-option.is-unavailable,
.single-product .gardland-variation-option:disabled {
    border-color: #DFE2E0;
    background: #F4F5F4;
    color: #9A9F9C;
    cursor: not-allowed;
    opacity: .72;
    text-decoration: line-through;
}

.single-product form.variations_form.gardland-variation-selectors .reset_variations {
    display: inline-block;
    margin-top: 10px;
    color: var(--theme-primary-color, #4F7F3A);
    font-size: 13px;
}

@media (max-width: 600px) {
    .single-product .gardland-variation-options {
        gap: 7px;
    }
    .single-product .gardland-variation-option {
        min-height: 40px;
        padding: 8px 12px;
        font-size: 13px;
    }
}

/* ==========================================================================
   GardLand — Responsive homepage
   ========================================================================== */

/* Responsive */
@media (max-width: 1024px) {
    .elementor-element-3b582a1 .products.ul_products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 600px) {
    .elementor-element-3b582a1 .products.ul_products {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   GardLand — Ecrane foarte inguste (320px)
   ========================================================================== */

/* Logo mai mic ca header-ul sa ramana pe un singur rand */
@media (max-width: 359px) {
    .elementor-2015 .elementor-element.elementor-element-7608fe5 {
        width: 128px !important;
        max-width: 128px !important;
    }
}

/* Grilele de categorii au margin -5px; fara clip produc scroll orizontal pe mobil */
.elementor-2333 .elementor-element-bf3b771,
.elementor-2333 .elementor-element-8b2f8de {
    overflow-x: clip;
}

/* "Solutii pentru imprejmuirea ta" — fara cuvant orfan pe ultimul rand */
.elementor-2333 .elementor-element-926f9e3 .elementor-heading-title {
    text-wrap: balance;
}

/* ==========================================================================
   Hero slider — latime corecta a slide-urilor inainte de initializarea Swiper
   ========================================================================== */
.elementor-element-cd5b058 .swiper-wrapper:not([aria-live]) > .swiper-slide {
    width: 100% !important;
}
