/* Ihtesham Ecommerce Store - WooCommerce catalog */
body.ies-shop-page,
body.ies-shop-page .site-content,
body.ies-shop-page .ast-container { background: var(--ies-bg); }
body.ies-shop-page #primary { width: 100%; max-width: none; float: none; margin: 0; padding: 0; border: 0; }
body.ies-shop-page #secondary { display: none !important; }
body.ies-shop-page .site-content > .ast-container { max-width: none; padding: 0; }
body.ies-filter-open { overflow: hidden; }

.ies-shop-main, .ies-shop-main * { box-sizing: border-box; }
.ies-shop-main { width: 100%; background: var(--ies-bg); color: var(--ies-text); font-family: var(--ies-font); font-size: var(--ies-body-size); line-height: 1.5; padding: 22px 0 56px; }
.ies-shop-shell { width: min(calc(100% - 32px), var(--ies-shop-max)); margin: 0 auto; display: flex; flex-direction: column; gap: 18px; }
.ies-shop-main a { text-decoration: none; }
.ies-icon { width: 20px; height: 20px; display: inline-block; flex: 0 0 auto; }

.ies-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-height: 24px; color: var(--ies-muted); font-size: 12px; }
.ies-breadcrumb a { display: inline-flex; align-items: center; gap: 5px; color: var(--ies-muted); }
.ies-breadcrumb a:hover, .ies-breadcrumb strong { color: var(--ies-accent); }
.ies-breadcrumb .ies-icon { width: 14px; height: 14px; }

.ies-shop-intro { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding: 24px; background: var(--ies-card); border: 1px solid var(--ies-border); border-radius: var(--ies-radius); box-shadow: 0 6px 24px rgba(12,35,79,.05); }
.ies-intro-copy { max-width: 760px; }
.ies-eyebrow-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; color: var(--ies-muted); font-size: 12px; }
.ies-eyebrow { display: inline-flex; padding: 4px 9px; border-radius: 999px; background: var(--ies-accent); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ies-shop-intro h1 { margin: 0; color: var(--ies-primary); font-family: inherit; font-size: var(--ies-hero-size); line-height: 1.12; font-weight: 800; letter-spacing: -.035em; }
.ies-intro-text { margin-top: 7px; color: var(--ies-muted); max-width: 720px; }
.ies-intro-text p { margin: 0; }
.ies-dispatch-card { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; padding: 12px 14px; border-radius: 10px; background: var(--ies-soft); }
.ies-live-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ies-accent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--ies-accent) 15%, transparent); }
.ies-dispatch-card div { display: flex; flex-direction: column; }
.ies-dispatch-card small { color: var(--ies-muted); font-size: 10px; }
.ies-dispatch-card strong { color: var(--ies-primary); font-size: 13px; }

.ies-trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.ies-trust-item { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 14px; background: var(--ies-card); border: 1px solid var(--ies-border); border-radius: 10px; transition: transform .2s ease, box-shadow .2s ease; }
.ies-trust-item:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,20,49,.08); }
.ies-trust-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; color: var(--ies-primary); border-radius: 50%; background: var(--ies-soft); }
.ies-trust-item:nth-child(4) .ies-trust-icon { color: var(--ies-accent); background: color-mix(in srgb, var(--ies-accent) 12%, #fff); }
.ies-trust-icon .ies-icon { width: 19px; height: 19px; }
.ies-trust-item div:last-child { min-width: 0; display: flex; flex-direction: column; }
.ies-trust-item strong { color: var(--ies-primary); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ies-trust-item span { color: var(--ies-muted); font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ies-category-row { display: flex; gap: 7px; align-items: center; overflow-x: auto; padding: 2px 0 5px; scrollbar-width: thin; }
.ies-category-chip { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; padding: 8px 12px; border: 1px solid var(--ies-border); border-radius: 999px; background: var(--ies-card); color: var(--ies-text); font-size: 11px; font-weight: 700; transition: all .2s ease; }
.ies-category-chip:hover, .ies-category-chip.is-active { color: #fff; background: var(--ies-primary); border-color: var(--ies-primary); }
.ies-category-chip b { font-size: 10px; color: var(--ies-muted); font-weight: 700; }
.ies-category-chip:hover b, .ies-category-chip.is-active b { color: rgba(255,255,255,.8); }
.ies-category-chip.ies-sale-chip { background: color-mix(in srgb, var(--ies-accent) 12%, #fff); color: color-mix(in srgb, var(--ies-accent) 70%, #000); border-color: transparent; }
.ies-category-chip.ies-sale-chip:hover { background: var(--ies-accent); color: #fff; }

.ies-catalog-layout { display: grid; grid-template-columns: var(--ies-sidebar) minmax(0, 1fr); gap: 18px; align-items: start; }
.ies-filter-sidebar { position: sticky; top: 24px; padding: 18px; background: var(--ies-card); border: 1px solid var(--ies-border); border-radius: var(--ies-radius); box-shadow: 0 6px 24px rgba(12,35,79,.04); }
.ies-filter-form { display: flex; flex-direction: column; gap: 17px; margin: 0; }
.ies-filter-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ies-filter-title { display: flex; align-items: center; gap: 7px; color: var(--ies-primary); font-size: 16px; }
.ies-filter-title .ies-icon { width: 19px; height: 19px; }
.ies-filter-head > a { color: var(--ies-accent); font-size: 10px; font-weight: 800; }
.ies-filter-group { margin: 0; padding: 0; border: 0; min-width: 0; }
.ies-filter-group legend { width: 100%; margin: 0 0 8px; padding: 0; color: var(--ies-primary); font-size: 12px; font-weight: 800; }
.ies-filter-check { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 28px; padding: 3px 4px; border-radius: 6px; cursor: pointer; color: var(--ies-text); font-size: 11px; }
.ies-filter-check:hover { background: var(--ies-soft); }
.ies-filter-check > span { display: flex; align-items: center; gap: 7px; min-width: 0; }
.ies-filter-check input { width: 15px; height: 15px; margin: 0; accent-color: var(--ies-primary); }
.ies-filter-check em { color: var(--ies-muted); font-size: 10px; font-style: normal; }
.ies-price-inputs { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 6px; }
.ies-price-inputs label { display: flex; flex-direction: column; gap: 2px; padding: 6px 8px; border-radius: 7px; background: var(--ies-soft); }
.ies-price-inputs label span { color: var(--ies-muted); font-size: 9px; }
.ies-price-inputs input { width: 100%; min-width: 0; height: 23px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ies-primary); font: 700 11px var(--ies-font); }
.ies-rating-filter { display: flex; align-items: center; gap: 7px; min-height: 28px; cursor: pointer; font-size: 10px; }
.ies-rating-filter input { accent-color: var(--ies-accent); }
.ies-rating-filter span { color: var(--ies-accent); letter-spacing: 1px; }
.ies-rating-filter b { color: var(--ies-text); font-weight: 700; }
.ies-apply-filters { width: 100%; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 8px; background: var(--ies-primary); color: #fff; font: 800 12px var(--ies-font); cursor: pointer; transition: transform .15s ease, filter .15s ease; }
.ies-apply-filters:hover { filter: brightness(1.14); transform: translateY(-1px); }
.ies-apply-filters .ies-icon { width: 16px; height: 16px; }
.ies-filter-close-bottom { display: none; }
.ies-authentic-box { display: flex; gap: 9px; margin-top: 18px; padding: 12px; border-radius: 9px; background: var(--ies-soft); color: var(--ies-primary); }
.ies-authentic-box .ies-icon { width: 19px; height: 19px; }
.ies-authentic-box strong { display: block; font-size: 11px; }
.ies-authentic-box p { margin: 2px 0 0; color: var(--ies-muted); font-size: 9px; line-height: 1.45; }

.ies-catalog-main { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.ies-catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 55px; padding: 10px 12px; background: var(--ies-card); border: 1px solid var(--ies-border); border-radius: var(--ies-radius); }
.ies-toolbar-left { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ies-result-count { color: var(--ies-muted); font-size: 11px; white-space: nowrap; }
.ies-view-switch { display: flex; gap: 4px; }
.ies-view-switch button, .ies-filter-toggle { border: 0; cursor: pointer; }
.ies-view-switch button { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border-radius: 6px; background: var(--ies-soft); color: var(--ies-muted); }
.ies-view-switch button:hover, .ies-view-switch button.is-active { background: color-mix(in srgb, var(--ies-primary) 10%, #fff); color: var(--ies-primary); }
.ies-view-switch .ies-icon { width: 16px; height: 16px; }
.ies-filter-toggle { display: none; align-items: center; gap: 6px; min-height: 34px; padding: 0 10px; border-radius: 7px; background: var(--ies-primary); color: #fff; font: 800 11px var(--ies-font); }
.ies-filter-toggle b { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; background: var(--ies-accent); color: #fff; font-size: 9px; }
.ies-ordering { display: flex; align-items: center; gap: 6px; margin: 0; padding: 6px 9px; border-radius: 8px; background: var(--ies-soft); }
.ies-ordering label { color: var(--ies-muted); font-size: 9px; white-space: nowrap; }
.ies-ordering select { max-width: 190px; padding: 0 22px 0 0; height: 28px; border: 0; outline: 0; background-color: transparent; color: var(--ies-primary); font: 800 10px var(--ies-font); }
.ies-active-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.ies-active-filters a { display: inline-flex; align-items: center; gap: 4px; padding: 5px 8px; border-radius: 6px; background: var(--ies-soft); color: var(--ies-primary); font-size: 9px; font-weight: 700; }
.ies-active-filters a:hover { background: color-mix(in srgb, var(--ies-accent) 12%, #fff); color: var(--ies-accent); }
.ies-active-filters .ies-icon { width: 12px; height: 12px; }
.ies-active-filters .ies-clear-all { color: var(--ies-accent); background: transparent; }

.ies-products-grid { display: grid; grid-template-columns: repeat(var(--ies-cols-desktop), minmax(0, 1fr)); gap: var(--ies-gap); align-items: start; }
.ies-product-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; margin: 0 !important; padding: 0 !important; width: auto !important; background: var(--ies-card); border: 1px solid var(--ies-border); border-radius: var(--ies-radius); box-shadow: 0 5px 18px rgba(12,35,79,.04); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ies-product-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--ies-primary) 20%, var(--ies-border)); box-shadow: 0 14px 34px rgba(12,35,79,.10); }
.ies-product-media { position: relative; aspect-ratio: 1/1; overflow: hidden; background: var(--ies-soft); }
.ies-product-image { display: block; width: 100%; height: 100%; }
.ies-product-image img { width: 100% !important; height: 100% !important; margin: 0 !important; object-fit: cover; transition: transform .35s ease; }
.ies-product-card:hover .ies-product-image img { transform: scale(1.035); }
.ies-badge-stack { position: absolute; z-index: 2; top: 9px; left: 9px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; pointer-events: none; }
.ies-badge { padding: 4px 7px; border-radius: 999px; color: #fff; font-size: 8px; line-height: 1; font-weight: 800; text-transform: uppercase; box-shadow: 0 2px 5px rgba(0,0,0,.08); }
.ies-badge-primary { background: var(--ies-primary); }
.ies-badge-accent { background: var(--ies-accent); }
/* TI WooCommerce Wishlist integration: use the plugin's real AJAX/state system, only restyle its control. */
.ies-ti-wishlist { position: absolute; z-index: 4; top: 9px; right: 9px; width: 34px; height: 34px; margin: 0 !important; }
.ies-ti-wishlist .tinv-wraper,
.ies-ti-wishlist .tinv-wishlist { width: 34px !important; height: 34px !important; margin: 0 !important; padding: 0 !important; }
.ies-ti-wishlist .tinvwl_add_to_wishlist_button { position: relative !important; width: 34px !important; min-width: 34px !important; max-width: 34px !important; height: 34px !important; min-height: 34px !important; max-height: 34px !important; display: grid !important; place-items: center !important; margin: 0 !important; padding: 0 !important; border: 1px solid rgba(0,20,49,.10) !important; border-radius: 50% !important; background: rgba(255,255,255,.96) !important; color: var(--ies-muted) !important; box-shadow: 0 3px 10px rgba(0,20,49,.08) !important; text-decoration: none !important; font-size: 0 !important; line-height: 0 !important; cursor: pointer !important; transition: color .18s ease, background .18s ease, transform .18s ease !important; }
.ies-ti-wishlist .tinvwl_add_to_wishlist_button::before { display: none !important; content: none !important; }
.ies-ti-wishlist .tinvwl_add_to_wishlist_button::after { content: ""; display: block; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.08C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.08C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54z'/%3E%3C/svg%3E") center/contain no-repeat; }
.ies-ti-wishlist .tinvwl_add_to_wishlist_button:hover { color: var(--ies-accent) !important; background: #fff !important; transform: scale(1.05); }
.ies-ti-wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list,
.ies-ti-wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-make-remove { color: #fff !important; background: var(--ies-accent) !important; }
.ies-ti-wishlist .tinvwl_add_to_wishlist_button > span,
.ies-ti-wishlist .tinvwl_add_to_wishlist_button > img,
.ies-ti-wishlist .tinvwl-tooltip,
.ies-ti-wishlist .tinv-wishlist-clear,
.ies-ti-wishlist .tinvwl-product-stats { display: none !important; }
.ies-low-stock { position: absolute; z-index: 2; bottom: 8px; left: 8px; padding: 4px 7px; border-radius: 5px; background: rgba(255,255,255,.94); color: #b42318; font-size: 8px; font-weight: 800; }
.ies-product-body { display: flex; flex-direction: column; justify-content: flex-start; gap: 8px; padding: 12px; }
.ies-product-copy { display: flex; flex-direction: column; gap: 5px; }
.ies-product-category { color: var(--ies-muted); font-size: 8px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.ies-product-title { min-height: 0; margin: 0; font: 800 var(--ies-card-title-size)/1.35 var(--ies-font); letter-spacing: -.012em; }
.ies-product-title a { color: var(--ies-primary); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ies-product-title a:hover { color: var(--ies-accent); }
.ies-rating-row { min-height: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 4px; color: var(--ies-muted); font-size: 9px; }
.ies-rating-row .star-rating { float: none; margin: 0; font-size: 11px; color: var(--ies-accent); }
.ies-rating-row strong { color: var(--ies-primary); font-size: 9px; }
.ies-rating-row span:not(.star-rating) { color: var(--ies-muted); }
.ies-no-rating { color: var(--ies-muted); font-size: 9px; }
.ies-card-description { color: var(--ies-muted); font-size: 10px; line-height: 1.45; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.ies-product-actions { display: flex; flex-direction: column; gap: 7px; margin-top: 2px; }
.ies-price { min-height: 26px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; color: var(--ies-price); font-size: 18px; font-weight: 800; }
.ies-price del { color: var(--ies-muted); font-size: 10px; font-weight: 500; opacity: .7; }
.ies-price ins { color: var(--ies-price); text-decoration: none; }
.ies-price .woocommerce-Price-amount { color: inherit; }

/* Keep the current/sale price prominent while preserving the struck regular price on every screen. */
.ies-price ins { order: 1; }
.ies-price del { order: 2; }
.ies-price > .woocommerce-Price-amount { order: 1; }
.ies-action-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 6px; }
.ies-action-grid.is-single { grid-template-columns: 1fr; }
.ies-cart-button, .ies-buy-button { min-height: 37px !important; display: inline-flex !important; align-items: center; justify-content: center; gap: 5px; margin: 0 !important; padding: 7px 8px !important; border: 0 !important; border-radius: 7px !important; box-shadow: none !important; font: 800 10px/1.2 var(--ies-font) !important; text-align: center; transition: transform .15s ease, filter .15s ease, background .15s ease !important; }
.ies-cart-button { background: var(--ies-soft) !important; color: var(--ies-primary) !important; }
.ies-cart-button:hover, .ies-cart-button.is-added { background: color-mix(in srgb, var(--ies-primary) 12%, #fff) !important; color: var(--ies-primary) !important; transform: translateY(-1px); }
.ies-buy-button { background: var(--ies-accent) !important; color: #fff !important; }
.ies-buy-button:hover { color: #fff !important; filter: brightness(.92); transform: translateY(-1px); }
.ies-cart-button .ies-icon { width: 14px; height: 14px; }
.ies-product-card a.added_to_cart { display: none !important; }

.ies-products-grid.is-list { grid-template-columns: 1fr; }
.ies-products-grid.is-list .ies-product-card { display: grid; grid-template-columns: 220px minmax(0, 1fr); }
.ies-products-grid.is-list .ies-product-media { aspect-ratio: 1/1; }
.ies-products-grid.is-list .ies-product-body { padding: 18px; }
.ies-products-grid.is-list .ies-product-title { min-height: 0; }
.ies-products-grid.is-list .ies-card-description { -webkit-line-clamp: 3; }
.ies-products-grid.is-list .ies-action-grid { max-width: 360px; }

.ies-pagination-wrap { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 12px; background: var(--ies-card); border: 1px solid var(--ies-border); border-radius: var(--ies-radius); }
.ies-pagination-wrap > span { color: var(--ies-muted); font-size: 10px; }
.ies-pagination { display: flex; align-items: center; justify-content: center; gap: 5px; }
.ies-pagination .page-numbers { min-width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0 7px; border-radius: 7px; background: var(--ies-soft); color: var(--ies-text); font-size: 10px; font-weight: 700; }
.ies-pagination .page-numbers.current, .ies-pagination .page-numbers:hover { background: var(--ies-primary); color: #fff; }
.ies-pagination .ies-icon { width: 15px; height: 15px; }
.ies-load-more { justify-self: end; min-height: 36px; display: inline-flex; align-items: center; gap: 6px; padding: 0 14px; border-radius: 7px; background: var(--ies-primary); color: #fff; font-size: 10px; font-weight: 800; }
.ies-load-more:hover { color: #fff; filter: brightness(1.1); }
.ies-load-more .ies-icon { width: 15px; height: 15px; }

.ies-guarantee { margin-top: 6px; padding: 30px; background: var(--ies-card); border: 1px solid var(--ies-border); border-radius: calc(var(--ies-radius) + 4px); }
.ies-guarantee > header { max-width: 680px; margin: 0 auto 22px; text-align: center; }
.ies-guarantee > header > span { display: inline-flex; padding: 4px 9px; border-radius: 999px; background: var(--ies-soft); color: var(--ies-primary); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.ies-guarantee h2 { margin: 7px 0 4px; color: var(--ies-primary); font: 800 24px/1.2 var(--ies-font); }
.ies-guarantee header p { margin: 0; color: var(--ies-muted); font-size: 11px; }
.ies-guarantee-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ies-guarantee-grid article { padding: 18px; border-radius: 10px; background: var(--ies-soft); }
.ies-guarantee-grid article > div { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 9px; background: var(--ies-card); color: var(--ies-primary); }
.ies-guarantee-grid article:nth-child(odd) > div { color: var(--ies-accent); background: color-mix(in srgb, var(--ies-accent) 12%, #fff); }
.ies-guarantee-grid article h3 { margin: 10px 0 4px; color: var(--ies-primary); font: 800 12px/1.3 var(--ies-font); }
.ies-guarantee-grid article p { margin: 0; color: var(--ies-muted); font-size: 10px; line-height: 1.5; }

.ies-whatsapp { position: fixed; z-index: 80; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 8px; padding: 9px 11px 9px 13px; border-radius: 999px; background: var(--ies-card); color: var(--ies-primary); box-shadow: 0 8px 28px rgba(0,20,49,.18); font-size: 10px; font-weight: 800; }
.ies-whatsapp .ies-icon { width: 37px; height: 37px; padding: 9px; margin: -6px -7px -6px 0; border-radius: 50%; background: var(--ies-accent); color: #fff; }
.ies-whatsapp:hover { color: var(--ies-accent); }

.ies-filter-overlay { position: fixed; z-index: 99997; inset: 0; background: rgba(0,20,49,.48); opacity: 0; transition: opacity .22s ease; }
.ies-filter-overlay.is-open { opacity: 1; }
.ies-mobile-filters { position: fixed; z-index: 99998; top: 0; left: 0; bottom: 0; width: min(88vw, 360px); display: flex; flex-direction: column; background: var(--ies-card); transform: translateX(-105%); transition: transform .24s ease; box-shadow: 18px 0 40px rgba(0,20,49,.18); font-family: var(--ies-font); }
.ies-mobile-filters.is-open { transform: translateX(0); }
.ies-mobile-filter-head { height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid var(--ies-border); color: var(--ies-primary); }
.ies-mobile-filter-head strong { font-size: 16px; }
.ies-mobile-filter-head button { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: var(--ies-soft); color: var(--ies-primary); cursor: pointer; }
.ies-mobile-filter-body { flex: 1; overflow-y: auto; padding: 18px; }
.ies-mobile-filters .ies-filter-close-bottom { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ies-border); border-radius: 8px; background: var(--ies-card); color: var(--ies-primary); font: 800 11px var(--ies-font); }

.ies-no-products { padding: 28px; border-radius: var(--ies-radius); background: var(--ies-card); }

/* Laptop/tablet */
@media (max-width: 1050px) {
    .ies-catalog-layout { grid-template-columns: 1fr; }
    .ies-filter-sidebar { display: none; }
    .ies-filter-toggle { display: inline-flex; }
    .ies-products-grid { grid-template-columns: repeat(var(--ies-cols-tablet), minmax(0,1fr)); }
    .ies-trust-strip { grid-template-columns: repeat(2, 1fr); }
    .ies-guarantee-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
    .ies-shop-main { padding-top: 14px; }
    .ies-shop-shell { width: min(calc(100% - 24px), var(--ies-shop-max)); gap: 13px; }
    .ies-shop-intro { align-items: stretch; flex-direction: column; padding: 18px; }
    .ies-shop-intro h1 { font-size: clamp(26px, 8vw, var(--ies-hero-size)); }
    .ies-dispatch-card { align-self: flex-start; }
    .ies-trust-strip { gap: 7px; }
    .ies-trust-item { padding: 10px; }
    .ies-trust-item span { white-space: normal; line-height: 1.25; }
    .ies-catalog-toolbar { align-items: stretch; flex-direction: column; }
    .ies-toolbar-left { justify-content: space-between; width: 100%; }
    .ies-result-count { flex: 1; white-space: normal; }
    .ies-ordering { width: 100%; justify-content: space-between; }
    .ies-ordering select { flex: 1; max-width: none; }
    .ies-products-grid { grid-template-columns: repeat(var(--ies-cols-mobile), minmax(0,1fr)); gap: max(8px, calc(var(--ies-gap) * .72)); }
    .ies-product-body { padding: 10px; }
    .ies-product-title { font-size: clamp(13px, var(--ies-card-title-size), 17px); }
    .ies-card-description { display: -webkit-box; }
    .ies-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .ies-action-grid.is-single { grid-template-columns: 1fr; }
    .ies-cart-button, .ies-buy-button { min-height: 38px !important; padding: 7px !important; font-size: 9px !important; }
    .ies-cart-button .ies-icon, .ies-buy-button .ies-icon { width: 16px !important; height: 16px !important; margin: 0 !important; }
    .ies-button-label { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
    .ies-product-card .ies-cart-button .ies-icon { width: 13px; }
    .ies-products-grid.is-list .ies-product-card { grid-template-columns: 135px minmax(0,1fr); }
    .ies-products-grid.is-list .ies-product-body { padding: 12px; }
    .ies-products-grid.is-list .ies-card-description { display: -webkit-box; }
    .ies-pagination-wrap { grid-template-columns: 1fr; text-align: center; }
    .ies-pagination-wrap > span { order: 2; }
    .ies-load-more { justify-self: center; }
    .ies-guarantee { padding: 20px 14px; }
    .ies-guarantee h2 { font-size: 21px; }
    .ies-whatsapp span { display: none; }
    .ies-whatsapp { right: 14px; bottom: 14px; padding: 0; border-radius: 50%; }
    .ies-whatsapp .ies-icon { width: 48px; height: 48px; padding: 13px; margin: 0; }
}

@media (max-width: 480px) {
    .ies-shop-shell { width: calc(100% - 18px); }
    .ies-breadcrumb { font-size: 10px; }
    .ies-shop-intro { border-radius: 10px; }
    .ies-eyebrow-row > span:last-child { display: none; }
    .ies-trust-strip { grid-template-columns: 1fr 1fr; }
    .ies-trust-icon { width: 32px; height: 32px; }
    .ies-trust-item strong { font-size: 10px; }
    .ies-trust-item span { font-size: 8px; }
    .ies-view-switch { display: none; }
    .ies-product-media { aspect-ratio: 1/1.08; }
    .ies-badge { padding: 3px 5px; font-size: 7px; }
    .ies-ti-wishlist, .ies-ti-wishlist .tinv-wraper, .ies-ti-wishlist .tinv-wishlist, .ies-ti-wishlist .tinvwl_add_to_wishlist_button { width: 30px !important; min-width: 30px !important; max-width: 30px !important; height: 30px !important; min-height: 30px !important; max-height: 30px !important; }
    .ies-ti-wishlist .tinvwl_add_to_wishlist_button::after { width: 16px; height: 16px; }
    .ies-low-stock { font-size: 7px; }
    .ies-product-category { font-size: 7px; }
    .ies-product-title { line-height: 1.28; }
    .ies-rating-row .star-rating { font-size: 9px; }
    .ies-rating-row > span:not(.star-rating) { display: inline; font-size: 7.5px; }
    .ies-price { font-size: 15px; }
    .ies-price del { display: inline !important; font-size: 9px; opacity: .68; }
    .ies-guarantee-grid { grid-template-columns: 1fr; }
}

/* Accessibility / motion */
.ies-shop-main button:focus-visible, .ies-shop-main a:focus-visible, .ies-mobile-filters button:focus-visible, .ies-mobile-filters input:focus-visible, .ies-mobile-filters select:focus-visible { outline: 3px solid color-mix(in srgb, var(--ies-accent) 45%, transparent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
    .ies-shop-main *, .ies-mobile-filters, .ies-filter-overlay { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.ies-load-more.is-loading { pointer-events: none; opacity: .7; }

/* === v2.1 AJAX catalog / screenshot fixes === */
.ies-shop-main { padding-top: 34px; }
.ies-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Live dispatch pulse */
.ies-live-dot { position: relative; animation: ies-live-dot 1.25s ease-in-out infinite; }
.ies-live-dot::after { content: ""; position: absolute; inset: -5px; border: 2px solid var(--ies-accent); border-radius: 50%; opacity: .6; animation: ies-live-ring 1.25s ease-out infinite; }
@keyframes ies-live-dot { 0%,100% { transform: scale(.92); } 50% { transform: scale(1.12); } }
@keyframes ies-live-ring { 0% { transform: scale(.55); opacity: .62; } 75%,100% { transform: scale(1.45); opacity: 0; } }

/* Trust text must remain visible even with compact cards */
.ies-trust-item { align-items: flex-start; min-height: 66px; }
.ies-trust-item div:last-child { justify-content: center; min-height: 38px; }
.ies-trust-item strong { display: block; white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; }
.ies-trust-item span { display: block; margin-top: 2px; white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.3; }
.ies-trust-icon:empty { display: none; }

/* No-JS Apply button remains a fallback; JS users filter instantly. */
body.ies-shop-js .ies-apply-filters { display: none; }
body.ies-shop-js .ies-filter-form { gap: 15px; }

/* Custom sort dropdown (native select remains the no-JS fallback). */
.ies-ordering { position: relative; overflow: visible; min-width: 230px; }
.ies-native-sort { min-width: 170px; }
.ies-native-sort select { width: 100%; }
.ies-custom-sort { display: none; position: relative; min-width: 190px; }
body.ies-shop-js .ies-native-sort { display: none; }
body.ies-shop-js .ies-custom-sort { display: block; }
.ies-sort-trigger { width: 100%; min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 8px; border: 0; border-radius: 7px; background: transparent; color: var(--ies-primary); font: 800 10px/1.25 var(--ies-font); text-align: left; cursor: pointer; }
.ies-sort-trigger:hover, .ies-custom-sort.is-open .ies-sort-trigger { background: color-mix(in srgb, var(--ies-primary) 7%, transparent); }
.ies-sort-trigger .ies-icon { width: 15px; height: 15px; transition: transform .18s ease; }
.ies-custom-sort.is-open .ies-sort-trigger .ies-icon { transform: rotate(180deg); }
.ies-sort-menu { position: absolute; z-index: 1200; top: calc(100% + 8px); right: 0; width: max(230px, 100%); padding: 7px; border: 1px solid var(--ies-border); border-radius: 10px; background: var(--ies-card); box-shadow: 0 18px 45px rgba(0,20,49,.18); }
.ies-sort-menu[hidden] { display: none !important; }
.ies-sort-menu button { width: 100%; min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--ies-text); font: 700 10px/1.25 var(--ies-font); text-align: left; cursor: pointer; }
.ies-sort-menu button:hover, .ies-sort-menu button:focus-visible { background: var(--ies-soft); color: var(--ies-primary); }
.ies-sort-menu button.is-selected { background: var(--ies-primary); color: #fff; }
.ies-sort-menu button.is-selected::after { content: "✓"; font-size: 12px; font-weight: 900; }

/* AJAX state: prevent double interactions and provide visible progress. */
.ies-catalog-main { position: relative; }
.ies-shop-shell.is-ajax-loading [data-ies-catalog-region] { opacity: .55; pointer-events: none; transition: opacity .15s ease; }
.ies-shop-shell.is-ajax-loading [data-ies-category-row] { opacity: .65; pointer-events: none; }
.ies-shop-shell.is-ajax-loading .ies-catalog-main::after { content: ""; position: absolute; z-index: 50; top: 90px; left: 50%; width: 34px; height: 34px; margin-left: -17px; border: 3px solid color-mix(in srgb, var(--ies-primary) 16%, transparent); border-top-color: var(--ies-accent); border-radius: 50%; animation: ies-shop-spin .7s linear infinite; box-shadow: 0 0 0 7px color-mix(in srgb, var(--ies-card) 78%, transparent); }
@keyframes ies-shop-spin { to { transform: rotate(360deg); } }

/* Buttons can now use Customizer-selected icons. */
.ies-cart-button .ies-icon, .ies-buy-button .ies-icon { width: 14px; height: 14px; }
.ies-buy-button .ies-icon { color: currentColor; }

/* Slightly cleaner desktop/sidebar proportions after removing the old info box. */
.ies-filter-sidebar { padding-bottom: 20px; }
.ies-filter-sidebar .ies-filter-form { margin-bottom: 0; }

@media (max-width: 760px) {
    .ies-shop-main { padding-top: 22px; }
    .ies-ordering { min-width: 0; }
    .ies-custom-sort { width: 100%; min-width: 0; }
    .ies-sort-menu { left: 0; right: auto; width: 100%; min-width: 220px; }
    .ies-sort-trigger { min-height: 36px; }
}

@media (max-width: 480px) {
    .ies-shop-main { padding-top: 18px; }
    .ies-trust-item { min-height: 74px; align-items: flex-start; }
    .ies-trust-item strong { font-size: 10px; }
    .ies-trust-item span { font-size: 8.5px; line-height: 1.35; }
}


/* === v2.2 visual polish / sticky header / compact cards === */
/* Give the breadcrumb a little breathing room below a sticky site header. */
.ies-shop-main { padding-top: 48px; }
.ies-breadcrumb { margin-top: 2px; }

/* Keep desktop filters below the sticky header and independently scrollable on short screens. */
@media (min-width: 1051px) {
    .ies-filter-sidebar {
        top: var(--ies-sticky-offset);
        max-height: calc(100vh - var(--ies-sticky-offset) - 18px);
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: var(--ies-border) transparent;
    }
    body.admin-bar .ies-filter-sidebar {
        top: calc(var(--ies-sticky-offset) + 32px);
        max-height: calc(100vh - var(--ies-sticky-offset) - 50px);
    }
    .ies-filter-sidebar::-webkit-scrollbar { width: 5px; }
    .ies-filter-sidebar::-webkit-scrollbar-thumb { background: var(--ies-border); border-radius: 20px; }
}

/* Astra/global button hover must not turn the sort label white. */
.ies-shop-main .ies-ordering .ies-sort-trigger,
.ies-shop-main .ies-ordering .ies-sort-trigger span,
.ies-shop-main .ies-ordering .ies-sort-trigger:hover,
.ies-shop-main .ies-ordering .ies-sort-trigger:hover span,
.ies-shop-main .ies-ordering .ies-custom-sort.is-open .ies-sort-trigger,
.ies-shop-main .ies-ordering .ies-custom-sort.is-open .ies-sort-trigger span {
    color: var(--ies-text) !important;
}
.ies-shop-main .ies-ordering label,
.ies-shop-main .ies-ordering:hover label { color: var(--ies-muted) !important; }
.ies-shop-main .ies-sort-menu button:hover,
.ies-shop-main .ies-sort-menu button:focus-visible {
    color: var(--ies-text) !important;
    background: var(--ies-soft) !important;
}
.ies-shop-main .ies-sort-menu button.is-selected,
.ies-shop-main .ies-sort-menu button.is-selected:hover { color: #fff !important; background: var(--ies-primary) !important; }

/* Slightly more compact product typography while preserving Customizer controls. */
.ies-product-title { min-height: 0; }
.ies-card-description { -webkit-line-clamp: 2; }

@media (max-width: 760px) {
    .ies-shop-main { padding-top: 30px; }
    .ies-product-title { font-size: var(--ies-card-title-mobile-size); line-height: 1.3; min-height: 0; }
    .ies-card-description {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-size: 9px;
        line-height: 1.38;
    }
}
@media (max-width: 480px) {
    .ies-shop-main { padding-top: 26px; }
    .ies-product-title { font-size: var(--ies-card-title-mobile-size); }
    .ies-card-description { display: -webkit-box; font-size: 8.5px; -webkit-line-clamp: 2; }
}

/* === v2.2.1 spacing + adaptive sticky filters === */
/* Clear, intentional breathing room between the site header/footer and catalog. */
.ies-shop-main {
    padding: var(--ies-page-top, 56px) 0 var(--ies-page-bottom, 72px) !important;
}

/* The JS value follows the actually visible sticky header. When the header hides,
   the filters move up instead of leaving the old large empty block. */
@media (min-width: 1051px) {
    .ies-filter-sidebar,
    body.admin-bar .ies-filter-sidebar {
        top: var(--ies-live-sticky-top, 14px) !important;
        max-height: calc(100vh - var(--ies-live-sticky-top, 14px) - 14px) !important;
    }
}

/* The floating "Need help choosing?" CTA was intentionally removed in v2.2.1. */
.ies-whatsapp { display: none !important; }

@media (max-width: 1050px) {
    .ies-shop-main {
        padding-top: max(34px, calc(var(--ies-page-top, 56px) * .68)) !important;
        padding-bottom: max(48px, calc(var(--ies-page-bottom, 72px) * .72)) !important;
    }
}

@media (max-width: 480px) {
    .ies-shop-main {
        padding-top: 30px !important;
        padding-bottom: 46px !important;
    }
}

/* === v2.7.4 shop-card review polish === */
/* Filled review stars: warm ecommerce gold; empty track stays soft gray. */
.ies-rating-row .star-rating,
.ies-rating-row .star-rating span,
.ies-rating-row .star-rating span::before {
    color: #f5b301 !important;
}
.ies-rating-row .star-rating::before {
    color: #d7dde7 !important;
    opacity: 1 !important;
}

/* Tighten the visual space between product title and its review row only. */
.ies-product-title + .ies-rating-row {
    margin-top: -3px !important;
}
.ies-rating-row {
    line-height: 1.15;
}


/* ===== v2.8.4 — Shop add-to-cart notice as a floating dismissible toast ===== */
body.woocommerce-shop .woocommerce-notices-wrapper.ies-shop-toast-wrap,
body.post-type-archive-product .woocommerce-notices-wrapper.ies-shop-toast-wrap,
body.tax-product_cat .woocommerce-notices-wrapper.ies-shop-toast-wrap,
body.tax-product_tag .woocommerce-notices-wrapper.ies-shop-toast-wrap {
    position: fixed !important;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 18px);
    right: 20px;
    z-index: 100050;
    width: min(440px, calc(100vw - 28px));
    max-width: 440px;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-12px) scale(.985);
    transition: opacity .2s ease, transform .2s ease;
}
body.woocommerce-shop .woocommerce-notices-wrapper.ies-shop-toast-wrap.is-visible,
body.post-type-archive-product .woocommerce-notices-wrapper.ies-shop-toast-wrap.is-visible,
body.tax-product_cat .woocommerce-notices-wrapper.ies-shop-toast-wrap.is-visible,
body.tax-product_tag .woocommerce-notices-wrapper.ies-shop-toast-wrap.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}
body.woocommerce-shop .woocommerce-notices-wrapper.ies-shop-toast-wrap.is-hiding,
body.post-type-archive-product .woocommerce-notices-wrapper.ies-shop-toast-wrap.is-hiding,
body.tax-product_cat .woocommerce-notices-wrapper.ies-shop-toast-wrap.is-hiding,
body.tax-product_tag .woocommerce-notices-wrapper.ies-shop-toast-wrap.is-hiding {
    opacity: 0;
    transform: translateY(-8px) scale(.99);
}
body.woocommerce-shop .woocommerce-message.ies-shop-toast,
body.post-type-archive-product .woocommerce-message.ies-shop-toast,
body.tax-product_cat .woocommerce-message.ies-shop-toast,
body.tax-product_tag .woocommerce-message.ies-shop-toast {
    position: relative !important;
    width: 100% !important;
    min-height: 82px;
    margin: 0 !important;
    padding: 16px 48px 16px 54px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 10px 12px;
    color: var(--ies-primary) !important;
    background: #fff !important;
    border: 1px solid var(--ies-border) !important;
    border-left: 4px solid var(--ies-accent) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 50px rgba(0,20,49,.20) !important;
    font: 700 12px/1.45 var(--ies-font) !important;
    pointer-events: auto;
    overflow: hidden;
}
body.woocommerce-shop .woocommerce-message.ies-shop-toast::before,
body.woocommerce-shop .woocommerce-message.ies-shop-toast::after,
body.post-type-archive-product .woocommerce-message.ies-shop-toast::before,
body.post-type-archive-product .woocommerce-message.ies-shop-toast::after,
body.tax-product_cat .woocommerce-message.ies-shop-toast::before,
body.tax-product_cat .woocommerce-message.ies-shop-toast::after,
body.tax-product_tag .woocommerce-message.ies-shop-toast::before,
body.tax-product_tag .woocommerce-message.ies-shop-toast::after {
    display: none !important;
}
.ies-shop-toast-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--ies-primary);
}
.ies-shop-toast-icon svg { width: 15px; height: 15px; }
.woocommerce-message.ies-shop-toast .button.wc-forward {
    grid-column: 2;
    grid-row: 1;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 8px !important;
    color: #fff !important;
    background: var(--ies-accent) !important;
    box-shadow: none !important;
    font: 800 10px/1 var(--ies-font) !important;
    text-decoration: none !important;
    white-space: nowrap;
}
.woocommerce-message.ies-shop-toast .button.wc-forward:hover,
.woocommerce-message.ies-shop-toast .button.wc-forward:focus-visible {
    color: #fff !important;
    background: #d94f00 !important;
}
.ies-shop-toast-close {
    position: absolute;
    top: 7px;
    right: 7px;
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: var(--ies-primary);
    background: var(--ies-soft);
    box-shadow: none;
    cursor: pointer;
}
.ies-shop-toast-close svg { width: 14px; height: 14px; }
.ies-shop-toast-close:hover { background: #e5ecfb; color: var(--ies-accent); }
.ies-shop-toast-close:focus-visible { outline: 2px solid var(--ies-accent); outline-offset: 2px; }

@media (max-width: 600px) {
    body.woocommerce-shop .woocommerce-notices-wrapper.ies-shop-toast-wrap,
    body.post-type-archive-product .woocommerce-notices-wrapper.ies-shop-toast-wrap,
    body.tax-product_cat .woocommerce-notices-wrapper.ies-shop-toast-wrap,
    body.tax-product_tag .woocommerce-notices-wrapper.ies-shop-toast-wrap {
        top: calc(var(--wp-admin--admin-bar--height, 0px) + 10px);
        left: 12px;
        right: 12px;
        width: auto;
        max-width: none;
    }
    body.woocommerce-shop .woocommerce-message.ies-shop-toast,
    body.post-type-archive-product .woocommerce-message.ies-shop-toast,
    body.tax-product_cat .woocommerce-message.ies-shop-toast,
    body.tax-product_tag .woocommerce-message.ies-shop-toast {
        min-height: 76px;
        padding: 14px 42px 14px 48px !important;
        grid-template-columns: 1fr;
        gap: 9px;
        font-size: 12px !important;
    }
    .woocommerce-message.ies-shop-toast .button.wc-forward {
        grid-column: 1;
        grid-row: auto;
        width: fit-content;
        min-height: 35px !important;
        padding-inline: 14px !important;
    }
    .ies-shop-toast-icon { left: 12px; width: 26px; height: 26px; }
}
