/* ================================
   CONFIGURAÇÕES GERAIS
================================ */

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    min-height: 100vh;

    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;

    font-family: Arial, Helvetica, sans-serif;
}


/* ================================
   CONTAINER PRINCIPAL
================================ */

body > .container {
    max-width: 1100px;

    background: rgba(0, 0, 0, 0.78) !important;

    padding: 30px !important;
    margin-top: 30px !important;
    margin-bottom: 30px;

    border-radius: 20px !important;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.5);

    backdrop-filter: blur(5px);
}


/* ================================
   TÍTULO
================================ */

section:first-child > .container:first-child {
    margin-top: 0 !important;
    padding: 18px !important;

    background: linear-gradient(
        135deg,
        #00000000,
        #000000
    ) !important;

    border-radius: 15px !important;

    box-shadow:
        0 5px 15px rgba(0, 0, 0, 0.25);
}

section:first-child h1 {
    margin: 0;

    color: #222;

    font-size: 32px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 1px;
}


/* ================================
   ÁREA DO FORMULÁRIO
================================ */

section:first-child > .container:nth-child(2) {
    margin-top: 30px !important;
    padding: 25px !important;
}


/* ================================
   LINHAS
================================ */

.row {
    margin-bottom: 10px;
}


/* ================================
   LABELS
================================ */

label {
    font-weight: 600;
}

.form-group > label {
    color: aliceblue;
}

.form-check-label {
    color: aliceblue !important;
    font-weight: normal;
}


/* ================================
   CAMPOS DE TEXTO
================================ */

input.form-control,
select.form-control {
    border: 2px solid #555;

    border-radius: 8px;

    background-color: #ffffff;

    color: #222;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}


/* Campo nome */

#nome {
    width: 300px !important;
}


/* Select */

#tipo {
    width: 150px !important;
}


/* Campos numéricos */

#preco,
#estoque {
    height: 42px;
}


/* ================================
   EFEITO AO CLICAR NOS CAMPOS
================================ */

input.form-control:focus,
select.form-control:focus {
    border-color: #00bfff;

    box-shadow:
        0 0 0 0.2rem rgba(0, 191, 255, 0.20);

    outline: none;

    transform: translateY(-1px);
}


/* ================================
   RADIO BUTTON
================================ */

.form-check-input {
    cursor: pointer;
}

.form-check {
    display: flex;
    align-items: center;
    gap: 5px;
}

.form-check-input:checked {
    accent-color: #00bfff;
}


/* ================================
   BOTÃO CALCULAR
================================ */

#calcula {
    width: 250px !important;

    padding: 12px 20px;

    border: none;
    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #01060c,
        #0f0f0f7e
    ) !important;

    color: white;

    font-size: 17px;
    font-weight: bold;

    letter-spacing: 0.5px;

    box-shadow:
        0 5px 15px rgba(252, 252, 252, 0.35);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}


/* Hover */

#calcula:hover {
    background: linear-gradient(
        135deg,
        #ffffff,
        #0a0a0a
    ) !important;

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(0, 123, 255, 0.45);

    cursor: pointer;
}


/* Clique */

#calcula:active {
    transform: translateY(1px);

    box-shadow:
        0 3px 8px rgba(0, 123, 255, 0.3);
}


/* ================================
   RESULTADO
================================ */

section:nth-of-type(2) .container {
    padding: 0;
}

section:nth-of-type(2) .col {
    background: rgba(255, 255, 255, 0.774) !important;

    color: #111 !important;

    border-radius: 15px !important;

    padding: 20px !important;

    box-shadow:
        0 5px 20px rgba(0, 0, 0, 0.3);

    min-height: 120px;

    transition: transform 0.2s ease;
}

section:nth-of-type(2) .col:hover {
    transform: translateY(-2px);
}

section:nth-of-type(2) h3 {
    margin-bottom: 10px;

    color: #222;
}

section:nth-of-type(2) h3:first-child {
    font-size: 22px;

    font-weight: bold;

    color: #000000;

    border-bottom: 2px solid #000000;

    padding-bottom: 10px;
}


/* ================================
   ESPAÇAMENTO
================================ */

br {
    line-height: 1;
}


/* ================================
   RESPONSIVIDADE
================================ */

@media (max-width: 768px) {

    body > .container {
        width: 95%;

        padding: 20px !important;

        margin-top: 15px !important;
    }

    section:first-child h1 {
        font-size: 24px;
    }

    section:first-child > .container:nth-child(2) {
        padding: 15px !important;
    }

    .form-group.d-flex {
        flex-direction: column;

        align-items: stretch;
    }

    .form-group.d-flex > label {
        width: 100% !important;

        margin-bottom: 8px;
    }

    #nome {
        width: 100% !important;
    }

    #tipo {
        width: 100% !important;
    }

    .col-md-4,
    .col-md-6,
    .col-md-3 {
        width: 100%;

        max-width: 100%;

        margin-bottom: 10px;
    }

    .form-check {
        margin-left: 0 !important;
        margin-right: 15px !important;
    }

    #calcula {
        width: 100% !important;
    }
}


/* ================================
   CELULARES PEQUENOS
================================ */

@media (max-width: 480px) {

    body > .container {
        width: 96%;

        padding: 15px !important;

        border-radius: 15px !important;
    }

    section:first-child h1 {
        font-size: 20px;
    }

    input.form-control,
    select.form-control {
        font-size: 15px;
    }

    section:nth-of-type(2) .col {
        padding: 15px !important;
    }

    section:nth-of-type(2) h3 {
        font-size: 18px;
    }
}
/* ================================
   BOTÃO VOLTAR
   MESMO ESTILO DO #calcula
================================ */

footer .btn-dark {
    width: 250px !important;

    padding: 12px 20px;

    border: none !important;
    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #01060c,
        #0f0f0f7e
    ) !important;

    color: white !important;

    font-size: 17px;
    font-weight: bold;

    letter-spacing: 0.5px;

    box-shadow:
        0 5px 15px rgba(252, 252, 252, 0.35);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}


/* Hover */

footer .btn-dark:hover {
    background: linear-gradient(
        135deg,
        #ffffff,
        #0a0a0a
    ) !important;

    color: #000 !important;

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(0, 123, 255, 0.45);

    cursor: pointer;
}


/* Clique */

footer .btn-dark:active {
    transform: translateY(1px);

    box-shadow:
        0 3px 8px rgba(0, 123, 255, 0.3);
}


/* Responsivo */

@media (max-width: 768px) {
    footer .btn-dark {
        width: 100% !important;
    }
}