/* Shared concept 03 cards: Shop, Outlet and homepage featured products. */
body.av365-product-cards :is(ul.products li.product, .av365-home-product) {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 0;
    overflow: hidden;
    padding: 0;
    border: 1px solid #e2e7eb;
    border-radius: var(--av365-card-radius, 4px);
    background: #fff;
    box-shadow: 0 5px 18px rgb(21 40 63 / 3%);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
body.av365-product-cards :is(ul.products li.product, .av365-home-product):is(:hover, :focus-within) {
    transform: translateY(var(--av365-card-lift, -4px));
    border-color: #cbd5de;
    border-top-color: var(--av365-card-accent, #c45412);
    box-shadow: 0 14px 30px rgb(21 40 63 / 9%);
}
body.av365-product-cards :is(ul.products li.product, .av365-home-product) > figure {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    height: 245px;
    aspect-ratio: auto;
    margin: 0;
    overflow: hidden;
    background: #fff;
}
body.av365-product-cards :is(ul.products li.product, .av365-home-product) > figure > .ct-media-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: max(18px, var(--av365-card-image-padding, 18px));
}
body.av365-product-cards :is(ul.products li.product, .av365-home-product) > figure img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center;
    transition: transform 220ms ease;
}
body.av365-product-cards :is(ul.products li.product, .av365-home-product):is(:hover, :focus-within) > figure img { transform: scale(1.025); }
body.av365-product-cards .av365-card-sku {
    margin: 18px var(--av365-card-content-padding, 20px) 0;
    color: #6c7b89;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .02em;
    overflow-wrap: anywhere;
}
body.av365-product-cards :is(ul.products li.product, .av365-home-product) > .woocommerce-loop-product__title {
    margin: 7px var(--av365-card-content-padding, 20px) 0;
    color: #15283f;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
body.av365-product-cards :is(ul.products li.product, .av365-home-product) > .woocommerce-loop-product__title a { color: inherit; }
body.av365-product-cards :is(ul.products li.product, .av365-home-product) > .ct-woo-card-actions {
    display: block;
    position: static;
    width: auto;
    min-height: 0;
    margin: auto var(--av365-card-content-padding, 20px) 0;
    padding: 22px 0 18px;
    border: 0;
    opacity: 1;
    visibility: visible;
    transform: none;
}
body.av365-product-cards .av365-card-purchase { width: 100%; min-width: 0; }
body.av365-product-cards .av365-card-purchase-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.av365-product-cards .av365-card-purchase .price {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    color: #15283f;
    font-size: 21px;
    font-weight: 650;
    line-height: 1.35;
    letter-spacing: -.3px;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}
body.av365-product-cards .av365-card-purchase .price ins { color: inherit; background: none; }
body.av365-product-cards .av365-card-purchase .price del { display: block; font-size: 12px; font-weight: 400; color: #6c7b89; }
body.av365-product-cards .av365-card-purchase .price .woocommerce-Price-currencySymbol { font-size: 13px; font-weight: 500; letter-spacing: 0; }
body.av365-product-cards .av365-card-purchase .price :is(.av365-restricted-price, .woocommerce-price-suffix) { display: block; font-size: 11px; font-weight: 400; line-height: 1.5; letter-spacing: 0; }
body.av365-product-cards .av365-card-cart-form { display: block; flex: 0 0 auto; margin: 0; padding: 0; }
body.av365-product-cards .av365-card-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    position: relative;
    width: 38px;
    height: 38px;
    min-height: 38px;
    margin: 0;
    padding: 0;
    border: 1px solid #d6dfe5;
    border-radius: 50%;
    color: #15283f;
    background: #fff;
    box-shadow: none;
    cursor: pointer;
    text-decoration: none;
    transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}
body.av365-product-cards .av365-card-action:is(:hover, :focus-visible) { color: #9f3e08; border-color: var(--av365-card-accent, #c45412); background: #fff8f0; }
body.av365-product-cards .av365-card-action:focus-visible { outline: 2px solid #1d5f9e; outline-offset: 3px; }
body.av365-product-cards .av365-card-action::after { content: none; }
body.av365-product-cards .av365-card-action svg { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; }
body.av365-product-cards .av365-card-action .av365-icon-check,
body.av365-product-cards .av365-card-action .av365-icon-spinner { display: none; }
body.av365-product-cards .av365-card-action.is-success { color: #27634f; border-color: #93b3a4; background: #f0f7f3; }
body.av365-product-cards .av365-card-action:is(.is-success, .is-at-limit) .av365-icon-plus { display: none; }
body.av365-product-cards .av365-card-action:is(.is-success, .is-at-limit) .av365-icon-check { display: block; }
body.av365-product-cards .av365-card-action.is-loading svg { display: none; }
body.av365-product-cards .av365-card-action.is-loading .av365-icon-spinner { display: block; width: 16px; height: 16px; border: 1.5px solid #b8c5d0; border-top-color: #15283f; border-radius: 50%; animation: av365-card-spin .7s linear infinite; }
body.av365-product-cards .av365-card-action:disabled { cursor: default; opacity: .65; }
body.av365-product-cards .av365-card-feedback { min-height: 24px; padding-top: 9px; font-size: 10px; line-height: 1.5; color: #426451; }
body.av365-product-cards .av365-card-feedback.is-error { color: #9f3e08; }
body.av365-product-cards .av365-card-cart-link { margin-left: 7px; color: #526579; text-decoration: underline; }
body.av365-product-cards .av365-card-cart-link[hidden] { display: none; }
body.av365-product-cards ul.products li.product > .entry-meta { display: var(--av365-card-categories, none); margin: 10px var(--av365-card-content-padding, 20px) 0; padding: 0; font-size: 10px; }
@keyframes av365-card-spin { to { transform: rotate(360deg); } }
@media (max-width: 1100px) and (min-width: 1000px) {
    body.av365-product-cards .av365-card-purchase .price { font-size: 18px; }
}
@media (max-width: 689.98px) {
    body.av365-product-cards :is(ul.products li.product, .av365-home-product) > .woocommerce-loop-product__title { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    body.av365-product-cards :is(ul.products li.product, .av365-home-product),
    body.av365-product-cards :is(ul.products li.product, .av365-home-product):is(:hover, :focus-within),
    body.av365-product-cards :is(ul.products li.product, .av365-home-product) > figure img,
    body.av365-product-cards :is(ul.products li.product, .av365-home-product):is(:hover, :focus-within) > figure img { transform: none; transition: none; }
    body.av365-product-cards .av365-card-action, body.av365-product-cards .av365-icon-spinner { animation: none; transition: none; }
}
