.fzhp-wpcards,
.fzhp-wpcards *{box-sizing:border-box}

/* Elite-style blue / navy theme matched to the supplied reference screenshot */
.fzhp-wpcards{
  --fzhp-blue-top:#7aa3cc;
  --fzhp-blue-mid:#486989;
  --fzhp-blue-deep:#182638;
  --fzhp-blue-black:#070a0e;
  --fzhp-navy:#192760;
  --fzhp-navy-hover:#22367d;
  --fzhp-ink:#080808;
  --fzhp-copy:#203a59;
  --fzhp-line:#b7bec7;
  width:100%;
  font-family:inherit;
  color:var(--fzhp-ink)
}

.fzhp-wpcards__toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:0 0 22px}
.fzhp-wpcards__sort-label{font-size:14px;font-weight:700;color:var(--fzhp-navy)}
.fzhp-wpcards__sort{
  appearance:auto!important;
  width:auto!important;
  min-width:210px!important;
  max-width:100%!important;
  height:44px!important;
  margin:0!important;
  padding:0 36px 0 14px!important;
  border:1px solid #cbd5e1!important;
  border-radius:10px!important;
  background-color:#fff!important;
  color:#17233a!important;
  font:600 14px/1 inherit!important;
  box-shadow:none!important
}

.fzhp-wpcards__grid{display:grid;grid-template-columns:repeat(var(--fzhp-columns,4),minmax(0,1fr));gap:20px;align-items:stretch}

.fzhp-wpcard{
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(24,38,56,.08);
  border-radius:20px;
  box-shadow:0 10px 28px rgba(4,15,31,.10);
  transition:transform .25s ease,box-shadow .25s ease
}
.fzhp-wpcard:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(4,15,31,.16)}

.fzhp-wpcard__media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:1.12/1;
  min-height:230px;
  padding:24px;
  background:
    linear-gradient(180deg,var(--fzhp-blue-top) 0%,#678fb7 20%,var(--fzhp-blue-mid) 52%,var(--fzhp-blue-deep) 82%,var(--fzhp-blue-black) 100%);
  overflow:hidden;
  text-decoration:none!important
}

.fzhp-wpcard__image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:230px!important;
  max-height:270px!important;
  object-fit:contain!important;
  margin:0!important;
  filter:drop-shadow(0 16px 11px rgba(0,0,0,.24));
  transition:transform .3s ease
}
.fzhp-wpcard:hover .fzhp-wpcard__image{transform:scale(1.035)}

/* Badge uses the black + white treatment from the reference */
.fzhp-wpcard__purity{
  position:absolute;
  z-index:2;
  top:12px;
  right:12px;
  padding:7px 12px;
  border-radius:999px;
  background:#050505;
  color:#fff;
  font:700 10px/1 inherit;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 3px 9px rgba(0,0,0,.18)
}

.fzhp-wpcard__body{display:flex;flex:1;flex-direction:column;padding:20px 20px 22px;background:#fff}

.fzhp-wpcard__stock{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:700}
.fzhp-wpcard__stock.is-in-stock{color:#1d5b88}
.fzhp-wpcard__stock.is-out-of-stock{color:#b4232e}
.fzhp-wpcard__stock-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent)}

.fzhp-wpcard__title{
  margin:0 0 8px!important;
  padding:0!important;
  font:800 clamp(20px,1.65vw,27px)/1.15 inherit!important;
  letter-spacing:-.035em;
  color:var(--fzhp-ink)!important
}
.fzhp-wpcard__title a{color:inherit!important;text-decoration:none!important}

.fzhp-wpcard__description{
  display:-webkit-box;
  min-height:3.9em;
  margin:0;
  color:var(--fzhp-copy);
  font-size:15px;
  line-height:1.48;
  overflow:hidden;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical
}

.fzhp-wpcard__divider{height:1px;margin:14px 0 14px;background:var(--fzhp-line)}
.fzhp-wpcard__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:auto}
.fzhp-wpcard__pricing{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.fzhp-wpcard__regular{display:block;margin-bottom:1px;color:#7e8997!important;font-size:14px;font-weight:700;text-decoration-thickness:1.5px}
.fzhp-wpcard__regular .woocommerce-Price-amount{color:inherit!important}
.fzhp-wpcard__price{color:#000!important;font-size:25px!important;font-weight:900!important;line-height:1.05!important;white-space:nowrap}
.fzhp-wpcard__price del{display:block;color:#7e8997;font-size:14px;font-weight:700}
.fzhp-wpcard__price ins{text-decoration:none}
.fzhp-wpcard__tax{margin-top:5px;color:#6f7f92;font-size:11px;font-weight:700;white-space:nowrap}

.fzhp-wpcard__button,
.fzhp-wpcard__button.button{
  display:inline-flex!important;
  flex:0 0 auto;
  align-items:center!important;
  justify-content:center!important;
  min-width:121px!important;
  min-height:47px!important;
  margin:0!important;
  padding:12px 18px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--fzhp-navy)!important;
  color:#fff!important;
  font:700 16px/1 inherit!important;
  text-align:center!important;
  text-decoration:none!important;
  text-transform:uppercase;
  box-shadow:none!important;
  transform:none!important;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important
}
.fzhp-wpcard__button:hover,
.fzhp-wpcard__button.button:hover{
  background:var(--fzhp-navy-hover)!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
  box-shadow:0 10px 20px rgba(25,39,96,.26)!important
}
.fzhp-wpcard__button.is-disabled{background:#8893a4!important;pointer-events:none}

.fzhp-wpcards__empty{padding:30px;border:1px dashed #aeb9c8;border-radius:14px;background:#fff;text-align:center;color:#334155}

@media(max-width:1100px){.fzhp-wpcards__grid{grid-template-columns:repeat(min(var(--fzhp-columns,4),3),minmax(0,1fr))}}
@media(max-width:820px){.fzhp-wpcards__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fzhp-wpcard__media{min-height:210px}}
@media(max-width:560px){
  .fzhp-wpcards__toolbar{align-items:stretch;flex-direction:column}
  .fzhp-wpcards__sort{width:100%!important}
  .fzhp-wpcards__grid{grid-template-columns:1fr;gap:16px}
  .fzhp-wpcard{border-radius:20px}
  .fzhp-wpcard__media{aspect-ratio:1.35/1;min-height:230px}
  .fzhp-wpcard__body{padding:18px}
  .fzhp-wpcard__footer{align-items:center}
  .fzhp-wpcard__button,.fzhp-wpcard__button.button{min-width:116px!important}
}
