﻿body {
    background: linear-gradient(135deg, #3a3a9f 0%, #5d54f8 50%, #8f94fb 100%);
    min-height: 100vh;
    font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
    color: #262626;
    margin: 0;
    padding: 0;
    /* Optional: subtle overlay for depth */
    position: relative;
}

body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255,255,255,0.12);
    pointer-events: none;
    z-index: 0;
}

.service-card {
    transition: all 0.3s ease;
    border-radius: 12px;
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

.badge-custom {
    background: linear-gradient(135deg, #007bff, #0056b3);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    border-radius: 50px;
}

.badge-custom:hover {
    background: linear-gradient(135deg, #0056b3, #003d82);
    transform: scale(1.05);
    text-decoration: none;
    color: #fff;
}

.animate-input {
    transition: all .3s ease-in-out;
}

    .animate-input:focus {
        box-shadow: 0 0 8px rgba(0,123,255,.6);
        transform: scale(1.02);
    }

.shake {
    animation: shake .3s;
}

@keyframes shake {
    0% {
        transform: translateX(0)
    }

    25% {
        transform: translateX(-5px)
    }

    50% {
        transform: translateX(5px)
    }

    75% {
        transform: translateX(-5px)
    }

    100% {
        transform: translateX(0)
    }
}

.form-check input[type=checkbox],
.form-check input[type=radio] {
    margin-top: 8px;
}

/* Chrome, Safari, Edge, Opera */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

/* General (future-proof) */
input[type=number] {
    appearance: textfield;
}