*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

body{

    font-family:Arial,Helvetica,sans-serif;
    background:#f4f4f4;
    color:#222;

    background-image: url("../img/fondoPrueba.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    background-attachment: fixed;


}

header img{

    width:100%;
    display:block;

}

main{

    max-width:1000px;
    margin:auto;
    padding:40px 20px;

}

.texto{

    margin-bottom:40px;

}

.texto h1{

    color:#123B52;
    margin-bottom:20px;

}

.texto p{

    margin-bottom:15px;
    line-height:1.7;

}

.formulario{

    background:white;
    padding:30px;
    border:1px solid #ddd;
    width: 100%;
    max-width: 850px;
    margin: 0px;

}

.formulario h2{

    margin-bottom:25px;
    color:#123B52;

}

label{

    display:block;
    margin-top:20px;
    margin-bottom:8px;
    font-weight:bold;

}

input,
textarea {

    width: 100%;
    padding: 12px;

    border: 1px solid #d7dde1;
    border-radius: 8px;

    font-family: inherit;
    font-size: 16px;

}

textarea {

    min-height: 120px;
    resize: vertical;

}

/*button{

    margin-top:30px;
    width:100%;
    padding:18px;
    border:none;
    background:#123B52;
    color:white;
    font-size:18px;
    cursor:pointer;

}*/

button:hover{

    background:#0d2d42;

}

footer{

    text-align:center;
    padding:40px;

}

footer a{

    margin:0 20px;
    color:#555;
    text-decoration:none;

}







#listaArchivos{
    margin-top:12px;
}

.archivo{

    display:flex;

    align-items:center;

    justify-content:space-between;

    width:75%;

    margin-bottom:6px;

}

.nombreArchivo{

    flex:1;

    overflow:hidden;

    white-space:nowrap;

    text-overflow:ellipsis;

}

.nombreArchivo i{

    margin-right:8px;

    color:#5B6770;

}

.btnEliminar{

    width:auto;

    margin:0;

    padding:4px;

    background:none;

    border:none;

    cursor:pointer;

    color:#777;

    font-size:18px;

    flex-shrink:0;

}

.btnEliminar:hover{

    color:#d32f2f;

    transform:scale(1.15);

}


#btnSeleccionar{

    width:100%;

    margin-top:10px;

    padding:14px;

    background:#123B52;

    color:white;

    border:none;

    border-radius:6px;

    font-size:16px;

    cursor:pointer;

}

#btnSeleccionar:hover{

    background:#0d2d42;

}


#btnActualizarPrecio {

    width: 42px;
    height: 42px;

    padding: 0;

    background: transparent;

    border: 1px solid rgba(255, 255, 255, 0.7);

    border-radius: 5px;

    color: white;

    font-size: 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    margin-left: 0;

}

#btnActualizarPrecio:hover {
    background: rgba(255, 255, 255, 0.12);
}


.ayudaArchivos{

    margin-top:8px;

    font-size:13px;

    color:#777;

    text-align:center;

}


.resumenArchivos{

    margin:10px 0 15px 0;

    font-size:14px;

    color:#666;

    font-weight:bold;

}




#dropZone{

    margin-top:12px;

    padding:22px;

    border:2px dashed #B8C4CE;

    border-radius:8px;

     background:#e3eef3;

    color:#5B6770;

    font-size:14px;

    text-align:center;

}

#dropZone.drag{

    background:#71c6f3;

    border-color:#123B52;

    color:#123B52;

}



.tipoDocumentacion{

    display:flex;

    gap:30px;

    margin-top:10px;

}

.opcion{

    display:flex;

    align-items:center;

    gap:8px;

    font-weight:normal;

    white-space:nowrap;

}


.formatosEntrega{

    display:flex;

    gap:30px;

    margin-top:10px;

}


#resumen {

    position: sticky;
    top: 0px;
    z-index: 1000;

    display: flex;
    align-items: center;

    gap: 0;

    padding: 8px 14px;

    border: 1px solid #d7dde1;
    border-radius: 8px;

    background: #123B52;
    color: white;

}


.itemResumen {

    display: flex;
    align-items: center;

    gap: 8px;

    white-space: nowrap;

    height: 70px;

    padding: 0 18px;

    border-right: 1px solid rgba(255,255,255,0.25);

}


.precioResumen {

    display: flex;
    flex-direction: column;

    gap: 5px;

    width: 230px;
    min-width: 230px;

    padding: 8px 22px;

    line-height: 1.15;

    border-left: 1px solid rgba(255,255,255,0.25);
    border-right: 1px solid rgba(255,255,255,0.25);

}


.precioResumen div {

    display: flex;
    align-items: center;

    justify-content: space-between;

    gap: 14px;

    min-height: 19px;

}


.precioResumen span {

    font-size: 14px;

    white-space: nowrap;

}


.precioResumen strong {

    font-size: 14px;

    white-space: nowrap;

}

.precioResumen div:last-child {

    border-top: 3px solid rgba(255,255,255,0.30);

    margin-top: 3px;

    padding-top: 5px;

}

.precioResumen div:nth-child(3) {

    border-top: 1px solid rgba(255,255,255,0.30);

    margin-top: 3px;

    padding-top: 5px;

}


.precioResumen div:last-child strong {

    font-size: 16px;

}




#resumenCoste {

    font-size: 1.1rem;

    font-weight: 700;

}

#btnPresupuesto {

    width: 120px;

    margin: 0 14px;

    padding: 12px 10px;

    border: none;

    border-radius: 6px;

    background: #e67e22;

    color: white;

    font-weight: 700;

    cursor: pointer;

}


#btnPresupuesto:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}


@media (max-width: 768px) {

    #resumen {

        display: flex;

        flex-direction: column;

        align-items: flex-start;

        gap: 15px;

        padding: 20px;

    }

    .itemResumen {

        width: 100%;

        justify-content: flex-start;

    }

    #btnPresupuesto {

        width: 100%;

        margin: 0;

        border-left: none;

    }

}









.informacion {

        display: flex;

    flex-direction: column;

    gap: 25px;

    margin-top: 50px;

}

.tarjeta {

    padding: 25px;

    background: white;

    border: 1px solid #dbe5ec;

    border-left: 5px solid #123B52;

    border-radius: 8px;

}

.tarjeta h3 {

    margin-bottom: 15px;

    color: #123B52;

    font-size: 1.2rem;

}


.tarjeta p {

    line-height: 1.6;

    color: #555;

    margin-bottom: 18px;

}

.tarjeta li {

    line-height: 1.6;

    color: #555;

    margin-bottom: 8px;

}



.tarjeta img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px auto 0 auto;
}

.tarjeta.historia {
    border-left: 5px solid #e67e22;
    background: #faf7f3;
}

.historia .cliente {
    font-style: italic;
    color: #7badd3;
}

.historia .yo{
    font-style: italic;
    color: #123B52;
}


#btnEnviarConsulta {

    width: 100%;
    margin-top: 15px;

    padding: 14px 20px;

    border: none;
    border-radius: 6px;

    background: #123B52;
    color: white;

    font-size: 16px;
    font-weight: 700;

    cursor: pointer;
}

#btnEnviarConsulta:hover {

    background: #0d2d42;

}