/* Only the homepage Express collection; products remain managed in WooCommerce. */
.home .entry-content .psm-express {
    --express-background: #f8edf4;
    --express-accent: #b90065;
    position: relative;
    isolation: isolate;
    scroll-margin-top: 32px;
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 2.2fr);
    align-items: center;
    gap: clamp(24px, 4vw, 60px);
    margin-block: 48px;
    padding: 48px 20px;
    color: #242029;
}

.psm-express::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--express-background);
    box-shadow: 0 0 0 100vmax var(--express-background);
    clip-path: inset(0 -100vmax);
    pointer-events: none;
}

.psm-express .psm-express__eyebrow {
    display: block;
    margin-bottom: 16px;
    color: var(--express-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.5;
}

.psm-express .psm-express__title {
    margin: 0 0 20px;
    font-size: clamp(32px, 3.3vw, 48px);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.08;
    text-transform: none;
}

.psm-express__title span { color: var(--express-accent); }

.psm-express .psm-express__description {
    max-width: 30ch;
    margin: 0;
    color: #5d505a;
    font-size: 15px;
    line-height: 1.7;
}

.psm-express__navigation:not([hidden]) {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.psm-express .psm-express__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    border: 1px solid #d9c4d1;
    border-radius: 50%;
    background: #fff;
    color: #242029;
    cursor: pointer;
}

.psm-express .psm-express__arrow:hover:not(:disabled) {
    border-color: var(--express-accent);
    background: var(--express-accent);
    color: #fff;
}

.psm-express .psm-express__arrow:disabled { opacity: 0.35; cursor: default; }
.psm-express__hint { color: #5d505a; font-size: 12px; line-height: 1.5; }
.psm-express__products { min-width: 0; }
.psm-express .wp-block-woocommerce-product-collection.prodotti_recenti { margin: 0; }
.psm-express .wp-block-woocommerce-product-collection.prodotti_recenti > .wp-block-heading { display: none; }

.psm-express .wc-block-product-template.prodotti_recenti {
    position: relative;
    display: flex !important;
    flex-wrap: nowrap;
    gap: 20px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 8px 8px 24px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 8px;
    scrollbar-color: #bd8eaa transparent;
    scrollbar-width: thin;
    list-style: none;
}

.psm-express .wc-block-product-template > .wc-block-product {
    /* Keep WooCommerce's absolute screen-reader price labels inside the card. */
    position: relative;
    display: flex;
    flex: 0 0 clamp(220px, 23vw, 260px);
    flex-direction: column;
    align-self: stretch;
    width: auto !important;
    min-width: 0;
    margin: 0;
    padding: 14px;
    border: 1px solid #f0e5ed;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(91, 43, 70, 0.05);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    scroll-snap-align: start;
    box-sizing: border-box;
}

.psm-express .wc-block-product .wp-block-woocommerce-product-image {
    width: 100%;
    margin: 0 0 18px;
    overflow: hidden;
    border-radius: 12px;
    background: #faf7f9;
}

.psm-express .wc-block-product .wp-block-woocommerce-product-image a {
    display: block;
    aspect-ratio: 1;
}

.psm-express .wc-block-product .wp-block-woocommerce-product-image img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
    object-fit: contain !important;
}

.psm-express .wc-block-product .wp-block-post-title {
    min-height: 4.5em;
    margin: 0 4px 14px !important;
    color: #242029;
    font-family: Montserrat, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-align: left;
    overflow-wrap: anywhere;
}

.psm-express .wc-block-product .wp-block-post-title a { color: inherit; }
.psm-express .wc-block-product .wp-block-post-title a:hover { color: var(--express-accent); }

.psm-express .wp-block-woocommerce-product-price {
    margin: 0 4px 18px;
    color: #242029;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
}

.psm-express .woocommerce-Price-amount { color: var(--express-accent); font-size: 21px; font-weight: 600; }
.psm-express .woocommerce-price-suffix { display: block; margin-top: 4px; color: #6c6269; font-size: 11px; line-height: 1.5; }

.psm-express .wc-block-product .wp-block-woocommerce-product-button {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    margin: auto 0 0;
}

.psm-express .wc-block-product .wc-block-components-product-button__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 44px;
    padding: 12px 10px;
    border: 1px solid #d88cb6;
    border-radius: 12px !important;
    background: #fff5fa;
    color: var(--express-accent);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.5;
    text-transform: none;
    white-space: normal;
    box-sizing: border-box;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.psm-express .psm-express__configure svg { flex: 0 0 18px; }

.psm-express .wc-block-product .wc-block-components-product-button__button:hover {
    border-color: var(--express-accent);
    background: var(--express-accent);
    color: #fff;
}

.psm-express :is(a, button, [tabindex]):focus-visible {
    outline: 3px solid var(--express-accent);
    outline-offset: 3px;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .psm-express .wc-block-product-template > .wc-block-product:hover {
        border-color: #d9b3ca;
        box-shadow: 0 12px 24px rgba(91, 43, 70, 0.10);
        transform: translateY(-4px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .psm-express .wc-block-product-template > .wc-block-product,
    .psm-express .wc-block-components-product-button__button { transition: none; }
}

@media (max-width: 767px) {
    .home .entry-content .psm-express { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-block: 32px; padding: 32px 20px; }
    .psm-express .psm-express__title { font-size: 36px; margin-bottom: 14px; }
    .psm-express .psm-express__title br { display: none; }
    .psm-express .psm-express__title span::before { content: " "; }
    .psm-express .psm-express__description { max-width: 46ch; }
    .psm-express__navigation:not([hidden]) { margin-top: 18px; }
    .psm-express .wc-block-product-template > .wc-block-product { flex-basis: min(76vw, 270px); }
}
