/* Phase 2F — Motion & Enhancement Pass / Direction A: Precision Engineering.
 * Lightweight interaction feedback only. No layout-shifting entrance motion,
 * continuous animation, framework dependency, or data/runtime change.
 */

:root {
    --intesa-transition: 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Normalize transition behavior for interactive surfaces already present in Phase 2B–2E. */
.intesa-home-card,
.intesa-home-brand,
.intesa-product-card,
.intesa-category-card,
.intesa-brand-card,
.intesa-pr-doc-card,
.intesa-pr-gallery-thumb,
.intesa-home-btn,
.intesa-home-search-button,
.intesa-home-cta a,
.intesa-product-filter-submit,
.intesa-pagination .page-numbers,
.intesa-brand-actions span:first-child,
.intesa-product-card-more,
.intesa-home-solution span,
.intesa-home-card::after,
.intesa-category-card::after,
.intesa-product-card-image img,
.intesa-home-brand img,
.intesa-brand-logo-box img,
.intesa-pr-gallery-thumb img {
    transition-duration: 180ms;
    transition-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
}

.intesa-home-card::after,
.intesa-category-card::after,
.intesa-product-card-image img,
.intesa-home-brand img,
.intesa-brand-logo-box img,
.intesa-pr-gallery-thumb img,
.intesa-brand-actions span:first-child,
.intesa-product-card-more,
.intesa-home-solution span {
    will-change: transform;
}

.intesa-brand-actions span:first-child,
.intesa-product-card-more,
.intesa-home-solution span {
    display: inline-block;
}

.intesa-home-search-input,
.intesa-product-filter-search,
.intesa-product-filter-select {
    transition:
        border-color var(--intesa-transition),
        box-shadow var(--intesa-transition),
        background-color var(--intesa-transition);
}

.intesa-home-search-input:focus-visible,
.intesa-product-filter-search:focus-visible,
.intesa-product-filter-select:focus-visible {
    outline: none;
    border-color: var(--intesa-brand);
    box-shadow: var(--intesa-focus);
}

.intesa-brand-card:focus-visible,
.intesa-pagination .page-numbers:focus-visible,
.intesa-home-solution:focus-visible {
    outline: none;
    box-shadow: var(--intesa-focus);
}

/* Fine-pointer devices get subtle physical feedback. Touch layouts keep their geometry stable. */
@media (hover: hover) and (pointer: fine) {
    .intesa-home-card:hover,
    .intesa-home-brand:hover,
    .intesa-product-card:hover,
    .intesa-category-card:hover,
    .intesa-brand-card:hover,
    .intesa-pr-doc-card:hover {
        transform: translateY(-2px);
    }

    .intesa-home-btn:hover,
    .intesa-home-search-button:hover,
    .intesa-home-cta a:hover,
    .intesa-product-filter-submit:hover,
    .intesa-pr-btn:hover,
    .intesa-pr-gallery-thumb:hover,
    .intesa-pagination .page-numbers:hover {
        transform: translateY(-1px);
    }

    .intesa-home-search-button:hover,
    .intesa-product-filter-submit:hover {
        border-color: var(--intesa-brand-hover);
        background: var(--intesa-brand-hover);
    }

    .intesa-pagination .page-numbers:hover {
        border-color: #efb2b2;
        color: var(--intesa-brand);
        box-shadow: var(--intesa-shadow-sm);
    }

    .intesa-home-card:hover::after,
    .intesa-category-card:hover::after,
    .intesa-brand-card:hover .intesa-brand-actions span:first-child,
    .intesa-product-card:hover .intesa-product-card-more,
    .intesa-home-solution:hover span {
        transform: translateX(3px);
    }

    .intesa-home-card:hover::after,
    .intesa-category-card:hover::after {
        opacity: 1;
    }

    .intesa-product-card:hover .intesa-product-card-image img {
        transform: scale(1.018);
    }

    .intesa-home-brand:hover img,
    .intesa-brand-card:hover .intesa-brand-logo-box img {
        transform: scale(1.02);
    }

    .intesa-pr-gallery-thumb:hover img {
        transform: scale(1.035);
    }
}

/* Avoid sticky hover transforms on touch-first devices. */
@media (hover: none) {
    .intesa-home-card:hover,
    .intesa-home-brand:hover,
    .intesa-product-card:hover,
    .intesa-category-card:hover,
    .intesa-brand-card:hover,
    .intesa-pr-doc-card:hover,
    .intesa-home-btn:hover,
    .intesa-home-search-button:hover,
    .intesa-home-cta a:hover,
    .intesa-product-filter-submit:hover,
    .intesa-pr-btn:hover,
    .intesa-pr-gallery-thumb:hover,
    .intesa-pagination .page-numbers:hover,
    .intesa-home-card:hover::after,
    .intesa-category-card:hover::after,
    .intesa-brand-card:hover .intesa-brand-actions span:first-child,
    .intesa-product-card:hover .intesa-product-card-more,
    .intesa-home-solution:hover span,
    .intesa-product-card:hover .intesa-product-card-image img,
    .intesa-home-brand:hover img,
    .intesa-brand-card:hover .intesa-brand-logo-box img,
    .intesa-pr-gallery-thumb:hover img {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .intesa-home-card,
    .intesa-home-brand,
    .intesa-product-card,
    .intesa-category-card,
    .intesa-brand-card,
    .intesa-pr-doc-card,
    .intesa-pr-gallery-thumb,
    .intesa-pr-btn,
    .intesa-home-btn,
    .intesa-home-search-button,
    .intesa-home-cta a,
    .intesa-product-filter-submit,
    .intesa-pagination .page-numbers,
    .intesa-home-search-input,
    .intesa-product-filter-search,
    .intesa-product-filter-select,
    .intesa-brand-actions span:first-child,
    .intesa-product-card-more,
    .intesa-home-solution span,
    .intesa-home-card::after,
    .intesa-category-card::after,
    .intesa-product-card-image img,
    .intesa-home-brand img,
    .intesa-brand-logo-box img,
    .intesa-pr-gallery-thumb img {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }
}
