header{
    background: #F1F5F9;
}

.header-logo {
    height: 60px;
    width: auto;
}

@media (max-width: 768px) {
    .header-logo {
        height: 45px;
    }
}

 /* hero section */
.hero{
    position:relative;

    background:
        linear-gradient(
            rgba(15,23,42,.75),
            rgba(15,23,42,.75)
        ),
        url("../images/hero-house.png");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    min-height:600px;
    margin-bottom:30px;
}

.hero-overlay{
    display:flex;
    align-items:center;
    min-height:700px;
}

.min-vh-75{
    min-height:75vh;
}

.hero-badge{
    display:inline-block;

    background:rgba(37,99,235,.15);
    color:#60a5fa;

    padding:8px 16px;
    border-radius:30px;

    font-size:.85rem;
    font-weight:600;
    letter-spacing:1px;

    margin-bottom:20px;
}

.hero-title{
    color:white;
    font-size:4rem;
    font-weight:700;
    line-height:1.1;

    margin-bottom:20px;
}

.hero-subtitle{
    color:#e2e8f0;
    font-size:1.25rem;

    max-width:650px;

    margin-bottom:35px;
}

.hero-search{
    max-width:700px;
    margin-bottom:30px;
}

.hero-search .form-control{
    border:none;
    padding:16px;
}

.hero-search .input-group-text{
    background:white;
    border:none;
}

.hero-actions{
    display:flex;
    gap:15px;
}

.hero-actions .btn{
    padding:12px 28px;
}

@media(max-width:768px){

    .hero{
        min-height:550px;
    }

    .hero-title{
        font-size:2.5rem;
    }

    .hero-actions{
        flex-direction:column;
    }
}

.card-text{
    min-height: 48px;
}

 /* nav bar */
.navbar-nav .nav-link {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

@media (max-width: 991px) {
    .navbar-brand img {
        width: auto;
    }
}
/* how it works */

.how-card {
    text-align: center;
    padding: 1.5rem;
    height: 100%;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
    transition: .3s;
}

.how-card:hover {
    transform: translateY(-5px);
}

/* home cards */

.trade-card {
    height: 100%;
    transition: transform .2s ease;
}

.trade-card:hover {
    transform: translateY(-5px);
}

.trade-card img {
    height: auto;
    width: 100%;
}

.trade-card .card-body {
    display: flex;
    flex-direction: column;
}

.trade-card .btn {
    margin-top: auto;
}

@media (max-width: 576px) {
    .trade-card img {
        height: 120px;
    }

    .trade-card .card-title {
        font-size: 1rem;
    }

    .trade-card .card-text {
        font-size: .85rem;
    }
}

 /* back to top */
#topBtn {
    background: none;
    border: none;
    color: #0d6efd;
    font-size: 16px;
    cursor: pointer;
    display: block;
    margin: 20px auto 0; /* centers it */
    text-align: center;
    font-size: 20px;   /* bigger text */
    font-weight: 500;  /* slightly bold */
}

.contact-float{
    position: fixed;

    bottom: 30px;
    right: 30px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    background: #0d6efd;
    color: white;

    /* IMPORTANT FIX */
    padding: 12px 22px;

    /* remove fixed width */
    width: auto;
    min-width: 160px;

    height: 52px;

    border-radius: 999px;

    text-decoration: none;

    font-size: 16px;
    font-weight: 600;

    box-shadow: 0 8px 20px rgba(0,0,0,0.25);

    z-index: 9999;

    transition: all 0.3s ease;

    animation: bounce 2s infinite;
}

.contact-float i{
    font-size: 18px;
}

.contact-float:hover{
    background:#084298;
    color:white;

    transform: translateY(-2px);
}

@keyframes bounce{
    0%,100%{
        transform: translateY(0);
    }

    50%{
        transform: translateY(-4px);
    }
}

/* MOBILE VIEW */
@media (max-width: 768px){

    .contact-float{
        bottom: 20px;
        right: 20px;

        min-width: 150px;

        height: 50px;

        font-size: 15px;
    }
}