/* =========================================================
   Reusable site components: hero, product grids, trust, FAQ, footer, compare
========================================================= */

.shop-section-title { color: var(--shop-text, #073B5F); }
.shop-section-subtitle { color: var(--shop-muted, #5F7181); }
.shop-section-title::after { content: ""; display: block; width: 72px; height: 4px; margin-top: 14px; border-radius: 999px; background: var(--shop-accent, #10ABB6); }

/* =========================================================
   Hero 24R
========================================================= */
.hero24r {
    --purple-1: var(--shop-primary, #0971B7);
    --purple-2: var(--shop-primary-dark, #075E98);
    --purple-3: var(--shop-primary-deep, #053E66);
    --yellow: var(--shop-accent, #10ABB6);
    --yellow-dark: var(--shop-accent-dark, #0C8F99);
    --white: #ffffff;
    --text-dark: var(--shop-text, #073B5F);
    --muted: rgba(255,255,255,.84);
    position: relative;
    width: min(100% - 24px, 1380px);
    margin: 28px auto 34px;
    border-radius: 30px;
    overflow: hidden;
    background: radial-gradient(circle at 85% 20%, rgba(255,255,255,.10), transparent 25%), linear-gradient(135deg, var(--purple-1) 0%, var(--purple-2) 55%, var(--purple-3) 100%);
    box-shadow: 0 24px 70px rgba(7, 59, 95, .18);
}
.hero24r::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 36px 36px; opacity: .25; pointer-events: none; }
.hero24r, .hero24r * { box-sizing: border-box; }
.hero24r__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 40px; padding: 54px 54px 42px; }
.hero24r__content { max-width: 700px; }
.hero24r__eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; margin-bottom: 22px; border-radius: 999px; background: rgba(16,171,182,.16); border: 1px solid rgba(16,171,182,.32); color: #dffbff; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.hero24r__eyebrow svg { width: 16px; height: 16px; flex: 0 0 16px; }
.hero24r__title { margin: 0; color: #fff; font-size: clamp(40px, 4.5vw, 72px); line-height: .98; letter-spacing: -.045em; font-weight: 950; }
.hero24r__title span { color: var(--yellow); }
.hero24r__text { margin: 22px 0 0; max-width: 640px; color: var(--muted); font-size: 20px; line-height: 1.58; }
.hero24r__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.hero24r__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 24px; border-radius: 14px; text-decoration: none; font-size: 16px; font-weight: 800; transition: all .2s ease; }
.hero24r__btn--primary { background: var(--yellow); color: #fff; box-shadow: 0 14px 28px rgba(16,171,182,.24); }
.hero24r__btn--primary:hover { background: #13c2ce; color: #fff; transform: translateY(-2px); }
.hero24r__btn--secondary { background: rgba(255,255,255,.10); color: #fff; border: 1px solid rgba(255,255,255,.18); }
.hero24r__btn--secondary:hover { background: rgba(255,255,255,.16); color: #fff; transform: translateY(-2px); }
.hero24r__features { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.hero24r__feature { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.95); font-size: 13px; font-weight: 700; }
.hero24r__feature svg { width: 16px; height: 16px; color: var(--yellow); }
.hero24r__visual { position: relative; }
.hero24r__image-card { position: relative; border-radius: 28px; overflow: hidden; background: linear-gradient(180deg, #f5fbfd 0%, #eef8fb 100%); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 28px 60px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.45); min-height: 420px; }
.hero24r__image-card img { display: block; width: 100%; height: 100%; min-height: 420px; -o-object-fit: cover; object-fit: cover; -o-object-position: center center; object-position: center center; }
.hero24r__badge { position: absolute; padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.96); color: var(--text-dark); font-size: 13px; font-weight: 800; box-shadow: 0 12px 24px rgba(0,0,0,.10); }
.hero24r__badge--1 { top: 18px; left: 18px; }
.hero24r__badge--2 { top: 18px; right: 18px; }
.hero24r__badge--3 { bottom: 18px; left: 18px; }
.hero24r__badge::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--yellow); vertical-align: middle; }
.hero24r__bottom { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); }
.hero24r__usp { padding: 18px 20px; display: flex; align-items: flex-start; gap: 12px; border-right: 1px solid rgba(255,255,255,.08); }
.hero24r__usp:last-child { border-right: none; }
.hero24r__usp-icon { width: 42px; height: 42px; border-radius: 12px; background: rgba(255,255,255,.10); display: flex; align-items: center; justify-content: center; color: var(--yellow); flex: 0 0 42px; }
.hero24r__usp-icon svg { width: 19px; height: 19px; }
.hero24r__usp strong { display: block; color: #fff; font-size: 15px; font-weight: 800; line-height: 1.2; }
.hero24r__usp span { display: block; margin-top: 3px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.45; }

/* =========================================================
   Clean product grid used by Elementor sections
========================================================= */
.shop-products-grid-clean {
    --pg-purple: var(--shop-text, #073B5F);
    --pg-purple-2: var(--shop-primary, #0971B7);
    --pg-yellow: var(--shop-accent, #10ABB6);
    --pg-soft: var(--shop-primary-soft, #EEF8FB);
    --pg-border: var(--shop-border, #D7ECF4);
    --pg-muted: var(--shop-muted, #5F7181);
    --pg-bg: #fff;
}
.shop-products-grid-clean * { box-sizing: border-box; }
.shop-products-grid-clean .woocommerce ul.products,
.shop-products-grid-clean ul.products,
.shop-products-grid-clean ul.products.elementor-grid { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 18px !important; margin: 0 !important; padding: 0 !important; }
.shop-products-grid-clean ul.products li.product { position: relative !important; width: 100% !important; float: none !important; clear: none !important; margin: 0 !important; padding: 16px !important; border-radius: 22px !important; background: var(--pg-bg) !important; border: 1px solid var(--pg-border) !important; box-shadow: 0 6px 20px rgba(7,59,95,.055) !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; min-height: 100% !important; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.shop-products-grid-clean ul.products li.product:hover { transform: translateY(-4px); border-color: rgba(16,171,182,.65) !important; box-shadow: 0 16px 36px rgba(7,59,95,.11) !important; }
.shop-products-grid-clean ul.products li.product .woocommerce-LoopProduct-link { display: block !important; text-decoration: none !important; color: inherit !important; }
.shop-products-grid-clean ul.products li.product img { width: 100% !important; max-width: 165px !important; height: 150px !important; -o-object-fit: contain !important; object-fit: contain !important; display: block !important; margin: 0 auto 14px !important; padding: 10px !important; border-radius: 18px !important; background: radial-gradient(circle at center, rgba(16,171,182,.09), transparent 58%), linear-gradient(180deg, #fff, #f5fbfd) !important; transition: transform .22s ease; }
.shop-products-grid-clean ul.products li.product:hover img { transform: scale(1.035); }
.shop-products-grid-clean ul.products li.product .woocommerce-loop-product__title { min-height: 42px !important; max-height: 42px !important; margin: 0 0 8px !important; padding: 0 !important; color: var(--pg-purple) !important; font-size: 14px !important; font-weight: 900 !important; line-height: 1.35 !important; letter-spacing: -.015em; text-align: left !important; overflow: hidden !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.shop-products-grid-clean ul.products li.product:hover .woocommerce-loop-product__title { color: var(--pg-purple-2) !important; }
.shop-products-grid-clean ul.products li.product .price { display: block !important; min-height: 28px !important; margin: 0 0 13px !important; color: var(--pg-purple) !important; font-size: 17px !important; font-weight: 950 !important; line-height: 1.2 !important; text-align: left !important; }
.shop-products-grid-clean ul.products li.product .button,
.shop-products-grid-clean ul.products li.product .yith-wcqv-button,
.shop-products-grid-clean ul.products li.product .yith-wcwl-add-to-wishlist-button,
.shop-products-grid-clean ul.products li.product .compare.button { position: static !important; float: none !important; clear: both !important; width: 100% !important; max-width: 100% !important; transform: none !important; white-space: nowrap !important; text-decoration: none !important; }
.shop-products-grid-clean ul.products li.product .add_to_cart_button,
.shop-products-grid-clean ul.products li.product .product_type_simple,
.shop-products-grid-clean ul.products li.product .ajax_add_to_cart { width: 100% !important; min-height: 44px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin: auto 0 8px !important; padding: 0 12px !important; border: 0 !important; border-radius: 14px !important; background: var(--pg-yellow) !important; color: #fff !important; font-size: 13px !important; font-weight: 950 !important; line-height: 1 !important; text-align: center !important; box-shadow: 0 10px 22px rgba(16,171,182,.24) !important; transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease; }
.shop-products-grid-clean ul.products li.product .add_to_cart_button::before,
.shop-products-grid-clean ul.products li.product .product_type_simple::before,
.shop-products-grid-clean ul.products li.product .ajax_add_to_cart::before { content: "+"; margin-right: 7px; font-size: 13px; line-height: 1; }
.shop-products-grid-clean ul.products li.product .add_to_cart_button::after,
.shop-products-grid-clean ul.products li.product .product_type_simple::after,
.shop-products-grid-clean ul.products li.product .ajax_add_to_cart::after,
.shop-products-grid-clean ul.products li.product .button::after { display: none !important; content: none !important; }
.shop-products-grid-clean ul.products li.product .add_to_cart_button:hover,
.shop-products-grid-clean ul.products li.product .product_type_simple:hover,
.shop-products-grid-clean ul.products li.product .ajax_add_to_cart:hover,
.shop-products-grid-clean ul.products li.product .add_to_cart_button.added { background: var(--pg-purple-2) !important; color: #fff !important; transform: translateY(-1px) !important; box-shadow: 0 13px 26px rgba(9,113,183,.24) !important; }
.shop-products-grid-clean ul.products li.product .add_to_cart_button.added::before { content: "✓" !important; margin-right: 8px !important; }
.shop-products-grid-clean ul.products li.product a.added_to_cart.wc-forward { display: none !important; }
.shop-products-grid-clean ul.products li.product .yith-wcqv-button,
.shop-products-grid-clean ul.products li.product .yith-wcwl-add-to-wishlist-button,
.shop-products-grid-clean ul.products li.product .compare.button { min-height: 38px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin: 0 0 8px !important; padding: 0 12px !important; border-radius: 13px !important; background: #fff !important; color: var(--pg-purple) !important; border: 1px solid var(--pg-border) !important; font-size: 12px !important; font-weight: 850 !important; line-height: 1 !important; box-shadow: none !important; }
.shop-products-grid-clean ul.products li.product .yith-wcqv-button { background: var(--pg-soft) !important; }
.shop-products-grid-clean ul.products li.product .yith-wcqv-button:hover,
.shop-products-grid-clean ul.products li.product .yith-wcwl-add-to-wishlist-button:hover,
.shop-products-grid-clean ul.products li.product .compare.button:hover { background: var(--pg-soft) !important; color: var(--pg-purple-2) !important; border-color: rgba(16,171,182,.58) !important; }
.shop-products-grid-clean ul.products li.product .yith-add-to-wishlist-button-block { width: 100% !important; margin: 0 0 8px !important; }
.shop-products-grid-clean ul.products li.product .compare.button::before { content: "↔"; font-size: 14px; line-height: 1; margin-right: 7px; }
.shop-products-grid-clean .woocommerce-pagination { margin-top: 30px !important; }
.shop-products-grid-clean .woocommerce-pagination ul.page-numbers { display: flex !important; justify-content: center !important; align-items: center !important; flex-wrap: wrap !important; gap: 8px !important; border: 0 !important; margin: 0 !important; padding: 0 !important; }
.shop-products-grid-clean .woocommerce-pagination ul.page-numbers li { border: 0 !important; margin: 0 !important; padding: 0 !important; }
.shop-products-grid-clean .woocommerce-pagination .page-numbers { min-width: 40px !important; height: 40px !important; padding: 0 12px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 12px !important; border: 1px solid var(--pg-border) !important; background: #fff !important; color: var(--pg-purple) !important; font-size: 14px !important; font-weight: 850 !important; line-height: 1 !important; text-decoration: none !important; }
.shop-products-grid-clean .woocommerce-pagination .page-numbers.current { background: var(--pg-yellow) !important; color: #fff !important; border-color: var(--pg-yellow) !important; }
.shop-products-grid-clean .woocommerce-pagination a.page-numbers:hover { background: var(--pg-purple-2) !important; color: #fff !important; border-color: var(--pg-purple-2) !important; }

/* =========================================================
   Trust and FAQ sections
========================================================= */
.shop-trust-section,
.shop-faq-section { --section-primary: var(--shop-text, #073B5F); --section-primary-2: var(--shop-primary, #0971B7); --section-soft: var(--shop-primary-soft, #EEF8FB); --section-accent: var(--shop-accent, #10ABB6); --section-muted: var(--shop-muted, #5F7181); --section-border: var(--shop-border, #D7ECF4); box-sizing: border-box; }
.shop-trust-section { width: min(100% - 32px, 1380px); margin: 58px auto; }
.shop-trust-section *,.shop-faq-section * { box-sizing: border-box; }
.shop-trust-head { max-width: 760px; margin: 0 0 28px; }
.shop-trust-eyebrow,.shop-faq-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px; color: var(--section-primary-2); font-size: 13px; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
.shop-trust-eyebrow::before,.shop-faq-eyebrow::before,.shop-faq-eyebrow::after { content: ""; width: 34px; height: 3px; border-radius: 999px; background: var(--section-accent); }
.shop-trust-title,.shop-faq-title { margin: 0; color: var(--section-primary); font-size: clamp(30px, 3vw, 44px); font-weight: 950; line-height: 1.08; letter-spacing: -.04em; }
.shop-trust-subtitle,.shop-faq-subtitle { max-width: 680px; margin: 14px 0 0; color: var(--section-muted); font-size: 17px; line-height: 1.65; }
.shop-trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.shop-trust-card { position: relative; min-height: 245px; padding: 26px 24px; border-radius: 24px; background: radial-gradient(circle at 90% 12%, rgba(16,171,182,.14), transparent 34%), #fff; border: 1px solid var(--section-border); box-shadow: 0 8px 24px rgba(7,59,95,.055); overflow: hidden; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.shop-trust-card:hover { transform: translateY(-5px); border-color: rgba(16,171,182,.62); box-shadow: 0 18px 42px rgba(7,59,95,.12); }
.shop-trust-icon { width: 56px; height: 56px; margin-bottom: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 18px; background: var(--section-soft); color: var(--section-primary-2); border: 1px solid rgba(9,113,183,.12); }
.shop-trust-icon svg { width: 27px; height: 27px; }
.shop-trust-card h3 { margin: 0 0 10px; color: var(--section-primary); font-size: 19px; font-weight: 900; line-height: 1.25; letter-spacing: -.02em; }
.shop-trust-card p { margin: 0; color: var(--section-muted); font-size: 15px; line-height: 1.62; }
.shop-trust-number { position: absolute; right: 20px; bottom: 16px; color: rgba(7,59,95,.07); font-size: 54px; font-weight: 950; line-height: 1; letter-spacing: -.06em; }
.shop-trust-bottom { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; margin-top: 18px; }
.shop-trust-banner { position: relative; padding: 30px; border-radius: 26px; background: radial-gradient(circle at 85% 20%, rgba(16,171,182,.18), transparent 30%), linear-gradient(135deg, var(--shop-primary), var(--shop-primary-dark)); color: #fff; overflow: hidden; box-shadow: 0 18px 44px rgba(7,59,95,.16); }
.shop-trust-banner h3 { margin: 0 0 10px; color: #fff; font-size: clamp(24px, 2vw, 32px); font-weight: 950; line-height: 1.12; letter-spacing: -.035em; }
.shop-trust-banner p { max-width: 760px; margin: 0; color: rgba(255,255,255,.84); font-size: 16px; line-height: 1.65; }
.shop-trust-mini { padding: 30px; border-radius: 26px; background: #f2fbfc; border: 1px solid rgba(16,171,182,.32); }
.shop-trust-mini strong { display: block; color: var(--section-primary); font-size: 21px; font-weight: 950; line-height: 1.2; letter-spacing: -.025em; }
.shop-trust-mini span { display: block; margin-top: 9px; color: var(--section-muted); font-size: 15px; line-height: 1.55; }

.shop-faq-section { width: min(100% - 32px, 1180px); margin: 58px auto 72px; }
.shop-faq-head { text-align: center; max-width: 760px; margin: 0 auto 30px; }
.shop-faq-subtitle { margin-left: auto; margin-right: auto; }
.shop-faq-list { display: grid; gap: 12px; }
.shop-faq-item { border: 1px solid var(--section-border); border-radius: 18px; background: #fff; box-shadow: 0 6px 20px rgba(7,59,95,.045); overflow: hidden; }
.shop-faq-item summary { position: relative; list-style: none; cursor: pointer; padding: 22px 64px 22px 24px; color: var(--section-primary); font-size: 17px; font-weight: 900; line-height: 1.35; transition: color .18s ease, background-color .18s ease; }
.shop-faq-item summary::-webkit-details-marker { display: none; }
.shop-faq-item summary::after { content: "+"; position: absolute; top: 50%; right: 22px; width: 34px; height: 34px; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--section-soft); color: var(--section-primary-2); font-size: 24px; font-weight: 800; line-height: 1; transition: transform .18s ease, background-color .18s ease, color .18s ease; }
.shop-faq-item[open] summary { background: linear-gradient(90deg, rgba(16,171,182,.10), transparent); color: var(--section-primary-2); }
.shop-faq-item[open] summary::after { content: "–"; background: var(--section-accent); color: #fff; }
.shop-faq-content { padding: 0 24px 22px; color: var(--section-muted); font-size: 15.5px; line-height: 1.72; }
.shop-faq-content p { margin: 0; }
.shop-faq-content a { color: var(--section-primary-2); font-weight: 800; text-decoration: none; }
.shop-faq-cta { margin-top: 24px; padding: 26px; border-radius: 22px; background: radial-gradient(circle at 90% 20%, rgba(16,171,182,.16), transparent 30%), linear-gradient(135deg, var(--shop-primary), var(--shop-primary-dark)); color: #fff; text-align: center; }
.shop-faq-cta strong { display: block; margin-bottom: 8px; font-size: 22px; font-weight: 950; line-height: 1.2; }
.shop-faq-cta span { display: block; max-width: 720px; margin: 0 auto; color: rgba(255,255,255,.84); font-size: 15.5px; line-height: 1.6; }

/* =========================================================
   Premium footer
========================================================= */
.shop-premium-footer { --footer-purple: var(--shop-primary-deep, #053E66); --footer-purple-2: var(--shop-primary, #0971B7); --footer-purple-3: var(--shop-primary-dark, #075E98); --footer-yellow: var(--shop-accent, #10ABB6); --footer-white: #fff; --footer-muted: rgba(255,255,255,.76); --footer-soft: rgba(255,255,255,.08); --footer-border: rgba(255,255,255,.15); --footer-green: var(--shop-success, #18A957); width: 100%; margin: 70px 0 0; color: var(--footer-white); background: radial-gradient(circle at 82% 12%, rgba(16,171,182,.18), transparent 30%), radial-gradient(circle at 10% 18%, rgba(9,113,183,.35), transparent 34%), linear-gradient(135deg, var(--footer-purple) 0%, var(--footer-purple-2) 55%, var(--footer-purple-3) 100%); overflow: hidden; }
.shop-premium-footer,.shop-premium-footer * { box-sizing: border-box; }
.shop-footer-wrap { width: min(100% - 32px, 1380px); margin: 0 auto; }
.shop-footer-cta { position: relative; display: grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: center; padding: 36px 0 34px; border-bottom: 1px solid var(--footer-border); }
.shop-footer-cta h2 { margin: 0 0 10px; color: #fff; font-size: clamp(28px, 3vw, 44px); font-weight: 950; line-height: 1.08; letter-spacing: -.045em; }
.shop-footer-cta p { max-width: 760px; margin: 0; color: var(--footer-muted); font-size: 16px; line-height: 1.65; }
.shop-footer-search { display: flex; gap: 10px; width: 100%; padding: 8px; border-radius: 18px; background: rgba(255,255,255,.10); border: 1px solid var(--footer-border); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.shop-footer-search input { flex: 1; min-width: 0; height: 50px; padding: 0 16px; border: 0; border-radius: 13px; background: #fff; color: var(--shop-text); font-size: 15px; font-weight: 700; outline: none; }
.shop-footer-search button { height: 50px; padding: 0 22px; border: 0; border-radius: 13px; background: var(--footer-yellow); color: #fff; font-size: 14px; font-weight: 950; cursor: pointer; white-space: nowrap; transition: transform .18s ease, background .18s ease; }
.shop-footer-search button:hover { background: #fff; color: var(--shop-text); transform: translateY(-1px); }
.shop-footer-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 26px 0; border-bottom: 1px solid var(--footer-border); }
.shop-footer-benefit { display: flex; gap: 13px; align-items: flex-start; padding: 18px; border-radius: 18px; background: var(--footer-soft); border: 1px solid rgba(255,255,255,.08); }
.shop-footer-benefit svg { flex: 0 0 28px; width: 28px; height: 28px; color: var(--footer-yellow); }
.shop-footer-benefit strong { display: block; margin-bottom: 4px; color: #fff; font-size: 15px; font-weight: 950; line-height: 1.25; }
.shop-footer-benefit span { display: block; color: var(--footer-muted); font-size: 13px; line-height: 1.45; }
.shop-footer-main { display: grid; grid-template-columns: 1.15fr .85fr .85fr .85fr 1fr; gap: 34px; padding: 44px 0 38px; }
.shop-footer-brand { max-width: 360px; }
.shop-footer-logo { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; text-decoration: none; }
.shop-footer-logo-mark { width: 48px; height: 48px; border-radius: 15px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--footer-yellow), #0a90cc 52%, #0b5d95); box-shadow: 0 12px 28px rgba(0,0,0,.18); }
.shop-footer-logo-mark svg { width: 27px; height: 27px; color: #fff; }
.shop-footer-logo-text strong { color: #fff; font-size: 24px; font-weight: 950; line-height: 1; letter-spacing: -.04em; }
.shop-footer-logo-text span { color: var(--footer-muted); font-size: 12px; font-weight: 700; }
.shop-footer-brand p { margin: 0 0 20px; color: var(--footer-muted); font-size: 14.5px; line-height: 1.7; }
.shop-footer-social { display: flex; flex-wrap: wrap; gap: 10px; }
.shop-footer-social a { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 13px; background: rgba(255,255,255,.10); color: #fff; border: 1px solid var(--footer-border); text-decoration: none; transition: background .18s ease, transform .18s ease, color .18s ease; }
.shop-footer-social a:hover { background: var(--footer-yellow); color: #fff; transform: translateY(-2px); }
.shop-footer-social svg { width: 19px; height: 19px; }
.shop-footer-col h3,.shop-footer-accordion summary { margin: 0 0 16px; color: #fff; font-size: 15px; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.shop-footer-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.shop-footer-col a { display: inline-flex; align-items: center; gap: 7px; color: var(--footer-muted); font-size: 14px; line-height: 1.35; text-decoration: none; transition: color .18s ease, transform .18s ease; }
.shop-footer-col a:hover { color: #fff; transform: translateX(3px); }
.shop-footer-accordion summary { list-style: none; cursor: default; }
.shop-footer-accordion summary::-webkit-details-marker { display: none; }
.shop-footer-contact-list { display: grid; gap: 12px; }
.shop-footer-contact-item { display: flex; gap: 12px; align-items: flex-start; color: var(--footer-muted); font-size: 14px; line-height: 1.55; }
.shop-footer-contact-item svg { flex: 0 0 20px; width: 20px; height: 20px; color: var(--footer-yellow); margin-top: 2px; }
.shop-footer-contact-item strong { display: block; color: #fff; font-size: 14px; font-weight: 900; }
.shop-footer-contact-item a { color: var(--footer-muted); text-decoration: none; }
.shop-footer-contact-item a:hover { color: #fff; }
.shop-footer-mini-badge { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding: 10px 12px; border-radius: 999px; background: rgba(24,169,87,.14); border: 1px solid rgba(24,169,87,.25); color: #fff; font-size: 13px; font-weight: 850; }
.shop-footer-mini-badge::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--footer-green); }
.shop-footer-bottom { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; padding: 20px 0 26px; border-top: 1px solid var(--footer-border); }
.shop-footer-bottom p { margin: 0; color: rgba(255,255,255,.66); font-size: 13px; line-height: 1.55; }
.shop-footer-payments { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.shop-footer-payment { min-width: 52px; height: 32px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: rgba(255,255,255,.92); color: var(--shop-text); font-size: 11px; font-weight: 950; letter-spacing: .02em; }
.shop-footer-seo-strip { padding: 15px 0; border-top: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.10); }
.shop-footer-seo-strip p { width: min(100% - 32px, 1380px); margin: 0 auto; color: rgba(255,255,255,.60); font-size: 12.5px; line-height: 1.65; text-align: center; }

/* =========================================================
   YITH Compare preview bar and popup
========================================================= */
#yith-woocompare-preview-bar { --cmp-purple: var(--shop-primary-deep, #053E66); --cmp-purple-2: var(--shop-primary, #0971B7); --cmp-yellow: var(--shop-accent, #10ABB6); position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 999999 !important; background: radial-gradient(circle at 88% 20%, rgba(16,171,182,.14), transparent 28%), linear-gradient(135deg, var(--cmp-purple), var(--cmp-purple-2)) !important; border-top: 3px solid var(--cmp-yellow) !important; box-shadow: 0 -18px 48px rgba(7,59,95,.28) !important; color: #fff !important; padding: 0 !important; }
#yith-woocompare-preview-bar * { box-sizing: border-box; }
#yith-woocompare-preview-bar .container { width: min(100% - 32px, 1220px) !important; max-width: 1220px !important; margin: 0 auto !important; padding: 14px 0 !important; display: grid !important; grid-template-columns: 210px minmax(0, 1fr) 210px; gap: 18px; align-items: center; }
#yith-woocompare-preview-bar header p { margin: 0 !important; font-size: 0 !important; line-height: 0 !important; color: transparent !important; }
#yith-woocompare-preview-bar header p br { display: none !important; }
#yith-woocompare-preview-bar header p::before { content: "Compară produse"; display: block; margin-bottom: 4px; color: #fff !important; font-size: 16px !important; font-weight: 950 !important; line-height: 1.15 !important; }
#yith-woocompare-preview-bar header p::after { content: "Alege cel puțin 2 produse"; display: block; color: rgba(255,255,255,.82) !important; font-size: 13px !important; font-weight: 750 !important; line-height: 1.35 !important; }
#yith-woocompare-preview-bar .compare-list { display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
#yith-woocompare-preview-bar .compare-list li { position: relative !important; width: 72px !important; height: 72px !important; min-width: 72px !important; border-radius: 16px !important; background: #fff !important; border: 1px solid rgba(255,255,255,.28) !important; box-shadow: 0 10px 22px rgba(0,0,0,.12) !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; }
#yith-woocompare-preview-bar img { width: 62px !important; height: 62px !important; max-width: 62px !important; max-height: 62px !important; -o-object-fit: contain !important; object-fit: contain !important; padding: 5px !important; margin: 0 !important; }
#yith-woocompare-preview-bar .compare-list li .image-wrap > .remove > a { position: absolute !important; top: -7px !important; right: -7px !important; width: 22px !important; height: 22px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; margin: 0 !important; border-radius: 999px !important; background: var(--shop-danger, #F00614) !important; border: 2px solid #fff !important; box-shadow: 0 6px 14px rgba(240,6,20,.32) !important; text-indent: -9999px !important; overflow: hidden !important; color: transparent !important; font-size: 0 !important; z-index: 20 !important; }
#yith-woocompare-preview-bar .compare-list li .image-wrap > .remove > a::before,
#yith-woocompare-preview-bar .compare-list li .image-wrap > .remove > a::after { content: "" !important; position: absolute !important; left: 50% !important; top: 50% !important; width: 10px !important; height: 2px !important; background: #fff !important; border-radius: 999px !important; transform-origin: center !important; }
#yith-woocompare-preview-bar .compare-list li .image-wrap > .remove > a::before { transform: translate(-50%, -50%) rotate(45deg) !important; }
#yith-woocompare-preview-bar .compare-list li .image-wrap > .remove > a::after { transform: translate(-50%, -50%) rotate(-45deg) !important; }
#yith-woocompare-preview-bar .yith-woocompare-open,
#yith-woocompare-preview-bar footer .button { width: 100% !important; min-height: 46px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 18px !important; border: 0 !important; border-radius: 14px !important; background: var(--cmp-yellow) !important; box-shadow: 0 12px 26px rgba(16,171,182,.24) !important; text-decoration: none !important; font-size: 0 !important; line-height: 0 !important; color: transparent !important; overflow: hidden !important; }
#yith-woocompare-preview-bar .yith-woocompare-open::before,
#yith-woocompare-preview-bar footer .button::before { content: "Vezi comparația"; color: #fff !important; font-size: 14px !important; font-weight: 950 !important; line-height: 1 !important; }

.yith-woocompare-popup-container { --cmp-purple: var(--shop-text, #073B5F); --cmp-purple-2: var(--shop-primary, #0971B7); --cmp-yellow: var(--shop-accent, #10ABB6); --cmp-soft: var(--shop-primary-soft, #EEF8FB); --cmp-border: var(--shop-border, #D7ECF4); --cmp-muted: var(--shop-muted, #5F7181); --cmp-red: var(--shop-danger, #F00614); --cmp-green: var(--shop-success, #18A957); position: fixed !important; inset: 0 !important; z-index: 99999999 !important; padding: 24px !important; background: rgba(3,28,46,.72) !important; backdrop-filter: blur(7px) !important; -webkit-backdrop-filter: blur(7px) !important; overflow: auto !important; }
.yith-woocompare-popup-container * { box-sizing: border-box !important; }
.yith-woocompare-popup-container .yith-woocompare-table-wrapper,
.yith-woocompare-popup-container .yith-woocompare-table-scroll-wrapper { width: min(96vw, 1380px) !important; max-width: 1380px !important; height: auto !important; max-height: calc(100vh - 48px) !important; margin: 0 auto !important; border-radius: 28px !important; background: #fff !important; overflow: hidden !important; box-shadow: 0 34px 90px rgba(3,28,46,.38) !important; }
.yith-woocompare-popup-container .DTFC_LeftWrapper,
.yith-woocompare-popup-container .DTFC_RightWrapper,
.yith-woocompare-popup-container .dataTables_scrollHead,
.yith-woocompare-popup-container .dataTables_scrollFoot { display: none !important; }
.yith-woocompare-popup-container .dataTables_wrapper,
.yith-woocompare-popup-container .DTFC_ScrollWrapper,
.yith-woocompare-popup-container .dataTables_scroll { position: static !important; width: 100% !important; height: auto !important; background: #fff !important; }
.yith-woocompare-popup-container .dataTables_scrollBody { width: 100% !important; max-height: calc(100vh - 72px) !important; overflow: auto !important; border: 0 !important; background: #fff !important; }
.yith-woocompare-popup-container table.compare-list { width: auto !important; min-width: 980px !important; margin: 0 !important; border-collapse: separate !important; border-spacing: 0 !important; table-layout: fixed !important; background: #fff !important; }
.yith-woocompare-popup-container table.compare-list th,
.yith-woocompare-popup-container table.compare-list td { width: 210px !important; min-width: 210px !important; max-width: 210px !important; padding: 15px 14px !important; border: 0 !important; border-right: 1px solid var(--cmp-border) !important; border-bottom: 1px solid var(--cmp-border) !important; background: #fff !important; color: var(--cmp-purple) !important; text-align: center !important; vertical-align: middle !important; font-size: 14px !important; line-height: 1.55 !important; }
.yith-woocompare-popup-container table.compare-list th,
.yith-woocompare-popup-container table.compare-list th.fields,
.yith-woocompare-popup-container table.compare-list tbody th { position: sticky !important; left: 0 !important; z-index: 8 !important; width: 180px !important; min-width: 180px !important; max-width: 180px !important; background: var(--cmp-soft) !important; text-align: left !important; font-weight: 950 !important; box-shadow: 8px 0 18px rgba(7,59,95,.06) !important; }
.yith-woocompare-popup-container tr.product_info th { background: linear-gradient(135deg, var(--shop-primary), var(--shop-primary-dark)) !important; color: #fff !important; }
.yith-woocompare-popup-container tr.product_info th h2 { margin: 0 !important; color: #fff !important; font-size: 22px !important; font-weight: 950 !important; line-height: 1.15 !important; letter-spacing: -.035em !important; }
.yith-woocompare-popup-container tr.product_info .image-wrap { position: relative !important; width: 135px !important; height: 135px !important; margin: 0 auto 14px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 20px !important; background: radial-gradient(circle at center, rgba(16,171,182,.08), transparent 58%), linear-gradient(180deg, #fff, #f5fbfd) !important; border: 1px solid var(--cmp-border) !important; overflow: visible !important; }
.yith-woocompare-popup-container tr.product_info .image-wrap img { width: 115px !important; height: 115px !important; max-width: 115px !important; max-height: 115px !important; -o-object-fit: contain !important; object-fit: contain !important; margin: 0 !important; padding: 8px !important; }
.yith-woocompare-popup-container .product_title { min-height: 40px !important; max-height: 40px !important; margin: 0 0 14px !important; color: var(--cmp-purple) !important; font-size: 14px !important; font-weight: 950 !important; line-height: 1.35 !important; overflow: hidden !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; }
.yith-woocompare-popup-container .add_to_cart_button { width: 100% !important; max-width: 165px !important; min-height: 40px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto !important; padding: 0 12px !important; border: 0 !important; border-radius: 13px !important; background: var(--cmp-yellow) !important; color: #fff !important; font-size: 12px !important; font-weight: 950 !important; line-height: 1 !important; text-decoration: none !important; box-shadow: 0 10px 22px rgba(16,171,182,.22) !important; }
.yith-woocompare-popup-container .add_to_cart_button:hover,
.yith-woocompare-popup-container .add_to_cart_button.added { background: var(--cmp-purple-2) !important; color: #fff !important; }
.yith-woocompare-popup-container a.added_to_cart.wc-forward { display: none !important; }
.yith-woocompare-popup-container .availability-label { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 28px !important; padding: 0 11px !important; border-radius: 999px !important; background: rgba(24,169,87,.10) !important; color: var(--cmp-green) !important; font-size: 0 !important; font-weight: 900 !important; }
.yith-woocompare-popup-container .availability-label::before { content: "" !important; width: 7px !important; height: 7px !important; margin-right: 7px !important; border-radius: 999px !important; background: var(--cmp-green) !important; }
.yith-woocompare-popup-container .availability-label::after { content: "În stoc" !important; font-size: 12px !important; line-height: 1 !important; }
.yith-woocompare-popup-container tr.weight,
.yith-woocompare-popup-container tr.dimensions,
.yith-woocompare-popup-container td.filler,
.yith-woocompare-popup-container th.filler { display: none !important; }
.yith-woocompare-popup-container .yith-woocompare-popup-close { position: fixed !important; top: 28px !important; right: 34px !important; z-index: 999999999 !important; width: 44px !important; height: 44px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 999px !important; background: #fff !important; color: var(--cmp-purple) !important; border: 1px solid var(--cmp-border) !important; box-shadow: 0 12px 28px rgba(7,59,95,.18) !important; font-size: 0 !important; text-decoration: none !important; }
.yith-woocompare-popup-container .yith-woocompare-popup-close::before,
.yith-woocompare-popup-container .yith-woocompare-popup-close::after { content: "" !important; position: absolute !important; width: 18px !important; height: 2px !important; border-radius: 999px !important; background: currentColor !important; }
.yith-woocompare-popup-container .yith-woocompare-popup-close::before { transform: rotate(45deg) !important; }
.yith-woocompare-popup-container .yith-woocompare-popup-close::after { transform: rotate(-45deg) !important; }
.yith-woocompare-popup-container .yith-woocompare-popup-close:hover { background: var(--cmp-red) !important; color: #fff !important; border-color: var(--cmp-red) !important; }

/* =========================================================
   Responsive components
========================================================= */
@media (max-width: 1200px) {
    .shop-products-grid-clean .woocommerce ul.products,
    .shop-products-grid-clean ul.products,
    .shop-products-grid-clean ul.products.elementor-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .shop-footer-main { grid-template-columns: 1.2fr 1fr 1fr; }
    .shop-footer-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
    .hero24r__inner { grid-template-columns: 1fr; gap: 30px; }
    .hero24r__content { max-width: 100%; }
    .shop-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .shop-trust-bottom { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
    .shop-products-grid-clean .woocommerce ul.products,
    .shop-products-grid-clean ul.products,
    .shop-products-grid-clean ul.products.elementor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; }
}
@media (max-width: 900px) {
    .shop-footer-cta,.shop-footer-bottom { grid-template-columns: 1fr; }
    .shop-footer-main { grid-template-columns: 1fr 1fr; }
    .shop-footer-brand { max-width: none; grid-column: 1 / -1; }
    .shop-footer-bottom { text-align: center; }
    .shop-footer-payments { justify-content: center; }
}
@media (max-width: 767px) {
    .hero24r { width: min(100% - 16px, 1380px); margin: 16px auto 24px; border-radius: 20px; }
    .hero24r__inner { padding: 26px 18px 18px; gap: 22px; }
    .hero24r__title { font-size: clamp(32px, 9vw, 46px); line-height: 1.02; }
    .hero24r__text { font-size: 16px; line-height: 1.55; }
    .hero24r__actions { flex-direction: column; }
    .hero24r__btn { width: 100%; }
    .hero24r__features { display: grid; grid-template-columns: 1fr; }
    .hero24r__image-card,.hero24r__image-card img { min-height: 260px; }
    .hero24r__bottom { grid-template-columns: 1fr; }
    .hero24r__usp { border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); }
    .shop-products-grid-clean .woocommerce ul.products,
    .shop-products-grid-clean ul.products,
    .shop-products-grid-clean ul.products.elementor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
    .shop-products-grid-clean ul.products li.product { padding: 13px !important; border-radius: 18px !important; }
    .shop-products-grid-clean ul.products li.product img { max-width: 145px !important; height: 135px !important; padding: 9px !important; border-radius: 15px !important; }
    .shop-trust-section,.shop-faq-section { width: min(100% - 22px, 1380px); margin: 42px auto; }
    .shop-trust-grid { grid-template-columns: 1fr; }
    .shop-trust-card,.shop-trust-banner,.shop-trust-mini { border-radius: 22px; }
    .shop-premium-footer { margin-top: 48px; }
    .shop-footer-wrap { width: min(100% - 22px, 1380px); }
    .shop-footer-cta { grid-template-columns: 1fr; padding: 30px 0 28px; }
    .shop-footer-search { flex-direction: column; padding: 10px; }
    .shop-footer-search input,.shop-footer-search button { width: 100%; }
    .shop-footer-benefits,.shop-footer-main { grid-template-columns: 1fr; }
    .shop-footer-main { gap: 12px; padding: 36px 0 32px; }
    .shop-footer-accordion { border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: rgba(255,255,255,.07); overflow: hidden; }
    .shop-footer-accordion summary { position: relative; margin: 0; padding: 17px 48px 17px 18px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none; }
    .shop-footer-accordion summary::after { content: "+"; position: absolute; top: 50%; right: 18px; width: 28px; height: 28px; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: rgba(16,171,182,.18); color: #fff; font-size: 21px; font-weight: 800; line-height: 1; }
    .shop-footer-accordion[open] summary::after { content: "–"; background: var(--shop-accent); color: #fff; }
    .shop-footer-accordion ul { padding: 0 18px 18px; gap: 9px; }
    .shop-footer-accordion:not([open]) ul { display: none; }
    #yith-woocompare-preview-bar .container { width: min(100% - 22px, 1220px) !important; grid-template-columns: 1fr !important; gap: 10px !important; padding: 12px 0 !important; }
    #yith-woocompare-preview-bar header p::before,
    #yith-woocompare-preview-bar header p::after { text-align: center; }
    #yith-woocompare-preview-bar .compare-list { flex-wrap: wrap !important; gap: 8px !important; }
    #yith-woocompare-preview-bar .compare-list li { width: 58px !important; height: 58px !important; min-width: 58px !important; }
    #yith-woocompare-preview-bar img { width: 50px !important; height: 50px !important; }
    .yith-woocompare-popup-container { padding: 10px !important; }
    .yith-woocompare-popup-container .yith-woocompare-table-wrapper,
    .yith-woocompare-popup-container .yith-woocompare-table-scroll-wrapper { width: calc(100vw - 20px) !important; max-width: calc(100vw - 20px) !important; border-radius: 20px !important; }
    .yith-woocompare-popup-container table.compare-list { min-width: 760px !important; }
    .yith-woocompare-popup-container table.compare-list th,
    .yith-woocompare-popup-container table.compare-list td { width: 170px !important; min-width: 170px !important; max-width: 170px !important; padding: 12px 10px !important; }
    .yith-woocompare-popup-container table.compare-list th,
    .yith-woocompare-popup-container table.compare-list th.fields,
    .yith-woocompare-popup-container table.compare-list tbody th { width: 130px !important; min-width: 130px !important; max-width: 130px !important; }
    .yith-woocompare-popup-container .yith-woocompare-popup-close { top: 16px !important; right: 18px !important; width: 40px !important; height: 40px !important; }
}
@media (max-width: 430px) {
    .shop-products-grid-clean .woocommerce ul.products,
    .shop-products-grid-clean ul.products,
    .shop-products-grid-clean ul.products.elementor-grid { grid-template-columns: 1fr !important; }
    .shop-products-grid-clean ul.products li.product img { max-width: 180px !important; height: 160px !important; }
}


/* =========================================
   v1.25 - Premium Loop Product Card refinements
   For Elementor Loop Item + WooCommerce
========================================= */
.shop-product-card-clean {
    --pc-purple: var(--shop-text, #073B5F);
    --pc-purple-2: var(--shop-primary, #0971B7);
    --pc-purple-soft: var(--shop-primary-soft, #EEF8FB);
    --pc-yellow: var(--shop-accent, #10ABB6);
    --pc-yellow-hover: var(--shop-accent-dark, #0C8F99);
    --pc-border: var(--shop-border, #D7ECF4);
    --pc-muted: var(--shop-muted, #5F7181);
    --pc-bg: #ffffff;
    width: 100%;
    height: 100%;
    min-height: 0 !important;
    padding: 18px;
    border-radius: 22px;
    background: var(--pc-bg);
    border: 1px solid var(--pc-border);
    box-shadow: 0 6px 20px rgba(7, 59, 95, 0.055);
    overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.shop-product-card-clean:hover {
    transform: translateY(-4px);
    border-color: rgba(16, 171, 182, 0.58);
    box-shadow: 0 16px 36px rgba(7, 59, 95, 0.11);
}

.shop-product-card-clean .elementor-widget {
    margin-bottom: 0 !important;
}

.shop-product-card-clean .elementor-widget-container {
    width: 100%;
}

.shop-product-card-clean .elementor-widget-theme-post-featured-image,
.shop-product-card-clean .elementor-widget-image {
    margin-bottom: 14px !important;
}

.shop-product-card-clean figure {
    margin: 0 !important;
}

.shop-product-card-clean figcaption {
    display: none !important;
}

.shop-product-card-clean img {
    width: 100% !important;
    max-width: 210px !important;
    height: 185px !important;
    -o-object-fit: contain !important;
       object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 13px !important;
    border-radius: 18px;
    background:
        radial-gradient(circle at center, rgba(16, 171, 182, 0.08), transparent 58%),
        linear-gradient(180deg, #ffffff, #F5FBFD);
    transition: transform .22s ease;
}

.shop-product-card-clean:hover img {
    transform: scale(1.035);
}

.shop-product-card-clean .product_title,
.shop-product-card-clean .entry-title,
.shop-product-card-clean .elementor-heading-title {
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: var(--pc-purple) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.015em;
    text-align: left !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.shop-product-card-clean:hover .product_title,
.shop-product-card-clean:hover .entry-title,
.shop-product-card-clean:hover .elementor-heading-title {
    color: var(--pc-purple-2) !important;
}

.shop-product-card-clean .elementor-widget-yith_wcbr_product_brand:has(.elementor-widget-container:empty) {
    display: none !important;
}

.shop-product-card-clean .elementor-widget-woocommerce-product-rating {
    min-height: 20px;
    margin: 0 0 9px !important;
}

.shop-product-card-clean .woocommerce-product-rating {
    margin: 0 !important;
    line-height: 1 !important;
}

.shop-product-card-clean .star-rating {
    float: none !important;
    display: inline-block !important;
    margin: 0 !important;
    width: 82px !important;
    height: 18px !important;
    font-size: 14px !important;
    line-height: 18px !important;
    color: var(--pc-yellow) !important;
}

.shop-product-card-clean .star-rating::before {
    color: #cfe7f0 !important;
}

.shop-product-card-clean .elementor-widget-woocommerce-product-rating .elementor-widget-container:empty::before {
    content: "★★★★★";
    display: inline-block;
    color: #cfe7f0;
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 18px;
}

.shop-product-card-clean .elementor-widget-woocommerce-product-price {
    margin: 0 0 14px !important;
}

.shop-product-card-clean .price {
    display: block !important;
    margin: 0 !important;
    color: var(--pc-purple) !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

.shop-product-card-clean .price .woocommerce-Price-amount,
.shop-product-card-clean .price bdi {
    color: var(--pc-purple) !important;
    font-weight: 950 !important;
}

.shop-product-card-clean .price del {
    color: #7e95a7 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    opacity: .8;
}

.shop-product-card-clean .price ins {
    text-decoration: none !important;
}

.shop-product-card-clean .elementor-widget-wc-add-to-cart {
    margin-top: auto !important;
    margin-bottom: 8px !important;
}

.shop-product-card-clean form.cart {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.shop-product-card-clean form.cart .quantity {
    display: none !important;
}

.shop-product-card-clean .single_add_to_cart_button,
.shop-product-card-clean .elementor-button.button,
.shop-product-card-clean .button.alt,
.shop-product-card-clean .shop-loop-add-to-cart-button {
    width: 100% !important;
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 0 8px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--pc-yellow) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(16, 171, 182, .24) !important;
    transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.shop-product-card-clean .single_add_to_cart_button:hover,
.shop-product-card-clean .elementor-button.button:hover,
.shop-product-card-clean .button.alt:hover,
.shop-product-card-clean .shop-loop-add-to-cart-button:hover,
.shop-product-card-clean .shop-loop-add-to-cart-button.added {
    background: var(--pc-purple-2) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 13px 26px rgba(9, 113, 183, .24) !important;
}

.shop-product-card-clean .single_add_to_cart_button svg,
.shop-product-card-clean .elementor-button-icon svg,
.shop-product-card-clean .shop-loop-cart-icon svg {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important;
}

.shop-product-card-clean .elementor-button-content-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.shop-product-card-clean .elementor-widget-yith_wcwl_add_to_wishlist {
    margin-bottom: 0 !important;
}

.shop-product-card-clean .yith-add-to-wishlist-button-block {
    width: 100% !important;
    margin: 0 !important;
}

.shop-product-card-clean .yith-wcwl-add-to-wishlist-button {
    width: 100% !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    color: var(--pc-purple) !important;
    border: 1px solid var(--pc-border) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.shop-product-card-clean .yith-wcwl-add-to-wishlist-button:hover {
    background: var(--pc-purple-soft) !important;
    border-color: rgba(16, 171, 182, .58) !important;
    color: var(--pc-purple-2) !important;
}

.shop-product-card-clean .yith-wcwl-icon {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
}

.shop-product-card-clean .yith-wcwl-add-to-wishlist-button__label {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media (max-width: 767px) {
    .shop-product-card-clean {
        padding: 14px;
        border-radius: 18px;
    }

    .shop-product-card-clean img {
        max-width: 165px !important;
        height: 145px !important;
        padding: 10px !important;
    }

    .shop-product-card-clean .product_title,
    .shop-product-card-clean .entry-title,
    .shop-product-card-clean .elementor-heading-title {
        min-height: 42px !important;
        max-height: 42px !important;
        font-size: 14px !important;
    }

    .shop-product-card-clean .price {
        font-size: 16px !important;
    }

    .shop-product-card-clean .single_add_to_cart_button,
    .shop-product-card-clean .elementor-button.button,
    .shop-product-card-clean .button.alt,
    .shop-product-card-clean .shop-loop-add-to-cart-button {
        min-height: 44px !important;
        font-size: 13px !important;
        border-radius: 13px !important;
    }

    .shop-product-card-clean .yith-wcwl-add-to-wishlist-button {
        min-height: 40px !important;
        font-size: 12px !important;
    }
}
