button,
.hero-tags a,
.float-tool {
    -webkit-tap-highlight-color: transparent;
}

button {
    transition:
        color 0.24s ease,
        background-color 0.24s ease,
        border-color 0.24s ease,
        box-shadow 0.24s ease,
        filter 0.24s ease,
        transform 0.24s ease;
}

button svg,
button svg path,
.hero-tags a,
.float-tool .float-icon,
.float-tool .float-label {
    transition:
        color 0.24s ease,
        fill 0.24s ease,
        stroke 0.24s ease,
        opacity 0.24s ease,
        transform 0.24s ease;
}

button:hover:not(:disabled):not(.play),
button:focus-visible:not(:disabled):not(.play) {
    transform: translateY(-2px);
}

button:active:not(:disabled):not(.play) {
    transform: translateY(0) scale(0.98);
}

button:focus-visible,
.hero-tags a:focus-visible,
.float-tool:focus-visible {
    outline: 3px solid rgba(20, 123, 216, 0.28);
    outline-offset: 3px;
}

.header-actions button:hover,
.header-actions button:focus-visible {
    color: #fff;
    background: #002d56;
    box-shadow: 0 12px 26px rgba(0, 45, 86, 0.18);
}

.header-actions button:hover svg path,
.header-actions button:focus-visible svg path {
    fill: currentColor;
}

.hero-tags a:hover,
.hero-tags a:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(5, 38, 82, 0.18);
}

.quick-form button:hover,
.quick-form button:focus-visible {
    color: #fff;
    background: #0877db;
    border-color: #0877db;
    box-shadow: 0 14px 28px rgba(8, 119, 219, 0.18);
}

.quick-form button:hover svg,
.quick-form button:focus-visible svg,
.service-card .upload-action:hover svg,
.service-card .upload-action:focus-visible svg,
.upload-box button:hover svg,
.upload-box button:focus-visible svg,
.contact-form .contact-submit:hover svg,
.contact-form .contact-submit:focus-visible svg {
    transform: translateX(4px);
}

.quick-form button:hover svg path,
.quick-form button:focus-visible svg path,
.form-bottom .upbtn:hover svg path,
.form-bottom .upbtn:focus-visible svg path,
.service-card .upload-action:hover svg path,
.service-card .upload-action:focus-visible svg path,
.upload-box button:hover svg path,
.upload-box button:focus-visible svg path {
    fill: currentColor;
}

.form-bottom .upbtn:hover,
.form-bottom .upbtn:focus-visible {
    color: #fff;
    background: #0a2463;
    border-color: #0a2463;
    box-shadow: 0 14px 28px rgba(10, 36, 99, 0.18);
}

.service-card .upload-action:hover,
.service-card .upload-action:focus-visible {
    color: #fff;
    background: #147bd8;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
}

.process-mobile-nav button:hover,
.process-mobile-nav button:focus-visible {
    color: #147bd8;
    background: #fff;
    border-color: #147bd8;
    box-shadow: none;
    transform: translateY(-2px);
}


.material-tabs button:hover,
.material-tabs button:focus-visible {
    color: #0877db;
    border-color: rgba(8, 119, 219, 0.48);
    box-shadow: 0 14px 30px rgba(13, 45, 91, 0.12);
    transform: translateX(6px);
}

.material-tabs button:hover::before,
.material-tabs button:focus-visible::before {
    background: #0877db;
    transform: translateY(-50%) scale(1.18);
}

.material-tabs button.active:hover,
.material-tabs button.active:focus-visible {
    color: #fff;
    background: #0a2463;
    border-color: #0a2463;
}

.product-cats button:hover,
.product-cats button:focus-visible,
.adv-tabs button:hover,
.adv-tabs button:focus-visible {
    color: #0877db;
    border-color: rgba(8, 119, 219, 0.5);
    transform: translateX(6px);
}

.product-cats button:hover::before,
.product-cats button:focus-visible::before,
.adv-tabs button:hover::before,
.adv-tabs button:focus-visible::before {
    background: #0877db;
    transform: translateY(-50%) scale(1.15);
}

.product-cats button.active:hover,
.product-cats button.active:focus-visible {
    color: #ff8126;
    border-color: #ff8126;
}

.inquiry-submit:hover,
.inquiry-submit:focus-visible,
.mini-inquiry button:hover,
.mini-inquiry button:focus-visible,
.upload-box button:hover,
.upload-box button:focus-visible,
.contact-form .contact-submit:hover,
.contact-form .contact-submit:focus-visible {
    background: #147bd8;
    box-shadow: 0 16px 30px rgba(20, 123, 216, 0.22);
}

.contact-form .upload-card:hover,
.contact-form .upload-card:focus-visible {
    color: #147bd8;
    border-color: #147bd8;
    background: #f4f9ff;
    box-shadow: 0 16px 34px rgba(18, 61, 114, 0.14);
}

.contact-form .upload-card:hover svg,
.contact-form .upload-card:focus-visible svg {
    transform: translateY(-4px);
}

.play:hover,
.play:focus-visible {
    color: #fff;
    background: #ff8a1d;
    border-color: #ff8a1d;
    box-shadow: 0 0 0 8px rgba(255, 138, 29, 0.18);
    transform: translate(-50%, -50%) scale(1.08);
}

.float-tool:hover .float-icon,
.float-tool:focus-visible .float-icon {
    transform: translateY(-2px) scale(1.08);
}

@media (prefers-reduced-motion: reduce) {

    button,
    button svg,
    button svg path,
    .hero-tags a,
    .float-tool .float-icon,
    .float-tool .float-label {
        transition: none;
    }

    button:hover:not(:disabled):not(.play),
    button:focus-visible:not(:disabled):not(.play),
    .hero-tags a:hover,
    .hero-tags a:focus-visible,
    .material-tabs button:hover,
    .material-tabs button:focus-visible,
    .product-cats button:hover,
    .product-cats button:focus-visible,
    .adv-tabs button:hover,
    .adv-tabs button:focus-visible {
        transform: none;
    }
}

/* .material-arrows button:hover,
.material-arrows button:focus-visible,
.material-arrows button:last-child:hover,
.material-arrows button:last-child:focus-visible, */
.mini-inquiry .inquiry-submit:hover,
.mini-inquiry .inquiry-submit:focus-visible,
.product-arrows button:hover,
.product-arrows button:focus-visible {
    background: inherit;
    border-color: currentColor;
    box-shadow: none;
    transform: translateY(-2px);
}

.thumbs button:hover,
.thumbs button:focus-visible {
    box-shadow: none;
    transform: translateY(-2px);
}

.mySwiper .advantage-arrow:hover,
.mySwiper .advantage-arrow:focus-visible {
    color: #ff6c20;
    background: #fff;
    border-color: #ff6c20;
    box-shadow: none;
    transform: translateY(-2px);
}

@media (max-width: 767px) {

    .mySwiper .advantage-arrow:hover,
    .mySwiper .advantage-arrow:focus-visible {
        transform: translateX(-50%) translateY(-2px);
    }

    .mySwiper .advantage-arrow:active {
        transform: translateX(-50%) scale(0.98);
    }
}
