/* Sticky footer layout */
html, body {
    height: 100%;
    font-family: "Hanken Grotesk", sans-serif;
}

    body.app-layout {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
    }

main {
    flex: 1 0 auto;
}
/* Remove outline when focused via mouse/touch (not keyboard) */
.btn:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}
/* Override focus for primary buttons */
.btn.btn-primary:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Override focus for secondary buttons */
.btn.btn-secondary:focus {
    outline: none !important;
    box-shadow: none !important;
}
/*for forms*/

.soft-input {
    background-color: #f8f9fa;
    border-radius: 0.75rem;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.06);
    border: 1px solid #dee2e6;
    transition: all .2s ease-in-out;
}

    .soft-input:focus {
        background-color: #fff;
        box-shadow: 0 0 0 .2rem rgba(13,110,253,.25);
        border-color: #86b7fe;
    }
/* clear X button */
.input-clear-btn {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    font-size: 1.2rem;
    color: #9aa0a6;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
}

/* show button when text exists */
.input-clear-wrapper.has-value .input-clear-btn {
    opacity: 1;
    pointer-events: auto;
}

.input-clear-btn:hover {
    color: #000;
}


/* Card entrance animation (Framer Motion replacement) */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-card {
    opacity: 0;
    animation: fadeUp 0.6s ease-out forwards;
}

    .animate-card .card {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        cursor: pointer;
        
    }

        .animate-card .card:hover {
            transform: translateY(-6px) scale(1.01);
            box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
        }

/* Icon circle */
.icon-circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
}

.custom-btn {
    border-radius: 50px; /* or even 9999px for full pill */
}

.custom-primary {
    border: black;
}

    .custom-primary:hover {
        transform: scale(1.05);
        box-shadow: 0 6px 14px #cfe2ff;
    }

.custom-warning {
    border: black;
}

    .custom-warning:hover {
        transform: scale(1.05);
        box-shadow: 0 6px 14px #fff3cd;
        background-color: #e0a800; /* darker warning shade */
        border-color: #e0a800;
        color: #fff;
    }

.btn-vehicle:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 14px #d1e7dd;
    background-color: #198754;
    border-color: #198754;
    color: #fff;
}

/* Extra color helpers (Bootstrap doesn't ship purple buttons) */
.bg-purple-subtle {
    background-color: #f3e8ff;
}

.text-purple {
    color: #7e22ce;
}

.btn-purple {
    background-color: #7e22ce;
    color: #fff;
    border: none;
}

    .btn-purple:hover {
        transform: scale(1.05);
        box-shadow: 0 6px 14px #f3e8ff;
        background-color: #6b21a8;
        color: white;
    }

.bg-teal-subtle {
    background-color: #90a4a3;
}

btn-teal {
    background-color: #90a4a3;
    color: #fff;
    border: none;
}

.btn-teal:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 14px rgba(0, 128, 128, 0.3);
    background-color: #90a4a3;
    color: white;
}

.btn {
    background-color: #193D6A; /*#086E67;*/ /*black;*/
    color: white;
}

.btn-outline-dark:disabled {
    background-color: #e9ecef;
    color: #6c757d;
    border-color: #dee2e6;
    opacity: 1;
    cursor: not-allowed;
}

.tax-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    text-align: center;
    gap: 6px;
}

.tax-header {
    font-weight: bold;
}

#headerSection h2,
#headerSection span {
    font-family: "Hanken Grotesk", sans-serif !important;
}

.tax-divider {
    grid-column: span 4;
    border-top: 1px solid #ccc;
    margin: 10px 0;
}

.breadcrumb a {
    color: #1F1F1F;
    text-decoration: none;
}

    .breadcrumb a:hover {
        color: #1F1F1F;
        text-decoration: underline;
    }
@media (min-width: 992px) {
    .row > .col-lg-custom {
        flex: 0 0 20%;
        max-width: 20%;
        width: 20%;
    }
    h1.display-5.hero-title {
        font-size: 2.375em !important;
    }
    .fw-bold {
        font-weight: 750 !important;
    }
}
