* {
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

body {

    margin: 0;

    background:
        linear-gradient(135deg,
            #0f2027,
            #203a43,
            #2c5364);

    padding: 20px;

}


/* CARD */

.container {

    max-width: 700px;

    margin: auto;

    background: white;

    padding: 25px;

    border-radius: 16px;

    box-shadow:
        0 20px 40px rgba(0, 0, 0, .25);

}


h2 {

    text-align: center;

    margin-bottom: 20px;

}


label {

    font-weight: 600;

    margin-top: 15px;

    display: block;

}


select {

    width: 100%;

    padding: 14px;

    margin-top: 8px;

    border-radius: 10px;

    border: 1px solid #ddd;

    font-size: 15px;

}


select[name=entry] {

    border-left: 6px solid #007bff;

    background: #f2f8ff;

}


select[name=exit] {

    border-left: 6px solid #ff3b3b;

    background: #fff3f3;

}


button {

    width: 100%;

    padding: 14px;

    border-radius: 10px;

    border: none;

    margin-top: 15px;

    background: #2d89ef;

    color: white;

    font-weight: bold;

    font-size: 16px;

    cursor: pointer;

    transition: .3s;

}


button:hover {

    transform: translateY(-2px);

    box-shadow:
        0 6px 15px rgba(0, 0, 0, .2);

}


.detailBtn {

    background: #00a65a;

}


.result {

    margin-top: 20px;

    padding: 20px;

    border-radius: 12px;

    background: #ecfff0;

    display: none;

    animation: fade .4s ease;

}


.error {

    margin-top: 15px;

    background: #ffe5e5;

    padding: 15px;

    border-radius: 10px;

    color: red;

    display: none;

}


.price {

    font-size: 32px;

    font-weight: 700;

    text-align: center;

    margin-top: 10px;

    color: #0b7c2f;

}


.detailBox {

    margin-top: 15px;

    background: #f7fbff;

    border-radius: 12px;

    padding: 15px;

    display: none;

    border: 1px solid #dcefff;

}


.route {

    padding: 10px;

    border-bottom: 1px dashed #ccc;

    display: flex;

    justify-content: space-between;

    font-size: 14px;

}


@media(max-width:600px) {

    .container {

        padding: 18px;

    }

    .price {

        font-size: 26px;

    }

}


@keyframes fade {

    from {

        opacity: 0;

        transform: translateY(10px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}