.svn-product-card-v2 {
    --svn-card-accent: var(--sv-red, #e30613);
    min-width: 0;
}

.svn-product-card-v2__surface {
    position: relative;
    display: grid;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--sv-rule, #d8d8d2);
    border-top: 4px solid var(--sv-ink, #171717);
    background: #fff;
    transition: border-color var(--sv-motion-fast, 160ms) ease;
}

.svn-product-card-v2__surface:hover {
    border-color: #aaa;
    box-shadow: none;
}

.svn-product-card-v2__surface::after {
    position: absolute;
    z-index: 8;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgb(255 255 255 / 82%);
    color: var(--sv-ink, #171717);
    content: '';
    opacity: 0;
    pointer-events: none;
    transition: opacity 140ms ease;
}

.svn-product-card-v2.is-loading .svn-product-card-v2__surface::after {
    opacity: 1;
}

.svn-product-card-v2.is-loading .svn-product-card-v2__surface::before {
    position: absolute;
    z-index: 9;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 26px;
    border: 2px solid #bbb;
    border-top-color: var(--svn-card-accent);
    border-radius: 50%;
    content: '';
    transform: translate(-50%, -50%);
    animation: svn-product-card-v2-spin 700ms linear infinite;
}

.svn-product-card-v2.has-campaign .svn-product-card-v2__surface {
    border-top-color: var(--svn-card-accent);
}

.svn-product-card-v2__media {
    position: relative;
    z-index: 1;
    display: grid;
    aspect-ratio: 4 / 3;
    place-items: center;
    min-width: 0;
    overflow: hidden;
    background: linear-gradient(145deg, #f8f8f5 0%, #efefeb 100%);
}

.products .svn-product-card-v2__media img.svn-product-card-v2__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0 !important;
    padding: 0;
    aspect-ratio: auto;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
    object-fit: contain;
    transition: transform 260ms cubic-bezier(.2, .7, .2, 1);
}

.svn-product-card-v2__surface:hover .svn-product-card-v2__image {
    transform: translateY(-3px);
}

.svn-product-card-v2__image-fallback {
    position: relative;
    display: grid;
    width: 62%;
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid #d5d5cf;
    background: #f2f2ee;
    color: #979791;
}

.svn-product-card-v2__image-fallback b {
    font: 700 clamp(24px, 5vw, 44px)/1 var(--sv-display, sans-serif);
    letter-spacing: -.08em;
}

.svn-product-card-v2__image-fallback i {
    position: absolute;
    inset: 10px;
    border: 1px solid #d5d5cf;
}

.svn-product-card-v2__content {
    position: relative;
    z-index: 2;
    display: flex;
    min-width: 0;
    padding: 18px;
    flex-direction: column;
}

.svn-product-card-v2__eyebrow {
    display: flex;
    min-height: 15px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
    font: 700 9px/1.2 var(--sv-display, sans-serif);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.svn-product-card-v2__eyebrow > span {
    min-width: 0;
    overflow: hidden;
    color: var(--sv-red, #e30613);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.svn-product-card-v2__stock{position:absolute;z-index:5;top:12px;right:12px;padding:7px 9px;background:var(--sv-color-surface,#fff);border:1px solid var(--sv-rule,#d8d8d2);color:var(--sv-color-ink,#111);font:700 10px/1 var(--sv-body,sans-serif)}.svn-product-card-v2__stock.is-out-of-stock{color:var(--sv-color-steel-700,#565b5d)}

.products .svn-product-card-v2 h2.woocommerce-loop-product__title {
    min-height: 2.7em;
    margin: 0 0 9px;
    padding: 0 !important;
    font: 700 clamp(15px, 1.3vw, 18px)/1.35 var(--sv-body, sans-serif) !important;
    letter-spacing: -.02em;
}

.svn-product-card-v2 h2 a {
    display: -webkit-box;
    overflow: hidden;
    color: var(--sv-ink, #171717);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.svn-product-card-v2__commerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
    min-height: 32px;
    margin-top: auto;
    padding-top: 9px;
    border-top: 1px solid var(--sv-rule, #d8d8d2);
}

.svn-product-card-v2__price {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 8px;
    color: var(--sv-red, #e30613);
    font-weight: 800;
}

.svn-product-card-v2__price .price {
    margin: 0 !important;
}

.svn-product-card-v2__type {
    max-width: 92px;
    color: var(--sv-muted, #686864);
    font-size: 10px;
    line-height: 1.2;
    text-align: right;
}

.svn-product-card-v2__actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 0;
    margin-top: 10px;
}

.products .svn-product-card-v2__actions .button,
.svn-product-card-v2__details {
    display: inline-flex !important;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid var(--sv-ink, #171717) !important;
    border-radius: 0 !important;
    font: 700 12px/1.2 var(--sv-body, sans-serif) !important;
    letter-spacing: .025em;
    text-align: center;
    text-transform: none;
}

.products .svn-product-card-v2__actions .button {
    width: 100%;
    background: var(--sv-ink, #171717) !important;
    color: #fff !important;
}

.products .svn-product-card-v2__actions .added_to_cart.wc-forward {
    display: none !important;
}

.products .svn-product-card-v2__actions .button.is-added {
    border-color: #167a3f !important;
    background: #167a3f !important;
    color: #fff !important;
    animation: svn-product-card-added 620ms cubic-bezier(.2,.8,.2,1);
}

.products .svn-product-card-v2__actions .button.is-added span {
    animation: svn-product-card-check 420ms cubic-bezier(.2,.8,.2,1);
}

.svn-product-card-v2__details {
    gap: 5px;
    background: #fff;
    color: var(--sv-ink, #171717);
    text-decoration: none;
}

.products .svn-product-card-v2__actions .button:hover,
.products .svn-product-card-v2__actions .button:focus-visible {
    border-color: var(--svn-card-accent) !important;
    background: var(--svn-card-accent) !important;
}

.svn-product-card-v2__details:hover,
.svn-product-card-v2__details:focus-visible {
    border-color: var(--svn-card-accent) !important;
    color: var(--svn-card-accent);
}

.svn-product-card-v2 :focus-visible {
    outline: 3px solid var(--svn-card-accent,var(--sv-red,#e30613));
    outline-offset: -4px;
}

.svn-product-card-v2__campaign {
    position: absolute;
    z-index: 4;
    top: 12px;
    left: 12px;
    max-width: calc(100% - 132px);
    margin: 0;
    padding: 7px 10px;
    border: 1px solid rgb(255 255 255 / 58%);
    background: var(--svn-card-accent);
    box-shadow: none;
    color: #fff;
    font: 750 9px/1.1 var(--sv-display, sans-serif);
    letter-spacing: .06em;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.svn-product-card-v2__art {
    position: absolute;
    z-index: 2;
    top: 34px;
    right: -12px;
    width: 42%;
    pointer-events: none;
    transform: rotate(6deg);
}

.svn-product-card-v2__art img {
    width: 100%;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    object-fit: contain;
}

.svn-product-card-v2.has-pattern-grid .svn-product-card-v2__media {
    background: linear-gradient(90deg, color-mix(in srgb, var(--svn-card-accent) 20%, #fff) 0 13%, #f4f4ef 13% 87%, color-mix(in srgb, var(--svn-card-accent) 20%, #fff) 87%);
}

.svn-product-card-v2.has-pattern-stripes .svn-product-card-v2__media {
    background: linear-gradient(135deg, transparent 0 30%, color-mix(in srgb, var(--svn-card-accent) 13%, #fff) 30% 43%, transparent 43% 58%, color-mix(in srgb, var(--svn-card-accent) 13%, #fff) 58% 71%, transparent 71%), #f7f7f3;
}

.svn-product-card-v2.has-pattern-dots .svn-product-card-v2__media {
    background-color: #f7f7f3;
    background-image: radial-gradient(color-mix(in srgb, var(--svn-card-accent) 24%, transparent) 1.5px, transparent 1.5px);
    background-size: 16px 16px;
}

.svn-product-card-v2.has-pattern-burst .svn-product-card-v2__media {
    background: conic-gradient(from 20deg at 50% 52%, #f7f7f3 0 12%, color-mix(in srgb, var(--svn-card-accent) 14%, #fff) 12% 21%, #f7f7f3 21% 45%, color-mix(in srgb, var(--svn-card-accent) 14%, #fff) 45% 54%, #f7f7f3 54% 78%, color-mix(in srgb, var(--svn-card-accent) 14%, #fff) 78% 87%, #f7f7f3 87%);
}

.svn-product-card-v2.has-treatment-launch-dossier .svn-product-card-v2__surface{border-top-width:6px}.svn-product-card-v2.has-treatment-seasonal-field .svn-product-card-v2__campaign{border-radius:var(--sv-radius-campaign,10px)}.svn-product-card-v2.has-treatment-range-marker .svn-product-card-v2__media{border-bottom:3px solid var(--svn-card-accent)}

.svn-product-card-v2.is-out-of-stock .svn-product-card-v2__image {
    filter: saturate(.25);
    opacity: .72;
}

@media (max-width: 560px) {
    .svn-product-card-v2__media {
        aspect-ratio: 16 / 10;
    }

    .svn-product-card-v2__content {
        padding: 14px 16px 16px;
    }

    .svn-product-card-v2__actions {
        grid-template-columns: 1fr;
    }

    .svn-product-card-v2__type {
        display: none;
    }

    .svn-product-card-v2__commerce {
        grid-template-columns: 1fr;
    }

    .svn-product-card-v2__campaign {
        top: 8px;
        left: 8px;
        max-width: calc(100% - 116px);
        padding: 6px 8px;
        font-size: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .svn-product-card-v2__surface,
    .svn-product-card-v2__image {
        transition: none;
    }

    .svn-product-card-v2__surface:hover,
    .svn-product-card-v2__surface:hover .svn-product-card-v2__image {
        transform: none;
    }

    .svn-product-card-v2.is-loading .svn-product-card-v2__surface::before {
        animation: none;
    }

    .products .svn-product-card-v2__actions .button.is-added,
    .products .svn-product-card-v2__actions .button.is-added span {
        animation: none;
    }
}

@keyframes svn-product-card-v2-spin {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes svn-product-card-added {
    0% { transform: scale(1); }
    38% { transform: scale(.96); }
    72% { transform: scale(1.025); }
    100% { transform: scale(1); }
}

@keyframes svn-product-card-check {
    0% { opacity: 0; transform: scale(.35) rotate(-18deg); }
    100% { opacity: 1; transform: scale(1) rotate(0); }
}

/* Product taxonomy, tag and commerce refinements. */
.svn-product-card-v2__brands{display:flex;align-items:center;gap:5px}.svn-product-card-v2__brands a{color:var(--sv-red,#e30613);text-decoration:none}.svn-product-card-v2__brands a:hover{text-decoration:underline}.svn-product-card-v2__brands__separator{color:#aaa;font-style:normal}
.svn-product-card-v2__stock{position:static!important;display:inline-flex;min-width:max-content;align-items:center;gap:5px;margin-left:auto;padding:0!important;border:0!important;background:transparent!important;color:#167a3f;font:650 9px/1 var(--sv-body,sans-serif);letter-spacing:0;text-transform:none}.svn-product-card-v2__stock i{width:6px;height:6px;border-radius:50%;background:#167a3f}.svn-product-card-v2__stock.is-out-of-stock{color:var(--sv-color-steel-700,#565b5d)}.svn-product-card-v2__stock.is-out-of-stock i{background:var(--sv-color-steel-300,#c8cbc9)}
.svn-product-card-v2__eyebrow>.svn-product-card-v2__stock{color:#167a3f}.svn-product-card-v2__eyebrow>.svn-product-card-v2__stock.is-out-of-stock{color:var(--sv-color-steel-700,#565b5d)}
.svn-product-card-v2__tags{position:absolute;z-index:5;top:11px;left:11px;display:flex;max-width:calc(100% - 22px);align-items:flex-start;gap:5px;flex-wrap:wrap}.svn-product-card-v2__tags b{padding:6px 8px;border:1px solid rgba(255,255,255,.7);background:rgba(23,23,23,.88);color:#fff;font:700 8px/1 var(--sv-display,sans-serif);letter-spacing:.045em;text-transform:uppercase;backdrop-filter:blur(5px)}
.svn-product-card-v2__price del{position:relative;order:2;color:var(--sv-muted,#686864);text-decoration:none;font-size:.78em;font-weight:650;opacity:1}.svn-product-card-v2__price del:after{position:absolute;top:50%;right:-2px;left:-2px;height:1px;background:currentColor;content:'';transform:rotate(-9deg);transform-origin:center}.svn-product-card-v2__price ins{order:1;margin:0;color:var(--sv-red,#e30613);text-decoration:none;font-size:1em;font-weight:850;filter:none}
