.shz-shop /* =========================================================
   SHAHAZ.COM — LUXURY MARKETPLACE SHOP PAGE
   Presentation contract supplied for the Shop Page.
   No demo product data is contained in this stylesheet.
   ========================================================= */
:root{
  --shz-pink:#ff0b86;
  --shz-hot:#ff008c;
  --shz-magenta:#d90078;
  --shz-purple:#7b168f;
  --shz-deep-purple:#42105f;
  --shz-red:#ff174f;
  --shz-gold:#ffd43b;
  --shz-yellow:#ffe86a;
  --shz-blue:#268cff;
  --shz-cream:#fff8ec;
  --shz-white:#ffffff;
  --shz-ink:#3d1742;
  --shz-muted:#85566f;
  --shz-gap:5px;
  --shz-edge:4px;
}.shz-shop{width:100%;margin:0;padding:0;overflow:hidden;background:radial-gradient(circle at 8% 20%,rgba(255,0,136,.15),transparent 28%),radial-gradient(circle at 92% 25%,rgba(105,20,170,.14),transparent 30%),linear-gradient(180deg,#fff5fb 0%,#ffeaf5 24%,#fff1f7 55%,#fff9fb 100%);color:var(--shz-ink);font-family:"Noto Sans Bengali","Hind Siliguri",Arial,sans-serif}.shz-shop *,.shz-shop *::before,.shz-shop *::after{box-sizing:border-box}.shz-shop .shz-hero-wrap{position:relative;padding:8px var(--shz-edge) 0;overflow:hidden}.shz-shop .shz-hero{position:relative;min-height:190px;overflow:hidden;border-radius:0 0 30px 30px;background:radial-gradient(circle at 84% 28%,rgba(255,225,83,.90),transparent 12%),radial-gradient(circle at 72% 80%,rgba(48,139,255,.65),transparent 25%),radial-gradient(circle at 20% 15%,rgba(255,255,255,.20),transparent 20%),linear-gradient(118deg,#76106f 0%,#a20c87 18%,#ed007e 42%,#ff0875 57%,#ff3150 72%,#7b1caa 88%,#4e167a 100%);box-shadow:0 15px 35px rgba(184,0,108,.20),0 5px 12px rgba(119,0,100,.14);isolation:isolate}.shz-shop .shz-hero::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 15% 50%,rgba(255,221,55,.30),transparent 13%),radial-gradient(circle at 45% 35%,rgba(255,0,162,.38),transparent 18%),radial-gradient(circle at 70% 70%,rgba(0,162,255,.30),transparent 20%),radial-gradient(circle at 85% 20%,rgba(255,238,110,.34),transparent 14%);animation:shzHeroLights 10s ease-in-out infinite alternate;z-index:-1}.shz-shop .shz-hero::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-55px;height:100px;background:linear-gradient(180deg,rgba(255,0,128,.38),rgba(255,229,244,.68),rgba(255,241,248,.95),transparent);filter:blur(8px);pointer-events:none}.shz-shop .shz-hero-content{position:relative;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 24px 32px}.shz-shop .shz-hero-left{min-width:0}.shz-shop .shz-hero-title{margin:0;font-size:clamp(34px,6vw,66px);line-height:.88;font-weight:1000;letter-spacing:-2px;color:#fff;text-shadow:0 4px 15px rgba(73,0,60,.20)}.shz-shop .shz-hero-title span{display:block;background:linear-gradient(90deg,#fff7a6,#ffe047,#fff5a3,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 6px rgba(93,0,53,.22))}.shz-shop .shz-hero-sub{margin-top:10px;color:rgba(255,255,255,.92);font-size:13px;font-weight:700}.shz-shop .shz-timer{position:relative;flex:0 0 auto;min-width:205px;margin-top:3px;padding:14px 15px 13px;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,215,92,.18),rgba(255,0,123,.20));box-shadow:inset 0 1px 1px rgba(255,255,255,.65),inset 0 -8px 20px rgba(126,0,86,.12),0 12px 30px rgba(76,0,80,.20);backdrop-filter:blur(8px)}.shz-shop .shz-timer::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,rgba(255,255,255,.22),transparent 35%,rgba(255,215,60,.12));pointer-events:none}.shz-shop .shz-timer-label{position:relative;text-align:center;color:#fff5a7;font-size:12px;font-weight:1000;letter-spacing:1px;text-shadow:0 0 10px rgba(255,231,85,.75)}.shz-shop .shz-time-row{position:relative;display:flex;justify-content:center;align-items:center;gap:5px;margin-top:8px}.shz-shop .shz-time-box{min-width:43px;padding:8px 6px;border-radius:12px;background:linear-gradient(180deg,#fff,#fffaf0);color:#68124e;text-align:center;font-size:21px;line-height:1;font-weight:1000;box-shadow:0 5px 13px rgba(77,0,65,.20),inset 0 1px rgba(255,255,255,.9)}.shz-shop .shz-time-colon{color:#fff4a3;font-size:21px;font-weight:1000;text-shadow:0 0 10px rgba(255,226,66,.95)}.shz-shop .shz-filter-wrap{position:relative;z-index:5;margin-top:-4px;padding:8px var(--shz-edge) 5px;background:linear-gradient(180deg,rgba(255,226,242,.30),rgba(255,240,247,.92))}.shz-shop .shz-filter{display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:3px 0 5px}.shz-shop .shz-filter::-webkit-scrollbar{display:none}.shz-shop .shz-filter-btn{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:9px 15px;border:0;border-radius:999px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,235,246,.92));color:#6e2459;font-size:13px;font-weight:900;box-shadow:0 5px 12px rgba(155,0,105,.10),inset 0 1px rgba(255,255,255,.90);white-space:nowrap;text-decoration:none}.shz-shop .shz-filter-btn.active{background:linear-gradient(135deg,#ff087d,#e10087,#a8179b);color:#fff;box-shadow:0 7px 17px rgba(226,0,122,.28),inset 0 1px rgba(255,255,255,.30)}.shz-shop-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px var(--shz-edge) 7px}.shz-shop .shz-heading-left{display:flex;align-items:center;gap:8px}.shz-shop .shz-heading-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#ffca18,#ff9f00,#ff4b76);color:#fff;font-size:20px;box-shadow:0 7px 15px rgba(255,125,0,.20),inset 0 1px rgba(255,255,255,.45)}.shz-shop .shz-heading-title{margin:0;color:#73115b;font-size:23px;line-height:1;font-weight:1000}.shz-shop .shz-heading-sub{margin:3px 0 0;color:#a05d82;font-size:10px;font-weight:700}.shz-shop .shz-see-all{color:#d90078;font-size:13px;font-weight:1000;white-space:nowrap;text-decoration:none}.shz-shop .shz-products{column-count:2;column-gap:var(--shz-gap);padding:0 var(--shz-edge) 20px}.shz-shop .shz-card{position:relative;display:inline-block;vertical-align:top;width:100%;margin:0 0 var(--shz-gap);overflow:hidden;break-inside:avoid;border:0;outline:0;border-radius:18px;background:linear-gradient(145deg,#ffe8f3,#ffd9eb);box-shadow:0 9px 18px rgba(153,0,103,.13),0 2px 5px rgba(115,0,86,.08);transition:transform .25s ease,box-shadow .25s ease}.shz-shop .shz-card:nth-child(2n){background:linear-gradient(145deg,#f7e8ff,#ead8ff)}.shz-shop .shz-card:nth-child(3n){background:linear-gradient(145deg,#fff0d9,#ffe1ef)}.shz-shop .shz-card:nth-child(4n){background:linear-gradient(145deg,#dffcf7,#d7f1ff)}.shz-shop .shz-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(143,0,99,.18),0 3px 8px rgba(92,0,75,.10)}.shz-shop .shz-image{position:relative;display:block;width:100%;overflow:hidden;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.85),rgba(255,220,239,.50));aspect-ratio:1 / 1.08;text-decoration:none}.shz-shop .shz-card.tall .shz-image{aspect-ratio:1 / 1.18}.shz-shop .shz-card.compact .shz-image{aspect-ratio:1 / .96}.shz-shop .shz-image img{display:block;width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .35s ease}.shz-shop .shz-card:hover .shz-image img{transform:scale(1.045)}.shz-shop .shz-image::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.28),transparent 25%,transparent 70%,rgba(255,255,255,.16));pointer-events:none}.shz-shop .shz-discount{position:absolute;top:7px;left:7px;z-index:3;padding:5px 8px;border-radius:9px 14px 9px 14px;background:linear-gradient(135deg,#ff007f,#ff315f,#ffbd18);color:#fff;font-size:10px;font-weight:1000;box-shadow:0 5px 10px rgba(207,0,91,.25)}.shz-shop .shz-verified{position:absolute;top:7px;right:7px;z-index:3;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.86);color:#a55b16;font-size:9px;font-weight:1000;box-shadow:0 4px 10px rgba(86,0,70,.10)}.shz-shop .shz-info{position:relative;padding:8px 9px 9px;min-height:72px;max-height:108px;overflow:hidden}.shz-shop .shz-category{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#9b547c;font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.3px}.shz-shop .shz-title{display:-webkit-box;margin:3px 0 4px;color:#40163c;font-size:13px;line-height:1.15;font-weight:1000;text-decoration:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shz-shop .shz-meta-row{display:flex;align-items:center;justify-content:space-between;gap:4px;white-space:nowrap}.shz-shop .shz-price{color:#e00077;font-size:16px;line-height:1;font-weight:1000}.shz-shop .shz-price .woocommerce-Price-currencySymbol{font-size:.9em}.shz-shop .shz-old-price{color:#a88598;font-size:9px;text-decoration:line-through}.shz-shop .shz-rating{color:#c88800;font-size:9px;font-weight:900}.shz-shop .shz-sold{color:#8e607c;font-size:9px;font-weight:800}.shz-shop .shz-bottom-row{display:flex;align-items:center;gap:7px;margin-top:5px;color:#7c5870;font-size:8.5px;font-weight:800;white-space:nowrap}.shz-shop .shz-delivery{color:#c14978}.shz-shop .shz-location{color:#7b6a7b}.shz-shop .shz-quick-cart{position:absolute;right:7px;bottom:7px;z-index:8;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;cursor:pointer;background:radial-gradient(circle at 30% 25%,#fff07a 0 9%,transparent 10%),linear-gradient(145deg,#ff087f,#df007b 48%,#8f149a);color:#fff;font-size:15px;box-shadow:0 6px 13px rgba(188,0,103,.28),inset 0 1px rgba(255,255,255,.55);transition:transform .18s ease,box-shadow .18s ease;text-decoration:none}.shz-shop .shz-quick-cart:hover{transform:scale(1.08) rotate(-3deg);box-shadow:0 9px 18px rgba(188,0,103,.36),0 0 15px rgba(255,190,35,.35),inset 0 1px rgba(255,255,255,.60)}.shz-shop .shz-quick-cart:active{transform:scale(.93)}.shz-shop .shz-load-more{display:flex;justify-content:center;padding:4px var(--shz-edge) 24px}.shz-shop .shz-load-btn{border:0;padding:11px 25px;border-radius:999px;background:linear-gradient(135deg,#ff0085,#d50082,#7e1a9f);color:#fff;font-size:12px;font-weight:1000;box-shadow:0 8px 18px rgba(186,0,110,.22),inset 0 1px rgba(255,255,255,.30);text-decoration:none}.shz-shop .shz-empty{padding:25px 12px;text-align:center;color:#85566f;font-weight:800}@keyframes shzHeroLights{0%{transform:translate3d(-5%,0,0) scale(1)}35%{transform:translate3d(8%,-4%,0) scale(1.06)}70%{transform:translate3d(-3%,6%,0) scale(1.10)}100%{transform:translate3d(7%,0,0) scale(1.05)}}@media (min-width:700px){.shz-shop .shz-products{column-count:3}.shz-shop .shz-hero{min-height:185px}.shz-shop .shz-card{border-radius:19px}}@media (min-width:1050px){.shz-shop .shz-products{column-count:4}.shz-shop .shz-hero-content{padding-left:35px;padding-right:35px}.shz-shop .shz-hero{min-height:200px}}@media (max-width:360px){.shz-shop .shz-products{column-gap:4px;padding-left:4px;padding-right:4px}.shz-shop .shz-card{margin-bottom:4px;border-radius:15px}.shz-shop .shz-info{padding:7px}.shz-shop .shz-title{font-size:11.5px}.shz-shop .shz-price{font-size:14px}.shz-shop .shz-quick-cart{width:31px;height:31px;right:6px;bottom:6px}.shz-shop .shz-timer{min-width:175px}.shz-shop .shz-time-box{min-width:37px;font-size:18px}}@media (max-width:620px){.shz-shop .shz-hero-content{min-height:185px;padding:20px 15px 25px}.shz-shop .shz-hero-left{max-width:58%}.shz-shop .shz-hero-title{font-size:38px}.shz-shop .shz-hero-sub{font-size:10px}.shz-shop .shz-timer{min-width:150px;padding:12px 9px}.shz-shop .shz-time-row{gap:3px}.shz-shop .shz-time-box{min-width:35px;padding:7px 4px;font-size:17px}.shz-shop .shz-time-colon{font-size:16px}}.shz-shop .shz-home-shop-feed{margin-top:0}.shz-shop .shz-home-shop-feed .shz-products{padding-bottom:8px}

/* ZIP-281 — Shop heading alignment: preserve the approved design, only correct the requested positioning. */
.shz-shop .shz-shop-heading{padding-top:2px;}
.shz-shop .shz-heading-left{align-items:flex-start;}
.shz-shop .shz-heading-icon{transform:translateY(-2px);}
.shz-shop .shz-filter-trigger{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;font:inherit;}

/* ZIP-281 — Real Sort & Filter modal. Existing Shop colors/design are not replaced; this is an additive functional surface. */
body.shz-filter-open{overflow:hidden;}
.shz-filter-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:flex-end;justify-content:center;}
.shz-filter-modal[hidden]{display:none!important;}
.shz-filter-backdrop{position:absolute;inset:0;background:rgba(52,0,46,.52);backdrop-filter:blur(4px);}
.shz-filter-panel{position:relative;width:min(720px,100%);max-height:min(88vh,820px);overflow:auto;border-radius:26px 26px 0 0;background:linear-gradient(180deg,#fff8fc,#fff1f7);box-shadow:0 -18px 45px rgba(99,0,75,.25);padding:18px 16px 20px;}
.shz-filter-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(217,0,120,.15);}
.shz-filter-kicker{display:block;color:#c00078;font-size:9px;font-weight:1000;letter-spacing:1.5px;}
.shz-filter-head h3{margin:2px 0 2px;color:#73115b;font-size:24px;line-height:1;font-weight:1000;}
.shz-filter-head p{margin:0;color:#9b6682;font-size:11px;font-weight:700;}
.shz-filter-close{width:30px;height:30px;min-width:30px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ff087f,#8f149a);color:#fff;font-size:27px;line-height:.8;font-weight:1000;cursor:pointer;box-shadow:0 6px 13px rgba(188,0,103,.22),inset 0 1px rgba(255,255,255,.35);}
.shz-filter-form{padding-top:4px;}
.shz-filter-section{padding:13px 0;border-bottom:1px solid rgba(217,0,120,.10);}
.shz-filter-section h4{margin:0 0 8px;color:#5d174f;font-size:13px;font-weight:1000;}
.shz-filter-sort-grid,.shz-filter-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.shz-filter-choice{display:flex;align-items:center;gap:7px;min-width:0;padding:9px 10px;border-radius:13px;background:rgba(255,255,255,.78);box-shadow:inset 0 1px rgba(255,255,255,.9);color:#6e2459;font-size:11px;font-weight:800;cursor:pointer;}
.shz-filter-choice input{accent-color:#e10087;flex:0 0 auto;}
.shz-filter-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.shz-filter-price-row{display:flex;align-items:center;gap:7px;}
.shz-filter-price-row input,.shz-filter-select{width:100%;min-width:0;border:1px solid rgba(217,0,120,.20);border-radius:12px;background:#fff;padding:10px;color:#4b1742;font:inherit;font-size:12px;outline:none;}
.shz-filter-select{appearance:auto;}
.shz-filter-actions{position:sticky;bottom:0;display:flex;gap:8px;padding-top:14px;background:linear-gradient(180deg,rgba(255,241,247,0),#fff1f7 28%);}
.shz-filter-reset,.shz-filter-apply{display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:11px 18px;font-size:12px;font-weight:1000;cursor:pointer;}
.shz-filter-reset{flex:0 0 100px;background:#fff;color:#9b2a72;border:1px solid rgba(217,0,120,.22);}
.shz-filter-apply{flex:1;border:0;background:linear-gradient(135deg,#ff0085,#d50082,#7e1a9f);color:#fff;box-shadow:0 8px 18px rgba(186,0,110,.22);}
@media (min-width:700px){.shz-filter-modal{align-items:center;padding:20px}.shz-filter-panel{border-radius:26px;max-height:88vh;}}
@media (max-width:480px){.shz-filter-sort-grid,.shz-filter-check-grid{grid-template-columns:1fr 1fr}.shz-filter-panel{padding-left:13px;padding-right:13px;}}


/* ZIP 283 — Shop catalogue spacing/background/header integrity patch.
 * Scope: real WooCommerce Shop + homepage Shop feed only.
 * Contract: mobile=2 columns, tablet=3, desktop=4; 4px screen edge;
 * 5px horizontal + vertical card gap; white product-card surface;
 * global marketplace header remains visible on the Shop archive.
 */
.shz-shop .shz-products{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-count:initial;
  column-gap:0;
  row-gap:5px;
  gap:5px;
  padding-left:4px;
  padding-right:4px;
}
.shz-shop .shz-card{
  display:block;
  width:100%;
  margin:0;
  background:#fff!important;
}
.shz-shop .shz-card:nth-child(2n),
.shz-shop .shz-card:nth-child(3n),
.shz-shop .shz-card:nth-child(4n){
  background:#fff!important;
}
body.woocommerce-shop #shahaz-global-market-header,
body.post-type-archive-product #shahaz-global-market-header{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
}
@media (min-width:700px){
  .shz-shop .shz-products{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (min-width:1050px){
  .shz-shop .shz-products{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:360px){
  .shz-shop .shz-products{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
    padding-left:4px;
    padding-right:4px;
  }
  .shz-shop .shz-card{margin-bottom:0;}
}

/* SHAHAZ.COM — Product Card refinement pass (additive only; every rule below is scoped
 * under .shz-shop, the exact same wrapper class shared by the real WooCommerce Shop
 * archive (woocommerce/archive-product.php) and the Homepage "Explore Shahaz" feed
 * (the shared Shop catalogue renderer and its Homepage adapter) — both call the same
 * shahaz_render_shop_luxury_card() function, so this one block updates both places at
 * once, with nothing else touched. Flash Sale / Campaign Discovery have their own,
 * separately-scoped .shz-card markup and CSS files and are not affected by any rule
 * here. object-fit:contain (no cropping/distortion) and the masonry column-count layout
 * are both left exactly as they already were — only spacing/sizing values change. */

/* 1. Lighter corner rounding (was 18/19/15px). */
.shz-shop .shz-card{border-radius:12px}
@media (min-width:700px){.shz-shop .shz-card{border-radius:13px}}
@media (max-width:360px){.shz-shop .shz-card{border-radius:11px}}

/* 2. Reduce unnecessary inset around the product image (was a flat 10px on every side,
 * which combined with object-fit:contain left a visibly empty margin). Image itself is
 * untouched — object-fit:contain still guarantees no distortion/cropping. */
.shz-shop .shz-image img{padding:4px}

/* 3. Let the info block take its real content height instead of clipping at 108px —
 * the title already safely truncates to 2 lines on its own via -webkit-line-clamp, so
 * removing the outer max-height/overflow does not risk runaway card height, it only
 * stops price/meta/bottom-row from being cut off underneath a longer title. */
.shz-shop .shz-info{max-height:none;overflow:visible}

/* 4/5. Add to Cart button ~30% smaller (34px/31px -> 24px/22px) with a matching
 * proportional repositioning so it still clears the card edge; icon font-size scaled
 * down to match so the icon doesn't look oversized inside the smaller circle. */
.shz-shop .shz-quick-cart{width:24px;height:24px;right:6px;bottom:6px;font-size:11px}
@media (max-width:360px){.shz-shop .shz-quick-cart{width:22px;height:22px;right:5px;bottom:5px;font-size:10px}}

/* 8. Practical maximum width on very wide screens, reusing the same 1400px ceiling
 * already established elsewhere in this codebase for wide content containers
 * (shahaz-campaign-discovery.css, shahaz-luxury-vendor-storefront.css) rather than an
 * invented number — caps the grid, not each card, so column-count sizing is untouched
 * below this width. */
.shz-shop .shz-products{max-width:1400px;margin-left:auto;margin-right:auto}


/* SHAHAZ.COM — Shop Hero forensic geometry fix
 * Contract: square bottom corners + exactly 40px less rendered hero height.
 * The bottom padding is reduced by exactly 32px (the existing desktop/base bottom
 * padding) and the hero/content minimum-height floors are reduced by the remaining
 * 8px. On mobile the existing 25px bottom padding is replaced with 0 and the
 * mobile content minimum-height is reduced by the corresponding 15px. This preserves
 * the top/content relationship while removing exactly 40px from the rendered hero.
 */
.shz-shop .shz-hero{
  min-height:150px;
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
.shz-shop .shz-hero-content{
  padding-bottom:0;
}
@media (min-width:700px){
  .shz-shop .shz-hero{min-height:145px;}
}
@media (min-width:1050px){
  .shz-shop .shz-hero{min-height:160px;}
}
@media (max-width:620px){
  .shz-shop .shz-hero-content{min-height:145px;}
}

/* ================================================================
 * MAIN/HOME PAGE PRODUCT CARD — corrective finishing.
 * Scoped to the homepage-only markup added in inc/shahaz-shop-page.php
 * (is_front_page() gated). The real WooCommerce Shop archive, which
 * shares this same card function, renders neither .shz-shop-wishlist
 * nor .shz-quick-cart--inline, so none of this can affect it.
 * ================================================================ */

/* The price/old-price/rating group is wrapped in a span purely so the
 * inline cart icon can be pushed to the opposite end of the same line via
 * the existing .shz-meta-row justify-content:space-between. display:contents
 * makes the wrapper invisible to layout, so the Shop archive (which never
 * renders the cart icon here) is visually identical to before. */
.shz-shop .shz-meta-row-prices{display:contents}

/* Wishlist — icon-only, top-right of the image. Reuses the already-loaded
 * canonical .shahaz-p-wishlist (assets/css/signature-product-card.css,
 * already enqueued sitewide on the homepage) positioned against this
 * card's own position:relative container -- no new wishlist system. */
.shz-shop .shz-card .shz-shop-wishlist.shahaz-p-wishlist{z-index:6}

/* Add to Cart — compact, icon-led control on the price line (not a large
 * horizontal button, no text label). Hot Magenta surface with a Luxury
 * Gold accent ring and a layered/3D highlight, per the approved reference. */
.shz-shop .shz-meta-row{position:relative}
.shz-shop .shz-quick-cart.shz-quick-cart--inline{
  position:static;
  flex:0 0 auto;
  width:30px;
  height:30px;
  margin-left:6px;
  border:1.5px solid #f4c84a;
  box-shadow:0 4px 10px rgba(188,0,103,.30),0 0 0 1px rgba(244,200,74,.35),inset 0 1px rgba(255,255,255,.55);
  font-size:14px;
}
.shz-shop .shz-quick-cart.shz-quick-cart--inline:hover{box-shadow:0 6px 14px rgba(188,0,103,.38),0 0 0 1px rgba(244,200,74,.55),0 0 12px rgba(244,200,74,.30),inset 0 1px rgba(255,255,255,.60)}

/* Contextual feedback (Add to Cart / Wishlist toasts) is provided by the
 * already-loaded canonical assets/js/signature-product-card.js -- the
 * add-to-cart toast anchors to .shahaz-p-card-media, which this card does
 * not carry, so it is scoped here to anchor to this card's own image area
 * instead, keeping the confirmation visually attached to the originating
 * product card rather than any global/nav area. */
.shz-shop .shz-card{position:relative}
.shz-shop .shz-image{position:relative}
.shz-shop .shz-card .shahaz-p-card-cart-toast{
  position:absolute;left:50%;bottom:8px;width:calc(100% - 14px);box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;padding:6px 10px;
  border:1px solid rgba(244,200,74,.55);border-radius:8px;background:rgba(255,255,255,.94);
  backdrop-filter:blur(4px);color:#a8006e;font-size:10px;font-weight:900;letter-spacing:.02em;
  text-decoration:none!important;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  z-index:9;opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;
  transform:translate(-50%,125%);transition:opacity .22s ease,transform .3s ease,visibility 0s linear .3s;
}
.shz-shop .shz-card .shahaz-p-card-cart-toast.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition-delay:0s}
@media (prefers-reduced-motion:reduce){.shz-shop .shz-card .shahaz-p-card-cart-toast{transition:none;transform:translate(-50%,0)}}

/* Blue tap/focus artifact removal (previously entirely absent in this file). */
.shz-shop a,
.shz-shop button,
.shz-shop [role="button"]{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}
.shz-shop a:focus:not(:focus-visible),
.shz-shop button:focus:not(:focus-visible){outline:none}
.shz-shop .shz-image:focus-visible,
.shz-shop .shz-title:focus-visible,
.shz-shop .shz-quick-cart:focus-visible,
.shz-shop .shz-shop-wishlist:focus-visible{outline:2px solid #f4c84a;outline-offset:2px}

@media (max-width:360px){
  .shz-shop .shz-quick-cart.shz-quick-cart--inline{width:27px;height:27px;font-size:13px}
}

/* ================================================================
 * SHOP PRODUCT CARD — NATURAL MEDIA + TRUE MASONRY FINISHING
 * ZIP-394 targeted fix.
 * Scope: real WooCommerce Shop archive only (body.woocommerce-shop).
 * Purpose:
 * 1) Keep the product image completely inside the card, edge-to-edge,
 *    with no artificial inset/padding or fixed image-area ratio.
 * 2) Let the image retain its own natural aspect ratio so cards can have
 *    different heights.
 * 3) Use JS-balanced masonry columns so a shorter card is never stretched
 *    to the height of a taller neighbour and the next card can occupy the
 *    available vertical space.
 * No homepage / landing-page / Flash Sale card is targeted by this block.
 * ================================================================ */
body.woocommerce-shop .shz-shop .shz-products.shz-masonry-ready {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  padding-left: 4px;
  padding-right: 4px;
}

body.woocommerce-shop .shz-shop .shz-masonry-column {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
}

body.woocommerce-shop .shz-shop .shz-masonry-column > .shz-card {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  align-self: stretch;
}

/* The image is part of the card shell, not a floating/inset image. */
body.woocommerce-shop .shz-shop .shz-image {
  width: 100%;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
  aspect-ratio: auto !important;
  padding: 0 !important;
  overflow: hidden;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

/* Natural image height removes the artificial blank media area. */
body.woocommerce-shop .shz-shop .shz-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
  aspect-ratio: auto !important;
  object-fit: contain;
  object-position: center center;
  padding: 0 !important;
  margin: 0 !important;
}

/* Product-ID based .tall/.compact image ratios are intentionally neutralized
   on the real Shop archive: card geometry follows the actual image instead. */
body.woocommerce-shop .shz-shop .shz-card.tall .shz-image,
body.woocommerce-shop .shz-shop .shz-card.compact .shz-image {
  aspect-ratio: auto !important;
  height: auto !important;
}

/* The info block must contribute only its real content height. */
body.woocommerce-shop .shz-shop .shz-info {
  min-height: 0;
  max-height: none;
  overflow: visible;
}

@media (max-width: 360px) {
  body.woocommerce-shop .shz-shop .shz-products.shz-masonry-ready {
    gap: 4px;
    padding-left: 4px;
    padding-right: 4px;
  }
  body.woocommerce-shop .shz-shop .shz-masonry-column { gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  body.woocommerce-shop .shz-shop .shz-card,
  body.woocommerce-shop .shz-shop .shz-image img {
    transition: none !important;
  }
}


/* ZIP-396 — For You heading / filter cleanup. Scoped to the canonical Shop shell. */
.shz-shop .shz-shop-heading{justify-content:center;text-align:center;padding:2px 4px 6px;margin:0;}
.shz-shop .shz-heading-left--for-you{display:flex;align-items:center;justify-content:center;width:100%;margin:0;}
.shz-shop .shz-heading-title--for-you{position:relative;display:inline-flex;align-items:baseline;justify-content:center;gap:0;margin:0;color:#111;font-size:clamp(26px,5vw,40px);line-height:1;font-weight:1000;letter-spacing:-.8px;}
.shz-shop .shz-heading-title--for-you::before,.shz-shop .shz-heading-title--for-you::after{content:'✦';font-size:.42em;line-height:1;vertical-align:middle;}
.shz-shop .shz-heading-title--for-you::before{margin-right:10px;color:#e60073;transform:translateY(-.12em) rotate(-10deg);}
.shz-shop .shz-heading-title--for-you::after{margin-left:10px;color:#c99a2e;transform:translateY(-.12em) rotate(10deg);}
.shz-shop .shz-for-you-magenta{color:#e60073;}
.shz-shop .shz-for-you-gold{color:#c99a2e;}
.shz-shop .shz-for-you-green{color:#2f9e44;font-size:.56em;margin-left:5px;display:inline-block;transform:translateY(-.05em) rotate(12deg);}
.shz-shop .shz-see-all,.shz-shop .shz-filter-trigger{display:none !important;}
.shz-shop a.added_to_cart,.shz-shop .added_to_cart{display:none !important;}
.shz-shop .shz-quick-cart--inline{background:transparent !important;color:#e60073 !important;box-shadow:none !important;}
.shz-shop .shz-quick-cart--inline:hover,.shz-shop .shz-quick-cart--inline:focus,.shz-shop .shz-quick-cart--inline:focus-visible{background:transparent !important;color:#e60073 !important;box-shadow:0 0 0 1px rgba(230,0,115,.18),0 0 10px rgba(230,0,115,.18) !important;outline:none !important;}
.shz-shop .shz-quick-cart--inline:active{background:transparent !important;color:#e60073 !important;box-shadow:none !important;transform:scale(.94);}
.shz-shop .shz-quick-cart{ -webkit-tap-highlight-color:transparent; }
@media(max-width:620px){.shz-shop .shz-heading-title--for-you{font-size:30px}.shz-shop .shz-shop-heading{padding-top:1px;padding-bottom:4px;}}

.shz-shop .shz-heading-title--for-you .shz-for-you-spark{color:#2f9e44;font-size:.56em;margin-left:6px;display:inline-block;transform:translateY(-.05em) rotate(12deg);}
.shz-shop .shz-heading-title--for-you .shz-for-you-green{color:#2f9e44;}
