/*==========================================================
BUSCADOR DE PROYECTOS
==========================================================*/

.search-section{

    background:#f4f6f8;

    padding:70px 0;

}


/*==========================================================
CAJA PRINCIPAL
==========================================================*/

.search-box{

    width:100%;

    max-width:1200px;

    margin:auto;

    padding:60px;

    box-sizing:border-box;

    background:#fff;

    border-radius:25px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}


/*==========================================================
TÍTULO
==========================================================*/

.search-box h1{

    font-size:2.8rem;

    margin-bottom:15px;

    color:#222;

    text-align:center;

}


/*==========================================================
DESCRIPCIÓN
==========================================================*/

.search-box p{

    color:#666;

    margin-bottom:40px;

    font-size:1.05rem;

    text-align:center;

}


/*==========================================================
FORMULARIO
==========================================================*/

.search-form{

    display:grid;

    grid-template-columns:
        1.2fr
        1fr
        1fr
        1fr;

    gap:15px;

}


/*==========================================================
BÚSQUEDA GENERAL

Ocupa toda la primera fila.
==========================================================*/

.search-input{

    grid-column:1 / -1;

}


.search-form input{

    width:100%;

    padding:18px;

    border-radius:14px;

    border:1px solid #ddd;

    font-size:1rem;

    outline:none;

    box-sizing:border-box;

    background:#fff;

    transition:.3s;

}


/*==========================================================
SELECTS
==========================================================*/

.search-form select{

    width:100%;

    padding:18px;

    border-radius:14px;

    border:1px solid #ddd;

    font-size:1rem;

    outline:none;

    box-sizing:border-box;

    background:#fff;

    color:#444;

    cursor:pointer;

    transition:.3s;

}


/*==========================================================
FOCUS

Misma sensación visual para input y selects.
==========================================================*/

.search-form input:focus,
.search-form select:focus{

    border-color:#0B3558;

    box-shadow:
        0 0 0 3px rgba(11,53,88,.08);

}


/*==========================================================
BOTÓN
==========================================================*/

.search-form button{

    background:#0B3558;

    color:#fff;

    padding:18px 28px;

    font-weight:700;

    border:none;

    border-radius:14px;

    cursor:pointer;

    transition:.3s;

    white-space:nowrap;

    font-size:1rem;

}


.search-form button:hover{

    background:#0f4a78;

    transform:translateY(-1px);

}


/*==========================================================
RESULTADOS DEL BUSCADOR
==========================================================*/

.search-results-section{

    width:100%;

    max-width:1200px;

    margin:0 auto;

    padding:60px 20px;

    box-sizing:border-box;

}


.search-results-header{

    text-align:center;

    margin-bottom:35px;

}


.search-results-header span{

    display:block;

    margin-bottom:10px;

    font-size:.8rem;

    font-weight:700;

    letter-spacing:2px;

    color:#0B3558;

}


.search-results-header h3{

    margin:0 0 10px;

    font-size:2rem;

    color:#222;

}


.search-results-header p{

    margin:0;

    color:#666;

}


/*==========================================================
GRID DE RESULTADOS
==========================================================*/

.search-results-grid{

    display:grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:20px;

}


/*==========================================================
TARJETA
==========================================================*/

.search-result-card{

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    min-height:210px;

    padding:25px;

    box-sizing:border-box;

    background:#fff;

    border-radius:18px;

    box-shadow:
        0 8px 25px rgba(0,0,0,.07);

    border:1px solid #eee;

    transition:.3s;

}


.search-result-card:hover{

    transform:translateY(-4px);

    box-shadow:
        0 14px 35px rgba(0,0,0,.10);

}


/*==========================================================
INFORMACIÓN
==========================================================*/

.search-result-developer{

    display:inline-block;

    margin-bottom:8px;

    font-size:.75rem;

    font-weight:700;

    letter-spacing:1.5px;

    text-transform:uppercase;

    color:#0B3558;

}


.search-result-info h4{

    margin:0 0 12px;

    font-size:1.35rem;

    color:#222;

}


.search-result-info p{

    margin:6px 0;

    color:#666;

    font-size:.95rem;

}


/*==========================================================
LINK
==========================================================*/

.search-result-link{

    display:inline-flex;

    align-items:center;

    justify-content:space-between;

    gap:10px;

    margin-top:25px;

    padding-top:18px;

    border-top:1px solid #eee;

    color:#0B3558;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}


.search-result-link:hover{

    color:#0f4a78;

}


/*==========================================================
RESPONSIVE
==========================================================*/

@media (max-width:992px){

    .search-box{

        padding:45px;

    }


    .search-form{

        grid-template-columns:
            1fr
            1fr;

    }


    .search-input{

        grid-column:1 / -1;

    }


    .search-results-grid{

        grid-template-columns:
            repeat(2, 1fr);

    }

}


/*==========================================================
TABLET / MÓVIL
==========================================================*/

@media (max-width:768px){

    .search-section{

        padding:35px 15px;

    }


    .search-box{

        padding:30px 20px;

        border-radius:18px;

    }


    .search-box h1{

        font-size:2rem;

        line-height:1.2;

    }


    .search-box p{

        font-size:.95rem;

        margin-bottom:25px;

    }


    .search-form{

        grid-template-columns:1fr;

        gap:15px;

    }


    .search-input{

        grid-column:auto;

    }


    .search-form input,
    .search-form select,
    .search-form button{

        width:100%;

    }


    .search-results-section{

        padding:40px 15px;

    }


    .search-results-grid{

        grid-template-columns:1fr;

    }


    .search-results-header h3{

        font-size:1.6rem;

    }

}


/*==========================================================
MÓVILES PEQUEÑOS
==========================================================*/

@media (max-width:480px){

    .search-box{

        padding:25px 16px;

    }


    .search-box h1{

        font-size:1.7rem;

    }


    .search-box p{

        font-size:.9rem;

    }


    .search-form input,
    .search-form select{

        padding:16px;

        font-size:.95rem;

    }


    .search-form button{

        padding:16px 20px;

    }

}

/* ==========================================================
   OPCIONES EN RESULTADOS DE BÚSQUEDA
========================================================== */

.search-result-options{
    margin-top:22px;
}

.search-result-options-title{
    display:block;
    margin-bottom:12px;
    font-size:.85rem;
    font-weight:600;
    color:#555;
}


/* Cada opción */

.search-result-option{
    display:flex;
    flex-direction:column;
    gap:5px;

    padding:13px 14px;
    margin-bottom:9px;

    background:#f7f8fa;
    border:1px solid #e5e7eb;
    border-radius:10px;

    box-sizing:border-box;
}


/* Nombre de la opción */

.search-result-option strong{
    display:block;

    font-size:.92rem;
    font-weight:700;
    line-height:1.35;

    color:#0B3558;
}


/* Características y precio */

.search-result-option span{
    display:block;

    font-size:.84rem;
    line-height:1.4;

    color:#666;
}


/* Última opción sin margen */

.search-result-option:last-child{
    margin-bottom:0;
}


/* ==========================================================
   TARJETA DE RESULTADO
========================================================== */

.search-result-card{
    display:flex;
    flex-direction:column;
    height:100%;
}


/* El contenido ocupa el espacio disponible */

.search-result-info{
    flex:1;
}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:768px){

    .search-result-option{
        padding:12px;
    }

    .search-result-option strong{
        font-size:.88rem;
    }

    .search-result-option span{
        font-size:.8rem;
    }

}