/* Modern, accessible hover animations (page-specific for DC06) */
:root {
    --hover-scale-small: 1.02;
    --hover-scale-medium: 1.05; /* no longer used for lift */
    /* Faster overall slow transition (was 1200ms) */
    --hover-transition-slow: 800ms cubic-bezier(.25, .46, .45, .94);
    --hover-transition-fast: 300ms ease; /* for minor elements */
    --hover-transition: 300ms ease; /* alias for quick transitions */
    --brand-accent: #b9eb5f; /* lime accent used for focus outlines */
}

/* General interactive smoothing */
.button, .button-frame, nav .nav-link, .dropdown-menu a,
.spec-models-strip .model, .specifications-table tbody tr,
.slide-robot-image, .spec-models-strip img {
    -webkit-tap-highlight-color: transparent;
}

/* Buttons */
.button-frame {
    position: relative;
    transition: transform var(--hover-transition-slow);
    will-change: transform;
}

.button-frame:hover,
.button-frame:focus-visible {
    transform: scale(var(--hover-scale-small));
}

.button-frame::after {
    display: none !important;
}

/* Nav links */
nav .nav-link, .dropdown-menu a {
    transition: transform var(--hover-transition-slow);
    position: relative;
}

nav .nav-link:hover, .dropdown-menu a:hover, nav .nav-link:focus-visible {
    transform: scale(1.02);
}

/* Spec models strip */
.spec-models-strip .model {
    transition: transform var(--hover-transition-slow);
    cursor: default;
    filter: none !important;
}

.spec-models-strip .model:hover,
.spec-models-strip .model:focus-visible {
    transform: none;
    filter: none;
}

.spec-models-strip .model .label {
    transition: none;
}

/* Table row hover (disabled to avoid background change) */
.specifications-table tbody tr {
    transition: none;
}

.specifications-table tbody tr:hover td,
.specifications-table tbody tr:hover .spec-label {
    background: none !important;
}

/* Images / hero */
.slide-robot-image {
    transition: transform var(--hover-transition-slow);
}

/* Generic hover disabled to prevent conflict with refined hero override */
.slide-robot-image:hover { /* intentionally left blank */
}

/* Refined subtle hero image hover (override) */
.slide-robot-image-06 .slide-robot-image {
    transition: transform var(--hover-transition-slow) !important;
}

.slide-robot-image-06 .slide-robot-image:hover,
.slide-robot-image-06 .slide-robot-image:focus-visible {
    /* Slightly larger scale (was 1.02) */
    transform: scale(1.035);
}

/* Subtle lift for any cards (future-proof) */
.deconstructed-card, .info .item, .intro-box, .intro-left .intro-box {
    transition: transform var(--hover-transition), box-shadow var(--hover-transition);
}

.deconstructed-card:hover, .info .item:hover, .intro-box:hover {
    transform: none;
}

/* Applications metric tiles */
.applications .item-6 {
    transition: none;
    transform: none;
}

.applications .item-6:hover, .applications .item-6:focus-within {
    transform: none;
    box-shadow: none;
}

/* Icon specific scale animation */
.applications .item-6 img {
    display: block;
    margin: 0 auto 6px;
    transition: transform var(--hover-transition-slow);
}

.applications .item-6:hover img, .applications .item-6:focus-within img { /* was 1.06 */
    transform: scale(1.08);
}

.applications .item-6:active img { /* was 1.04 */
    transform: scale(1.05);
    transition-duration: 160ms;
}

/* Normalize Applications metric icon sizes (Payload, Reach, Accuracy, Speed, Safety, Weight) */
.icon-image-dbots img {
    width: clamp(72px, 9vw, 110px) !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto 6px !important;
}

/* Ensure consistent label sizing beneath icons */
.icon-image-dbots p {
    margin: 0;
    line-height: 1.25;
}

/* Unify hover animation for all metric icons */
.icon-image-dbots {
    transition: transform var(--hover-transition-slow);
}

.icon-image-dbots:hover img, .icon-image-dbots:focus-within img {
    transform: scale(1.08);
}

.icon-image-dbots:active img {
    transform: scale(1.05);
    transition-duration: 160ms;
}

@media (prefers-reduced-motion: reduce) {
    .icon-image-dbots, .icon-image-dbots img {
        transition: none !important;
    }

    .icon-image-dbots:hover img, .icon-image-dbots:focus-within img, .icon-image-dbots:active img {
        transform: none !important;
    }
}

/* Accessibility: reduce motion */
@media (prefers-reduced-motion: reduce) {
    .button-frame, nav .nav-link, .dropdown-menu a, .spec-models-strip .model,
    .slide-robot-image, .deconstructed-card, .info .item, .intro-box, .applications .item-6 {
        transition: background-color 120ms ease, color 120ms ease, box-shadow 160ms ease;
    }

    .button-frame:hover, nav .nav-link:hover, .dropdown-menu a:hover,
    .spec-models-strip .model:hover, .slide-robot-image:hover, .deconstructed-card:hover,
    .info .item:hover, .intro-box:hover, .applications .item-6:hover {
        transform: none !important;
    }

    .applications .item-6 img {
        animation: none !important;
    }

    .slide-robot-image-06 .slide-robot-image {
        transition: none;
    }

    .slide-robot-image-06 .slide-robot-image:hover {
        transform: none;
    }
}

/* Focus states for keyboard navigation */
.button-frame:focus-visible, nav .nav-link:focus-visible, .dropdown-menu a:focus-visible, .spec-models-strip .model:focus-visible, .applications .item-6:focus-within {
    outline: 2px solid var(--brand-accent);
    outline-offset: 3px;
    border-radius: 6px;
}

/* Prevent layout shift */
.button-frame, nav .nav-link, .dropdown-menu a, .spec-models-strip .model, .deconstructed-card {
    backface-visibility: hidden;
}
