/*
 * Stili per lo shortcode [prodotti_pronta_consegna].
 * Riusa il linguaggio visivo di .ProductCard gia' usato per le card prodotto
 * nel catalogo/correlati (vedi jmp-catalog-archive/assets/catalog-archive.css),
 * cosi' la pagina Pronta Consegna resta coerente col resto del sito
 * vitarelax-standalone (le classi .Modal/[data-modal-open] sono quelle
 * gia' gestite da assets/js/main.js del tema).
 */

.ReadyDelivery__Filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 2rem;
}

.ReadyDelivery__FilterBtn {
    appearance: none;
    background-color: #fff;
    border: 1px solid var(--vrx-color-brand, var(--global-palette3, #283583));
    color: var(--vrx-color-brand, var(--global-palette3, #283583));
    padding: 0.6rem 1.4rem;
    border-radius: 999px;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.ReadyDelivery__FilterBtn:hover,
.ReadyDelivery__FilterBtn.is-active {
    background-color: var(--vrx-color-brand, var(--global-palette3, #283583));
    color: #fff;
}

.ReadyDelivery__Grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 1.5rem;
}

@media screen and (max-width: 1024px) {
    .ReadyDelivery__Grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 767px) {
    .ReadyDelivery__Grid {
        grid-template-columns: 1fr;
    }
}

.ReadyDeliveryCard {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background-color: #f8f8f8;
    border-radius: 6px;
}

.ReadyDeliveryCard .ProductCard__ImageWrapper {
    position: relative;
    overflow: hidden;
    border-radius: 6px 6px 0 0;
    aspect-ratio: 4 / 3;
    background: #fff;
}

.ReadyDeliveryCard .ProductCard__Image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ReadyDeliveryCard .ProductCard__Tags {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: calc(100% - 2rem);
}

.ReadyDeliveryCard .ProductCard__Tags span {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    padding: 0.4rem 0.9rem;
    background-color: #eef0ff;
    border-radius: 100px;
    color: var(--vrx-color-nav-hover, var(--global-palette2, #000d5a));
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.2;
}

.ReadyDeliveryCard__Badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    padding: 0.4rem 0.9rem;
    background-color: #fff;
    border-radius: 100px;
    color: var(--vrx-color-brand, var(--global-palette3, #283583));
    font-size: 0.8rem;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.ReadyDeliveryCard__FabricToken {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    z-index: 2;
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 50%;
    border: 2px solid #fff;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.ReadyDeliveryCard__FabricToken img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ReadyDeliveryCard .ProductCard__Info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}

.ReadyDeliveryCard .ProductCard__Header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.ReadyDeliveryCard .ProductCard__TextGroup {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ReadyDeliveryCard .ProductCard__Title {
    color: var(--global-palette4, #2d3748);
    margin: 0 0 0.35rem;
    font-size: 1.25rem;
    line-height: 1.25;
    font-family: var(--global-heading-font-family, "Crimson Pro", serif);
    font-weight: 600;
}

.ReadyDeliveryCard .ProductCard__Excerpt {
    margin: 0;
    color: #707070;
    font-size: 0.875rem;
    line-height: 1.5;
}

.ReadyDeliveryCard .ProductCard__Arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--vrx-color-line, #e6e6e6);
    color: var(--global-palette4, #2d3748);
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.ReadyDeliveryCard .ProductCard__Arrow svg {
    width: 18px;
    height: 18px;
}

.ReadyDeliveryCard .ProductCard__Arrow:hover,
.ReadyDeliveryCard .ProductCard__Arrow:focus-visible {
    background-color: var(--vrx-color-brand, var(--global-palette3, #283583));
    border-color: var(--vrx-color-brand, var(--global-palette3, #283583));
    color: #fff;
}

.ReadyDeliveryCard__Swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ReadyDeliveryCard__Swatch {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid transparent;
    padding: 0;
    background-color: #ddd;
    background-size: cover;
    background-position: center;
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.ReadyDeliveryCard__Swatch:hover {
    transform: scale(1.08);
}

.ReadyDeliveryCard__Swatch.is-active {
    border-color: var(--vrx-color-brand, var(--global-palette3, #283583));
}

.ReadyDeliveryFabricPreview {
    padding: 2.5rem 2rem 2rem;
    text-align: center;
}

.ReadyDeliveryFabricPreview__Image {
    max-width: 100%;
    max-height: 60vh;
    border-radius: 8px;
    margin-bottom: 1rem;
}

.ReadyDeliveryFabricPreview__Caption {
    margin: 0;
    color: #707070;
}
