/**
 * Luzi Storefront — Shared components (buttons, empty state)
 * Markup comes from luzi_empty_state_html() in the snippet "Luzi Storefront: Cart".
 */
.luzi-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; padding: 0 24px; border: 1px solid transparent; border-radius: var(--lz-r-md);
    font: 700 15px/1 var(--lz-font); text-decoration: none; cursor: pointer;
    transition: transform var(--lz-dur) var(--lz-ease), box-shadow var(--lz-dur) var(--lz-ease), background var(--lz-dur) var(--lz-ease), color var(--lz-dur) var(--lz-ease);
}
.luzi-btn:hover { transform: translateY(-2px); }
.luzi-btn--primary { background: var(--lz-grad); color: #fff !important; box-shadow: 0 14px 26px -12px rgba(204, 0, 129, .6); }
.luzi-btn--ghost { background: #fff; color: var(--lz-pink) !important; border-color: var(--lz-pink-a30); }
.luzi-btn--ghost:hover { background: var(--lz-pink-a08); }

.luzi-empty {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    width: 100%; max-width: 460px; margin: 0 auto; padding: 28px 20px 24px; box-sizing: border-box;
}
.luzi-empty__ico {
    display: inline-flex; align-items: center; justify-content: center; width: 84px; height: 84px; margin-bottom: 18px;
    border-radius: 50%; background: var(--lz-grad-soft); color: var(--lz-pink); font-size: 40px;
    box-shadow: inset 0 0 0 1px var(--lz-pink-a14), 0 18px 34px -18px rgba(204, 0, 129, .5);
}
.luzi-empty__ico i { display: block; line-height: 1; font-size: 40px; }
.luzi-empty__title { margin: 0 0 8px; font: 800 20px/1.6 var(--lz-font); color: var(--lz-ink); }
.luzi-empty__text { margin: 0 0 22px; font: 400 14.5px/2 var(--lz-font); color: var(--lz-mute); }
.luzi-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; width: 100%; }
.luzi-empty__actions .luzi-btn { flex: 1 1 150px; }

/* Header mini-cart: hide WooCommerce's bare text, keep our card */
.elementor-menu-cart__container .woocommerce-mini-cart__empty-message { display: none; }
.elementor-menu-cart__container .luzi-empty { padding: 16px 8px 8px; max-width: 100%; }
.elementor-menu-cart__container .luzi-empty__ico { width: 68px; height: 68px; font-size: 32px; margin-bottom: 12px; }
.elementor-menu-cart__container .luzi-empty__ico i { font-size: 32px; }
.elementor-menu-cart__container .luzi-empty__title { font-size: 17px; }
.elementor-menu-cart__container .luzi-empty__text { font-size: 13.5px; margin-bottom: 16px; }
.elementor-menu-cart__container .luzi-empty__actions { flex-direction: column; }
.elementor-menu-cart__container .luzi-empty__actions .luzi-btn { width: 100%; flex: 0 0 auto; min-height: 46px; }

/* Cart page empty state sits in a card */
body.woocommerce-cart .luzi-cart-empty {
    margin: 8px auto 40px; max-width: 560px; padding: 24px; background: #fff; border: 1px solid var(--lz-line); border-radius: var(--lz-r-xl); box-shadow: var(--lz-sh-2);
}
body.woocommerce-cart .luzi-cart-empty .luzi-empty { padding: 20px 4px; }

/* Quantity stepper buttons (product + cart) */
.luzi-qty-btn {
    display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0;
    border: 0 !important; border-radius: 10px !important; background: #fff !important; color: var(--lz-ink) !important; font: 700 20px/1 var(--lz-font); cursor: pointer;
    box-shadow: var(--lz-sh-1); transition: background var(--lz-dur) var(--lz-ease), color var(--lz-dur) var(--lz-ease);
}
.luzi-qty-btn:hover { background: var(--lz-pink) !important; color: #fff !important; }

/* WooCommerce notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 16px !important; padding: 14px 18px !important;
    border: 1px solid var(--lz-line) !important; border-radius: var(--lz-r-md) !important; background: #fff !important;
    box-shadow: var(--lz-sh-1); font: 500 14.5px/1.9 var(--lz-font); color: var(--lz-ink-2); list-style: none;
}
.woocommerce-message { background: rgba(22, 163, 74, .07) !important; border-color: rgba(22, 163, 74, .28) !important; }
.woocommerce-info { background: rgba(37, 193, 192, .08) !important; border-color: rgba(37, 193, 192, .35) !important; }
.woocommerce-error { background: rgba(225, 29, 72, .06) !important; border-color: rgba(225, 29, 72, .3) !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { position: static !important; margin: 0 !important; }
.woocommerce-message .button, .woocommerce-info .button { margin-inline-start: auto; min-height: 40px; padding: 0 18px; border: 0; border-radius: var(--lz-r-md); background: var(--lz-grad); color: #fff !important; font: 700 13.5px var(--lz-font); }

/* Shop no-results card */
.luzi-empty--results { margin: 8px auto 32px; padding: 32px 24px; background: #fff; border: 1px solid var(--lz-line); border-radius: var(--lz-r-xl); box-shadow: var(--lz-sh-2); }
html body .woocommerce-message a.button, html body .woocommerce-info a.button { background: var(--lz-grad) !important; color: #fff !important; border: 0 !important; border-radius: var(--lz-r-md) !important; }
\n/* NOTE: do not set overflow on <html>: it stops <body>'s overflow from propagating to the viewport and breaks every position:sticky (shop filter, header). */\n
/* Price direction: bdi resolves to LTR (digits are neutral, the currency span is isolated), which put the currency on the right. Force RTL so the currency sits to the LEFT of the number. */
.woocommerce-Price-amount bdi { direction: rtl; unicode-bidi: isolate; }

/* Archive intro (term description shown under the archive H1 on brand and category pages) */
.luzi-archive-intro-wrap:not(:has(.luzi-archive-intro :is(p, ul, ol, h2, h3))) { display: none; }
.luzi-archive-intro { max-width: 880px; margin-inline: auto; font-size: 15px; line-height: 2; color: var(--lz-ink, #0f172a); }
.luzi-archive-intro p { margin: 0 0 10px; }
.luzi-archive-intro h2, .luzi-archive-intro h3 { font-size: 18px; line-height: 1.6; margin: 18px 0 8px; }
.luzi-archive-intro ul { margin: 8px 0 12px; padding-inline-start: 22px; }
.luzi-archive-intro li { margin-bottom: 4px; }
.luzi-archive-intro a { color: var(--lz-pink, #cc0081); text-decoration: none; font-weight: 600; }
.luzi-archive-intro a:hover { text-decoration: underline; }
