<style>
    body {
        font-family: Arial, sans-serif;
        margin: 20px;
        padding: 0;
        background-color: #f8f8f8;
    }

    .container {
        width: 90%; /* Ajuste para ocupar mais espaço em telas menores */
        margin: auto;
        background: #fff;
        padding: 20px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        border-top: 10px solid #7758D9;
    }

    h1 {
        text-align: center;
        color: #7758D9;
        font-size: 24px; /* Tamanho maior para mobile */
    }

    .section-title {
        background-color: #bbb;
        text-align: center;
        padding: 10px;
        font-weight: bold;
        margin-bottom: 20px;
        border-radius: 15px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .exam-list {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

    .column {
        width: 100%; /* Ocupa 100% em dispositivos móveis */
    }

    .exam-item {
        display: flex;
        align-items: center;
        margin-bottom: 8px;
        gap: 10px;
    }

    /* Deixa inputs e textarea padronizados */
    input[type="text"],
    input[type="email"],
    input[type="date"],
    textarea {
        width: 100%;
        border: 1px solid #ccc;
        border-radius: 5px;
        padding: 5px;
        box-sizing: border-box; /* Evita "estouro" do width por causa de padding */
    }

    .submit-btn {
        display: block;
        width: 100%;
        background-color: #7758D9;
        color: white;
        padding: 15px;
        font-size: 18px;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        text-align: center;
        margin-top: 20px;
    }

    .submit-btn:hover {
        background-color: #5d3fb5;
    }

    .btn-container {
        display: flex;
        justify-content: start;
        margin-bottom: 20px;
    }

    .btn {
        background-color: #7758D9;
        color: white;
        padding: 12px 20px;
        font-size: 16px;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        text-decoration: none;
        text-align: center;
    }

    .btn:hover {
        background-color: #5d3fb5;
    }

  /* PDF button  centered */
    .pdf-button {
        background-color: #7758d9;
        color: #fff;
        padding: 12px 24px;
        border-radius: 6px;
        cursor: pointer;
        text-decoration: none;
        transition: 0.3s;
        font-size: 16px;
        font-weight: bold;
        display: block;
        width: fit-content;
        margin: 0 auto;
    }
    .pdf-button:hover {
        background-color: #6242bb;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    }

    /* Hide file input */
    #anexo {
        display: none;
    }

    /* File name display */
    #fileName {
        margin-top: 10px;
        font-size: 14px;
        color: #555;
        font-weight: bold;
        word-wrap: break-word;
    }

    /* Bordered container */
    .bordered-container {
        border: 2px solid #7758d9;
        padding: 15px;
        border-radius: 10px;
    }

    /* Caixa externa com borda roxa */
    .bordered-container {
        border: 2px solid #7758D9;
        padding: 15px;
        border-radius: 10px;
    }

    /* Cada grupo de campos */
    .form-group {
        margin-bottom: 15px;
    }
    .form-group label {
        font-weight: bold;
        margin-right: 8px;
    }

    /* -- Layout para telas grandes (= 768px) -- */
    @media (min-width: 768px) {
        .container {
            width: 80%;
        }
        .section-title {
            width: 60%;
        }
        .column {
            width: 48%;
        }
        h1 {
            font-size: 28px;
        }

        /* Exibe cada .form-group como linha flex */
        .form-group {
            display: flex;
            align-items: baseline; /* Alinha textos pela base */
            gap: 10px;
        }

        /* Permite que cada input "cresça" ocupando espaço */
        .form-group input {
            flex: 1;
        }
    }

    /* -- Layout para telas pequenas (= 767px) -- */
    @media (max-width: 767px) {
        .form-group {
            display: block; /* empilha label e input verticalmente */
        }

        .form-group label {
            display: block;
            margin-bottom: 5px;
        }

        .form-group input {
            width: 100%; 
            margin-bottom: 8px;
        }
    }
</style>
