/*
Theme Name: It feels like
Description: Custom child theme.
Author: It feels like
Template: olars
Version: 1.0.5
Text Domain: it-feels-like
*/

/*
 * IFL local fonts.
 * Final font stack: Allison + Jost.
 * No Google Fonts. No font-display: swap.
 *
 * Required files:
 * assets/fonts/jost/Jost-VariableFont_wght.woff2
 * assets/fonts/jost/Jost-Italic-VariableFont_wght.woff2
 * assets/fonts/allison/Allison-Regular.woff2
 */
@font-face {
    font-family: "Jost";
    src: url("assets/fonts/jost/Jost-VariableFont_wght.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: "Jost";
    src: url("assets/fonts/jost/Jost-Italic-VariableFont_wght.woff2") format("woff2");
    font-weight: 100 900;
    font-style: italic;
    font-display: block;
}

@font-face {
    font-family: "Allison";
    src: url("assets/fonts/allison/Allison-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: block;
}

/*
 * The original Olars decorative font does not render Romanian diacritics well.
 * Anything still asking for "Olars" receives local Allison instead.
 */
@font-face {
    font-family: "Olars";
    src: url("assets/fonts/allison/Allison-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: "olars-icon";
    src: url("../olars/assets/fonts/icons/olars-icon-1.0.29.woff2") format("woff2"),
         url("../olars/assets/fonts/icons/olars-icon-1.0.29.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

:root {
    --e-global-typography-primary-font-family: "Jost", Arial, sans-serif;
    --e-global-typography-text-font-family: "Jost", Arial, sans-serif;
    --e-global-typography-accent-font-family: "Jost", Arial, sans-serif;
    --ifl-font-text: "Jost", Arial, sans-serif;
    --ifl-font-decorative: "Allison", cursive;
}

html,
body,
button,
input,
select,
textarea {
    font-family: "Jost", Arial, sans-serif;
}

[class*="olars-icon-"] {
    font-family: "olars-icon" !important;
}

/* IFL - Scala tipografică proporțională pentru Jost, pe structura reală Olars. */
h1,
.alpha {
    font-size: 2em;
    line-height: 1.18;
}

h2,
.beta {
    font-size: 1.65em;
    line-height: 1.22;
}

h3,
.gamma {
    font-size: 1.4em;
    line-height: 1.3;
}

h4,
.delta {
    font-size: 1.22em;
    line-height: 1.35;
}

h5 {
    font-size: 1.1em;
    line-height: 1.4;
}

h6 {
    font-size: 1em;
    line-height: 1.45;
}

/* Text normal de conținut, fără să afectăm prețuri, carduri, meniuri și butoane. */
.entry-content p,
.entry-content li,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.woocommerce-product-details__short-description,
.woocommerce-Tabs-panel p,
.woocommerce-Tabs-panel li,
.woocommerce-privacy-policy-text p {
    font-size: 1.0625rem;
    line-height: 1.65;
}

@media only screen and (max-width: 767px) {
    h1,
    .alpha {
        font-size: 1.75em;
        line-height: 1.2;
    }

    h2,
    .beta {
        font-size: 1.45em;
        line-height: 1.25;
    }

    h3,
    .gamma {
        font-size: 1.25em;
        line-height: 1.3;
    }

    h4,
    .delta {
        font-size: 1.12em;
        line-height: 1.35;
    }

    .entry-content p,
    .entry-content li,
    .elementor-widget-text-editor p,
    .elementor-widget-text-editor li,
    .woocommerce-product-details__short-description,
    .woocommerce-Tabs-panel p,
    .woocommerce-Tabs-panel li,
    .woocommerce-privacy-policy-text p {
        font-size: 1rem;
        line-height: 1.6;
    }
}


/* ======================================================================
   IFL - Product category description alignment
   ====================================================================== */

.tax-product_cat .term-description,
.tax-product_cat .term-description p,
.tax-product_cat .woocommerce-products-header .term-description,
.tax-product_cat .woocommerce-products-header .term-description p,
.tax-product_cat .archive-description,
.tax-product_cat .archive-description p,
.tax-product_cat .woocommerce-archive-description,
.tax-product_cat .woocommerce-archive-description p {
    text-align: left !important;
}

.tax-product_cat .term-description,
.tax-product_cat .woocommerce-products-header .term-description,
.tax-product_cat .archive-description,
.tax-product_cat .woocommerce-archive-description {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* ======================================================================
   IFL - Product cards: single standard model

   Scope:
   - WooCommerce archives / categories / product search
   - normal Olars Products widgets on homepage

   Exception:
   - image-only product galleries use .ifl-products-image-only or the current
     Noutăți section .elementor-element-b24b233.

   Rules:
   - one visual card model everywhere
   - 4 / 3 / 2 / 1 responsive grid
   - whole image remains clickable
   - wishlist is only the round heart in image corner
   - price and add-to-cart share one responsive row
   ====================================================================== */

:root {
    --ifl-card-bg: #ffffff;
    --ifl-card-shadow: 0 18px 42px rgba(54, 39, 29, 0.14);
    --ifl-card-shadow-hover: 0 18px 42px rgba(54, 39, 29, 0.16);
    --ifl-card-pad: 12px;
    --ifl-card-gap-row: 42px;
    --ifl-card-gap-col: 30px;
    --ifl-card-text: #212121;
    --ifl-card-muted: #797979;
    --ifl-card-accent: var(--primary, #b26b53);
    --ifl-card-accent-hover: var(--primary_hover, #212121);
}

/* 4 / 3 / 2 / 1 product grid.
   Native WooCommerce archives/search only.
   Elementor Olars Products widgets keep their own Columns/Gutter controls.

   Important:
   On Olars search/category pages, the body has class .woocommerce,
   but ul.products is not inside a separate .woocommerce wrapper.
*/
body.post-type-archive-product ul.products:not(.products-list),
body.tax-product_cat ul.products:not(.products-list),
body.tax-product_tag ul.products:not(.products-list),
body.search-results ul.products:not(.products-list) {
    display: grid !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.post-type-archive-product ul.products:not(.products-list) > li.product,
body.tax-product_cat ul.products:not(.products-list) > li.product,
body.tax-product_tag ul.products:not(.products-list) > li.product,
body.search-results ul.products:not(.products-list) > li.product {
    float: none !important;
    clear: none !important;
    flex: initial !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

@media only screen and (min-width: 1200px) {
    body.post-type-archive-product ul.products:not(.products-list),
    body.tax-product_cat ul.products:not(.products-list),
    body.tax-product_tag ul.products:not(.products-list),
    body.search-results ul.products:not(.products-list) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 42px clamp(18px, 2.2%, 30px) !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    body.post-type-archive-product ul.products:not(.products-list),
    body.tax-product_cat ul.products:not(.products-list),
    body.tax-product_tag ul.products:not(.products-list),
    body.search-results ul.products:not(.products-list) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 36px clamp(12px, 1.8%, 22px) !important;
    }
}

@media only screen and (min-width: 501px) and (max-width: 767px) {
    body.post-type-archive-product ul.products:not(.products-list),
    body.tax-product_cat ul.products:not(.products-list),
    body.tax-product_tag ul.products:not(.products-list),
    body.search-results ul.products:not(.products-list) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 32px clamp(10px, 2%, 16px) !important;
    }
}

@media only screen and (max-width: 500px) {
    body.post-type-archive-product ul.products:not(.products-list),
    body.tax-product_cat ul.products:not(.products-list),
    body.tax-product_tag ul.products:not(.products-list),
    body.search-results ul.products:not(.products-list) {
        grid-template-columns: 1fr !important;
        gap: clamp(28px, 7vw, 32px) !important;
    }
}

/* Card shell. Shadow is on the full card, not only the image. */
.woocommerce ul.products:not(.products-list) > li.product .product-block {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    margin: 0 !important;
    padding: var(--ifl-card-pad) !important;
    background: var(--ifl-card-bg) !important;
    border: 0px !important;
    box-shadow: var(--ifl-card-shadow) !important;
    transform: none !important;
    transition: box-shadow 0.22s ease !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products:not(.products-list) > li.product:hover .product-block,
.woocommerce ul.products:not(.products-list) > li.product .product-block:hover {
    transform: none !important;
    box-shadow: var(--ifl-card-shadow-hover) !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-transition {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transform: none !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-image {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
    transition: transform 0.35s ease !important;
}

.woocommerce ul.products:not(.products-list) > li.product:hover .product-image img,
.woocommerce ul.products:not(.products-list) > li.product .product-block:hover .product-image img {
    transform: scale(1.035) !important;
}

/* Keep the image/link clickable. Wishlist sits above this only in its small corner. */
.woocommerce ul.products:not(.products-list) > li.product .product-transition > a.woocommerce-LoopProduct-link,
.woocommerce ul.products:not(.products-list) > li.product .product-transition > a.woocommerce-loop-product__link {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 0 !important;
    text-indent: -9999px !important;
    background: transparent !important;
}

/* Wishlist: icon only. */
.woocommerce ul.products:not(.products-list) > li.product .ifl-loop-card-wishlist {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 6 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
}

.woocommerce ul.products:not(.products-list) > li.product .ifl-loop-card-wishlist .woosw-btn,
.woocommerce ul.products:not(.products-list) > li.product .product-image .woosw-btn,
.woocommerce ul.products:not(.products-list) > li.product .product-transition .woosw-btn,
.woocommerce ul.products:not(.products-list) > li.product .product-block > .woosw-btn {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,0.96) !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
    color: #212121 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    transform: none !important;
}

.woocommerce ul.products:not(.products-list) > li.product .woosw-btn span,
.woocommerce ul.products:not(.products-list) > li.product .woosw-btn .woosw-btn-text {
    display: none !important;
}

.woocommerce ul.products:not(.products-list) > li.product .woosw-btn::before {
    content: "\e01e" !important;
    display: block !important;
    font-family: "olars-icon" !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: currentColor !important;
    margin: 0 !important;
}

.woocommerce ul.products:not(.products-list) > li.product .woosw-btn:hover,
.woocommerce ul.products:not(.products-list) > li.product .woosw-btn.woosw-added,
.woocommerce ul.products:not(.products-list) > li.product .woosw-btn.woosw-btn-added {
    color: var(--ifl-card-accent) !important;
}

.woocommerce ul.products:not(.products-list) > li.product .woosw-btn.woosw-added::before,
.woocommerce ul.products:not(.products-list) > li.product .woosw-btn.woosw-btn-added::before {
    content: "\e01d" !important;
}

/* Disable old duplicate action positions. */
.woocommerce ul.products:not(.products-list) > li.product .product-caption > .woosw-btn,
.woocommerce ul.products:not(.products-list) > li.product .product-transition .add_to_cart_button,
.woocommerce ul.products:not(.products-list) > li.product .product-transition .product_type_simple,
.woocommerce ul.products:not(.products-list) > li.product .product-transition .product_type_variable,
.woocommerce ul.products:not(.products-list) > li.product .product-image .add_to_cart_button,
.woocommerce ul.products:not(.products-list) > li.product .product-image .product_type_simple,
.woocommerce ul.products:not(.products-list) > li.product .product-image .product_type_variable {
    display: none !important;
}

/* Caption and title. */
.woocommerce ul.products:not(.products-list) > li.product .product-caption {
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 16px 0 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .posted-in,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .woocommerce-loop-product__title,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .woocommerce-loop-category__title,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .short-description,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .star-rating,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .olars-count-review {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.woocommerce ul.products:not(.products-list) > li.product .woocommerce-loop-product__title,
.woocommerce ul.products:not(.products-list) > li.product .woocommerce-loop-product__title a {
    color: var(--ifl-card-text) !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

.woocommerce ul.products:not(.products-list) > li.product .woocommerce-loop-product__title a:hover {
    color: var(--ifl-card-accent) !important;
}

/* Price + add-to-cart: one responsive row. */
.woocommerce ul.products:not(.products-list) > li.product .product-caption .price,
.woocommerce ul.products:not(.products-list) > li.product:hover .product-caption .price,
.woocommerce ul.products:not(.products-list) > li.product .product-block:hover .product-caption .price,
.woocommerce ul.products:not(.products-list) > li.product .product-caption:hover .price {
    position: relative !important;
    display: inline-flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: max-content !important;
    max-width: 100% !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ifl-card-text) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc {
    position: static !important;
    display: inline-flex !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc p,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .add_to_cart_inline {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .button,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc a.button,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .add_to_cart_button,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_simple,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_variable {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ifl-card-accent) !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    text-align: right !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .button::before,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc a.button::before,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .add_to_cart_button::before,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_simple::before,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_variable::before {
    content: "\e0a1" !important;
    display: inline-block !important;
    font-family: "olars-icon" !important;
    font-size: 15px !important;
    line-height: 1 !important;
    margin: 0 !important;
    color: currentColor !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .button:hover,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc a.button:hover,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .add_to_cart_button:hover,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_simple:hover,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_variable:hover {
    background: transparent !important;
    color: var(--ifl-card-accent-hover) !important;
}


/* Image-only product gallery: Noutăți din atelier or manual class.
   Do not set grid-template-columns or gap here; Elementor/Olars widget
   controls Columns and Gutter. This block only removes product details. */
.ifl-products-image-only ul.products:not(.products-list) > li.product .product-caption,
.ifl-products-image-only ul.products:not(.products-list) > li.product .ifl-loop-card-wishlist,
.ifl-products-image-only ul.products:not(.products-list) > li.product .group-label,
.elementor-element-b24b233 ul.products:not(.products-list) > li.product .product-caption,
.elementor-element-b24b233 ul.products:not(.products-list) > li.product .ifl-loop-card-wishlist,
.elementor-element-b24b233 ul.products:not(.products-list) > li.product .group-label {
    display: none !important;
}

.ifl-products-image-only ul.products:not(.products-list) > li.product .product-block,
.elementor-element-b24b233 ul.products:not(.products-list) > li.product .product-block {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.ifl-products-image-only ul.products:not(.products-list) > li.product .product-transition,
.elementor-element-b24b233 ul.products:not(.products-list) > li.product .product-transition {
    margin: 10px !important;
    padding: 0 !important;
    border: solid 10px #ffffff !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
/* ======================================================================
   IFL - Favorite / WPC Smart Wishlist page, cart-like layout
   ====================================================================== */

.ifl-wishlist-list {
    width: 100%;
    max-width: 1290px;
    margin: 0 auto;
    box-sizing: border-box;
}

.ifl-wishlist-items {
    width: 100%;
}

.ifl-wishlist-item {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) 220px;
    align-items: flex-start;
    gap: 22px;
    margin: 0 0 22px;
    padding: 0;
    border: 0 !important;
    background: transparent;
    box-shadow: none;
    box-sizing: border-box;
}

.ifl-wishlist-image {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0;
    border: 0 !important;
}

.ifl-wishlist-image a,
.ifl-wishlist-image img {
    display: block;
}

.ifl-wishlist-image img {
    width: auto !important;
    max-width: 70px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0;
}

.ifl-wishlist-info {
    min-width: 0;
    padding: 0;
}

.ifl-wishlist-name {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}

.ifl-wishlist-name a {
    color: #222;
    text-decoration: none;
}

.ifl-wishlist-name a:hover {
    color: #B56B55;
}

.ifl-wishlist-price,
.ifl-wishlist-date {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 3px 0 0;
    color: #555;
    font-size: 16px;
    line-height: 1.45;
}

.ifl-wishlist-meta-label {
    font-weight: 600;
    color: #222;
}

.ifl-wishlist-meta-value {
    color: #666;
}

.ifl-wishlist-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 220px;
    max-width: 220px;
    min-height: 95px;
    padding: 0 0 0 34px;
    border-left: 1px solid #dedede;
    box-sizing: border-box;
}

.ifl-wishlist-actions .ifl-wishlist-atc,
.ifl-wishlist-actions .ifl-wishlist-delete,
.ifl-wishlist-actions .ifl-wishlist-atc p,
.ifl-wishlist-actions .ifl-wishlist-delete p,
.ifl-wishlist-actions .ifl-wishlist-atc .add_to_cart_inline,
.ifl-wishlist-actions .ifl-wishlist-delete-inline {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

.ifl-wishlist-actions .woosw-item--remove.ifl-wishlist-delete {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    height: auto !important;
    min-height: 0 !important;
    text-align: inherit !important;
    cursor: pointer;
}

.ifl-wishlist-atc .button,
.ifl-wishlist-atc a.button,
.ifl-wishlist-atc .add_to_cart_button,
.ifl-wishlist-atc .product_type_simple,
.ifl-wishlist-atc .product_type_variable,
.ifl-wishlist-delete-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: auto !important;
    padding: 5px 22px !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.ifl-wishlist-atc .button,
.ifl-wishlist-atc a.button,
.ifl-wishlist-atc .add_to_cart_button,
.ifl-wishlist-atc .product_type_simple,
.ifl-wishlist-atc .product_type_variable {
    background: #B86F59 !important;
    color: #fff !important;
    border: 0 !important;
}

.ifl-wishlist-atc .button:hover,
.ifl-wishlist-atc a.button:hover,
.ifl-wishlist-atc .add_to_cart_button:hover,
.ifl-wishlist-atc .product_type_simple:hover,
.ifl-wishlist-atc .product_type_variable:hover {
    background: #9f5f4c !important;
    color: #fff !important;
}

.ifl-wishlist-delete-button {
    border: 1px solid #d9a18f !important;
    background: transparent !important;
    color: #B86F59 !important;
}

.ifl-wishlist-delete-button:hover,
.ifl-wishlist-delete-button:focus {
    border-color: #B86F59 !important;
    background: #fff7f4 !important;
    color: #9f5f4c !important;
    outline: 0 !important;
}

/* Pluginul WPC poate adăuga X pe .woosw-item--remove; aici păstrăm doar textul Șterge. */
.ifl-wishlist-actions .woosw-item--remove.ifl-wishlist-delete::before,
.ifl-wishlist-actions .woosw-item--remove.ifl-wishlist-delete::after,
.ifl-wishlist-delete-inline::before,
.ifl-wishlist-delete-inline::after,
.ifl-wishlist-delete-button::before,
.ifl-wishlist-delete-button::after {
    content: none !important;
    display: none !important;
}

.ifl-wishlist-empty {
    margin: 0;
}

@media only screen and (max-width: 767px) {
    .ifl-wishlist-list {
        padding: 0 !important;
    }

    .ifl-wishlist-item {
        display: grid;
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 12px 14px;
        align-items: start;
        margin-bottom: 24px;
        padding: 0;
        border: 0 !important;
        background: transparent;
    }

    .ifl-wishlist-image {
        grid-column: 1;
        grid-row: 1;
    }

    .ifl-wishlist-image img {
        width: auto !important;
        max-width: 88px !important;
        height: auto !important;
        object-fit: contain !important;
    }

    .ifl-wishlist-info {
        grid-column: 2;
        grid-row: 1;
        padding: 0;
    }

    .ifl-wishlist-name {
        margin-bottom: 6px;
        font-size: 16px;
        line-height: 1.35;
    }

    .ifl-wishlist-price,
    .ifl-wishlist-date {
        display: block;
        margin-top: 3px;
        font-size: 14px;
        line-height: 1.4;
    }

    .ifl-wishlist-meta-label {
        display: inline;
    }

    .ifl-wishlist-actions {
        grid-column: 1 / -1;
        grid-row: 2;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        margin-top: 2px;
        padding: 16px 0 0;
        border-left: 0;
        border-top: 1px solid #dedede;
    }

    .ifl-wishlist-atc .button,
    .ifl-wishlist-atc a.button,
    .ifl-wishlist-atc .add_to_cart_button,
    .ifl-wishlist-atc .product_type_simple,
    .ifl-wishlist-atc .product_type_variable,
    .ifl-wishlist-delete-button {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 50px !important;
    }
}

ul#shipping_method li,
ul.woocommerce-shipping-methods li,
.woocommerce-checkout ul#shipping_method li {
    justify-content: end;
}
#shipping_method li > label {
    font-size: 16px;
}
#shipping_method li > label::after {
    margin-top: -5px;
}

#payment .payment_methods li > label::before {
    margin-top: -5px;
}

/* IFL - hide WooCommerce shipping destination text */
.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-checkout .woocommerce-shipping-destination {
    display: none !important;
}

@media (min-width: 768px) {
    table.shop_table_responsive tr.woocommerce-shipping-totals td {
        width: 80% !important;
    }
}

/* IFL - Blog layout: 2 articles per row */

/* Elimină spațiul și linia implicită dintre articole */
article.article-default {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

/* Blog / categorii / taguri - 2 articole pe rând pe desktop mare */
@media only screen and (min-width: 1200px) {
    body.blog .site-main,
    body.archive.category .site-main,
    body.archive.tag .site-main {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 42px 34px;
    }

    body.blog .site-main article,
    body.archive.category .site-main article,
    body.archive.tag .site-main article {
        margin: 0;
        width: auto;
    }

    body.blog .site-main .navigation,
    body.archive.category .site-main .navigation,
    body.archive.tag .site-main .navigation,
    body.blog .site-main .page-header,
    body.archive.category .site-main .page-header,
    body.archive.tag .site-main .page-header {
        grid-column: 1 / -1;
    }
}

/* Sub 1200px revenim la o singură coloană */
@media only screen and (max-width: 1199px) {
    body.blog .site-main,
    body.archive.category .site-main,
    body.archive.tag .site-main {
        display: block;
    }

    body.blog .site-main article,
    body.archive.category .site-main article,
    body.archive.tag .site-main article {
        margin-bottom: 42px;
    }
}

/* Blog / Elementor post grid - ascunde data și autorul */
.elementor-widget-olars-post-grid .entry-meta,
.elementor-widget-olars-post-grid .posted-on,
.elementor-widget-olars-post-grid .byline,
.elementor-widget-olars-post-grid .author,
.elementor-widget-olars-post-grid .post-author {
    display: none !important;
}

/* Pagina individuală de articol - ascunde data și autorul */
.single-post .entry-meta,
.single-post .posted-on,
.single-post .byline,
.single-post .author,
.single-post .post-author {
    display: none !important;
}

/* Elimină spațiul rămas dacă tema păstrează containerul gol */
.elementor-widget-olars-post-grid .entry-header .entry-meta,
.single-post .entry-header .entry-meta {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* IFL - header Elementor stabil înainte de încărcarea completă a CSS/JS-ului Elementor */
.elementor-location-header {
    min-height: 88px;
}

.elementor-location-header [class*="olars-icon-"] {
    display: inline-block;
    width: 1em;
    min-width: 1em;
    height: 1em;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
}

/* ==========================================================================
   IFL - Contul meu / autentificare / creare cont
   ========================================================================== */

/* Inputuri login/register/resetare parolă - spațiere și aliniere corectă */
.woocommerce-account .woocommerce-form input.input-text,
.woocommerce-account .woocommerce-form input[type="text"],
.woocommerce-account .woocommerce-form input[type="email"],
.woocommerce-account .woocommerce-form input[type="password"],
.woocommerce-account form.login input.input-text,
.woocommerce-account form.register input.input-text,
.woocommerce-account form.lost_reset_password input.input-text,
.woocommerce-account form.lost_reset_password input[type="password"] {
    height: 52px !important;
    line-height: 52px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}

/* Placeholder mai curat */
.woocommerce-account input::placeholder {
    opacity: 1 !important;
    color: #777 !important;
}

/* Wrapper custom din override-ul form-login.php */
.ifl-login-secondary-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 14px 0 22px !important;
    padding: 0 !important;
}

/* Checkbox "Ține-mă minte" */
.ifl-login-secondary-actions .woocommerce-form-login__rememberme,
.ifl-login-secondary-actions .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* Checkbox propriu-zis */
.ifl-login-secondary-actions .woocommerce-form-login__rememberme input[type="checkbox"],
.ifl-login-secondary-actions .woocommerce-form__label-for-checkbox input[type="checkbox"] {
    margin: 0 !important;
    position: relative !important;
    top: -1px !important;
}

/* Textul "Ține-mă minte" */
.ifl-login-secondary-actions .woocommerce-form-login__rememberme span,
.ifl-login-secondary-actions .woocommerce-form__label-for-checkbox span {
    display: inline-block !important;
    line-height: 1.2 !important;
}

/* Link "Ai uitat parola?" */
.ifl-login-secondary-actions .lost_password,
.ifl-login-secondary-actions .woocommerce-LostPassword {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.ifl-login-secondary-actions .lost_password a,
.ifl-login-secondary-actions .woocommerce-LostPassword a {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Butoanele principale login/register/resetare */
.woocommerce-account form.login button[type="submit"],
.woocommerce-account form.register button[type="submit"],
.woocommerce-account form.lost_reset_password button[type="submit"],
.woocommerce-account form.login .woocommerce-button,
.woocommerce-account form.register .woocommerce-button,
.woocommerce-account form.lost_reset_password .woocommerce-button {
    min-height: 52px !important;
    line-height: 52px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    text-align: center !important;
}

/* Register - text și formular mai aerisit */
.woocommerce-account form.register p {
    line-height: 1.65 !important;
}

.woocommerce-account form.register .woocommerce-privacy-policy-text {
    margin-top: 18px !important;
}

/* ==========================================================================
   IFL - WooCommerce password visibility button
   Repară butonul Arată parola / Ascunde parola
   ========================================================================== */

.woocommerce-account span.password-input,
.woocommerce-lost-password span.password-input,
.woocommerce-reset-password span.password-input {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

.woocommerce-account span.password-input input,
.woocommerce-lost-password span.password-input input,
.woocommerce-reset-password span.password-input input {
    width: 100% !important;
    padding-right: 48px !important;
    box-sizing: border-box !important;
}

.woocommerce-account button.show-password-input,
.woocommerce-lost-password button.show-password-input,
.woocommerce-reset-password button.show-password-input {
    position: absolute !important;
    top: 50% !important;
    right: 14px !important;
    transform: translateY(-50%) !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;

    color: #777 !important;
    cursor: pointer !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.woocommerce-account button.show-password-input::before,
.woocommerce-lost-password button.show-password-input::before,
.woocommerce-reset-password button.show-password-input::before {
    content: "👁" !important;
    display: block !important;
    font-size: 17px !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.woocommerce-account button.show-password-input::after,
.woocommerce-lost-password button.show-password-input::after,
.woocommerce-reset-password button.show-password-input::after {
    content: none !important;
    display: none !important;
}

.woocommerce-account button.show-password-input:hover,
.woocommerce-account button.show-password-input:focus,
.woocommerce-lost-password button.show-password-input:hover,
.woocommerce-lost-password button.show-password-input:focus,
.woocommerce-reset-password button.show-password-input:hover,
.woocommerce-reset-password button.show-password-input:focus {
    background: transparent !important;
    color: #B56B55 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.woocommerce-account button.show-password-input.display-password,
.woocommerce-lost-password button.show-password-input.display-password,
.woocommerce-reset-password button.show-password-input.display-password {
    color: #B56B55 !important;
}
/* WooCommerce reset password - păstrează mesajul de putere, ascunde sugestia lungă */
.woocommerce-account .woocommerce-password-hint,
.woocommerce-lost-password .woocommerce-password-hint,
.woocommerce-reset-password .woocommerce-password-hint {
    display: none !important;
}

.woocommerce-account .woocommerce-password-strength,
.woocommerce-lost-password .woocommerce-password-strength,
.woocommerce-reset-password .woocommerce-password-strength {
    margin-top: 10px !important;
    margin-bottom: 18px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    text-align: left !important;
    font-weight: 600 !important;
}

.woocommerce-order .woocommerce-table--order-details, ul.order_details {
    max-width: 100% !important;
}
.elementor-1562 {
    border-bottom: 1px solid #dedede;
}
@media only screen and (max-width: 767px) {
    .ifl-login-secondary-actions {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 10px !important;
    }
}
/* ==========================================================================
   IFL - WooCommerce archive mobile toolbar cleanup
   ========================================================================== */

/* Filter UI is disabled from PHP; keep CSS fallback in case cached markup remains. */
.woocommerce .olars-sorting .filter-toggle,
.woocommerce .olars-sorting .filter-toggle-dropdown,
#olars-canvas-filter,
.olars-overlay-filter,
#olars-dropdown-filter {
    display: none !important;
}

@media only screen and (max-width: 767px) {
    .woocommerce .olars-sorting {
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 10px !important;
        margin-bottom: 24px !important;
        padding: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce .olars-sorting .gridlist-toggle {
        display: none !important;
    }

    .woocommerce .olars-sorting .woocommerce-result-count {
        display: none !important;
    }

    .woocommerce .olars-sorting .woocommerce-ordering {
        width: auto !important;
        max-width: 145px !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    .woocommerce .olars-sorting .woocommerce-ordering select {
        width: auto !important;
        max-width: 145px !important;
        min-width: 118px !important;
        height: 42px !important;
        padding: 8px 32px 8px 14px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }
}


.site-header-account .account-links-menu li a, .site-header-account .account-dashboard li a {
    padding: 7px 20px;
}

/* IFL - Blog: ascunde autorul, data si meta peste tot */

/* Lista blog, categorii, taguri, arhive */
body.blog .entry-meta,
body.blog .posted-on,
body.blog .byline,
body.blog .author,
body.blog .post-author,
body.blog .post-date,
body.blog .entry-date,
body.archive .entry-meta,
body.archive .posted-on,
body.archive .byline,
body.archive .author,
body.archive .post-author,
body.archive .post-date,
body.archive .entry-date {
    display: none !important;
}

/* Elementor / Olars post grid */
.elementor-widget-olars-post-grid .entry-meta,
.elementor-widget-olars-post-grid .posted-on,
.elementor-widget-olars-post-grid .byline,
.elementor-widget-olars-post-grid .author,
.elementor-widget-olars-post-grid .post-author,
.elementor-widget-olars-post-grid .post-date,
.elementor-widget-olars-post-grid .entry-date {
    display: none !important;
}

/* Pagina individuala de articol */
.single-post .entry-meta,
.single-post .posted-on,
.single-post .byline,
.single-post .author,
.single-post .post-author,
.single-post .post-date,
.single-post .entry-date {
    display: none !important;
}

/* Elimina spatiul ramas de la containerul meta */
body.blog .entry-header .entry-meta,
body.archive .entry-header .entry-meta,
.single-post .entry-header .entry-meta,
.elementor-widget-olars-post-grid .entry-header .entry-meta {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* ======================================================================
   IFL - Product cards: calm Olars hover
   Keep the card stable, but preserve a subtle image zoom.
   ====================================================================== */

.woocommerce ul.products:not(.products-list) > li.product .product-block,
.woocommerce ul.products:not(.products-list) > li.product .product-transition,
.woocommerce ul.products:not(.products-list) > li.product .product-image,
.woocommerce ul.products:not(.products-list) > li.product:hover .product-block,
.woocommerce ul.products:not(.products-list) > li.product:hover .product-transition,
.woocommerce ul.products:not(.products-list) > li.product:hover .product-image {
    transform: none !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-image {
    overflow: hidden !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-image img {
    transform: scale(1) !important;
    transition: transform 0.35s ease !important;
}

.woocommerce ul.products:not(.products-list) > li.product:hover .product-image img {
    transform: scale(1.035) !important;
    transition: transform 0.35s ease !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-block::before,
.woocommerce ul.products:not(.products-list) > li.product .product-block::after,
.woocommerce ul.products:not(.products-list) > li.product .product-transition::before,
.woocommerce ul.products:not(.products-list) > li.product .product-transition::after,
.woocommerce ul.products:not(.products-list) > li.product .product-image::before,
.woocommerce ul.products:not(.products-list) > li.product .product-image::after {
    display: none !important;
    content: none !important;
}

.woocommerce ul.products:not(.products-list) > li.product .group-action,
.woocommerce ul.products:not(.products-list) > li.product .shop-action {
    display: none !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption,
.woocommerce ul.products:not(.products-list) > li.product .price,
.woocommerce ul.products:not(.products-list) > li.product .ifl-loop-card-atc,
.woocommerce ul.products:not(.products-list) > li.product:hover .product-caption,
.woocommerce ul.products:not(.products-list) > li.product:hover .price,
.woocommerce ul.products:not(.products-list) > li.product:hover .ifl-loop-card-atc {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-transition > .woocommerce-loop-product__link {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    display: block !important;
    pointer-events: auto !important;
}

.woocommerce ul.products:not(.products-list) > li.product .ifl-loop-card-wishlist {
    z-index: 12 !important;
    pointer-events: auto !important;
}

/* ======================================================================
   IFL - Product Categories: keep layout-1 images perfectly circular

   Olars gives the category image separate responsive Width and Height controls.
   When tablet/mobile height differs from width, border-radius: 50% becomes oval.
   Force the clickable image wrapper to stay square; the image fills that square.
   ====================================================================== */

.elementor-widget-olars-product-categories .layout-1 .cate_image .link_category_product {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    border-radius: 50% !important;
    overflow: hidden !important;
}

.elementor-widget-olars-product-categories .layout-1 .cate_image .link_category_product img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
}

/* ======================================================================
   IFL - Product card caption layout final
   Title row + footer row: price left, add-to-cart right.
   ====================================================================== */

.woocommerce ul.products:not(.products-list) > li.product .product-caption {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px 12px !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .woocommerce-loop-product__title {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .price,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.25 !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .price {
    flex: 1 1 auto !important;
    justify-content: flex-start !important;
    margin-right: 10px !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc {
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .button,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc a.button,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .add_to_cart_button,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_simple,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_variable {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    color: var(--primary, #b26b53) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .button:hover,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc a.button:hover,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .add_to_cart_button:hover,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_simple:hover,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_variable:hover {
    color: var(--primary_hover, #212121) !important;
    background: transparent !important;
}

/* IFL - Product card bag icon alignment */
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .button::before,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc a.button::before,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .add_to_cart_button::before,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_simple::before,
.woocommerce ul.products:not(.products-list) > li.product .product-caption .ifl-loop-card-atc .product_type_variable::before {
    margin-top: -2px !important;
}

/* ======================================================================
   IFL - Noutăți din atelier: image-only products final override
   Clasa se pune pe widgetul Products: ifl-products-image-only
   ====================================================================== */

.elementor-widget-olars-products.ifl-products-image-only ul.products:not(.products-list) > li.product .product-caption,
.elementor-widget-olars-products.ifl-products-image-only ul.products:not(.products-list) > li.product .ifl-loop-card-wishlist,
.elementor-widget-olars-products.ifl-products-image-only ul.products:not(.products-list) > li.product .group-label {
    display: none !important;
}

.elementor-widget-olars-products.ifl-products-image-only ul.products:not(.products-list) > li.product .product-block {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.elementor-widget-olars-products.ifl-products-image-only ul.products:not(.products-list) > li.product .product-transition {
    margin: 10px !important;
    padding: 0 !important;
    border: solid 10px #ffffff !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* ======================================================================
   IFL - Anuleaza centrarea la text descriere categorie
   ====================================================================== */

@media (min-width: 768px) {
    .olars-full-width-content .woocommerce-products-header {
        text-align: left !important;
    }
}


.single-product div.product form.cart .quantity {
    width: 100px !important;
    min-width: 100px !important;
}
.single-product div.product .single_add_to_cart_button {
    width: auto !important;
}

/* IFL - lățire coș lateral Olars */
.site-header-cart-side {
    width: 350px !important;
    transform: translate3d(350px, 0, 0) !important;
}

.site-header-cart-side.active {
    transform: none !important;
}

@media (max-width: 480px) {
    .site-header-cart-side {
        width: calc(100vw - 54px) !important;
        transform: translate3d(calc(100vw - 54px), 0, 0) !important;
    }

    .site-header-cart-side.active {
        transform: none !important;
    }
}


.woocommerce-MyAccount-content table tr:nth-of-type(even) {
    background-color: transparent !important;
}

.woocommerce-view-order .woocommerce-table--order-details thead th.product-name {
    display: none !important;
}

/* IFL - uniformizare checkbox-uri checkout */
.woocommerce-checkout #pn_rbp_invoice_same_field label.checkbox,
.woocommerce-checkout .woocommerce-account-fields .create-account label.checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

.woocommerce-checkout #pn_rbp_invoice_same,
.woocommerce-checkout #createaccount {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    flex: 0 0 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout #pn_rbp_invoice_same_field label.checkbox span,
.woocommerce-checkout .woocommerce-account-fields .create-account label.checkbox span {
    display: inline-block !important;
    line-height: 1.4 !important;
}

.woocommerce-error {
    margin-left: 0;
}

/* ==========================================================================
   IFL - WooCommerce Order Received top area only
   Scope: pagina "Comandă primită" / thankyou.php.
   Nu rescrie zona "Detalii comandă"; doar aliniază titlul ei la stânga.
   ========================================================================== */

.woocommerce-order-received .woocommerce-order {
    width: 100%;
}

/* Mesajul Woo de sus */
.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-thankyou-order-failed {
    margin: 0 0 28px !important;
    padding: 22px 25px !important;
    border-top: 3px solid #80ad1f !important;
    background: #f7f7f7 !important;
    color: #007f3a !important;
    font-size: 1.3rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    text-align: left !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.woocommerce-order-received .woocommerce-thankyou-order-failed {
    border-top-color: #b42318 !important;
    color: #b42318 !important;
}

/* Textul sumar care înlocuiește blocul nativ Număr comandă / Dată / Total / Metodă */
.woocommerce-order-received .ifl-order-summary-text {
    margin: 0 0 56px !important;
    color: #111 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.woocommerce-order-received .ifl-order-summary-text strong {
    font-weight: 700 !important;
}

/* Zona BACS: doar date bancare, fără rând separat Metodă de plată */
.woocommerce-order-received .ifl-bank-zone {
    width: 100%;
    margin: 0 0 42px !important;
    padding: 0 !important;
}

.woocommerce-order-received .ifl-bank-row {
    display: grid !important;
    grid-template-columns: 210px minmax(0, 1fr) !important;
    gap: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.woocommerce-order-received .ifl-bank-label {
    margin: 0 !important;
    color: #66717a !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.woocommerce-order-received .ifl-bank-content {
    min-width: 0 !important;
}

.woocommerce-order-received .ifl-bank-content > *:first-child {
    margin-top: 0 !important;
}

.woocommerce-order-received .ifl-bank-content > *:last-child {
    margin-bottom: 0 !important;
}

.woocommerce-order-received .ifl-bank-account {
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
}

.woocommerce-order-received .ifl-bank-account:last-child {
    margin-bottom: 0 !important;
}

.woocommerce-order-received .ifl-bank-beneficiary {
    margin: 0 0 16px !important;
    color: #111 !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
}

.woocommerce-order-received .ifl-bank-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

.woocommerce-order-received .ifl-bank-item {
    min-width: 0 !important;
    padding: 14px 18px !important;
    border-right: 1px solid #dedede !important;
}

.woocommerce-order-received .ifl-bank-item:first-child {
    padding-left: 0 !important;
}

.woocommerce-order-received .ifl-bank-item:last-child {
    padding-right: 0 !important;
    border-right: 0 !important;
}

.woocommerce-order-received .ifl-bank-item span {
    display: block !important;
    margin: 0 0 5px !important;
    color: #66717a !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.woocommerce-order-received .ifl-bank-item strong {
    display: block !important;
    color: #111 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
}

/* Acțiunile native Woo pentru plată eșuată */
.woocommerce-order-received .woocommerce-thankyou-order-failed-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 42px !important;
}

.woocommerce-order-received .woocommerce-thankyou-order-failed-actions .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Singura corecție acceptată în zona de jos: titlul, nu tabelul/conținutul. */
.woocommerce-order-received .woocommerce-order-details__title {
    text-align: left !important;
}

@media only screen and (max-width: 900px) {
    .woocommerce-order-received .ifl-bank-row {
        grid-template-columns: 170px minmax(0, 1fr) !important;
    }

    .woocommerce-order-received .ifl-bank-grid {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-order-received .ifl-bank-item,
    .woocommerce-order-received .ifl-bank-item:first-child,
    .woocommerce-order-received .ifl-bank-item:last-child {
        padding: 13px 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid #dedede !important;
    }

    .woocommerce-order-received .ifl-bank-item:last-child {
        border-bottom: 0 !important;
    }
}

@media only screen and (max-width: 640px) {
    .woocommerce-order-received .woocommerce-thankyou-order-received,
    .woocommerce-order-received .woocommerce-thankyou-order-failed {
        padding: 18px 16px !important;
        margin-bottom: 22px !important;
        font-size: 1.3rem !important;
    }

    .woocommerce-order-received .ifl-order-summary-text {
        margin-bottom: 38px !important;
        font-size: 15px !important;
    }

    .woocommerce-order-received .ifl-bank-row {
        display: block !important;
    }

    .woocommerce-order-received .ifl-bank-label {
        margin-bottom: 12px !important;
    }
}
.woocommerce-button.button.cancel.order-actions-button {
    margin-left: 10px;
}

/* ======================================================================
   IFL - Contul meu / Comenzi: carduri responsive în locul tabelului Woo
   ====================================================================== */

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-orders {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-card {
    display: block;
    width: 100%;
    padding: 22px 24px;
    border: 1px solid #ebe4df;
    background: #fff;
    box-sizing: border-box;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0ebe7;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-title {
    margin: 0;
    padding: 0;
    font-size: 1.15rem;
    line-height: 1.3;
    font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-title a {
    color: inherit;
    text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-title a:hover {
    color: var(--primary);
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-status-badge {
    flex: 0 0 auto;
    max-width: 180px;
    padding: 5px 12px;
    border: 1px solid #e6ddd8;
    font-size: 0.9rem;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding: 18px 0;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-field {
    min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-label,
.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-section-title {
    display: block;
    margin: 0 0 5px;
    color: #7a6f69;
    font-size: 0.82rem;
    line-height: 1.3;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-value {
    display: block;
    color: #222;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-total {
    font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-products-wrap {
    padding: 16px 0;
    border-top: 1px solid #f0ebe7;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-products {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-products li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid #f4efec;
    line-height: 1.4;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-products li:last-child {
    border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-products li.has-thumb {
    grid-template-columns: 54px minmax(0, 1fr) auto;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-products li.ifl-account-order-products-more {
    display: block;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-product-thumb {
    display: block;
    width: 54px;
    overflow: hidden;
    background: #f8f5f2;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-product-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-product-main {
    min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-product-name {
    display: block;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content a.ifl-account-order-product-name:hover {
    color: var(--primary);
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-product-qty {
    flex: 0 0 auto;
    color: #222;
    font-weight: 600;
    white-space: nowrap;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-products-more {
    display: block;
    color: #7a6f69;
    font-size: 0.95rem;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid #f0ebe7;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-actions .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Pagination .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 96px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 7px 13px !important;
    font-size: 0.88rem !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-actions .button.view {
    background: transparent !important;
    color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-actions .button.view:hover {
    background: var(--primary) !important;
    color: #fff !important;
}

/* Fallback pentru eventuale tabele Woo/account rămase din pluginuri. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table th,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td {
    white-space: normal !important;
    word-break: normal !important;
}

/* Linii clare între produse pe pagina detalii comandă și pagina comandă primită. */
.woocommerce-view-order .woocommerce-MyAccount-content .woocommerce-table--order-details tbody tr,
.woocommerce-order-received .woocommerce-table--order-details tbody tr {
    border-bottom: 1px solid #f0ebe7;
}

.woocommerce-view-order .woocommerce-MyAccount-content .woocommerce-table--order-details tbody tr:last-child,
.woocommerce-order-received .woocommerce-table--order-details tbody tr:last-child {
    border-bottom: 0;
}

.woocommerce-view-order .woocommerce-MyAccount-content .woocommerce-table--order-details .button,
.woocommerce-order-received .woocommerce-order-details .button {
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 7px 13px !important;
    font-size: 0.88rem !important;
    line-height: 1.2 !important;
}

@media only screen and (max-width: 900px) {
    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-card {
        padding: 20px 18px;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-actions {
        justify-content: stretch;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-actions .button {
        flex: 1 1 0;
        min-width: 0 !important;
    }
}

@media only screen and (max-width: 767px) {
    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-head {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-status-badge {
        max-width: none;
        align-self: flex-start;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px 0;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-field {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 14px;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-label {
        margin: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-value {
        text-align: right;
    }

    .woocommerce-view-order .woocommerce-MyAccount-content .woocommerce-table--order-details tbody tr,
    .woocommerce-order-received .woocommerce-table--order-details tbody tr {
        display: block;
        padding: 14px 0;
    }

    .woocommerce-view-order .woocommerce-MyAccount-content .woocommerce-table--order-details tbody td,
    .woocommerce-order-received .woocommerce-table--order-details tbody td {
        display: block;
        width: 100%;
        padding: 4px 0 !important;
        border: 0 !important;
        text-align: left !important;
    }

    .woocommerce-view-order .woocommerce-MyAccount-content .woocommerce-table--order-details tbody td.product-total,
    .woocommerce-order-received .woocommerce-table--order-details tbody td.product-total {
        font-weight: 700;
    }
}

@media only screen and (max-width: 520px) {
    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-card {
        padding: 18px 16px;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-products li {
        gap: 10px;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-products li.has-thumb {
        grid-template-columns: 48px minmax(0, 1fr) auto;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-product-thumb {
        width: 48px;
        height: 48px;
    }

    .woocommerce-account .woocommerce-MyAccount-content .ifl-account-order-actions .button {
        flex-basis: 100%;
    }
}

@media (min-width: 911px) {
    .woocommerce-cart-form, .woocommerce-cart .cross-sells {
        width: 65%;
        margin-right: 3%;
    }
    .cart-collaterals {
        width: 32%;
    }
}
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot tr {
    display: flex !important;
    justify-content: space-between;
    border-top: 1px solid;
    border-top-color: var(--border);
}
#order_review .woocommerce-checkout-review-order-table th, #order_review .woocommerce-checkout-review-order-table td {
    border-top: transparent !important;
}
/* ========================================================================== 
   IFL - Olars long SEO category titles
   Keep descriptive H1 titles balanced inside the breadcrumb banner.
   ========================================================================== */
body.tax-product_cat.term-marturii .elementor-widget-woocommerce-breadcrumb .olars-woocommerce-title,
body.tax-product_cat.term-botez .elementor-widget-woocommerce-breadcrumb .olars-woocommerce-title,
body.tax-product_cat.term-nunta .elementor-widget-woocommerce-breadcrumb .olars-woocommerce-title,
body.woocommerce-shop .elementor-widget-woocommerce-breadcrumb .olars-woocommerce-title,
body.blog .elementor-widget-woocommerce-breadcrumb .olars-woocommerce-title {
    font-size: clamp(30px, 2.6vw, 42px) !important;
    line-height: 1.08 !important;
}

@media (max-width: 767px) {
    body.tax-product_cat.term-marturii .elementor-widget-woocommerce-breadcrumb .olars-woocommerce-title,
    body.tax-product_cat.term-botez .elementor-widget-woocommerce-breadcrumb .olars-woocommerce-title,
    body.tax-product_cat.term-nunta .elementor-widget-woocommerce-breadcrumb .olars-woocommerce-title,
    body.woocommerce-shop .elementor-widget-woocommerce-breadcrumb .olars-woocommerce-title,
    body.blog .elementor-widget-woocommerce-breadcrumb .olars-woocommerce-title {
        font-size: 28px !important;
        line-height: 1.12 !important;
    }
}

/* ========================================================================== 
   IFL - Olars product tabs semantic accordion controls
   Parent Olars styles target h2.resp-accordion; mirror them for BUTTON.
   ========================================================================== */
.single-product .woocommerce-tabs button.resp-accordion {
    display: flex;
    align-items: center;
    width: 100%;
    font-family: inherit;
    font-weight: 700;
    font-size: 16px;
    line-height: 18px;
    text-align: left;
    color: inherit;
    background: transparent;
    padding: 1em;
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.single-product .woocommerce-tabs button.resp-accordion:before {
    font-family: "olars-icon";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    vertical-align: middle;
    content: "\e052";
    margin-right: 10px;
}

.single-product .woocommerce-tabs button.resp-accordion.active {
    border-bottom: 2px solid var(--primary);
}

.single-product .woocommerce-tabs button.resp-accordion.active:before {
    content: "\e055";
}

@media (min-width: 768px) {
    .single-product .woocommerce-tabs button.resp-accordion {
        display: none;
    }
}


/* ==========================================================================
   IFL - Blog archive card title size after H2 semantic fix
   ========================================================================== */

article.article-default .entry-title {
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 10px;
}

@media (max-width: 767px) {
    article.article-default .entry-title {
        font-size: 21px;
    }
}
