
    .inscricoes{
      font-family: Arial, Helvetica, sans-serif;
      max-width: 900px;
      margin: 0 auto;
      padding: 24px 16px;
      color:#111;
    }

    .inscricoes .titulo{
      text-align:center;
      font-weight: 800;
      letter-spacing: .5px;
      color:#1f6f3f; /* verde */
      margin: 0 0 14px;
      text-transform: uppercase;
    }

    .inscricoes p{
      margin: 0 0 18px;
      line-height: 1.5;
      font-size: 14.5px;
    }

    .inscricoes .subtitulo{
      text-align:center;
      font-weight: 800;
      letter-spacing: .4px;
      color:#1f6f3f; /* verde */
      margin: 22px 0 10px;
      text-transform: uppercase;
    }

    .tabela-wrap{
      overflow-x:auto;
    }

    table.cotas{
      width:100%;
      border-collapse: collapse;
      min-width: 640px;
      background: #fff;
    }

    table.cotas th, table.cotas td{
      border: 2px solid #111;
      padding: 10px 12px;
      font-size: 14px;
      vertical-align: middle;
    }

    table.cotas thead th{
      font-weight: 800;
      text-align: center;
    }

    table.cotas thead th small{
      display:block;
      font-weight: 700;
      margin-top: 3px;
    }

    table.cotas tbody td:first-child{
      font-weight: 700;
      width: 40%;
    }

    table.cotas tbody td:nth-child(2),
    table.cotas tbody td:nth-child(3){
      text-align:center;
      white-space: nowrap;
      width: 30%;
      font-weight: 700;
    }

    .nota{
      font-size: 12.5px;
      margin-top: 8px;
    }

    .pagamento{
      margin-top: 18px;
      font-size: 14.5px;
      text-align: center;
    }

    .iban{
      display:inline-block;
      padding: 2px 6px;
      border-radius: 6px;
      background: #f1f3f5;
      border: 1px solid #d0d7de;
      font-weight: 800;
      letter-spacing: .2px;
    }


    /* --- FORMULÁRIO INSCRIÇÕES --- */
    .inscricoes form{
      margin-top: 30px;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px 20px;
    }

    .inscricoes label{
      display: flex;
      flex-direction: column;
      font-size: 14px;
      font-weight: 600;
      margin-bottom: 4px;   /* 🔽 antes não existia */
    }

    .inscricoes input[type="text"],
    .inscricoes input[type="email"]{
      margin-top: 4px;
      padding: 8px 10px;
      font-size: 14px;
      border: 1px solid #bbb;
      border-radius: 6px;
    }

    .inscricoes .radio-group{
      grid-column: 1 / -1;
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      margin-top: 4px;     /* 🔽 antes era maior */
      margin-bottom: 8px;  /* 🔽 controla o espaço até à próxima pergunta */
    }

    .inscricoes .radio-group label{
      flex-direction: row;
      align-items: center;
      gap: 6px;
      font-weight: 500;
    }

    .inscricoes .radio-group input{
      margin: 0;
    }

    .inscricoes button{
      grid-column: 1 / -1;
      margin-top: 20px;
      padding: 12px 18px;
      font-size: 15px;
      font-weight: 700;
      border-radius: 8px;
      border: none;
      cursor: pointer;
    }

    .inscricoes button[type="submit"]{
      background: #1f6f3f;
      color: #fff;
    }

    .inscricoes button[disabled]{
      background: #e0e0e0;
      color: #888;
      cursor: not-allowed;
    }

    /* Campos que devem ocupar linha inteira */
    .inscricoes label.full{
      grid-column: 1 / -1;
    }

    /* Mobile */
    @media (max-width: 640px){
      .inscricoes form{
        grid-template-columns: 1fr;
      }
    }


    /* Junta pergunta + respostas (radio) */
    .inscricoes label + .radio-group{
      margin-top: -6px;     /* 🔥 cola respostas à pergunta */
      margin-bottom: 12px;  /* espaço até à próxima pergunta */
    }

    /* Remove espaço extra das labels de pergunta */
    .inscricoes label{
      margin-bottom: 0;
      padding-bottom: 0;
    }

    /* Evita que o * vá para linha errada */
    .inscricoes .required{
      margin-left: 4px;
    }


    .titulo-comunicacao{
      margin-top: 5px;
    }