/* One WooCommerce card design for the homepage and existing catalog/related loops. */
.sp-product-grid,
#sp-home .sp-deal-grid,
:is(.products,.woorelatedgrid,.rh-flex-eq-height):has(> .sp-deal-card) {
    display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-rows:1fr;gap:16px!important; margin-inline:0!important; width:100%!important;
}
.sp-product-grid::before,.sp-product-grid::after,
:is(.products,.woorelatedgrid,.rh-flex-eq-height):has(> .sp-deal-card)::before,
:is(.products,.woorelatedgrid,.rh-flex-eq-height):has(> .sp-deal-card)::after { display:none!important; }
.sp-deal-card,#sp-home .sp-deal-card {
    box-sizing:border-box; position:relative; display:flex; flex-direction:column;
    min-width:0; width:auto!important; margin:0!important; padding:0!important;
    float:none!important; overflow:hidden; border:1px solid #e6e0ea; border-radius:22px;
    background:#fff; box-shadow:0 9px 24px rgba(38,24,55,.06);font-family:"Space Grotesk",Poppins,Arial,sans-serif;
    transition:transform .22s ease,box-shadow .22s ease;
}
.sp-product-grid > .sp-deal-card { width:auto!important;min-width:0!important;max-width:none!important;margin:0!important; }
.sp-deal-card *,#sp-home .sp-deal-card * { box-sizing:border-box; }
.sp-deal-card:hover,#sp-home .sp-deal-card:hover { transform:translateY(-4px);box-shadow:0 18px 36px rgba(38,24,55,.12); }
.sp-deal-card a { text-decoration:none; }
.sp-deal-card .sp-deal-image,#sp-home .sp-deal-image {
    display:flex;align-items:center;justify-content:center;height:265px;flex:0 0 265px;
    padding:18px;overflow:hidden;background:linear-gradient(145deg,#faf8fc,#f0ebf5);
}
.sp-deal-card .sp-deal-image img,#sp-home .sp-deal-image img {
    display:block;width:auto;height:auto;max-width:84%;max-height:225px;margin:auto;
    object-fit:contain;object-position:center;mix-blend-mode:multiply;transition:transform .22s ease;
}
.sp-deal-card:hover .sp-deal-image img { transform:scale(1.02); }
.sp-deal-card .sp-saving-badge,#sp-home .sp-saving-badge {
    position:absolute;top:13px;right:13px;left:auto;z-index:2;padding:7px 10px;
    border-radius:999px;background:#5b2fa5;color:#fff;font-size:11px;font-weight:800;
    line-height:1.2;box-shadow:0 8px 18px rgba(70,34,132,.25);
}
.sp-deal-card .sp-deal-body,#sp-home .sp-deal-body { position:relative;display:flex;flex:1;flex-direction:column;min-width:0;padding:17px;font-size:15px; }
.sp-deal-card .sp-deal-meta,#sp-home .sp-deal-meta { display:block;height:1.5em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#756c7e;font-size:10px;line-height:1.5;font-weight:750;letter-spacing:.08em;text-transform:uppercase; }
.sp-deal-card .sp-deal-heading { font-size:15px;line-height:1.42;margin:7px 0 14px;height:2.84em; }
.sp-deal-card .sp-deal-title,#sp-home .sp-deal-title {
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;
    overflow:hidden;text-overflow:ellipsis;height:2.84em;min-height:2.84em;margin:7px 0 14px;
    font-size:15px;line-height:1.42;letter-spacing:-.025em;font-weight:750;color:#251b35;
    overflow-wrap:anywhere;
}
.sp-deal-card .sp-deal-heading .sp-deal-title,#sp-home .sp-deal-heading .sp-deal-title { margin:0; }
/* Every card reserves the same 14px title-to-price slot, rated or not. */
.sp-deal-card .sp-deal-body > :is(.star-rating,.rh_woo_star) {
    position:absolute!important;top:calc(39px + 2.84em);left:17px;
    float:none!important;height:12px!important;line-height:12px!important;margin:0!important;
}
.sp-deal-card .sp-deal-body > .rh_woo_star > span {font-size:12px!important;line-height:12px!important}
.sp-deal-card .sp-deal-price-row,#sp-home .sp-deal-price-row { display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;margin-top:auto;min-height:0;font-size:14px;line-height:1.3; }
.sp-deal-card .price { display:flex!important;align-items:baseline;flex-wrap:wrap;gap:5px; }
.sp-deal-card .price,.sp-deal-card .price ins,.sp-deal-card .sp-deal-price,#sp-home .sp-deal-price { color:#6b3bc5;font-size:20px;font-weight:850;letter-spacing:-.04em;text-decoration:none; }
.sp-deal-card .price ins { order:-1;white-space:nowrap; }
.sp-deal-card .price del { opacity:1!important;white-space:nowrap; }
.sp-deal-card .price del,.sp-deal-card .sp-deal-before,#sp-home .sp-deal-before { color:#938b9a;font-size:12px;font-weight:400;letter-spacing:normal;text-decoration:line-through; }
.sp-deal-card .price small,.sp-deal-card .sp-from-label { font-size:11px;letter-spacing:normal; }
/* The store's selected offer volume belongs underneath its price, never inline with kr. */
.sp-deal-card .price .sp-store-offer-volume { flex:0 0 100%;display:block;width:100%;margin-top:1px;color:#756c7e;font-size:11px!important;font-weight:600;line-height:1.35;letter-spacing:normal;text-align:left;white-space:normal; }
.sp-deal-card .price .sp-store-offer-price {white-space:nowrap;}
.sp-deal-card .price.sp-no-offers { font-size:12px;color:#756c7e;font-weight:500;letter-spacing:normal; }
.sp-deal-card .sp-deal-save,#sp-home .sp-deal-save { display:block;min-height:1.4em;margin-top:3px;color:#24754a;font-size:11px;line-height:1.4;font-weight:750; }
.sp-deal-card .sp-deal-btn,#sp-home .sp-deal-btn { display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px;padding:9px 14px;margin-top:20px;border-radius:13px;background:#f0e8fc;color:#4d248a;font-size:12px;font-weight:800;line-height:1.4; }
.sp-deal-card .sp-deal-btn:hover,#sp-home .sp-deal-btn:hover { background:#e7d9fa; }
.sp-deal-card .sp-deal-tools { display:none; }
.sp-deal-card .sp-deal-tools:empty { display:none; }
.sp-deal-card a:focus-visible { outline:2px solid #6b3bc5;outline-offset:-3px; }
@media(max-width:1100px) {
    .sp-product-grid,#sp-home .sp-deal-grid,:is(.products,.woorelatedgrid,.rh-flex-eq-height):has(> .sp-deal-card) { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media(max-width:760px) {
    .sp-product-grid,#sp-home .sp-deal-grid,:is(.products,.woorelatedgrid,.rh-flex-eq-height):has(> .sp-deal-card) { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important; }
    .sp-deal-card .sp-deal-image,#sp-home .sp-deal-image { height:220px;flex-basis:220px;padding:10px; }
    .sp-deal-card .sp-deal-image img,#sp-home .sp-deal-image img { max-height:180px; }
    .sp-deal-card .sp-deal-body,#sp-home .sp-deal-body { padding:12px;font-size:13px; }
    .sp-deal-card .sp-deal-body > :is(.star-rating,.rh_woo_star) {top:calc(34px + 2.84em);left:12px;}
    .sp-deal-card .sp-deal-title,#sp-home .sp-deal-title,.sp-deal-card .sp-deal-heading { font-size:13px; }
    .sp-deal-card .price,.sp-deal-card .price ins,.sp-deal-card .sp-deal-price,#sp-home .sp-deal-price { font-size:17px; }
    .sp-deal-card .sp-deal-btn,#sp-home .sp-deal-btn { padding:9px 10px;font-size:11px; }
}
@media(max-width:359px) {
    .sp-product-grid,#sp-home .sp-deal-grid,:is(.products,.woorelatedgrid,.rh-flex-eq-height):has(> .sp-deal-card) { grid-template-columns:minmax(0,1fr)!important; }
}
@media(prefers-reduced-motion:reduce) { .sp-deal-card,#sp-home .sp-deal-card,.sp-deal-card .sp-deal-image img { transition:none;transform:none; } .sp-deal-card:hover,#sp-home .sp-deal-card:hover,.sp-deal-card:hover .sp-deal-image img { transform:none; } }
